Jump to content
Fivewin Brasil

Dando Erro ao Gravar Dados


marcio1361303176

Recommended Posts

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...