marcio1361303176 Posted March 31, 2004 Report Share Posted March 31, 2004 Veja o PRG Quando tento cadastrar um novo cliente dá erro Fala que a variavel TCOD não existe ! O combobox não está ficando com o estado no momento da alteração. Sempre fica como MG, Mesmo que o cliente seja do RJ ! A pesquisa não localiza o cliente ! Desde já agradeço * I_A_CLI.PRG * * * CADASTRO DE CLIENTES ****************************************************************************************************************************************** #include "MARCIO.CH" Function CADCLI() #define aEstado {"MG","AC","AL","AM","AP","BA","CE","ES","FN","GO","MA","DF","MS","MT","PA","PB","PE","PI","PR","RJ","RN","RO","RR","RS","SC","SE","SP","TO","EX" } // criei uma array de estados **#define aNatureza {"Fisica","Juridica"} Local oGet,oSay LOCAL oSaida, oIncluir, oExcluir, oCancelar, oImprimir, oEditar, oPesquisa LOCAL nOrden :=1 Local PROCURA:=space(20) LOCAL cOrden := { OemToAnsi("Nome"),; OemToAnsi("Codigo"),; OemToAnsi("Cidade")} PUBLIC PARDOS :=SPACE(01) *----------------------------------------------------------------------------------------- A_00004() && AREA 0004 CLIENTES.DBF *--------------------------------------------------------------------------------------- SET ORDER TO 2 ***STRZERO(CLICOD,06,0),CLINOM,CLIEND,CLIBAI,IF(CLITIP=2,"JurÃdica","FÃsica"),CLICEP,CLICID; *DEFINE FONT O_F_BRW NAME "ARIAL" SIZE 07,20 BOLD DEFINE FONT O_F_BRW NAME "MS SANS SERIF" SIZE 0,-15 DEFINE DIALOG oDlg RESOURCE "T_CADAS" TITLE "Cadastro de Clientes" REDEFINE LISTBOX oLbx FIELDS STRZERO(CLICOD,06,0),; CLINOM,; CLIFON,; CLIFAX,; IF(CLITIP=2,"JurÃdica","FÃsica"),; CLIEND,; CLIBAI,; CLICEP,; CLICID,; CLIEST,; CLICPF,; CLIREG,; CLIOBS; HEADERS "Codigo",; "Nome",; "Tel",; "Fax",; "Tipo",; "Endereço",; "Bairro",; "Cep", ; "Cidade",; "UF",; "Cpf/Cnpj",; "Rg/I.E.",; "Observacao"; FIELDSIZES 10,100,150,100,100,100 ; COLOR CLR_BLACK,Rgb(255,255,200) ; FONT O_F_BRW; ID 101; OF oDlg; On DBLCLICK( CLICAD("A"), oLbx:Refresh() ) *oLbx:nLineStyle := 3 oLbx:nLineStyle := 3 oLbx:Refresh() oLbx:nClrBackHead := CLR_HBLUE // Cor do Fundo do Cabe‡alho oLbx:nClrBackFocus := CLR_AZUL_BRANCO // Cor do Cursor Em Cima do Ötem oLbx:nClrForeHead := CLR_BLANCO // Cor nos Headers - Cabe‡alhos //// Aqui faço as corres oLbx:nClrPane := { || IIF( ( oLbx:cAlias)->( OrdKeyNo()) %2 == 1, ; CLR_LGREEN,CLR_LGRAY)} oLbx:SetFocus() DEFINE FONT O_F_GET NAME "ARIAL" SIZE 07,18 BOLD REDEFINE COMBOBOX nOrden ITEMS cOrden ID 102 OF oDlg ON CHANGE Orden(nOrden,oLbx) REDEFINE GET PROCURA ID 2006 OF oDlg PICTURE "@!" FONT O_F_GET UPDATE REDEFINE BTNBMP RESOURCE "ICON_NEW" ID 105 OF oDlg ; TOOLTIP "Incluir Novo Registro"; ACTION (CLICAD("I"),; oLbx:Refresh(),oLbx:Default(),oLbx:Refresh(),oLbx:SetFocus() ) NOBORDER REDEFINE BTNBMP RESOURCE "MNU_EDIT" ID 106 OF oDlg ; TOOLTIP "Editar / Alterar Registro"; ACTION (CLICAD("A"),; oLbx:Refresh(),oLbx:Default(),oLbx:Refresh(),oLbx:SetFocus() ) NOBORDER REDEFINE BTNBMP RESOURCE "ICON_DELETE" ID 107 OF oDlg ; TOOLTIP "Excluir Registro"; ACTION (EXC_CLI(),; oLbx:Refresh(),oLbx:Default(),oLbx:Refresh() ) NOBORDER REDEFINE BTNBMP RESOURCE "BAR_PRINT" ID 108 OF oDlg ; TOOLTIP "Relatorio"; ACTION (IMP_CLIEN() ) NOBORDER REDEFINE BTNBMP RESOURCE "ICON_TOP" ID 109 OF oDlg ; TOOLTIP "Primeiro Registro"; ACTION (oLbx:GoTop(),; oLbx:Refresh(),oLbx:setfocus()) NOBORDER REDEFINE BTNBMP RESOURCE "ICON_BOTTOM" ID 110 OF oDlg ; TOOLTIP "Ultimo Registro"; ACTION (oLbx:Gobottom(),; oLbx:Refresh(),oLbx:setfocus() ) NOBORDER REDEFINE BTNBMP RESOURCE "ICON_LUPA" ID 112 OF oDlg ; TOOLTIP "Pesquisar"; ACTION (oLbx:GOTOP(),dbSeek(PROCURA),oLbx:Refresh(),oLbx:setfocus()) NOBORDER REDEFINE BTNBMP RESOURCE "MNU_EXIT" ID 111 OF oDlg ; ACTION oDlg:End() NOBORDER **ACTIVATE DIALOG oDlg NOWAIT CENTERED ACTIVATE DIALOG oDlg CENTERED RETURN(NIL) // ------------------------------------------------------------------------ **------------------------------------------------------------------------------------------------ ** ** Funcao que retorna a ordem ** **------------------------------------------------------------------------------------------------ STATIC FUNCTION Orden(nOrden,oLbx) SELECT 4 GO TOP IF nOrden=2 SET ORDER TO 1 ENDIF IF nOrden=1 SET ORDER TO 2 ENDIF IF nOrden=3 SET ORDER TO 5 ENDIF oLbx:GOTOP() oLbx:Refresh() oLbx:setfocus() RETURN **------------------------------------------------------------------------------------------------ FUNCTION PRO_CLI() SET SOFTSEEK ON SELECT 4 *IF nOrden=2 * SET ORDER TO 1 *ENDIF *IF nOrden=1 SET ORDER TO 2 *ENDIF *IF nOrden=3 * SET ORDER TO 5 *ENDIF GOTO TOP *IF !EMPTY(PROCURA) SEEK PROCURA *ENDIF oLbx:GOTOP() oLbx:Refresh() oLbx:setfocus() RETURN(.T.) ** FUNÇÃO PARA PESQUISA DE AUTORES *********************** Static Function PEAUT() oNOM:=mNOM:=SPACE(60) DEFINE DIALOG oDlgPA from 4,05 to 09,70 TITLE "Pesquisar" @00,00 SAY "Nome:" @00,04 GET oNOM VAR mNOM OF oDlgPA PICT '@!' SIZE 200,12 @01.8,06 BUTTON oSaida PROMPT "&OK" OF oDlgPA SIZE 35,08 ACTION (PESCA(),oDlgPA:End(),oBrw:SetFocus(),oBrw:refresh()) CANCEL ACTIVATE DIALOG oDlgPA CENTERED RETURN(NIL) *---------------------------------------------------------------------------------------------------------------- STATIC FUNCTION PESCA() SELECT 4 sET ORDER TO 2 GOTO TOP mNOM=RTRIM( Upper( mNOM ) ) SEEK mNOM //SOFTSEEK oLbx:SetFocus() oLbx:refresh() RETURN(.T.) *-------------------------------------------------------------------------------------------------- FUNCTION EXC_CLI() If MsgYesNo("Deseja Realmente Excluir ?" + chr(13) +; " " + chr(13) +; "Codigo.: " + STRZERO(CLICOD,06,0) + " Nome.: " + RTRim(CLINOM) + " " + chr(13) +; " ","Exclusão") RECLOCK() DELETE RECORD RECNO() UNLOCK *GO TOP *Olbx:Refresh() EndIf Return Nil // ------------------------------------------------------------------------ // Funci¢n ...: CLI_CAD() // ------------------------------------------------------------------------ FUNCTION CLICAD(PARDOS) LOCAL oDlg, oFld, oBmp LOCAL TCOD := 0 LOCAL TTIP := 0 LOCAL TNOM := SPACE(40) LOCAL TEND := SPACE(35) LOCAL TBAI := SPACE(19) LOCAL TCEP := SPACE(09) LOCAL TCID := SPACE(28) LOCAL TEST := SPACE(02) LOCAL TFON := SPACE(14) LOCAL TFAX := SPACE(14) LOCAL TLIM := 0 LOCAL TCPF := SPACE(18) LOCAL TREG := SPACE(18) LOCAL TNAS := CTOD("00/00/00") LOCAL TOBS := SPACE(50) LOCAL TDCL := CTOD("00/00/00") LOCAL TMAL := 0 LOCAL TRFE1 := SPACE(30) LOCAL TCID1 := SPACE(20) LOCAL TFON1 := SPACE(14) LOCAL TRFE2 := SPACE(30) LOCAL TCID2 := SPACE(20) LOCAL TFON2 := SPACE(14) LOCAL TRFE3 := SPACE(30) LOCAL TCID3 := SPACE(20) LOCAL TFON3 := SPACE(14) LOCAL TBAN1 := SPACE(15) LOCAL TCON1 := SPACE(10) LOCAL TAGE1 := SPACE(10) LOCAL TTAG1 := SPACE(14) LOCAL TBAN2 := SPACE(15) LOCAL TCON2 := SPACE(10) LOCAL TAGE2 := SPACE(10) LOCAL TTAG2 := SPACE(14) LOCAL TFOTO := Space( 80 ) LOCAL REGISTRO := 0 SELECT 4 IF PARDOS = "I" PARDOS = "I" SET ORDER TO 1 GO BOTTOM TCOD = 0 TCOD = CLICOD + 1 *TFOTO := AllTrim( oDbf:Bitmap ) *cIVA := Str( oDbf:IVA, 5 ) *cFamilia := oDbf:Familia + " - " + SearchFamilias( oDbf:Familia ) ELSE PARDOS = "A" TCOD = CLICOD TTIP = CLITIP TNOM = CLINOM TEND = CLIEND TBAI = CLIBAI TCEP = CLICEP TCID = CLICID TEST = CLIEST TFON = CLIFON TFAX = CLIFAX TLIM = CLILIM TCPF = CLICPF TREG = CLIREG TNAS = CLINAS TOBS = CLIOBS TDCL = CLIDAT TMAL = CLIETI TRFE1 = REFER1 TCID1 = CIDAD1 TFON1 = FONES1 TRFE2 = REFER2 TCID2 = CIDAD2 TFON2 = FONES2 TRFE3 = REFER3 TCID3 = CIDAD3 TFON3 = FONES3 TBAN1 = BANCO1 TCON1 = CONTA1 TAGE1 = AGENC1 TTAG1 = FAGEN1 TBAN2 = BANCO2 TCON2 = CONTA2 TAGE2 = AGENC2 TTAG2 = FAGEN2 REGISTRO = RECNO() ENDIF // Caja de Di logo ---------------------------------------------------- DEFINE FONT O_F_GET NAME "ARIAL" SIZE 07,18 BOLD DEFINE DIALOG oDlg RESOURCE "C_CLIENTES" TITLE "Cadastro de Clientes" REDEFINE FOLDER oFld ID 101 OF oDlg ; PROMPT "&Dados Gerais", "&Comerciais/Bancarios","&Foto "; DIALOGS "CLI_GERAL" , "CLI_COMERCIAL","CLI_FOTO" REDEFINE GET TCOD PICTURE "999999" ID 20 OF oDlg FONT O_F_GET UPDATE REDEFINE GET TNOM PICTURE "@!" ID 21 OF oDlg Valid V_NOME(TNOM,1) .AND. (TNOM != " ") FONT O_F_GET COLOR CLR_BLACK, CLR_YELLOW Update // GENERAL REDEFINE GET TEND PICTURE "@!" ID 20 OF oFld:aDialogs[ 1 ] REDEFINE GET TBAI PICTURE "@!" ID 21 OF oFld:aDialogs[ 1 ] REDEFINE GET TCEP PICTURE "#####-###" ID 22 OF oFld:aDialogs[ 1 ] REDEFINE GET TCID PICTURE "@!" ID 23 OF oFld:aDialogs[ 1 ] REDEFINE COMBOBOX TEST ITEMS aEstado ID 24 OF oFld:aDialogs[ 1 ] REDEFINE GET TFON PICTURE "(999)9999-999" ID 26 OF oFld:aDialogs[ 1 ] REDEFINE GET TFAX PICTURE "(999)9999-999" ID 27 OF oFld:aDialogs[ 1 ] REDEFINE GET TLIM PICTURE "@E 999,999,999.99" ID 28 OF oFld:aDialogs[ 1 ] REDEFINE GET TDCL PICTURE "@K 99/99/99" ID 29 OF oFld:aDialogs[ 1 ] ***REDEFINE COMBOBOX cFamilia ITEMS aFamilias() ID 21 OF oFld:aDialogs[ 1 ] ***REDEFINE COMBOBOX oDbf:Caracter ITEMS aCaracter() ID 22 OF oFld:aDialogs[ 1 ] *REDEFINE BITMAP oBmp FILENAME TFOTO ADJUST ID 28 OF oFld:aDialogs[ 1 ] ; * UPDATE // COMERCIAIS /BANCARIAS *REDEFINE BITMAP RESOURCE "PTS" ID 50 OF oFld:aDialogs[ 2 ] *REDEFINE BITMAP RESOURCE "EUROS" ID 51 OF oFld:aDialogs[ 2 ] *REDEFINE BUTTON ID 701 OF oDlg ; * ACTION( oDlg:End(), ; * IIF( lAppend = .T., oDbf:Append(), ), ; * oDbf:IVA := Val( cIVA ), ; * oDbf:Familia := Left( cFamilia, 5 ), ; * oDbf:Save(), ; * oDbf:UnLock() ) *REDEFINE BUTTON RESOURCE "MNU_EXIT" ID 111 OF oDlg ACTION(oDlg:End(),oLbx:GOTOP(),oLbx:Refresh(),oLbx:setfocus() ) REDEFINE BTNBMP RESOURCE "MNU_SALVAR" ID 23 OF oDlg ; TOOLTIP "Salvar / Gravar "; ACTION (GRV_CLIE(),oDlg:End(),oLbx:GOTOP(),oLbx:Refresh(),oLbx:setfocus()) NOBORDER REDEFINE BTNBMP RESOURCE "MNU_EXIT" ID 24 OF oDlg ; TOOLTIP "Fechar "; ACTION (oDlg:End(),oLbx:GOTOP(),oLbx:Refresh(),oLbx:setfocus()) NOBORDER ACTIVATE DIALOG oDlg NOWAIT CENTERED RETURN NIL // ------------------------------------------------------------------------ FUNCTION GRV_CLIE() SELECT 4 REGISTRO := 0 REGISTRO := RECNO() IF PARDOS = "I" SET ORDER TO 1 GO BOTTOM TCOD = 0 TCOD = CLICOD + 1 ADDREC() ELSE SELECT 4 SET ORDER TO 6 GO TOP SEEK REGISTRO RECLOCK() ENDIF REPLACE CLICOD WITH TCOD REPLACE CLINOM WITH TNOM REPLACE CLIEND WITH TEND REPLACE CLIBAI WITH TBAI REPLACE CLICEP WITH TCEP REPLACE CLICID WITH TCID REPLACE CLIEST WITH TEST REPLACE CLIFON WITH TFON REPLACE CLIFAX WITH TFAX REPLACE CLILIM WITH TLIM REPLACE CLICPF WITH TCPF REPLACE CLIREG WITH TREG REPLACE CLINAS WITH TNAS REPLACE CLIOBS WITH TOBS REPLACE CLITIP WITH TTIP REPLACE CLIDAT WITH TDCL REPLACE CLIETI WITH TMAL REPLACE REFER1 WITH TRFE1 REPLACE CIDAD1 WITH TCID1 REPLACE FONES1 WITH TFON1 REPLACE REFER2 WITH TRFE2 REPLACE CIDAD2 WITH TCID2 REPLACE FONES2 WITH TFON2 REPLACE REFER3 WITH TRFE3 REPLACE CIDAD3 WITH TCID3 REPLACE FONES3 WITH TFON3 REPLACE BANCO1 WITH TBAN1 REPLACE CONTA1 WITH TCON1 REPLACE AGENC1 WITH TAGE1 REPLACE FAGEN1 WITH TTAG1 REPLACE BANCO2 WITH TBAN2 REPLACE CONTA2 WITH TCON2 REPLACE AGENC2 WITH TAGE2 REPLACE FAGEN2 WITH TTAG2 FINALI() && Finaliza a Transa‡„o RETURN *----------------------------------------------------------------- FUNCTION V_NOME(TEXTO,ORD_P) REGISTRO := 0 REGISTRO := RECNO() SELECT 4 SET ORDER TO 2 GO TOP SEEK UPPER((TEXTO)) IF FOUND() MsgStop( "Já Exiete Este Nome " + chr(13) +; " " + chr(13) +; "Codigo.: " + STRZERO(CLICOD,06,0) + " Nome.: " + RTRim(CLINOM) + " ","Atenção " ) IF VAL(STR(REGISTRO,06,0)) != VAL(STR(0,06,0)) SELECT 4 SET ORDER TO 6 GO TOP SEEK REGISTRO ENDIF RETURN(.F.) ELSE RETURN(.T.) ENDIF *----------------------------------------------------------------------------------------------------- * * Impressao de Relatorios * *----------------------------------------------------------------------------------------------------- STATIC FUNCTION IMP_CLIEN() LOCAL oFont1, oFont2 LOCAL oReporte SELECT 4 GO TOP DEFINE FONT oFont1 NAME "ARIAL" SIZE 4, 8 //Fuentes a usar en el reporte DEFINE FONT oFont2 NAME "ARIAL" SIZE 0, -10 BOLD REPORT oReporte TITLE " Relatório de Clientes",; DONO_S, ""; HEADER "Emissao.: " + DTOC( DATE() ),; OemToAnsi( "Pagina N.: " ) + STR( oReporte:nPage,3 ); RIGHT; FOOTER RODAPE; FONT oFont2, oFont1; // Lista de fuentes. PREVIEW; // Presentaci¢n preliminar. CAPTION "Relatorio de Clientes "+DONO_S COLUMN TITLE "Cód." DATA STRZERO(CLICOD,04,0) SIZE 04 FONT 2 BOLD RIGHT SHADOW COLUMN TITLE "Nome" DATA CLINOM SIZE 37 FONT 2 COLUMN TITLE "Tel" DATA CLIFON PICTURE "(999)9999-9999" SIZE 10 FONT 2 COLUMN TITLE "Cpf/Cnpj" DATA CLICPF SIZE 14 FONT 2 END REPORT oReporte:CellView() // Dibuja l¡neas entre cada columna y rengl¢n. ACTIVATE REPORT oReporte; ON STARTPAGE BitMaps(oReporte) //Al iniciar cada p gina pinta un Bmp. SELECT 4 GO TOP oFont1:End() oFont2:End() RETURN NIL *------------------------------------------------------------------------------------------------- STATIC FUNCTION BitMaps(oReporte) oReporte:SayBitmap( 7, 8, "LOGO.Bmp", 8, 4, 2 ) RETURN NIL marcioe@uai.com.br marcioe@ligbr.com.br Quote Link to comment Share on other sites More sharing options...
vagner Posted March 31, 2004 Report Share Posted March 31, 2004 Marcio, o TCOD, pelo que eu pude ver, está dentro de um IF e no ELSE, não têm, e vc está mandando gravar fora do IF, então a variável não existe mesmo, só se for um inclusão Abraços Vagner Wirts São Paulo-Brasil Quote Link to comment Share on other sites More sharing options...
marcio1361303176 Posted March 31, 2004 Author Report Share Posted March 31, 2004 Probelam resolvido Tinha que declarar as variaveis como publicas, pois caso contratio a funcao de gravar não as recebia ! Acho que é isto, sou iniciante e FW ! oBRIGADO !!! marcioe@uai.com.br marcioe@ligbr.com.br Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.