* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +-------------------------------------------------------------+ * * | SISTEMA INTEGRADO DE INFORMA€åES | * * | | * * | Programa .....: TSUFORN.PRG | * * | Descri‡Æo ....: Fornecedores | * * | Data Inicial .: / / | * * | Data RevisÆo .: / / | * * | Programador ..: Paulo Roberto dos Santos | * * | Cliente ......: | * * | | * * +-------------------------------------------------------------+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #Include "Inkey.Ch" Private XREG_ANT Private XMAT_FOR, XNOM_FOR, XFAN_FOR, XCAD_FOR, XCOD_PES, XCOD_PER, XCTT_FOR,; XEND_FOR, XBAI_FOR, XCID_FOR, XCOD_EST, XCEP_FOR, XCMP_FOR, XDDG_FOR,; XTL1_FOR, XCOD_TP1, XRA1_FOR, XTL2_FOR, XCOD_TP2, XRA2_FOR, XFAX_FOR,; XEMA_FOR, XNAS_FOR, XIDE_FOR, XORG_FOR, XEMI_FOR, XCPF_FOR, XFUN_FOR,; XCGC_FOR, XIES_FOR, XIMU_FOR, XNUM_BN1, XAG1_FOR, XCN1_FOR, XNUM_BN2,; XAG2_FOR, XCN2_FOR, XOBS_FOR Private XSIM_NAO, XABR_ARQ, XCTD_LIN #Define XSET_MEN Chr(16) If ABR_ARQ("TSUPESS","PESSOA",{"TSUPES1","TSUPES2"}, .t., .f.) .and.; ABR_ARQ("TSUPERF","PERFIL",{"TSUPER1","TSUPER2"}, .t., .f.) .and.; ABR_ARQ("TSUTPTE","TIPOTE",{"TSUTPT1","TSUTPT2"}, .t., .f.) .and.; ABR_ARQ("TSUESTA","ESTADO",{"TSUEST1","TSUEST2"}, .t., .f.) .and.; ABR_ARQ("TSUBANC","BANCOS",{"TSUBAN1","TSUBAN2"}, .t., .f.) .and.; ABR_ARQ("TSUFORN","FORNEC",{"TSUFOR1","TSUFOR2","TSUFOR3","TSUFOR4"}, .t., .f.) Set Relation To Str(COD_PES,1) Into PESSOA,; To Str(COD_PER,1) Into PERFIL,; To Str(COD_TP1,1) Into TIPOTE,; To COD_EST Into ESTADO,; To Str(NUM_BN1,3) Into BANCOS EndIf While .t. DbSelectArea("FORNEC") DbSetOrder(2) DbGoTop() SetKey(10, {|XNOM_PRG, XNUM_LIN, XGET_PEN| CONSULT(XNOM_PRG, XNUM_LIN, XGET_PEN)}) FNC_TBR("-Insere / -Altera / -Deleta / -Consulta / -Relat¢rios",; 03, 00, MaxRow() - 2, 79, "FORNECEDORES",; {; {{" Matr¡cula e Nome Nome Fantasia ",; {|| StrZero(MAT_FOR,4) + " - " + Left(NOM_FOR,48) + Space(01) + FAN_FOR}}}; },; "MST_FOR", , , ,; "BG+/B", "GR+/B", "BG+/B, N/BG, , , B/W") SetKey(10, {|| Nil}) DbCloseAll() @ 03, 00, MaxRow() - 2, MaxCol() Box XBOR_BX2 Color "B/W" XOPC_MEN := 0 Return End *---------------------* Procedure MST_FOR() *---------------------* If XTEC_PRE == K_INS .or. XTEC_PRE == K_ENTER .or.; XTEC_PRE == K_F2 .or. XTEC_PRE == K_DEL .or.; XTEC_PRE == K_F3 .or. XTEC_PRE == K_ALT_P If XTEC_PRE == K_ALT_P XOPC_MEN := 0 While XOPC_MEN == 0 FAZ_BOX("Menu de Procura", "RG+/B", {"Matr¡cula",; "RazÆo Social",; "Nome Fantasia",; "Estado",; "Retorno"},; {"",; "",; "",; "",; ""}, ) @ MaxRow(), 00 Clear To MaxRow(), 79 SetCursor(1) XCOR_ANT := SetColor() SetColor("W+/B, N/BG, , , W+/B") Do Case Case XOPC_MEN == 01 XMAT_FOR := 0 @ MaxRow(), 20 Say "Forne‡a a matr¡cula do fornecedor :" Get XMAT_FOR Pict "9999" Read DbSetOrder(1) DbSeek(Str(XMAT_FOR,4), .t.) Case XOPC_MEN == 02 XRAZ_FOR := Space(20) @ MaxRow(), 11 Say "Forne‡a a razÆo social do forncedor :" Get XRAZ_FOR Pict "@!" Read DbSetOrder(2) DbSeek(XRAZ_FOR, .t.) Case XOPC_MEN == 03 XFAN_FOR := Space(20) @ MaxRow(), 10 Say "Forne‡a o nome fantasia do fornecedor :" Get XFAN_FOR Pict "@!" Read DbSetOrder(3) DbSeek(XFAN_FOR, .t.) Case XOPC_MEN == 04 XCOD_EST := Space(02) @ MaxRow(), 18 Say "Forne‡a a sigla do estado do fornecedor :" Get XCOD_EST Pict "@!" Valid COD_EST(@XCOD_EST, .t.) Read DbSetOrder(5) DbSeek(XCOD_EST, .t.) Case XOPC_MEN == 05 .or. LastKey() == K_ESC Exit EndCase SetColor(XCOR_ANT) SetCursor(0) @ MaxRow(), 00 Clear To MaxRow(), 79 End If Eof() XOBJ_TBR : GoBottom() End XOBJ_TBR : RefreshCurrent() XTEC_PRE := 0 Return EndIf If ACESSO(XSEN_USU, Left(Alias(),3) + StrZero(XTEC_PRE,2)) Do Case Case XTEC_PRE == K_INS .or. XTEC_PRE == K_ENTER INC_ALT() Case XTEC_PRE == K_F2 .or. XTEC_PRE == K_DEL CON_DEL() Case XTEC_PRE == K_F3 MEN_REL() EndCase Else XTEC_PRE := 0 EndIf EndIf *----------------------------* Static Procedure TEL_FOR() *----------------------------* SetColor("GR+/B, , , , ") // 1 2 3 4 5 6 7 // 01234567890123456789012345678901234567890123456789012345678901234567890123456789 @ 05,00 Say "ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´" @ 06,00 Say "³Matr¡cula e Nome : - ³" @ 07,00 Say "³Nome fantasia : Data do cadastramento : -( )³" @ 08,00 Say "³Pessoa : -( ) Perfil : -( ) Contato : ³" @ 09,00 Say "ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´" @ 10,00 Say "³ ³" @ 11,00 Say "³ ³" @ 12,00 Say "³ ³" @ 13,00 Say "ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´" @ 14,00 Say "³ ³" @ 15,00 Say "³ ³" @ 16,00 Say "³ ³" @ 17,00 Say "³ ³" @ 18,00 Say "³ ³" @ 19,00 Say "³ ³" @ 20,00 Say "ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´" @ 21,00 Say "³ ³" @ 22,00 Say "³ ³" @ 23,00 Say "³ ³" @ 24,00 Say "³ ³" @ 25,00 Say "ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ" *-------------------------------* Static Procedure TEL_FOR_FI() *-------------------------------* SetColor("GR+/B, , , , ") @ 10,01 Say "Endere‡o : Bairro : " @ 11,01 Say "Cidade : UF : -( ) Cep : " @ 12,01 Say "Complemento : " @ 13,01 Say "ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ" @ 14,01 Say "1§ Telefone : ( ) - Tipo : -( ) Ramal : " @ 15,01 Say "2§ Telefone : ( ) - Tipo : -( ) Ramal : " @ 16,01 Say "Fax : ( ) - " @ 17,01 Say "e-Mail : DDG : " @ 18,01 Say "Data de Nascimento : -( ) - ( ) " @ 19,01 Say "Ident./Org. Exp./Emis. : / / CPF : " @ 20,01 Say "ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ" @ 21,01 Say "1§ Banco : -( ) ³2§ Banco : -( ) " @ 22,01 Say "Agˆncia : N§ Conta : ³Agˆncia : N§ Conta : " @ 23,01 Say " " @ 24,01 Say " " *-------------------------------* Static Procedure TEL_FOR_JU() *-------------------------------* SetColor("GR+/B, , , , ") @ 10,01 Say "Endere‡o : Bairro : " @ 11,01 Say "Cidade : UF : -( ) Cep : " @ 12,01 Say "Complemento : " @ 13,01 Say "ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ" @ 14,01 Say "1§ Telefone : ( ) - Tipo : -( ) Ramal : " @ 15,01 Say "2§ Telefone : ( ) - Tipo : -( ) Ramal : " @ 16,01 Say "Fax : ( ) - " @ 17,01 Say "e-Mail : DDG : " @ 18,01 Say "Data da Funda‡Æo : -( ) - ( ) C.G.C. : " @ 19,01 Say "Inscr. Estadual : Inscr. Municipal : " @ 20,01 Say "ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ" @ 21,01 Say "1§ Banco : -( ) ³2§ Banco : -( ) " @ 22,01 Say "Agˆncia : N§ Conta : ³Agˆncia : N§ Conta : " @ 23,01 Say " " @ 24,01 Say " " *----------------------------* Static Procedure INC_ALT() *----------------------------* Local XSLV_TEL := SaveScreen(03, 00, 25, 79) MON_TEL(03, 00, 25, 79, "FORNECEDORES " + If(XTEC_PRE == K_INS, "( InclusÆo )", "( Altera‡Æo )")) SetCursor(1) XSIM_NAO := "S" While .t. TEL_FOR() SetColor(" , N/BG, , , W+/B") If XTEC_PRE == K_INS If XSIM_NAO == "S" STO_CMP(01, 38) EndIf Else SAY_FOR() If XSIM_NAO == "S" STO_CMP(02, 38) EndIf EndIf While .t. MENSAG("Informe o nome do Fornecedor.") @ 06,27 Get XNOM_FOR Pict "@!" Valid !Empty(XNOM_FOR) Read If LastKey() == K_ESC Exit EndIf If XTEC_PRE == K_INS .or. (XTEC_PRE == K_ENTER .and. XNOM_FOR # NOM_FOR) XREG_ANT := RecNo() DbSetOrder(2) DbSeek(XNOM_FOR) If Found() MENSAG("Fornecedor j  cadastrado com esta RazÆo Social ! Tecle para redigitar.") While Inkey() # 32 Tone(300,8) End Else DbGoTo(XREG_ANT) Exit EndIf Else Exit EndIf End If LastKey() == K_ESC Exit EndIf While .t. MENSAG("Informe o nome fantasia do Fornecedor.") @ 07,17 Get XFAN_FOR Pict "@!" Valid !Empty(XFAN_FOR) Read If LastKey() == K_ESC Exit EndIf If XTEC_PRE == K_INS .or. (XTEC_PRE == K_ENTER .and. XFAN_FOR # FAN_FOR) XREG_ANT := RecNo() DbSetOrder(3) DbSeek(XFAN_FOR) DbSetOrder(2) If Found() MENSAG("Fornecedor j  cadastrado com este Nome Fantasia ! Tecle para redigitar.") While Inkey() # 32 Tone(300,8) End Else DbGoTo(XREG_ANT) Exit EndIf Else Exit EndIf End If LastKey() == K_ESC Exit EndIf If XTEC_PRE == K_INS XCAD_FOR := XDAT_PRO EndIf @ 07,65 Say XCAD_FOR Color "W+/B" @ 07,75 Say Left(DIASEM(XCAD_FOR),3) Color "W+/B" MENSAG("Informe a pessoa do Fornecedor. / + -Para Ajuda") @ 08,10 Get XCOD_PES Pict "9" Valid COD_PES(@XCOD_PES, .t.) Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe o perfil do Fornecedor. / + -Para Ajuda") @ 08,33 Get XCOD_PER Pict "9" Valid COD_PER(@XCOD_PER, .t.) Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe o nome da pessoa de contato.") @ 08,59 Get XCTT_FOR Pict "@X" Read If LastKey() == K_ESC Exit EndIf If XTEC_PRE == K_INS If XCOD_PES == 1 TEL_FOR_FI() Else TEL_FOR_JU() EndIf Else If XCOD_PES == 1 TEL_FOR_FI() If COD_PES # XCOD_PES STO_CMP(23, 27) EndIf Else TEL_FOR_JU() If COD_PES # XCOD_PES STO_CMP(28, 31) EndIf EndIf EndIf MENSAG("Informe o endere‡o.") @ 10,12 Get XEND_FOR Pict "@X" Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe o bairro.") @ 10,64 Get XBAI_FOR Pict "@X" Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe a cidade.") @ 11,10 Get XCID_FOR Pict "@X" Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe a unidade federativa do estado do endere‡o. / + -Para Ajuda") @ 11,35 Get XCOD_EST Pict "@!" Valid Empty(XCOD_EST) .or. COD_EST(@XCOD_EST, .t.) Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe o CEP (C¢digo de Endere‡amento Postal) do endere‡o.") @ 11,70 Get XCEP_FOR Pict "@R 99999-999" Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe o complemento do endere‡o.") @ 12,15 Get XCMP_FOR Pict "@X" Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe n£mero do 1§ telefone.") @ 14,15 Get XTL1_FOR Pict "@R (!999) !!99-9999" Read If LastKey() == K_ESC Exit EndIf If !Empty(XTL1_FOR) MENSAG("Informe tipo do 1§ telefone. / + -Para Ajuda") @ 14,44 Get XCOD_TP1 Pict "9" Valid COD_TPT(@XCOD_TP1, .t.) Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe o ramal do 1§ telefone.") @ 14,75 Get XRA1_FOR Pict "9999" Read If LastKey() == K_ESC Exit EndIf EndIf MENSAG("Informe n£mero do 2§ telefone.") @ 15,15 Get XTL2_FOR Pict "@R (!999) !!99-9999" Read If LastKey() == K_ESC Exit EndIf If !Empty(XTL2_FOR) MENSAG("Informe tipo do 2§ telefone. / + -Para Ajuda") @ 15,44 Get XCOD_TP2 Pict "9" Valid COD_TPT(@XCOD_TP2, .t.) Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe o ramal do 2§ telefone.") @ 15,75 Get XRA2_FOR Pict "9999" Read If LastKey() == K_ESC Exit EndIf EndIf MENSAG("Informe n£mero do fax.") @ 16,07 Get XFAX_FOR Pict "@R (!999) !!99-9999" Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe o endere‡o eletr“nico.") @ 17,10 Get XEMA_FOR Pict "@X" Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe o n£mero do DDG.") @ 17,68 Get XDDG_FOR Pict "@R 9999-999999" Read If LastKey() == K_ESC Exit EndIf If XCOD_PES == 1 MENSAG("Informe a data de nascimento do Fornecedor.") @ 18,22 Get XNAS_FOR Pict "99/99/99" //Valid !Empty(XNAS_FOR) Read If LastKey() == K_ESC Exit EndIf @ 18,32 Say Left(DIASEM(XNAS_FOR),3) Color "W+/B" If !Empty(XNAS_FOR) @ 18,40 Say IDADE(XNAS_FOR) Pict "@EZ 99.99" Color "W+/B" @ 18,46 Say Iif(IDADE(XNAS_FOR) <= 1, "Ano", "Anos") Color "W+/B" EndIf MENSAG("Informe o n£mero da identidade.") @ 19,26 Get XIDE_FOR Pict "@R 99.999.999-9" Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe o nome do OrgÆo Expedidor.") @ 19,41 Get XORG_FOR Pict "@X" Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe a data de emissÆo.") @ 19,49 Get XEMI_FOR Pict "99/99/99" Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe o n£mero do C.P.F.") @ 19,65 Get XCPF_FOR Pict "@R 999.999.999-99" Read If LastKey() == K_ESC Exit EndIf Else MENSAG("Informe a data de funda‡Æo do Fornecedor.") @ 18,20 Get XFUN_FOR Pict "99/99/99" //Valid !Empty(XFUN_FOR) Read If LastKey() == K_ESC Exit EndIf @ 18,30 Say Left(DIASEM(XFUN_FOR),3) Color "W+/B" If !Empty(XFUN_FOR) @ 18,38 Say IDADE(XFUN_FOR) Pict "@EZ 99.99" Color "W+/B" @ 18,44 Say Iif(IDADE(XFUN_FOR) <= 1, "Ano", "Anos") Color "W+/B" EndIf MENSAG("Informe n£mero do C.G.C.") @ 18,61 Get XCGC_FOR Pict "@R 99.999.999/9999-99" Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe n£mero da Inscri‡Æo Estadual.") @ 19,19 Get XIES_FOR Pict AllTrim(ESTADO->IES_EST) Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe n£mero da Inscri‡Æo Municipal.") @ 19,69 Get XIMU_FOR Pict "@R 99.999.999" Read If LastKey() == K_ESC Exit EndIf EndIf MENSAG("Informe o n£mero do banco para cobran‡a. / + -Para Ajuda") @ 21,12 Get XNUM_BN1 Pict "999" Valid NUM_BNC(@XNUM_BN1, .t., .t.) Read If LastKey() == K_ESC Exit EndIf @ 21,12 Say StrZero(XNUM_BN1,3) Color "W+/B" MENSAG("Informe o n£mero da agˆncia.") @ 22,11 Get XAG1_FOR Pict "9999" Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe o n£mero da conta.") @ 22,30 Get XCN1_FOR Pict "@!" Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe o n£mero do banco para cobran‡a. / + -Para Ajuda") @ 21,51 Get XNUM_BN2 Pict "999" Valid NUM_BNC(@XNUM_BN2, .t., .t.) Read If LastKey() == K_ESC Exit EndIf @ 21,51 Say StrZero(XNUM_BN2,3) Color "W+/B" MENSAG("Informe o n£mero da agˆncia.") @ 22,50 Get XAG2_FOR Pict "9999" Read If LastKey() == K_ESC Exit EndIf MENSAG("Informe o n£mero da conta.") @ 22,69 Get XCN2_FOR Pict "@!" Read If LastKey() == K_ESC Exit EndIf MON_TEL(12, 06, 24, 73, "Observa‡äes do fornecedor") MENSAG("-Grava observa‡äes") XCOR_ANT := SetColor() SetColor("N/BG, , , , ") XOBS_FOR := MemoEdit(XOBS_FOR, 15, 07, 23, 72, .t., "EDITMEMO", 66, .t.) SetColor(XCOR_ANT) If LastKey() == K_ESC Exit EndIf If XTEC_PRE == K_INS MENSAG("Confirma inclusÆo dos dados ?, Digite im ou Æo e tecle .") Else MENSAG("Confirma altera‡Æo dos dados ?, Digite im ou Æo e tecle .") EndIf XSIM_NAO := "S" @ MaxRow(), 79 Get XSIM_NAO Pict "@! A" Valid XSIM_NAO $("SN") Read If LastKey() == K_ESC Exit EndIf If XSIM_NAO == "S" If XTEC_PRE == K_INS DbSetOrder(1) Set Delete Off DbGoBottom() XMAT_FOR := MAT_FOR + 1 Set Delete On DbSetOrder(2) SetCursor(0) @ 06,20 Say StrZero(XMAT_FOR,4) Color "W+/B" Inkey(1) SetCursor(1) If ADI_REG() REP_CMP(01, 38) DbCommit() DbUnLock() EndIf Else If BLQ_REG() REP_CMP(02, 38) DbCommit() DbUnLock() EndIf EndIf Exit EndIf End RestScreen(03, 00, 25, 79, XSLV_TEL) SetCursor(0) *----------------------------* Static Procedure CON_DEL() *----------------------------* Local XSLV_TEL := SaveScreen(03, 00, 25, 79) MON_TEL(03, 00, 25, 79, "FORNECEDORES " + If(XTEC_PRE == K_F2, "( Consulta )", "( ExclusÆo )")) XSIM_NAO := "S" While .t. TEL_FOR() SetColor(" , N/BG, , , W+/B") If XTEC_PRE == K_F2 MENSAG("-Registro Anterior / -Pr¢ximo Registro / -Retorna") XTEC_PRE := 0 While XTEC_PRE # K_ESC SAY_FOR() XTEC_PRE := Inkey(0) Do Case Case XTEC_PRE == K_PGUP DbSkip(-1) If Bof() TIP_SOM(0) MENSAG("In¡cio do Arquivo !") Inkey(.5) MENSAG("-Registro Anterior / -Pr¢ximo Registro / -Retorna") EndIf Case XTEC_PRE == K_PGDN SAY_FOR2() Inkey(0) DbSkip(1) If Eof() DbSkip(-1) TIP_SOM(0) MENSAG("Fim do Arquivo !") Inkey(.5) MENSAG("-Registro Anterior / -Pr¢ximo Registro / -Retorna") EndIf EndCase End XTEC_PRE := 0 Else // ExclusÆo SAY_FOR() SetCursor(1) MENSAG("Confirma exclusÆo ?, Digite im ou Æo e tecle .") XSIM_NAO := "N" @ MaxRow(), 79 Get XSIM_NAO Pict "@! A" Valid XSIM_NAO $("SN") Read SetCursor(0) If LastKey() == K_ESC Exit EndIf If XSIM_NAO == "S" If BLQ_REG() DbDelete() DbUnLock() EndIf EndIf EndIf Exit End RestScreen(03, 00, 25, 79, XSLV_TEL) *----------------------------* Static Procedure SAY_FOR() *----------------------------* XCOR_ANT := SetColor() SeTColor("W+/B, , , , ") @ 06,20 Say StrZero(MAT_FOR,4) @ 06,27 Say NOM_FOR @ 07,17 Say FAN_FOR @ 07,65 Say CAD_FOR @ 07,75 Say Left(DIASEM(CAD_FOR),3) @ 08,10 Say COD_PES @ 08,13 Say PESSOA->DES_PES @ 08,33 Say COD_PER @ 08,36 Say PERFIL->DES_PER @ 08,59 Say CTT_FOR SetColor(XCOR_ANT) If COD_PES == 1 TEL_FOR_FI() Else TEL_FOR_JU() EndIf XCOR_ANT := SetColor() SeTColor("W+/B, , , , ") @ 10,12 Say END_FOR @ 10,64 Say BAI_FOR @ 11,10 Say CID_FOR @ 11,35 Say COD_EST @ 11,39 Say ESTADO->DES_EST @ 11,70 Say CEP_FOR Pict "@R 99999-999" @ 12,15 Say CMP_FOR @ 14,15 Say TL1_FOR Pict "@R (!999) !!99-9999" @ 14,44 Say Iif(!Empty(COD_TP1), COD_TP1, Space(01)) @ 14,47 Say TIPOTE->DES_TPT @ 14,75 Say Iif(!Empty(RA1_FOR), RA1_FOR, Space(04)) Set Relation To Str(COD_TP2,1) Into TIPOTE Additive @ 15,15 Say TL2_FOR Pict "@R (!999) !!99-9999" @ 15,44 Say Iif(!Empty(COD_TP2), COD_TP2, Space(01)) @ 15,47 Say TIPOTE->DES_TPT @ 15,75 Say Iif(!Empty(RA2_FOR), RA2_FOR, Space(04)) Set Relation To Str(COD_TP1,1) Into TIPOTE Additive @ 16,07 Say FAX_FOR Pict "@R (!999) !!99-9999" @ 17,10 Say EMA_FOR @ 17,68 Say DDG_FOR Pict "@R 9999-999999" If COD_PES == 1 @ 18,22 Say NAS_FOR If !Empty(NAS_FOR) @ 18,38 Say Left(DIASEM(NAS_FOR),3) @ 18,46 Say IDADE(NAS_FOR) Pict "@EZ 99.99" EndIf @ 19,26 Say IDE_FOR Pict "@R 99.999.999-9" @ 19,41 Say ORG_FOR @ 19,49 Say EMI_FOR @ 19,65 Say CPF_FOR Pict "@R 999.999.999-99" Else @ 18,20 Say FUN_FOR If !Empty(FUN_FOR) @ 18,36 Say Left(DIASEM(FUN_FOR),3) @ 18,44 Say IDADE(FUN_FOR) Pict "@EZ 99.99" EndIf @ 18,61 Say CGC_FOR Pict "@R 99.999.999/9999-99" @ 19,19 Say IES_FOR Pict AllTrim(ESTADO->IES_EST) @ 19,69 Say IMU_FOR Pict "@R 99.999.999" EndIf @ 21,12 Say Iif(!Empty(NUM_BN1), StrZero(NUM_BN1,3), Space(03)) @ 21,17 Say BANCOS->RES_BNC @ 22,11 Say Iif(!Empty(AG1_FOR), AG1_FOR, Space(05)) @ 22,30 Say CN1_FOR Set Relation To Str(NUM_BN2,3) Into BANCOS Additive @ 21,51 Say Iif(!Empty(NUM_BN2), StrZero(NUM_BN2,3), Space(03)) @ 21,56 Say BANCOS->RES_BNC @ 22,50 Say Iif(!Empty(AG2_FOR), AG2_FOR, Space(05)) @ 22,69 Say CN2_FOR Set Relation To Str(NUM_BN1,3) Into BANCOS Additive *-----------------------------* Static Procedure SAY_FOR2() *-----------------------------* MON_TEL(12, 06, 24, 73, "Observa‡äes do fornecedor") XCOR_ANT := SetColor() SetColor("N/BG, , , , ") @ 15,07 Say Iif(!Empty(MemoLine(OBS_FOR, 66, 01, , )), MemoLine(OBS_FOR, 66, 01, , ), Space(66)) @ 16,07 Say Iif(!Empty(MemoLine(OBS_FOR, 66, 02, , )), MemoLine(OBS_FOR, 66, 02, , ), Space(66)) @ 17,07 Say Iif(!Empty(MemoLine(OBS_FOR, 66, 03, , )), MemoLine(OBS_FOR, 66, 03, , ), Space(66)) @ 18,07 Say Iif(!Empty(MemoLine(OBS_FOR, 66, 04, , )), MemoLine(OBS_FOR, 66, 04, , ), Space(66)) @ 19,07 Say Iif(!Empty(MemoLine(OBS_FOR, 66, 05, , )), MemoLine(OBS_FOR, 66, 05, , ), Space(66)) @ 20,07 Say Iif(!Empty(MemoLine(OBS_FOR, 66, 06, , )), MemoLine(OBS_FOR, 66, 06, , ), Space(66)) @ 21,07 Say Iif(!Empty(MemoLine(OBS_FOR, 66, 07, , )), MemoLine(OBS_FOR, 66, 07, , ), Space(66)) @ 22,07 Say Iif(!Empty(MemoLine(OBS_FOR, 66, 08, , )), MemoLine(OBS_FOR, 66, 08, , ), Space(66)) @ 23,07 Say Iif(!Empty(MemoLine(OBS_FOR, 66, 09, , )), MemoLine(OBS_FOR, 66, 09, , ), Space(66)) SetColor(XCOR_ANT) *----------------------------* Static Procedure MEN_REL() *----------------------------* Local XSLV_TEL := SaveScreen(03, 00, MaxRow() - 2, MaxCol()) XOPC_MEN := 0 While XOPC_MEN == 0 @ 03, 00, MaxRow() - 2, MaxCol() Box XBOR_BX2 Color "B/W" SetColor("W+/B, B/W , , , ") FAZ_BOX("Relat¢rios (Fornecedores)", "RG+/B", {"Rela‡Æo de Fornecedores (Num‚rica / Alfab‚tica)",; "Retorno"},; {"",; ""}, ) Do Case Case XOPC_MEN == 01; TSUFOR1() Case XOPC_MEN == 02 .or. LastKey() == K_ESC RestScreen(03, 00, MaxRow() - 2, MaxCol(), XSLV_TEL) DbSetOrder(2) Return EndCase End