Jump to content
Fivewin Brasil

Leaderboard

Popular Content

Showing content with the highest reputation on 07/18/2016 in all areas

  1. Amigos, fiz esta funcao que poderá ser melhorada, mas me atende bem. Caso alguem queira incrementar postem para os amigos. Trata-se de uma função simples de envio de informaçoes aos uaurios. Exemplo de uso Imaginem ao enviar uma Nota Fiscal Temos que ver se o Endereço está Preenchido, se o bairro nao é branco, se tem CPF, se o produto esta com NCM, etc... etc.. Imagina ficar dando MSGSTOP() Em cada um delas. Pensando nisso Fiz esta funcao que voce valida e depois mostra tudo em um Browse ao usuario. Vejam Exemplo de uma Pre Validação de NF. *------------------------------------------------------------------------------- * Data da Criação.: 30-07-2016 * Caida Por.......: Marcio Eduardo (32)99104-0562 * Função que serve para mostrar informaçoes ao usuario (tipo inconsistencia, erro) * Parametros * * v_aRRAY_Inconsistencia = É o array com 08 colunas para as msg * v_TITULO_DIALOG = Titulos da da Dialogo que será Exibida * v_Cabecalho = Passa-se os Cabecalhos Separados do PIPE *------------------------------------------------------------------------------- FUNCTION MOSTRAR_INCONSISTENCIA(v_aRRAY_Inconsistencia,v_TITULO_DIALOG,v_Cabecalho) LOCAL N_ERROS, N_AVISOS, N_INFORMACAO, N_OUTROS, T_TXT_ERROS, T_TXT_AVISOS, T_TXT_INFORMACAO, T_TXT_OUTROS N_ERROS := 0 N_AVISOS := 0 N_INFORMACAO := 0 N_OUTROS := 0 IF EMPTY(v_aRRAY_Inconsistencia) MsgStop('Não Foi Passado as Informações das Inconsistências !'+CHR(13)+ ProcName(),SISTEMA) return .F. ENDIF IF EMPTY(v_TITULO_DIALOG) v_TITULO_DIALOG := SISTEMA ENDIF IF EMPTY(v_Cabecalho) MsgStop('Não Foi Passado o Cabeçalho das Inconsistências !'+CHR(13)+ ProcName(),SISTEMA) return .F. ENDIF a_Cabecalho := hb_atokens(v_Cabecalho,"|") FOR I := 1 TO LEN(a_Cabecalho) v_Cabecalho_01 := alltrim(a_Cabecalho[1]) v_Cabecalho_02 := alltrim(a_Cabecalho[2]) v_Cabecalho_03 := alltrim(a_Cabecalho[3]) v_Cabecalho_04 := alltrim(a_Cabecalho[4]) v_Cabecalho_05 := alltrim(a_Cabecalho[5]) v_Cabecalho_06 := alltrim(a_Cabecalho[6]) v_Cabecalho_07 := alltrim(a_Cabecalho[7]) v_Cabecalho_08 := alltrim(a_Cabecalho[8]) NEXT FOR nTipos := 1 TO LEN(v_aRRAY_Inconsistencia) IF v_aRRAY_Inconsistencia[nTipos,1] $ 'EAI' IF v_aRRAY_Inconsistencia[nTipos,1] = 'E' N_ERROS := N_ERROS + 1 ENDIF IF v_aRRAY_Inconsistencia[nTipos,1] = 'A' N_AVISOS := N_AVISOS + 1 ENDIF IF v_aRRAY_Inconsistencia[nTipos,1] = 'I' N_INFORMACAO := N_INFORMACAO + 1 ENDIF ELSE N_OUTROS := N_OUTROS + 1 ENDIF NEXT T_TXT_ERROS := ALLTRIM(STR(N_ERROS,06,0)) + ' Erro(s)' T_TXT_AVISOS := ALLTRIM(STR(N_AVISOS,06,0)) + ' Alerta(s)' T_TXT_INFORMACAO := ALLTRIM(STR(N_INFORMACAO,06,0)) + ' Informaçoe(s)' T_TXT_OUTROS := ALLTRIM(STR(N_OUTROS,06,0)) + ' Outro(s)' *------------------------------------------------------------------------- Asort( (v_aRRAY_Inconsistencia),,, {|x,y| (x[ 02 ] ) > (y[ 02 ]) } ) *------------------------------------------------------------------------- DEFINE DIALOG oDlg_INCONSISTENCIA RESOURCE "BROWSE_INCONSISTENCIA" TITLE '...:: '+ ALLTRIM(v_TITULO_DIALOG) + ' ::...' Font O_F_DLG oDlg_INCONSISTENCIA:lHelpIcon:=.F. T_TXT_DIALOGO := ' ' + ALLTRIM(v_TITULO_DIALOG) REDEFINE SAY oT_TXT_DIALOGO var T_TXT_DIALOGO ID 4043 OF oDlg_INCONSISTENCIA FONT O_F_GET COLOR CLR_LWHITE,CLR_BFOOT Update *---------------------------------------------------------------------------- oDB_INCONSISTENCIA := TXBrowse():New( oDlg_INCONSISTENCIA ) oDB_INCONSISTENCIA : CreateFromResource( 4049 ) oDB_INCONSISTENCIA:bClrRowFocus := { || { CLR_BLACK, RGB(185,220,255) } } oDB_INCONSISTENCIA: SetArray( (v_aRRAY_Inconsistencia), .t., 1, { 1,2,3,4,5,6,7,8 } ) oDB_INCONSISTENCIA:bClrStd := {|| { COR_LETRAS_GRID, IIF((oDB_INCONSISTENCIA:KeyNo())%2==0, COR_1_bClrStd , COR_2_bClrStd ) } } oDB_INCONSISTENCIA:bClrSelFocus := {|| { M->COR_1_bClrSelFocus, M->COR_2_bClrSelFocus } } oDB_INCONSISTENCIA:bClrRowFocus := {|| { M->COR_1_bClrRowFocus, M->COR_2_bClrRowFocus } } oDB_INCONSISTENCIA:lColDividerComplete := .F. oDB_INCONSISTENCIA:lFooter := .T. oDB_INCONSISTENCIA:lRecordSelector := .T. oDB_INCONSISTENCIA:nHeaderLines := 2.0 oDB_INCONSISTENCIA:nDataLines := 1.5 oDB_INCONSISTENCIA:nColDividerStyle := 4 oDB_INCONSISTENCIA:nRowDividerStyle := 4 oDB_INCONSISTENCIA:nMarqueeStyle := 4 oDB_INCONSISTENCIA:nFooterLines := 1 oDB_INCONSISTENCIA:lAllowColSwapping := .T. // Click no header (.f.)Trava oDB_INCONSISTENCIA:lAllowRowSizing := .T. // Nao move as Linhas (nao sei) oDB_INCONSISTENCIA:l2007 := M->ESTILO_l2007 oDB_INCONSISTENCIA:lAllowRowSizing := .T. oDB_INCONSISTENCIA:nFreeze := 1 // congelar a coluna oDB_INCONSISTENCIA:nStretchCol := 2 oDB_INCONSISTENCIA:nColSel := 2 oDB_INCONSISTENCIA:nDataType := 2 oDB_INCONSISTENCIA:nRowHeight := 35 oDB_INCONSISTENCIA:aCols[02]:SetOrder() *------------------------------------------------------------------------- oDB_INCONSISTENCIA:aCols[01]:nWidth := 035 oDB_INCONSISTENCIA:aCols[01]:cHeader := (v_Cabecalho_01) oDB_INCONSISTENCIA:aCols[01]:nHeadStrAlign := AL_CENTER oDB_INCONSISTENCIA:aCols[01]:nDataStrAlign := AL_RIGHT oDB_INCONSISTENCIA:aCols[01]:AddResource( "#8204" ) ////Erro oDB_INCONSISTENCIA:aCols[01]:AddResource( "#8205" ) ////Alerta oDB_INCONSISTENCIA:aCols[01]:AddResource( "#8206" ) ////Informação oDB_INCONSISTENCIA:aCols[01]:AddResource( "#8207" ) ////Questionemento oDB_INCONSISTENCIA:aCols[01]:bBmpData := 2 oDB_INCONSISTENCIA:aCols[01]:bBmpData := { || iif(len( (v_aRRAY_Inconsistencia))>0, IF((v_aRRAY_Inconsistencia[oDB_INCONSISTENCIA:nArrayAt][01])="E",1,IF((v_aRRAY_Inconsistencia[oDB_INCONSISTENCIA:nArrayAt][01])="A",2,IF((v_aRRAY_Inconsistencia[oDB_INCONSISTENCIA:nArrayAt][01])="I",3, 4 ))),nil) } oDB_INCONSISTENCIA:aCols[01]:bStrData := { || NIL } oDB_INCONSISTENCIA:aCols[01]:cToolTip := {ALLTRIM((v_Cabecalho_01))+ CRTLF +T_TXT_DIALOGO,"Ajuda","", } *------------------------------------------------------------------------- oDB_INCONSISTENCIA:aCols[02]:bstrData := {|| iif(len( (v_aRRAY_Inconsistencia))>0,(v_aRRAY_Inconsistencia)[oDB_INCONSISTENCIA:nArrayAt,02],nil) } oDB_INCONSISTENCIA:aCols[02]:cHeader := (v_Cabecalho_02) oDB_INCONSISTENCIA:aCols[02]:nDataStrAlign := AL_LEFT oDB_INCONSISTENCIA:aCols[02]:nHeadStrAlign := AL_LEFT oDB_INCONSISTENCIA:aCols[02]:cToolTip := {ALLTRIM((v_Cabecalho_02)),"Ajuda","", } oDB_INCONSISTENCIA:aCols[02]:nFootStrAlign := AL_RIGHT *------------------------------------------------------------------------- oDB_INCONSISTENCIA:aCols[03]:bstrData := {|| iif(len((v_aRRAY_Inconsistencia))>0,(v_aRRAY_Inconsistencia)[oDB_INCONSISTENCIA:nArrayAt,03],nil) } oDB_INCONSISTENCIA:aCols[03]:cHeader := (v_Cabecalho_03) oDB_INCONSISTENCIA:aCols[03]:nDataStrAlign := AL_LEFT oDB_INCONSISTENCIA:aCols[03]:nHeadStrAlign := AL_LEFT oDB_INCONSISTENCIA:aCols[03]:cToolTip := {ALLTRIM((v_Cabecalho_03)),"Ajuda","", } oDB_INCONSISTENCIA:aCols[03]:nFootStrAlign := AL_RIGHT *------------------------------------------------------------------------- oDB_INCONSISTENCIA:aCols[04]:bstrData := {|| iif(len((v_aRRAY_Inconsistencia))>0,(v_aRRAY_Inconsistencia)[oDB_INCONSISTENCIA:nArrayAt,04],nil) } oDB_INCONSISTENCIA:aCols[04]:cHeader := (v_Cabecalho_04) oDB_INCONSISTENCIA:aCols[04]:nDataStrAlign := AL_LEFT oDB_INCONSISTENCIA:aCols[04]:nHeadStrAlign := AL_LEFT oDB_INCONSISTENCIA:aCols[04]:cToolTip := {ALLTRIM((v_Cabecalho_04)),"Ajuda","", } *------------------------------------------------------------------------- oDB_INCONSISTENCIA:aCols[05]:bstrData := {|| iif(len((v_aRRAY_Inconsistencia))>0,(v_aRRAY_Inconsistencia)[oDB_INCONSISTENCIA:nArrayAt,05],nil) } oDB_INCONSISTENCIA:aCols[05]:cHeader := (v_Cabecalho_05) oDB_INCONSISTENCIA:aCols[05]:nDataStrAlign := AL_LEFT oDB_INCONSISTENCIA:aCols[05]:nHeadStrAlign := AL_LEFT oDB_INCONSISTENCIA:aCols[05]:cToolTip := {ALLTRIM((v_Cabecalho_05)),"Ajuda","", } *------------------------------------------------------------------------- oDB_INCONSISTENCIA:aCols[06]:bstrData := {|| iif(len((v_aRRAY_Inconsistencia))>0,(v_aRRAY_Inconsistencia)[oDB_INCONSISTENCIA:nArrayAt,06],nil) } oDB_INCONSISTENCIA:aCols[06]:cHeader := (v_Cabecalho_06) oDB_INCONSISTENCIA:aCols[06]:nDataStrAlign := AL_LEFT oDB_INCONSISTENCIA:aCols[06]:nHeadStrAlign := AL_LEFT oDB_INCONSISTENCIA:aCols[06]:cToolTip := {ALLTRIM((v_Cabecalho_06)),"Ajuda","", } oDB_INCONSISTENCIA:aCols[06]:nFootStrAlign := AL_RIGHT *------------------------------------------------------------------------- oDB_INCONSISTENCIA:aCols[07]:bstrData := {|| iif(len((v_aRRAY_Inconsistencia))>0,(v_aRRAY_Inconsistencia)[oDB_INCONSISTENCIA:nArrayAt,07],nil) } oDB_INCONSISTENCIA:aCols[07]:cHeader := (v_Cabecalho_07) oDB_INCONSISTENCIA:aCols[07]:nDataStrAlign := AL_LEFT oDB_INCONSISTENCIA:aCols[07]:nHeadStrAlign := AL_LEFT oDB_INCONSISTENCIA:aCols[07]:cToolTip := {ALLTRIM((v_Cabecalho_07)),"Ajuda","", } *------------------------------------------------------------------------- oDB_INCONSISTENCIA:aCols[08]:bstrData := {|| iif(len((v_aRRAY_Inconsistencia))>0,(v_aRRAY_Inconsistencia)[oDB_INCONSISTENCIA:nArrayAt,08],nil) } oDB_INCONSISTENCIA:aCols[08]:cHeader := (v_Cabecalho_08) oDB_INCONSISTENCIA:aCols[08]:nDataStrAlign := AL_LEFT oDB_INCONSISTENCIA:aCols[08]:nHeadStrAlign := AL_LEFT oDB_INCONSISTENCIA:aCols[08]:cToolTip := {ALLTRIM((v_Cabecalho_08)),"Ajuda","", } *------------------------------------------------------------------------- REDEFINE BUTTONBMP oExp_Excel_Inconsistencia ID 4002 OF oDlg_INCONSISTENCIA ACTION ( oDB_INCONSISTENCIA:ToExcel() ) BITMAP (M->BTN_EXPORTA_EXCEL) PROMPT "E&xportar Para Excel" TEXTRIGHT REDEFINE BUTTONBMP oSair_Inconsistencia ID 4003 OF oDlg_INCONSISTENCIA ACTION ( oDlg_INCONSISTENCIA:end() ) BITMAP (M->BTN_SAIR_REGISTRO) PROMPT "&Fechar" TEXTRIGHT *------------------------------------------------------------------------- REDEFINE SAY oT_TXT_ERROS VAR T_TXT_ERROS ID 4006 OF oDlg_INCONSISTENCIA REDEFINE SAY oT_TXT_AVISOS VAR T_TXT_AVISOS ID 4007 OF oDlg_INCONSISTENCIA REDEFINE SAY oT_TXT_INFORMACAO VAR T_TXT_INFORMACAO ID 4010 OF oDlg_INCONSISTENCIA REDEFINE SAY oT_TXT_OUTROS VAR T_TXT_OUTROS ID 4011 OF oDlg_INCONSISTENCIA *------------------------------------------------------------------------- oExp_Excel_Inconsistencia : cToolTip := {"Exportar Para o Excel","Ajuda","", } oSair_Inconsistencia : cToolTip := {"Fechar/Sair","Ajuda","", } *------------------------------------------------------------------------- ACTIVATE DIALOG oDlg_INCONSISTENCIA CENTERED ON INIT (oDB_INCONSISTENCIA:GoTop(),BuildControls( oDlg_INCONSISTENCIA )) RETURN .T. *------------------------------------------------------------------------------- *------------------------------------------------------------------------------- static func BuildControls( oDlg ) local oMenu, oBar MENU oMenu 2007 MENUITEM "&Opções" MENU MENUITEM "&Exportar Para Excel" RESOURCE (M->BTN_EXPORTA_EXCEL) ACTION ( oDB_INCONSISTENCIA:ToExcel() ) MESSAGE "Exportar Dados Para o Excel" SEPARATOR MENUITEM "&Fechar" RESOURCE (M->BTN_SAIR_REGISTRO) ACTION(oDlg:End()) MESSAGE "Fechar Esta Tela" ENDMENU ENDMENU oDlg:SetMenu( oMenu ) *------------------------------------------------------------------------------- * caso queira colocar botoes *------------------------------------------------------------------------------- *DEFINE BUTTONBAR oBar OF oDlg 3D *DEFINE BUTTON OF oBar PROMPT " Info " ACTION MsgAbout() FONT oDlg:oFont NOBORDER *DEFINE BUTTON OF oBar PROMPT " Sair " ACTION oDlg:End() FONT oDlg:oFont NOBORDER DEFINE MESSAGE OF oDlg PROMPT ('Em Caso de Dúvidas Ligar para o Suporte ' + SUPORTE) DEFINE MSGITEM OF oDlg:oMsgBar; BITMAP IF(T_IP_SERVER = "localhost","#8021","FUNCIONA_REDE"); TOOLTIP {"Nome da Estação "+CRLF+ upper(netname()) + CRLF+ + 'Ip Servidor.:'+ TRIM(T_IP_SERVER),"Ajuda","", } return( Nil ) Imagem do Tela no PELLES, basta fazer uma com os mesmos ID, do PRG acima Exemplo de como Usar a função. *--------------------------------------------------------------------------------- * Gravar Cadastro de Produtos *--------------------------------------------------------------------------------- FUNCTION GRAVA_CADASTRO_PRODUTOS() aInconsistencias :={} ERROS_INCONSISTENCIA := 0 T_QUANTIDADE_REG_SQL := 0 *---------------------------------------------------------------------------- IF T_FATOR_MULTIPLICACAO = 0 T_FATOR_MULTIPLICACAO := 1 ENDIF *---------------------------------------------------------------------------- IF EMPTY(T_NOME_PRODUTOS) ERROS_INCONSISTENCIA := ERROS_INCONSISTENCIA + 1 aAdd( aInconsistencias, { 'E',; ALLTRIM(STRZERO(ERROS_INCONSISTENCIA,06,0)),; 'Nome Ou Descrição está Em branco ou Sem Informações',; 'O Campo Nome no Cadastro de Produtos Deverá ser Preenchido',; 'O Sistema Irá Varificar a Existência do Nome, Não Permitindo Repetir',; '.',; '.',; '.'} ) ENDIF *---------------------------------------------------------------------------- IF T_CODI_GRUPOS_PR == 0 ERROS_INCONSISTENCIA := ERROS_INCONSISTENCIA + 1 aAdd( aInconsistencias, { 'E',; ALLTRIM(STRZERO(ERROS_INCONSISTENCIA,06,0)),; 'Código do Grupo Inválido ou Zerado',; 'Informe o Código do Grupo Válido Maior que Zero',; 'Caso Nao Seja Informado Não Será Possivel Gravar',; '.',; '.',; '.'} ) ENDIF *---------------------------------------------------------------------------- IF empty(SUBSTR(ALLTRIM(T_COD_ALIQUOTA_PRODUTOS),01,02) ) ERROS_INCONSISTENCIA := ERROS_INCONSISTENCIA + 1 aAdd( aInconsistencias, { 'E',; ALLTRIM(STRZERO(ERROS_INCONSISTENCIA,06,0)),; 'Escolha Uma Alíquota de Saída ICMS',; 'Informe no Campo Aliquota de ICMS de Saida Um Valor Válido',; 'Caso Nao Seja Informado Não Será Possivel Gravar',; '.',; '.',; '.'} ) ENDIF *---------------------------------------------------------------------------- IF EMPTY(ALLTRIM(T_CODI_TRIBUTARIO)) ERROS_INCONSISTENCIA := ERROS_INCONSISTENCIA + 1 aAdd( aInconsistencias, { 'E',; ALLTRIM(STRZERO(ERROS_INCONSISTENCIA,06,0)),; 'Código Nacionalidade',; 'Informe o Código da Nacionalidade',; 'Caso Nao Seja Informado Não Será Possivel Gravar',; '.',; '.',; '.'} ) ENDIF *---------------------------------------------------------------------------- IF EMPTY(ALLTRIM(T_CODI_ICMS)) ERROS_INCONSISTENCIA := ERROS_INCONSISTENCIA + 1 aAdd( aInconsistencias, { 'E',; ALLTRIM(STRZERO(ERROS_INCONSISTENCIA,06,0)),; 'Código Tributário Inválido (ICMS)',; 'Informe no Campo Código Tributário (Situação Tributária) Um Valor Válido',; 'Caso Nao Seja Informado Não Será Possivel Gravar',; '.',; '.',; '.'} ) ENDIF *---------------------------------------------------------------------------- IF val(str(T_VALOR_VENDA,18,2)) < 0 ERROS_INCONSISTENCIA := ERROS_INCONSISTENCIA + 1 aAdd( aInconsistencias, { 'E',; ALLTRIM(STRZERO(ERROS_INCONSISTENCIA,06,0)),; 'Valor de Venda da Tabela 1 Inválido',; 'Informe Um Valor de Venda Válido para a Tabela 1',; 'Sempre Informar um Valor Maior ou Igual a Zero',; '.',; '.',; '.'} ) ENDIF *---------------------------------------------------------------------------- IF val(str(T_VALOR_VENDA2,18,2)) < 0 ERROS_INCONSISTENCIA := ERROS_INCONSISTENCIA + 1 aAdd( aInconsistencias, { 'E',; ALLTRIM(STRZERO(ERROS_INCONSISTENCIA,06,0)),; 'Valor de Venda da Tabela 1 Inválido',; 'Informe Um Valor de Venda Válido para a Tabela 2',; 'Sempre Informar um Valor Maior ou Igual a Zero',; '.',; '.',; '.'} ) ENDIF IF val(str(T_VALOR_VENDA3,18,2)) < 0 ERROS_INCONSISTENCIA := ERROS_INCONSISTENCIA + 1 aAdd( aInconsistencias, { 'E',; ALLTRIM(STRZERO(ERROS_INCONSISTENCIA,06,0)),; 'Valor de Venda da Tabela 1 Inválido',; 'Informe Um Valor de Venda Válido para a Tabela 3',; 'Sempre Informar um Valor Maior ou Igual a Zero',; '.',; '.',; '.'} ) ENDIF IF val(str(T_VALOR_PROMOCAO,18,2)) < 0 ERROS_INCONSISTENCIA := ERROS_INCONSISTENCIA + 1 aAdd( aInconsistencias, { 'E',; ALLTRIM(STRZERO(ERROS_INCONSISTENCIA,06,0)),; 'Valor de Venda da Promoção Inválido',; 'Informe Um Valor de Venda Válido para a Tabela 3',; 'Sempre Informar um Valor Maior ou Igual a Zero',; '.',; '.',; '.'} ) ENDIF *---------------------------------------------------------------------------- IF T_CLASSIFICACAO_PRODUTO_MATERIA_PRIMA = '09' &&&& SE FOR SERVIÇO IF VAL(STR( (T_ESTOQUE_PRODUTOS + T_SALDO_NF),18,3)) > VAL(STR(0,18,3)) ERROS_INCONSISTENCIA := ERROS_INCONSISTENCIA + 1 aAdd( aInconsistencias, { 'E',; ALLTRIM(STRZERO(ERROS_INCONSISTENCIA,06,0)),; 'O Item Cadastrado como Sendo Serviço Não deverá Ter Saldo !',; 'O Item Cadastrado Não Poderá Ter Saldo',; 'Sempre Informar Igual a Zero',; '.',; '.',; '.'} ) ENDIF ENDIF *---------------------------------------------------------------------------- FOR nI = 1 to Len( aArray_itens_ordem_producao ) IF T_CODI_PRODUTOS != 0 IF val(aArray_itens_ordem_producao[nI,2]) == T_CODI_PRODUTOS ERROS_INCONSISTENCIA := ERROS_INCONSISTENCIA + 1 aAdd( aInconsistencias, { 'E',; ALLTRIM(STRZERO(ERROS_INCONSISTENCIA,06,0)),; 'O Produto Não é válido '+ alltrim(alltrim(aArray_itens_ordem_producao[nI,2])) +' => '+STR(T_CODI_PRODUTOS,07,0)+' '+ alltrim(aArray_itens_ordem_producao[nI,3]) +', Não Poderá Compor Ele Mesmo',; 'Voce Informou no Cadastro de Composição o Mesmo Produto',; 'Sempre Informar Produtos Diferentes deste Código '+STR(T_CODI_PRODUTOS,07,0),; '.',; '.',; '.'} ) ENDIF ENDIF NEXT *---------------------------------------------------------------------------- IF T_OPERACAO_PRODUTOS == "I" IF EMPTY(alltrim(T_COD_BARRAS_PRODUTOS)) IF SELECT("produtos") != 0 produtos->(DbCloseArea()) ENDIF cQuery:= 'SELECT * FROM produtos ORDER BY CODPRO DESC ' use sql cQuery alias "produtos" new via 'MYSQL' produtos->( DbGoTop()) T_CODI_PRODUTOS := produtos->CODPRO + 1 ENDIF *------------------------------------------------------------------------- IF SELECT("produtos") != 0 produtos->(DbCloseArea()) ENDIF cQuery:= 'SELECT CODPRO, NOMPRO, C_BARRAS FROM produtos WHERE C_BARRAS = ' + TRANSFORMA_SQL(IF(EMPTY(alltrim(T_COD_BARRAS_PRODUTOS)),STRZERO(T_CODI_PRODUTOS,13,0),T_COD_BARRAS_PRODUTOS),"T",14,0) use sql cQuery alias "produtos" new via 'MYSQL' produtos->( DbGoTop()) IF produtos->CODPRO != 0 ERROS_INCONSISTENCIA := ERROS_INCONSISTENCIA + 1 aAdd( aInconsistencias, { 'E',; ALLTRIM(STRZERO(ERROS_INCONSISTENCIA,06,0)),; 'Código de Barras Já Cadastrado',; 'Cód.: ' + str(produtos->CODPRO,07,0) + ' '+ ALLTRIM(produtos->NOMPRO),; '',; '.',; '.',; '.'} ) ENDIF ENDIF IF T_PESO_PADRAO = 0 T_PESO_PADRAO := 1 ENDIF IF T_OPERACAO_PRODUTOS == "I" IF SELECT("produtos") != 0 produtos->(DbCloseArea()) ENDIF cQuery:= 'SELECT * FROM produtos ORDER BY CODPRO DESC ' use sql cQuery alias "produtos" new via 'MYSQL' produtos->( DbGoTop()) T_CODI_PRODUTOS := produtos->CODPRO + 1 ENDIF IF ERROS_INCONSISTENCIA == 0 * GRAVO O CADASTRO DE PRODUTOS ELSE MOSTRAR_INCONSISTENCIA(aInconsistencias,'Inconsistências No Cadastro de Produtos','Tipo|Num|Descricao|Informação|Complemento|*|*|*') ENDIF
    1 point
  2. Orlando FMC

    Encontro

    Sugestão: "Sistema em FW Comunicando com Base de Dados MySql na Nuvem."
    1 point
×
×
  • Create New...