Ai segue o código
/*
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ NDS - Nucleo de Desenvolvimento de Sistemas ÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ ³
³ Sistema..: NPAN007 ³±
³ Data.....: 01/10/07 ³±
³ Autor....: Nucleo de Desenvolvimento de sistemas ³±
³ Modulo...: CAD_CLI - Cadastro de Clientes ³±
³ Alteracao: 24/10/07 ³±
³ ³±
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
*/
#INCLUDE 'FIVEWIN.CH'
FUNCTION CAD_CLI()
local odlg,TECLA:=0, oSayCliente:="", cProcCliente:=""//,olbx
*private olbx
set 3dlook on
PUBLIC OBMP, VBMP, cont:=0, olbx
IF !OPEN_CLI()
MSGINFO(OemToAnsi("NÆo foi poss¡vel abrir arquivo de Clientes."),TITULO)
RETURN (.F.)
ENDIF
SET ORDER TO 2
SET CONFIRM OFF
GO TOP
DEFINE dialog oDlg FROM 5,02 TO 28,78 TITLE "Cadastro de Clientes"
DEFINE FONT OFONT NAME "VERDANA" SIZE 0,-11 && 06,11
@ 0.5, 1 LISTBOX olbx ;
FIELDS STR(CL->CL_CODI,6), CL->CL_NOME;
fieldsizes 50,200;
HEADER OemToAnsi("C¢digo"),"Nome";
SIZE 180,110 COLOR CLR_HGREEN,CLR_BLACK;
ON CHANGE (MostraCliente(ODLG),olbx:Setfocus(),olbx:Refresh());
OF oDlg
@ 9.4,01 say "Pesquisar Por.:" of odlg
@ 8.4,27 BITMAP FILE "LOGO3.bmp"SIZE 60,30 OF ODLG ADJUST
@ 9.4,10 GET oSayCliente VAR cProcCliente OF oDlg;
SIZE 105,12 UPDATE READONLY
@ 2.8,27 BITMAP OBMP FILE "APS.BMP" OF ODLG SIZE 55,55 ADJUST
olbx:bKeyDown:={|nKey|if(nKey==K_ENTER,INS_CLI(.T.),;
cProcCliente:=KeySeek(nKey,olbx,oSayCliente,@cProcCliente, "CL")) ,;
olbx:SetFocus(),olbx:Refresh()}
olbx:bLDblClick:={|| INS_CLI(.T.), olbx:SetFocus(),olbx:Refresh()}
olbx:nClrText = (if (ALLTRIM(CL->CL_PESS) = "F¡sica" , CLR_HGREEN, CLR_HBLUE) )
olbx:nClrForeFocus = (if (ALLTRIM(CL->CL_PESS) = "Jur¡dica" , CLR_HGREEN, CLR_HBLUE) )
oSayCliente:Disable()
@ 12.5,01 BUTTON "&Incluir" OF ODLG;
ACTION (INS_CLI(.f.),olbx:Setfocus(),olbx:Refresh());
SIZE 45, 16
@ 12.5,08 BUTTON "&Alterar" OF ODLG;
ACTION (INS_CLI(.t.),olbx:Setfocus(),olbx:Refresh());
SIZE 45, 16
@ 12.5,15 BUTTON "&Excluir" OF ODLG;
ACTION (DEL_CLI(),olbx:Setfocus(),olbx:Refresh());
SIZE 45, 16
@ 12.5,22 BUTTON "&Consulta CGC" OF ODLG;
ACTION (CONS_CLI(),olbx:Setfocus(),olbx:Refresh());
SIZE 55, 16
@ 12.5,33 BUTTON "&Sair" OF ODLG SIZE 30,12;
ACTION (oDlg:end()) && adjust
ACTIVATE FONT OFONT
ACTIVATE dialog oDlg centered
CLOSE DATA
OFONT:End()
CLOSE DATA
RETURN nil
* ----------------- Modulo de inclusao de aluno ------------------------ *
FUNCTION INS_CLI(modify)
LOCAL PROC_01, XCL_CODI, OFOL_CLI, OCL_ESTC
LOCAL XCL_CADA, XCL_NOME, XCL_ENDE,;
XCL_BAIR, XCL_CIDA, XCL_ESTA,;
XCL_CEPX, XCL_FONE, oDlg2, RADIOX, PESSOA:=1,;
XCL_EMAI, XCL_FAXX, XCL_CGCX, XCL_INSC, XCL_TRAB, XCL_TFON, XCL_TEND,;
XCL_TSER, XCL_CARG, XCL_SALA, XCL_PES1, XCL_FPE1, XCL_PES2, XCL_FPE2,;
XCL_ESTC, XCL_CONJ, XCL_PAIX, XCL_MAEX, XCL_SPCX,;
XCL_BCO1, XCL_CTA1, XCL_BCO2, XCL_CTA2, XCL_EMP1, XCL_FEP1, XCL_EMP2,;
XCL_FEP2, XCL_ENDE2, XCL_BAIR2, XCL_CIDA2, XCL_ESTA2, XCL_CEPX2,;
XCL_ENDE3, XCL_BAIR3, XCL_CIDA3, XCL_ESTA3, XCL_CEPX3, XCL_FONE3
Loca ocl_vende, OXAREA:=ALIAS(SELECT()), nVende:={}, oBox
PUBLIC MEMCODCL, CGCPrimeiraV:=1, InscPrimeiraV:=1
IF !modify
DEFINE dialog oDlg2 FROM 5,25 TO 13,55 TITLE "Pessoa"
@ 0.5, 5 RADIO RADIOX VAR PESSOA;
PROMPT ("FÃsica"), ("JurÃdica") 3D SIZE 40,15
* @ 40, 30 BTNBMP FILE "OK.BMP" OF oDlg2 SIZE 55,18 ADJUST;
@ 3.5,5 BUTTON "&Continuar" OF ODLG2 SIZE 40,14;
ACTION ( oDlg2:End())
ACTIVATE dialog oDlg2 CENTERED
CL->(OrdSetFocus(1))
CL->(DBGoBottom())
XCL_CODI:=CL->CL_CODI+1
XCL_CADA:=DATE() ; XCL_NOME:=SPAC(60); XCL_ENDE:=SPAC(40)
XCL_BAIR:=SPAC(40) ; XCL_CIDA:=SPAC(40); XCL_ESTA:=SPAC(02)
XCL_CEPX:=SPAC(09) ; XCL_FONE:=SPAC(13); XCL_FANT:=SPAC(40)
XCL_EMAI:=SPAC(40) ; XCL_FAXX:=SPAC(13)
XCL_CGCX:=SPAC(22) ; XCL_INSC:=SPAC(20)
XCL_TRAB:=SPAC(30) ; XCL_TFON:=SPAC(13); XCL_TEND:=SPAC(40)
XCL_TSER:=SPAC(02) ; XCL_CARG:=SPAC(20); XCL_SALA:=0
XCL_ESTC:="Solteiro(a)" ; XCL_CONJ:=SPAC(40)
XCL_PAIX:=SPAC(40) ; XCL_MAEX:=SPAC(40)
XCL_SPCX:=SPAC(60)
XCL_IMOV:="N" ; XCL_ITIP:=SPAC(20) ; XCL_ILOC:=SPAC(20)
XCL_AUTO:="N" ; XCL_AMAR:=SPAC(20) ; XCL_PLAC:=SPAC(08)
XCL_PES1:=SPAC(20) ; XCL_FPE1:=SPAC(13)
XCL_PES2:=SPAC(20) ; XCL_FPE2:=SPAC(13)
XCL_BCO1:=SPAC(20) ; XCL_CTA1:=SPAC(15)
XCL_BCO2:=SPAC(20) ; XCL_CTA2:=SPAC(15)
XCL_EMP1:=SPAC(20) ; XCL_FEP1:=SPAC(13)
XCL_EMP2:=SPAC(20) ; XCL_FEP2:=SPAC(13)
XCL_ENDE2:=SPAC(40) ; XCL_BAIR2:=SPAC(40) ; XCL_CIDA2:=SPAC(40)
XCL_ESTA2:=SPAC(02) ; XCL_CEPX2:=SPAC(09) ; XCL_FONE2:=SPAC(13)
XCL_ENDE3:=SPAC(40) ; XCL_BAIR3:=SPAC(40) ; XCL_CIDA3:=SPAC(40)
XCL_ESTA3:=SPAC(02) ; XCL_CEPX3:=SPAC(09) ; XCL_FONE3:=SPAC(13)
xcl_vende:=0
CL->(OrdSetFocus(2))
ELSE
IF CL_PESS="F¡sica"
PESSOA:=1
ELSE
PESSOA:=2
ENDIF
XCL_CODI:=CL->CL_CODI
XCL_CADA:=CL_CADA ; XCL_NOME:=CL_NOME ; XCL_ENDE:=CL_ENDE
XCL_BAIR:=CL_BAIR ; XCL_CIDA:=CL_CIDA ; XCL_ESTA:=CL_ESTA
XCL_CEPX:=CL_CEPX ; XCL_FONE:=CL_FONE ; XCL_FANT:=CL_FANT
XCL_TRAB:=CL_TRAB ; XCL_TFON:=CL_TFON ; XCL_TEND:=CL_TEND
XCL_TSER:=CL_TSER ; XCL_CARG:=CL_CARG ; XCL_SALA:=CL_SALA
XCL_EMAI:=CL_EMAI ; XCL_FAXX:=CL_FAXX
XCL_CGCX:=CL_CGCX ; XCL_INSC:=CL_INSC
XCL_ESTC:=CL_ESTC ; XCL_CONJ:=CL_CONJ
XCL_PAIX:=CL_PAIX ; XCL_MAEX:=CL_MAEX
XCL_SPCX:=CL_SPCX
XCL_IMOV:=CL_IMOV ; XCL_ITIP:=CL_ITIP ; XCL_ILOC:=CL_ILOC
XCL_AUTO:=CL_AUTO ; XCL_AMAR:=CL_AMAR ; XCL_PLAC:=CL_PLAC
XCL_PES1:=CL_PES1 ; XCL_FPE1:=CL_FPE1
XCL_PES2:=CL_PES2 ; XCL_FPE2:=CL_FPE2
XCL_BCO1:=CL_BCO1 ; XCL_CTA1:=CL_CTA1
XCL_BCO2:=CL_BCO2 ; XCL_CTA2:=CL_CTA2
XCL_EMP1:=CL_EMP1 ; XCL_FEP1:=CL_FEP1
XCL_EMP2:=CL_EMP2 ; XCL_FEP2:=CL_FEP2
XCL_ENDE2:=CL_ENDE2 ; XCL_BAIR2:=CL_BAIR2 ; XCL_CIDA2:=CL_CIDA2
XCL_ESTA2:=CL_ESTA2 ; XCL_CEPX2:=CL_CEPX2 ; XCL_FONE2:=CL_FONE2
XCL_ENDE3:=CL_ENDE3 ; XCL_BAIR3:=CL_BAIR3 ; XCL_CIDA3:=CL_CIDA3
XCL_ESTA3:=CL_ESTA3 ; XCL_CEPX3:=CL_CEPX3 ; XCL_FONE3:=CL_FONE3
xcl_vende:=cl_vende
ENDIF
xcl_vende2:=space(40)
If open_ven()=.f.
return(.f.)
endif
dbgotop()
Do while ! eof()
zCodi:=alltrim(str(vd_codi))
ztama:=len(zcodi)
zCodi:=replicate("0",5-ztama) + zCodi
aadd(nVende, (zCodi+ "-" + vd_nome) )
If xcl_vende=vd_codi
xcl_vende2:= (zCodi+ "-" + vd_nome)
endif
skip
enddo
close vd
select(oxArea)
IF PESSOA=1
DEFINE DIALOG PROC_01 FROM 5,1 TO 30, 90 TITLE OemToAnsi("Adicionar/Alterar Registro - Pessoa F¡sica")
ELSE
DEFINE DIALOG PROC_01 FROM 5,1 TO 30, 90 TITLE OemToAnsi("Adicionar/Alterar Registro - Pessoa Jur¡dica")
ENDIF
@ 0.1,0.3 FOLDER OFOL_CLI PROMPT OemToAnsi("&Dados B sicos"), OemToAnsi("Eco&N“mico"), OemToAnsi("&Referˆncias"),OemToAnsi("&Entrega"), OemToAnsi("&Cobran‡a") OF PROC_01 SIZE 305,160
* --------------- Dados pessoais -------------------------------- *
@ 0.2, 1 SAY OemtoAnsi("C¢digo: ") OF OFOL_CLI:aDialogs[1]
IF !MODIFY
@ 0.2, 7 GET XCL_CODI PICT "99999" OF OFOL_CLI:aDialogs[1] VALID ULTCLI(XCL_CODI)
ELSE
@ 0.2, 7 SAY TRANS(XCL_CODI,"@R 99999") OF OFOL_CLI:aDialogs[1]
ENDIF
@ 0.2, 15 SAY "Data cadastro: " OF OFOL_CLI:aDialogs[1]
@ 0.2, 25 GET XCL_CADA OF OFOL_CLI:aDialogs[1] PICT "@D"
IF PESSOA=1
@ 1.2, 1 SAY "Nome: " OF OFOL_CLI:aDialogs[1] SIZE 100,07
@ 1.2, 7 GET XCL_NOME OF OFOL_CLI:aDialogs[1] PICT "@K!"
@ 2.2, 1 SAY OemToAnsi("Endere‡o: ") OF OFOL_CLI:aDialogs[1]
@ 2.2, 7 GET XCL_ENDE OF OFOL_CLI:aDialogs[1] PICT "@K!"
@ 3.2, 1 SAY "Bairro:" OF OFOL_CLI:aDialogs[1]
@ 3.2, 7 GET XCL_BAIR OF OFOL_CLI:aDialogs[1] PICT "@K!"
@ 3.2, 20 SAY "CEP:" OF OFOL_CLI:aDialogs[1]
@ 3.2, 25 GET XCL_CEPX OF OFOL_CLI:aDialogs[1]
@ 4.2, 1 SAY "Cidade: " OF OFOL_CLI:aDialogs[1] SIZE 144,12
@ 4.2, 7 GET XCL_CIDA OF OFOL_CLI:aDialogs[1] PICT "@K!"
@ 4.2, 20 SAY "UF: " OF OFOL_CLI:aDialogs[1]
@ 4.2, 25 GET XCL_ESTA OF OFOL_CLI:aDialogs[1] PICT "@K!" SIZE 20,12
@ 5.2, 1 SAY "Telefone: " OF OFOL_CLI:aDialogs[1]
@ 5.2, 7 GET XCL_FONE OF OFOL_CLI:aDialogs[1]
@ 5.2, 15 SAY "Email: " OF OFOL_CLI:aDialogs[1]
@ 5.2, 18 GET XCL_EMAI OF OFOL_CLI:aDialogs[1]
@ 6.2, 1 SAY "CPF: " OF OFOL_CLI:aDialogs[1]
@ 6.2, 7 GET XCL_CGCX OF OFOL_CLI:aDialogs[1]// PICT "@R XX.XXX.XXX/XXXX-XX"
@ 6.2, 20 SAY "RG: " OF OFOL_CLI:aDialogs[1]
@ 6.2, 23 GET XCL_INSC OF OFOL_CLI:aDialogs[1]
@ 7.2, 1 SAY OemToAnsi("Servi‡o Prote‡Æo: ") OF OFOL_CLI:aDialogs[1]
@ 7.2, 9 GET XCL_SPCX OF OFOL_CLI:aDialogs[1] PICT "@K!"
@ 9.2, 1 SAY "Vendedor:" OF OFOL_CLI:aDialogs[1]
@ 8.7,07 combobox oBox Var xcl_vende2 items nVende;
of ofol_cli:aDialogs[1] size 180,150
ELSE
@ 1.2, 1 SAY OemToAnsi("RazÆo Social:") OF OFOL_CLI:aDialogs[1] SIZE 100,07
@ 1.2, 8 GET XCL_NOME OF OFOL_CLI:aDialogs[1] PICT "@K!"
@ 2.2, 1 SAY "Nome Fantasia: " OF OFOL_CLI:aDialogs[1] SIZE 100,07
@ 2.2, 8 GET XCL_FANT OF OFOL_CLI:aDialogs[1] PICT "@K!"
@ 3.2, 1 SAY OemToAnsi("Endere‡o: ") OF OFOL_CLI:aDialogs[1]
@ 3.2, 8 GET XCL_ENDE OF OFOL_CLI:aDialogs[1] PICT "@K!"
@ 4.2, 1 SAY "Bairro:" OF OFOL_CLI:aDialogs[1]
@ 4.2, 8 GET XCL_BAIR OF OFOL_CLI:aDialogs[1] PICT "@K!" SIZE 144,12
@ 4.2, 26 SAY "CEP:" OF OFOL_CLI:aDialogs[1]
@ 4.2, 31 GET XCL_CEPX OF OFOL_CLI:aDialogs[1]
@ 5.2, 1 SAY "Cidade: " OF OFOL_CLI:aDialogs[1] SIZE 100,10
@ 5.2, 8 GET XCL_CIDA OF OFOL_CLI:aDialogs[1] PICT "@K!" SIZE 144,12
@ 5.2, 26 SAY "UF: " OF OFOL_CLI:aDialogs[1]
@ 5.2, 31 GET XCL_ESTA OF OFOL_CLI:aDialogs[1] PICT "@K!" SIZE 20,12
@ 6.2, 1 SAY "Telefone: " OF OFOL_CLI:aDialogs[1]
@ 6.2, 8 GET XCL_FONE OF OFOL_CLI:aDialogs[1]
@ 6.2, 18 SAY "Fax: " OF OFOL_CLI:aDialogs[1]
@ 6.2, 25 GET XCL_FAXX OF OFOL_CLI:aDialogs[1]
@ 7.2, 1 SAY "Email: " OF OFOL_CLI:aDialogs[1]
@ 7.2, 8 GET XCL_EMAI OF OFOL_CLI:aDialogs[1]
@ 8.2, 1 SAY "CGC: " OF OFOL_CLI:aDialogs[1]
@ 8.2, 8 GET XCL_CGCX OF OFOL_CLI:aDialogs[1] PICT "XX.XXX.XXX/XXXX-XX" VALID ConfCGC(XCL_CGCX)
@ 8.2, 20 SAY "Insc.Est.: " OF OFOL_CLI:aDialogs[1]
@ 8.2, 25 GET XCL_INSC OF OFOL_CLI:aDialogs[1]
@ 9.2, 1 SAY OemToAnsi("Servi‡o Prote‡Æo: ") OF OFOL_CLI:aDialogs[1]
@ 9.2, 9 GET XCL_SPCX OF OFOL_CLI:aDialogs[1] PICT "@K!"
@ 10.2, 1 SAY "Vendedor:" OF OFOL_CLI:aDialogs[1]
@ 9.6,08 combobox oBox Var xcl_vende2 items nVende;
of ofol_cli:aDialogs[1] size 180,150
ENDIF
* ====> Economico
IF PESSOA = 1
@ 1.2, 1 SAY "Local Trab: " OF OFOL_CLI:aDialogs[2]
@ 1.2, 7 GET XCL_TRAB OF OFOL_CLI:aDialogs[2]
@ 1.2, 25 SAY "Tel: " OF OFOL_CLI:aDialogs[2]
@ 1.2, 30 GET XCL_TFON OF OFOL_CLI:aDialogs[2]
@ 2.2, 1 SAY "Tempo Serv.: " OF OFOL_CLI:aDialogs[2]
@ 2.2, 7 GET XCL_TSER OF OFOL_CLI:aDialogs[2]
@ 2.2, 10 SAY "Cargo: " OF OFOL_CLI:aDialogs[2]
@ 2.2, 13 GET XCL_CARG OF OFOL_CLI:aDialogs[2]
@ 2.2, 25 SAY OemToAnsi("Sal rio: ") OF OFOL_CLI:aDialogs[2]
@ 2.2, 30 GET XCL_SALA OF OFOL_CLI:aDialogs[2] PICTURE "9999999.99"
@ 3.2, 1 SAY OemToAnsi("Estado Civil:") OF OFOL_CLI:aDialogs[2] SIZE 100,07
@ 3 ,7 COMBOBOX OCL_ESTC VAR XCL_ESTC ITEMS {"Solteiro(a)","Casado(a)", "Desquitado(a)",;
"Divorciado(a)", "Anasiado","Viuvo","Outro"} OF OFOL_CLI:aDialogs[2] SIZE 80,50
@ 4.2, 1 SAY "Nome Conjuge: " OF OFOL_CLI:aDialogs[2] SIZE 100,07
@ 4.2, 7 GET XCL_CONJ OF OFOL_CLI:aDialogs[2] PICT "@K!"
@ 5.2, 1 SAY OemToAnsi("Nome Pai: ") OF OFOL_CLI:aDialogs[2]
@ 5.2, 7 GET XCL_PAIX OF OFOL_CLI:aDialogs[2] PICT "@K!"
@ 6.2, 1 SAY OemToAnsi("Nome mÆe: ") OF OFOL_CLI:aDialogs[2]
@ 6.2, 7 GET XCL_MAEX OF OFOL_CLI:aDialogs[2] PICT "@K!"
@ 7.2, 1 SAY OemToAnsi("Possui Im¢vel: ") OF OFOL_CLI:aDialogs[2]
@ 7.2, 9 GET XCL_IMOV OF OFOL_CLI:aDialogs[2]
@ 7.2, 11 SAY "Tipo: " OF OFOL_CLI:aDialogs[2]
@ 7.2, 14 GET XCL_ITIP OF OFOL_CLI:aDialogs[2]
@ 7.2, 24 SAY "Local: " OF OFOL_CLI:aDialogs[2]
@ 7.2, 27 GET XCL_ILOC OF OFOL_CLI:aDialogs[2]
@ 8.2, 1 SAY OemToAnsi("Possui Autom¢vel: ") OF OFOL_CLI:aDialogs[2]
@ 8.2, 9 GET XCL_AUTO OF OFOL_CLI:aDialogs[2]
@ 8.2, 11 SAY "Marca: " OF OFOL_CLI:aDialogs[2]
@ 8.2, 14 GET XCL_AMAR OF OFOL_CLI:aDialogs[2]
@ 8.2, 24 SAY "Placa: " OF OFOL_CLI:aDialogs[2]
@ 8.2, 27 GET XCL_PLAC OF OFOL_CLI:aDialogs[2]
* @ 9.2, 1 SAY OemToAnsi("Servi‡o Prote‡Æo: ") OF OFOL_CLI:aDialogs[2]
* @ 9.2, 9 GET XCL_SPCX OF OFOL_CLI:aDialogs[2] PICT "@K!"
ELSE
* @ 1.2, 1 SAY "Local Trab: " OF OFOL_CLI:aDialogs[2]
* @ 1.2, 7 GET XCL_TRAB OF OFOL_CLI:aDialogs[2]
* @ 1.2, 25 SAY "Tel: " OF OFOL_CLI:aDialogs[2]
* @ 1.2, 30 GET XCL_TFON OF OFOL_CLI:aDialogs[2]
@ 2.2, 7 SAY OemToAnsi("S¢cios: ") OF OFOL_CLI:aDialogs[2] SIZE 100,07
@ 1.2, 13 GET XCL_CONJ OF OFOL_CLI:aDialogs[2] PICT "@K!"
@ 2.2, 13 GET XCL_PAIX OF OFOL_CLI:aDialogs[2] PICT "@K!"
@ 3.2, 13 GET XCL_MAEX OF OFOL_CLI:aDialogs[2] PICT "@K!"
@ 4.2, 1 SAY OemToAnsi("Tipo Sociedade") OF OFOL_CLI:aDialogs[2] SIZE 100,07
@ 3.8 ,13 COMBOBOX OCL_ESTC VAR XCL_ESTC ITEMS {"Individual","S/A", "S/C",;
"Ltda", "Outro"} OF OFOL_CLI:aDialogs[2] SIZE 80,50
* @ 2.2, 10 SAY "Cargo: " OF OFOL_CLI:aDialogs[2]
* @ 2.2, 13 GET XCL_CARG OF OFOL_CLI:aDialogs[2]
@ 5.2, 1 SAY OemToAnsi("Faturamento M‚dio: ") OF OFOL_CLI:aDialogs[2]
@ 5.2, 13 GET XCL_SALA OF OFOL_CLI:aDialogs[2] PICTURE "9999999.99"
@ 6.2, 1 SAY OemToAnsi("Pr‚dio Pr¢prio: ") OF OFOL_CLI:aDialogs[2]
@ 6.2, 13 GET XCL_IMOV OF OFOL_CLI:aDialogs[2]
@ 7.2, 1 SAY OemToansi("H quanto tempo no local: ") OF OFOL_CLI:aDialogs[2]
@ 7.2, 13 GET XCL_TSER OF OFOL_CLI:aDialogs[2]
* @ 9.2, 1 SAY OemToAnsi("Servi‡o Prote‡Æo: ") OF OFOL_CLI:aDialogs[2]
* @ 9.2, 9 GET XCL_SPCX OF OFOL_CLI:aDialogs[2]
ENDIF
* ===== Referencia
IF PESSOA = 1
@ 0.2,0.3 TO 2.8,42 LABEL "Pessoal" OF OFOL_CLI:aDialogs[3]
@ 0.8, 1 SAY OemToAnsi("Nome: ") OF OFOL_CLI:aDialogs[3]
@ 0.8, 7 GET XCL_PES1 OF OFOL_CLI:aDialogs[3] PICT "@K!"
@ 0.8, 20 SAY "Tel:" OF OFOL_CLI:aDialogs[3]
@ 0.8, 25 GET XCL_FPE1 OF OFOL_CLI:aDialogs[3] PICTURE "@R (999)9999-9999"
@ 1.8, 1 SAY OemToAnsi("Nome: ") OF OFOL_CLI:aDialogs[3]
@ 1.8, 7 GET XCL_PES2 OF OFOL_CLI:aDialogs[3] PICT "@K!"
@ 1.8, 20 SAY "Tel:" OF OFOL_CLI:aDialogs[3]
@ 1.8, 25 GET XCL_FPE2 OF OFOL_CLI:aDialogs[3] PICTURE "@R (999)9999-9999"
ENDIF
@ 3,0.3 TO 5.8,42 LABEL OemToAnsi("Banc ria") OF OFOL_CLI:aDialogs[3]
@ 3.8, 1 SAY "Banco: " OF OFOL_CLI:aDialogs[3]
@ 3.8, 7 GET XCL_BCO1 OF OFOL_CLI:aDialogs[3] PICT "@K"
@ 3.8, 20 SAY "Ag-Conta: " OF OFOL_CLI:aDialogs[3]
@ 3.8, 25 GET XCL_CTA1 OF OFOL_CLI:aDialogs[3] PICTURE "@R 9999-9999999-99"
@ 4.8, 1 SAY "Banco:" OF OFOL_CLI:aDialogs[3]
@ 4.8, 7 GET XCL_BCO2 OF OFOL_CLI:aDialogs[3]
@ 4.8, 20 SAY "Ag-Conta: " OF OFOL_CLI:aDialogs[3]
@ 4.8, 25 GET XCL_CTA2 OF OFOL_CLI:aDialogs[3] PICTURE "@R 9999-9999999-99"
IF PESSOA = 1
@ 6,0.3 TO 9,42 LABEL OemToAnsi("Credi rio") OF OFOL_CLI:aDialogs[3]
ELSE
@ 6,0.3 TO 9,42 LABEL OemToAnsi("Comercial") OF OFOL_CLI:aDialogs[3]
ENDIF
@ 7.2, 1 SAY "Loja/Empresa: " OF OFOL_CLI:aDialogs[3]
@ 7.2, 7 GET XCL_EMP1 OF OFOL_CLI:aDialogs[3] PICT "@K"
@ 7.2, 20 SAY "Tel: " OF OFOL_CLI:aDialogs[3]
@ 7.2, 25 GET XCL_FEP1 OF OFOL_CLI:aDialogs[3] PICTURE "@R (999)9999-9999"
@ 8.2, 1 SAY "Loja/Empresa:" OF OFOL_CLI:aDialogs[3]
@ 8.2, 7 GET XCL_EMP2 OF OFOL_CLI:aDialogs[3]
@ 8.2, 20 SAY "Tel: " OF OFOL_CLI:aDialogs[3]
@ 8.2, 25 GET XCL_FEP2 OF OFOL_CLI:aDialogs[3] PICTURE "@R (999)9999-9999"
* ===== Entrega
@ 2.2, 1 SAY OemToAnsi("Endere‡o: ") OF OFOL_CLI:aDialogs[4]
@ 2.2, 7 GET XCL_ENDE2 OF OFOL_CLI:aDialogs[4] PICT "@K!"
@ 3.2, 1 SAY "Bairro:" OF OFOL_CLI:aDialogs[4]
@ 3.2, 7 GET XCL_BAIR2 OF OFOL_CLI:aDialogs[4] PICT "@K!"
@ 4.2, 1 SAY "Cidade: " OF OFOL_CLI:aDialogs[4]
@ 4.2, 7 GET XCL_CIDA2 OF OFOL_CLI:aDialogs[4] PICT "@K"
@ 4.2, 20 SAY "UF: " OF OFOL_CLI:aDialogs[4]
@ 4.2, 25 GET XCL_ESTA2 OF OFOL_CLI:aDialogs[4] SIZE 20,12
@ 5.2, 1 SAY "CEP:" OF OFOL_CLI:aDialogs[4]
@ 5.2, 7 GET XCL_CEPX2 OF OFOL_CLI:aDialogs[4]
* ===== Cobranca
@ 2.2, 1 SAY OemToAnsi("Endere‡o: ") OF OFOL_CLI:aDialogs[5]
@ 2.2, 7 GET XCL_ENDE3 OF OFOL_CLI:aDialogs[5] PICT "@K!"
@ 3.2, 1 SAY "Bairro:" OF OFOL_CLI:aDialogs[5]
@ 3.2, 7 GET XCL_BAIR3 OF OFOL_CLI:aDialogs[5] PICT "@K!"
@ 4.2, 1 SAY "Cidade: " OF OFOL_CLI:aDialogs[5]
@ 4.2, 7 GET XCL_CIDA3 OF OFOL_CLI:aDialogs[5] PICT "@K"
@ 4.2, 20 SAY "UF: " OF OFOL_CLI:aDialogs[5]
@ 4.2, 25 GET XCL_ESTA3 OF OFOL_CLI:aDialogs[5] SIZE 20,12
@ 5.2, 1 SAY "CEP:" OF OFOL_CLI:aDialogs[5]
@ 5.2, 7 GET XCL_CEPX3 OF OFOL_CLI:aDialogs[5]
* @ 155, 60 BTNBMP FILE "OK.BMP" OF PROC_01 SIZE 55,18 ADJUST;
@ 14,10 BUTTON "&Gravar" OF PROC_01 SIZE 60,16;
ACTION (GRAVA_CL(;
XCL_CODI, XCL_CADA, XCL_NOME, XCL_ENDE, XCL_BAIR,;
XCL_CIDA, XCL_ESTA, XCL_CEPX, XCL_FONE, XCL_FANT, XCL_EMAI,;
XCL_FAXX, XCL_CGCX, XCL_INSC, XCL_TRAB, XCL_TFON, XCL_TEND,;
XCL_TSER, XCL_CARG, XCL_SALA, XCL_PES1, XCL_FPE1, XCL_PES2,;
XCL_ESTC, XCL_CONJ, XCL_PAIX, XCL_MAEX, XCL_SPCX,;
XCL_IMOV, XCL_ITIP, XCL_ILOC,;
XCL_AUTO, XCL_AMAR, XCL_PLAC,;
XCL_FPE2, XCL_BCO1, XCL_CTA1, XCL_BCO2, XCL_CTA2, XCL_EMP1,;
XCL_FEP1, XCL_EMP2, XCL_FEP2, XCL_ENDE2, XCL_BAIR2, XCL_CIDA2,;
XCL_ESTA2, XCL_CEPX2, XCL_FONE2, XCL_ENDE3, XCL_BAIR3,;
XCL_CIDA3, XCL_ESTA3, XCL_CEPX3, XCL_FONE3, PESSOA,;
XCL_VENDE2, MODIFY),PROC_01:End())
* @ 155, 180 BTNBMP FILE "Cancelar.BMP" OF PROC_01 SIZE 55,18 ADJUST;
@ 14,20 BUTTON "&Cancelar" OF PROC_01 SIZE 60,16;
ACTION PROC_01:end()
ACTIVATE DIALOG PROC_01
OFOL_CLI:End()
RETURN( NIL )
* ----------------- Funcao para alterar dados do aluno ------------------- *
FUNCTION GRAVA_CL
PARAMETERS;
XCL_CODI, XCL_CADA, XCL_NOME, XCL_ENDE, XCL_BAIR,;
XCL_CIDA, XCL_ESTA, XCL_CEPX, XCL_FONE, XCL_FANT, XCL_EMAI,;
XCL_FAXX, XCL_CGCX, XCL_INSC, XCL_TRAB, XCL_TFON, XCL_TEND,;
XCL_TSER, XCL_CARG, XCL_SALA, XCL_PES1, XCL_FPE1, XCL_PES2,;
XCL_ESTC, XCL_CONJ, XCL_PAIX, XCL_MAEX, XCL_SPCX,;
XCL_IMOV, XCL_ITIP, XCL_ILOC,;
XCL_AUTO, XCL_AMAR, XCL_PLAC,;
XCL_FPE2, XCL_BCO1, XCL_CTA1, XCL_BCO2, XCL_CTA2, XCL_EMP1,;
XCL_FEP1, XCL_EMP2, XCL_FEP2, XCL_ENDE2, XCL_BAIR2, XCL_CIDA2,;
XCL_ESTA2, XCL_CEPX2, XCL_FONE2, XCL_ENDE3, XCL_BAIR3,;
XCL_CIDA3, XCL_ESTA3, XCL_CEPX3, XCL_FONE3, PESSOA, XCL_VENDE2, MODIFY
xcl_vende:=val(substr(xcl_vende2,1,5))
IF PESSOA=1
XCL_PESS:="F¡sica"
ELSE
XCL_PESS:="Jur¡dica"
ENDIF
IF !MODIFY
CL->(DBGOBOTTOM())
CL->(OrdSetFocus(1))
CL->(dbseek(XCL_CODI))
IF FOUND()
ENDIF
CL->(OrdSetFocus(2))
CL->(DBAPPEND())
IF CL->(RLOCK())
CL->CL_CODI:= XCL_CODI
CL->CL_PESS:= XCL_PESS
CL->CL_CADA:= XCL_CADA
CL->CL_NOME:= XCL_NOME
CL->CL_FANT:= XCL_FANT
CL->CL_ENDE:= XCL_ENDE
CL->CL_BAIR:= XCL_BAIR
CL->CL_CIDA:= XCL_CIDA
CL->CL_ESTA:= XCL_ESTA
CL->CL_CEPX:= XCL_CEPX
CL->CL_FONE:= XCL_FONE
CL->CL_FAXX:= XCL_FAXX
CL->CL_CGCX:= XCL_CGCX
CL->CL_INSC:= XCL_INSC
CL->CL_EMAI:= XCL_EMAI
CL->CL_TRAB:= XCL_TRAB
CL->CL_TFON:= XCL_TFON
CL->CL_TEND:= XCL_TEND
CL->CL_TSER:= XCL_TSER
CL->CL_CARG:= XCL_CARG
CL->CL_SALA:= XCL_SALA
CL->CL_ESTC:= XCL_ESTC
CL->CL_CONJ:= XCL_CONJ
CL->CL_PAIX:= XCL_PAIX
CL->CL_MAEX:= XCL_MAEX
CL->CL_SPCX:= XCL_SPCX
CL->CL_IMOV:= XCL_IMOV
CL->CL_ITIP:= XCL_ILOC
CL->CL_AUTO:= XCL_AUTO
CL->CL_AMAR:= XCL_AMAR
CL->CL_PLAC:= XCL_PLAC
CL->CL_PES1:= XCL_PES1
CL->CL_FPE1:= XCL_FPE1
CL->CL_PES1:= XCL_PES1
CL->CL_FPE2:= XCL_FPE2
CL->CL_BCO1:= XCL_BCO1
CL->CL_CTA1:= XCL_CTA1
CL->CL_BCO2:= XCL_BCO2
CL->CL_CTA2:= XCL_CTA2
CL->CL_EMP1:= XCL_EMP1
CL->CL_FEP1:= XCL_FEP1
CL->CL_EMP2:= XCL_EMP2
CL->CL_FEP2:= XCL_FEP2
CL->CL_ENDE2:= XCL_ENDE2
CL->CL_BAIR2:= XCL_BAIR2
CL->CL_CIDA2:= XCL_CIDA2
CL->CL_ESTA2:= XCL_ESTA2
CL->CL_CEPX2:= XCL_CEPX2
CL->CL_FONE2:= XCL_FONE2
CL->CL_ENDE3:= XCL_ENDE3
CL->CL_BAIR3:= XCL_BAIR3
CL->CL_CIDA3:= XCL_CIDA3
CL->CL_ESTA3:= XCL_ESTA3
CL->CL_CEPX3:= XCL_CEPX3
CL->CL_FONE3:= XCL_FONE3
CL->CL_VENDE:= XCL_VENDE
CL->(dbunlock())
ELSE
MsgInfo("Erro na Gravacao do Registro!", " ")
ENDIF
ELSE
IF CL->(fLOCK())
CL->CL_CODI:= XCL_CODI
CL->CL_PESS:= XCL_PESS
CL->CL_CADA:= XCL_CADA
CL->CL_NOME:= XCL_NOME
CL->CL_FANT:= XCL_FANT
CL->CL_ENDE:= XCL_ENDE
CL->CL_BAIR:= XCL_BAIR
CL->CL_CIDA:= XCL_CIDA
CL->CL_ESTA:= XCL_ESTA
CL->CL_CEPX:= XCL_CEPX
CL->CL_FONE:= XCL_FONE
CL->CL_FAXX:= XCL_FAXX
CL->CL_CGCX:= XCL_CGCX
CL->CL_INSC:= XCL_INSC
CL->CL_EMAI:= XCL_EMAI
CL->CL_TRAB:= XCL_TRAB
CL->CL_TFON:= XCL_TFON
CL->CL_TEND:= XCL_TEND
CL->CL_TSER:= XCL_TSER
CL->CL_CARG:= XCL_CARG
CL->CL_SALA:= XCL_SALA
CL->CL_ESTC:= XCL_ESTC
CL->CL_CONJ:= XCL_CONJ
CL->CL_PAIX:= XCL_PAIX
CL->CL_MAEX:= XCL_MAEX
CL->CL_SPCX:= XCL_SPCX
CL->CL_IMOV:= XCL_IMOV
CL->CL_ITIP:= XCL_ILOC
CL->CL_AUTO:= XCL_AUTO
CL->CL_AMAR:= XCL_AMAR
CL->CL_PLAC:= XCL_PLAC
CL->CL_PES1:= XCL_PES1
CL->CL_FPE1:= XCL_FPE1
CL->CL_PES1:= XCL_PES1
CL->CL_FPE2:= XCL_FPE2
CL->CL_BCO1:= XCL_BCO1
CL->CL_CTA1:= XCL_CTA1
CL->CL_BCO2:= XCL_BCO2
CL->CL_CTA2:= XCL_CTA2
CL->CL_EMP1:= XCL_EMP1
CL->CL_FEP1:= XCL_FEP1
CL->CL_EMP2:= XCL_EMP2
CL->CL_FEP2:= XCL_FEP2
CL->CL_ENDE2:= XCL_ENDE2
CL->CL_BAIR2:= XCL_BAIR2
CL->CL_CIDA2:= XCL_CIDA2
CL->CL_ESTA2:= XCL_ESTA2
CL->CL_CEPX2:= XCL_CEPX2
CL->CL_FONE2:= XCL_FONE2
CL->CL_ENDE3:= XCL_ENDE3
CL->CL_BAIR3:= XCL_BAIR3
CL->CL_CIDA3:= XCL_CIDA3
CL->CL_ESTA3:= XCL_ESTA3
CL->CL_CEPX3:= XCL_CEPX3
CL->CL_FONE3:= XCL_FONE3
CL->CL_VENDE:= XCL_VENDE
CL->(dbunlock())
ELSE
MsgInfo("Nao foi possivel alterar os dados!", "Erro na alteracao")
ENDIF
ENDIF
* olbx:refresh()
set order to 2
RETURN( NIL )
* ----------------- Modulo de exclusao -------------------------------- *
FUNCTION DEL_CLI
IF !CL->(deleted())
IF MsgYesNo(OemToAnsi("Confirma ExclusÆo?"), TITULO)
IF CL->(rlock())
CL->(dbdelete())
CL->(dbunlock())
ENDIF
ENDIF
ELSE
IF MsgYesNo("Restaura o Registro?", TITULO)
IF CL->(rlock())
CL->(dbrecall())
CL->(dbunlock())
ENDIF
ENDIF
ENDIF
* OLBX:UPSTABLE()
* olbx:REFRESH()
SET ORDER TO 2
RETURN( NIL )
* -----------
FUNCTION ULTCLI(NUMX)
LOCAL ULTX
CL->(OrdSetFocus(1))
CL->(DBGoTop())
Seek NUMX
IF FOUND()
MSGINFO(oemToAnsi("J existe um Cliente com este c¢digo. Tente com outro."),TITULO)
CL->(OrdSetFocus(2))
RETURN (.F.)
ENDIF
RETURN (.T.)
* ===========================
FUNCTION MostraCliente(oDlg)
local RESTOX
CONT:=CONT+1
RESTOX:=5-LEN(ALLTRIM(STR(CL->CL_CODI)))
VBMP:="CL"+REPLI("0",RESTOX)+ALLTRIM(STR(CL->CL_CODI))+"APS.BMP"
IF FILE(VBMP)
OBMP:LoadBmp(VBMP)
ELSE
OBMP:LoadBmp("aps.BMP")
ENDIF
IF CONT=1
* @ 0.5,55 TO 16,85 LABEL "Cliente"
* @ 5,65 BITMAP OBMP FILE "APS.BMP" OF ODLG SIZE 70,98 ADJUST
ELSE
OBMP:Refresh()
ENDIF
@ 2,65 SAY OemToAnsi("C¢digo:")+ALLTRIM(STR(CL->CL_CODI)) OF ODLG FONT OFONT SIZE 120,10
@ 3,65 SAY "Nome: "+UPPER(SUBSTR(CL->CL_NOME,1,25)) OF ODLG FONT OFONT SIZE 200,10
@ 4,65 SAY "Pessoa:"+OemToAnsi(CL->CL_PESS) OF ODLG FONT OFONT SIZE 200,10 COLOR CLR_RED
@ 5,65 SAY OemToAnsi("Serv.Prote‡Æo:")+CL->CL_SPCX OF ODLG FONT OFONT SIZE 200,10
*@ 5,65 BITMAP OBMP FILE "APS.BMP" OF ODLG SIZE 55,55 ADJUST
*@ 16,65 SAY DTOC(CL->CL_ULTV) OF ODLG FONT OFONT SIZE 150,10
@ 17,65 SAY OemToAnsi("éltima Compra:") OF ODLG FONT OFONT SIZE 95,10
@ 17,85 SAY DTOC(CL->CL_ULTC) OF ODLG FONT OFONT SIZE 70,10
return NIL
*===========================
FUNCTION CONS_CLI()
PUBLIC CGCPrimeiraV:=1
IF CL_PESS="F¡sica"
PESSOA:=1
Msginfo("Este Cliente e pessoa fisica. nao posso consultar CGC.",TITULO)
RETURN (.T.)
ELSE
PESSOA:=2
XCGCX:=SPAC(22)
ENDIF
DEFINE DIALOG PROC_01 FROM 5,10 TO 14, 70 TITLE OemToansi("Consulta clientes")
@ 1, 1 SAY OemToAnsi("C.G.C.: ") OF PROC_01
@ 1, 9 GET XCGCX OF PROC_01 VALID ConfCGC(XCGCX)
@ 3, 04 BUTTON "&OK" OF PROC_01 SIZE 45,12;
ACTION (Continuar:=.T.,PROC_01:End())
@ 3, 14 BUTTON "&Cancelar" OF PROC_01 SIZE 45,12 ;
ACTION (Continuar:=.F.,PROC_01:end())
ACTIVATE DIALOG PROC_01 CENTERED
IF !EMPTY(XCGCX)
SET ORDER TO 4
SEEK XCGCX
IF !FOUND()
Msginfo("Cliente nao cadastrado.",TITULO)
SET ORDER TO 2
RETURN (.T.)
ELSE
IF MsgYesNo(OemToAnsi("Este cliente ja possui cadastrado, deseja consultar?"), TITULO)
INS_CLI(.T.)
SET ORDER TO 2
ENDIF
ENDIF
ENDIF
RETURN NIL
Agnaldo
FHW 7.10 + xHarbour 99.70 + Workshop