rclipper Posted May 28, 2007 Report Share Posted May 28, 2007 Caros amigos Estou montando um Contas Receber/Pagar, após efetuar as vendas a prazo, quando o sistema grava no CONTAS.PRG dá o seguinte erro que não entendo. Como posso resolver este erro? Application =========== Path and name: C:\LOJA\SISLOJA.EXE Size: 1,577,024 bytes Max files handles permited: ( SetHandleCount() ) 150 Error ocurred at: 29/05/2007, 00:07:47 Error description: Error BASE/1002 Alias does not exist Stack Calls =========== Called from CONTAS(39) Called from (b)BUILDMENU(149) Called from MAIN(93) O código fonte abaixo postado: #Include "FiveWin.ch" #xcommand @ , SAY OF => :Say(, , ) STATIC nTatApg, lCaptal, cNotJur, nTipBol, CntFnt, CntSiz, CntSty, nCopBol, cTkPort //----------------------------------------------------------------------------// function Contas(nTip) local oMeter, oText, lEnd, oCntLis, lExit PUBLIC mDupNum, mDupVen, mDupVlr, mDupQui, mDupPgo, mDupAre, mDupRnu,; mDupRdt, mDupDsc, mDupRef, mDupJur, aArray PUBLIC Rc_18:=0, Rc_12:=0, oDbf, nDias := 30, nTotal, oDlg Publ cfNom, cfVdr, wdte1, wdte2, wdtv1, wdtv2, wvlbr:=0, wvlpg:=0,; wvltt:=0, wfil:="", wvend:="", wvlds:=0, wDtp1, wDtp2,; mycli, lSoMens, cPess, cDesc, cMaos,; cCodi := SPACE(10) PUBLIC vIt01, vIt02, vIt03, vIt04, vIt05, vIt06, vIt07, vIt08, vIt09,; vIt48, cEntr, lPcnt cPess :=SPACE(10) mTp := nTip cDesc := SPACE(40) cMaos := " " lCaptal:=.f. nTipBol:=3 nCopBol:=2 cNotJur:="5.0" cTkPort:="LPT1" IF mTp = 1 SELECT 10 ELSEIF mTp = 2 SELECT 11 ELSEIF mTp = 3 SELECT 12 ELSEIF mTp = 4 SELECT 13 ENDIF oDbf := SELECT() oDbf := (oDbf)->(ALIAS()) &(oDbf)->(DBCLEARFIL(Nil)) // alinha 39 é esta. &(oDbf)->(DBSETORDER(1)) &(oDbf)->(DBGOTOP()) RECEVarl() DEFINE FONT mBrwFnt NAME "Courier New" SIZE 0,-12 DEFINE DIALOG oDlg FROM 0, 0 TO 35,100 TITLE "Controle de contas"+CntTip(mTp) //Procurar campo 1 @05,45 SAY IIF(mTp=1 .OR. mTp=2,"&Cliente:","&Fornecedor:") RIGHT OF oDlg PIXEL SIZE 30,10 @03,78 GET oGet VAR cDesc PICTURE "@!" PIXEL OF oDlg ; ON CHANGE ( ::Assign(), DBSETORDER(2),; If( DbSeek( SubStr( cDesc, 1, ::nPos - 1 ) + Chr( nKey ) ),; ( oCntLis:UpStable(), oCntLis:Refresh(), .t. ),; ( oCntLis:UpStable(), oCntLis:Refresh(), .t. ) ) ) ; SIZE 100,10 UPDATE oGet:bGotFocus := {||( cDesc:=SPACE(40), oGet:Refresh() )} //Procurar campo 2 @05,180 SAY OemToAnsi("C¢d. Cliente:") RIGHT OF oDlg PIXEL SIZE 35,10 @03,218 GET oGet1 VAR cCodi PICTURE "@!" PIXEL OF oDlg ; VALID EVAL({||(IIF(!EMPTY(cCodi),(cCodi:=ALLTRIM(cCodi),; DBSETORDER(1),; DBSEEK(ALLTRIM(cCodi)),; oCntLis:UpStable(),oCntLis:Refresh()),NIL),; oDlg:UpDate()),.T.}); SIZE 35,10 UPDATE oGet1:bGotFocus := {||( cCodi:=SPACE(10), oGet1:Refresh() )} @05, 4 SAY "&Lista:"+CntTip(mTp) OF oDlg PIXEL SIZE 40,10 @ 1, 1 LISTBOX oCntLis ; FIELDS &(oDbf)->CODIGO,; //C¢d.cli STRZERO(&(oDbf)->NUMPAR)+"/"+STRZERO(&(oDbf)->QTDPAR),;//Parcela/Qtd.Par &(oDbf)->ITEM03,; //Nome DTOC(&(oDbf)->ITEM04),; //Emiss DTOC(&(oDbf)->ITEM06),; //Vencimento TRANS(&(oDbf)->ITEM05,"@E 999,999.99"),; //Valor TRANS(&(oDbf)->ITEM12,"@E 999,999.99"),; //Quitado TRANS(&(oDbf)->ITEM16,"@E 999,999.99"),; //Pendente TRANS(&(oDbf)->ITEM13,"@E 999.99"),; //Juros &(oDbf)->ITEM10,; //N§ banco DTOC(&(oDbf)->ITEM11),; //Pagamento CalcAtraso(&(oDbf)->item06) ; //Atraso HEADERS OemToAnsi("C¢digo"),; OemToAnsi("Parcela"),; IIF(mTp=1 .OR. mTp=2,"Cliente","Fornecedor"),; "Emissão",; "Vancimento",; "Valor",; "Vlr.quitado",; "Vlr.pendente",; "Juros",; OemToAnsi("N§ Banco"),; "Dt.Pagam",; "Atraso" ; FIELDSIZES 70,50,280,80,80,80,80,80,80,250,80,80 ; ALIAS oDbf ; COLORS BrwText, BrwBack ; SIZE 284, 115 OF oDlg oCntLis:bLDblClick := { | nRow, nCol | AlteConta(oCntLis, .f., mTp, nRow, nCol) } oCntLis:SetFont(mBrwFnt) nLin := 18.5*12 nCol := 55 @ nLin,(8+(nCol*2)-55) SAY "Total bruto" PIXEL SIZE 45, 12 OF oDlg @ nLin,(8+(nCol*4)-55) SAY "Quitado" PIXEL SIZE 45, 12 OF oDlg @ nLin,(8+(nCol*6)-55) SAY "Saldo" PIXEL SIZE 45, 12 OF oDlg nLin += 08 @ nLin,(8+(nCol*2)-55) GET wvlbr PICTURE "@E 999,999,999.99" RIGHT PIXEL SIZE 45, 12 OF oDlg WHEN (1 = 2) UPDATE @ nLin,(8+(nCol*4)-55) GET wvlpg PICTURE "@E 999,999,999.99" RIGHT PIXEL SIZE 45, 12 OF oDlg WHEN (1 = 2) UPDATE @ nLin,(8+(nCol*6)-55) GET wvltt PICTURE "@E 999,999,999.99" RIGHT PIXEL SIZE 45, 12 OF oDlg WHEN (1 = 2) UPDATE nLin := 20.5*12 @ nLin, (8+(nCol*1)-55) BUTTON "&Novo" OF oDlg ACTION (EditConta( oCntLis, .t.,mTp, NIL, NIL ),CntTotais(oDlg),oCntLis:Refresh()) PIXEL SIZE 45, 12 @ nLin, (8+(nCol*2)-55) BUTTON "&Alterar" OF oDlg ACTION (AlteConta( oCntLis, .f.,mTp, NIL, NIL ),CntTotais(oDlg),oCntLis:Refresh()) PIXEL SIZE 45, 12 IF mTp = 1 @ nLin, (8+(nCol*3)-55) BUTTON "&Quitar" OF oDlg ACTION PagConta(mTp, oCntLis, oDlg, .F.) PIXEL SIZE 45, 12 @ nLin, (8+(nCol*4)-55) BUTTON "E&xcluir" OF oDlg ACTION (MsgRun("Processando registros...","Aguarde...",{||DelConta(oCntLis,mTp)}),CntTotais(oDlg),oCntLis:UpStable(),oCntLis:Refresh()) PIXEL SIZE 45, 12 ELSEIF mTp = 2 @ nLin, (8+(nCol*3)-55) BUTTON "E&xcluir" OF oDlg ACTION (MsgRun("Processando registros...","Aguarde...",{||DelConta(oCntLis,mTp)}),CntTotais(oDlg),oCntLis:UpStable(),oCntLis:Refresh()) PIXEL SIZE 45, 12 * @ nLin, (8+(nCol*4)-55) BUTTON OemToAnsi("Canc&elar pgt§") OF oDlg ACTION CntCancel() PIXEL SIZE 45, 12 ELSEIF mTp = 3 @ nLin, (8+(nCol*3)-55) BUTTON "&Quitar" OF oDlg ACTION PagConta(mTp, oCntLis, oDlg, .F.) PIXEL SIZE 45, 12 @ nLin, (8+(nCol*4)-55) BUTTON "E&xcluir" OF oDlg ACTION (MsgRun("Processando registros...","Aguarde...",{||DelConta(oCntLis,mTp)}),CntTotais(oDlg),oCntLis:UpStable(),oCntLis:Refresh()) PIXEL SIZE 45, 12 ELSEIF mTp = 4 @ nLin, (8+(nCol*3)-55) BUTTON "E&xcluir" OF oDlg ACTION (MsgRun("Processando registros...","Aguarde...",{||DelConta(oCntLis,mTp)}),CntTotais(oDlg),oCntLis:UpStable(),oCntLis:Refresh()) PIXEL SIZE 45, 12 ENDIF @ nLin, (8+(nCol*5)-55) BUTTON "&Filtrar" OF oDlg ACTION CntFilter(oCntLis, oDlg, .t.) PIXEL SIZE 45, 12 @ nLin, (8+(nCol*6)-55) BUTTON "&Imprimir" OF oDlg ACTION (MsgRun("Processando registros...","Aguarde...",{||PrnFilter(oCntLis,mTp)}),oCntLis:UpStable(),oCntLis:Refresh()) PIXEL SIZE 45, 12 @ nLin, (8+(nCol*7)-55) BUTTON "&Retornar" OF oDlg ACTION oDlg:End() PIXEL SIZE 45, 12 ACTIVATE DIALOG oDlg ; ON INIT ( oCntLis:Move(30, 4, oDlg:GetCliRect():nRight - oDlg:GetCliRect():nLeft - 8,; oDlg:GetCliRect():nBottom - oDlg:GetCliRect():nTop -120, .t.), CntFilter(oCntLis, oDlg, .f.)) mBrwFnt:End() &(oDbf)->(DBCLEARFIL(NIL)) &(oDbf)->(DBSETORDER(1)) &(oDbf)->(DBGOTOP()) SELECT 0 SysRefresh() return nil //--------------------------------------------------------------------------// FUNCTION EditConta( oCntLis, lAppend, mTp, nRow, nCol ) local oBtn, oSay, MyDb, oCbx local lSave := .f. local nOldRec := RecNo() local nParc2, dEmi2, dVen2, nVlr2,; nParc3, dEmi3, dVen3, nVlr3,; nParc4, dEmi4, dVen4, nVlr4,; nParc5, dEmi5, dVen5, nVlr5, nParc1 STORE CTOD(" ") TO dEmi2, dEmi3, dEmi4, dEmi5, dVen2, dVen3, dVen4, dVen5 STORE 0 TO nVlr2, nVlr3, nVlr4, nVlr5, nParc1, nParc2, nParc3, nParc4, nParc5 aArray := {} PUBLIC oDlg2 nDias := 30 DEFAULT lAppend := .f. CursorWait() IF lAppend Rc_it24 := "GERAL " Rc_it07 := DATE() Rc_it08 := IIF(mTp=1 .OR. mTp=2, VAL(cNotJur)*30, 0) RcQtPar := 1 RcNmPar := 1 GO BOTT SKIP AADD(aArray,{STRZERO(&(oDbf)->NUMPAR,2),&(oDbf)->ITEM06,&(oDbf)->ITEM05}) ELSE Rc_it07 := &(oDbf)->ITEM07 Rc_it08 := &(oDbf)->ITEM08 RcQtPar := &(oDbf)->QTDPAR RcNmPar := &(oDbf)->NUMPAR ENDIF Rc_it01 := &(oDbf)->CODIGO Rc_it02 := &(oDbf)->ITEM02 Rc_it03 := &(oDbf)->ITEM03 Rc_it04 := &(oDbf)->ITEM04 Rc_it05 := &(oDbf)->ITEM05 Rc_it06 := &(oDbf)->ITEM06 Rc_it09 := &(oDbf)->ITEM09 Rc_it10 := &(oDbf)->ITEM10 Rc_it11 := &(oDbf)->ITEM11 Rc_it12 := &(oDbf)->ITEM12 Rc_it13 := &(oDbf)->ITEM13 Rc_it14 := &(oDbf)->ITEM14 Rc_it15 := &(oDbf)->ITEM15 Rc_it16 := &(oDbf)->ITEM16 Rc_it18 := &(oDbf)->ITEM18 Rc_it19 := &(oDbf)->ITEM19 Rc_it20 := &(oDbf)->ITEM20 Rc_it23 := &(oDbf)->ITEM23 Rc_it24 := &(oDbf)->ITEM24 Rc_it26 := &(oDbf)->ITEM26 Rc_it27 := &(oDbf)->ITEM27 Rc_it28 := &(oDbf)->ITEM28 Rc_it29 := &(oDbf)->ITEM29 Rc_it30 := &(oDbf)->ITEM30 Rc_it31 := &(oDbf)->ITEM31 Rc_it32 := &(oDbf)->ITEM32 DEFINE DIALOG oDlg2 RESOURCE "CAD_CNT" TITLE "Cadastro de Contas"+CntTip(mTp) mF6fun1 := "CntSeekF6(@Rc_it02, @Rc_it03, @Rc_it09, mTp)" mF6fun2 := "SetParcel(Rc_it02, @aArray, oBr2, mTp)" SETKEY( VK_F6, {||( &(mF6fun1), &(mF6fun2), oDlg2:UpDate())}) IF mTp=1 .OR. mTp=2 REDEFINE SAY oSay1 PROMPT OemToAnsi("C¢d. Cliente [F6=Pesquisar] -> Nome") ID -2 OF oDlg2 REDEFINE SAY oSay2 PROMPT OemToAnsi("Vendedor") ID -3 OF oDlg2 ELSE REDEFINE SAY oSay1 PROMPT OemToAnsi("C¢d. Fornecedor -> Nome") ID -2 OF oDlg2 REDEFINE SAY oSay2 PROMPT OemToAnsi("Contato") ID -3 OF oDlg2 ENDIF REDEFINE GET oGet02 VAR Rc_it02 PICTURE "9999999999" ID 36 OF oDlg2 ; VALID CntSeekCod(@Rc_it02, @Rc_it03, oDlg2, mTp) .AND. ; SetParcel(Rc_it02, @aArray, oBr2, mTp) .AND. ; EVAL({||SETKEY( VK_F6, {||( &(mF6fun1), &(mF6fun2), oDlg2:UpDate())}),.T.}) ; WHEN EVAL({||SETKEY( VK_F6, {||( &(mF6fun1), &(mF6fun2), oDlg2:UpDate())}),.T.}) .AND. lAppend ; UPDATE REDEFINE GET oGet03 VAR Rc_it03 ID 37 OF oDlg2 UPDATE REDEFINE BTNBMP oBtb ID 54 OF oDlg2 FILE ".\BITMAPS\NOVO.BMP" ACTION CntNewCli(mTp,oDlg2) REDEFINE GET oGet04 VAR Rc_it09 ID 39 OF oDlg2 UPDATE // VALID CntSeekVnd(@Rc_it09, oDlg2, mTp) // 1¦ parcela REDEFINE GET oGet01 VAR nParc1 PICTURE "99" ID 35 OF oDlg2 // VALID CnkChkNum(nParc1) REDEFINE GET oGet05 VAR Rc_it04 ID 40 OF oDlg2 VALID CalcVenc(Rc_it04, @Rc_it06, nDias, 1, oDlg2) WHEN nParc1 <> 0 REDEFINE GET oGet07 VAR Rc_it06 ID 41 OF oDlg2 VALID EVAL({||IIF(EMPTY(DTOS(Rc_it06)),MsgStop(OemToAnsi("Queira informar uma data para o vencimento."),OemToAnsi("Aten‡Æo!")),NIL),(!EMPTY(DTOS(Rc_it06)))}) WHEN nParc1 <> 0 UPDATE REDEFINE GET oGet09 VAR Rc_it05 PICTURE "@E 999,999.99" ID 43 OF oDlg2 UPDATE WHEN nParc1 <> 0 // 2¦ parcela REDEFINE GET oCt55 VAR nParc2 PICTURE "99" ID 55 OF oDlg2 WHEN nParc1 <> 0 // VALID CnkChkNum(nParc2) REDEFINE GET oCt59 VAR dEmi2 ID 59 OF oDlg2 VALID CalcVenc(dEmi2, @dVen2, nDias, 2, oDlg2) WHEN nParc2 <> 0 REDEFINE GET oCt63 VAR dVen2 ID 63 OF oDlg2 VALID EVAL({||IIF(EMPTY(DTOS(dVen2)),MsgStop(OemToAnsi("Queira informar uma data para o vencimento."),OemToAnsi("Aten‡Æo!")),NIL),(!EMPTY(DTOS(dVen2)))}) WHEN nParc2 <> 0 UPDATE REDEFINE GET oCt67 VAR nVlr2 PICTURE "@E 999,999.99" ID 67 OF oDlg2 UPDATE WHEN nParc2 <> 0 // 3¦ parcela REDEFINE GET oCt56 VAR nParc3 PICTURE "99" ID 56 OF oDlg2 WHEN nParc2 <> 0 // VALID CnkChkNum(nParc3) REDEFINE GET oCt60 VAR dEmi3 ID 60 OF oDlg2 VALID CalcVenc(dEmi3, @dVen3, nDias, 3, oDlg2) WHEN nParc3 <> 0 REDEFINE GET oCt64 VAR dVen3 ID 64 OF oDlg2 VALID EVAL({||IIF(EMPTY(DTOS(dVen3)),MsgStop(OemToAnsi("Queira informar uma data para o vencimento."),OemToAnsi("Aten‡Æo!")),NIL),(!EMPTY(DTOS(dVen3)))}) WHEN nParc3 <> 0 UPDATE REDEFINE GET oCt68 VAR nVlr3 PICTURE "@E 999,999.99" ID 68 OF oDlg2 UPDATE WHEN nParc3 <> 0 // 4¦ parcela REDEFINE GET oCt57 VAR nParc4 PICTURE "99" ID 57 OF oDlg2 WHEN nParc3 <> 0 // VALID CnkChkNum(nParc4) REDEFINE GET oCt61 VAR dEmi4 ID 61 OF oDlg2 VALID CalcVenc(dEmi4, @dVen4, nDias, 4, oDlg2) WHEN nParc4 <> 0 REDEFINE GET oCt65 VAR dVen4 ID 65 OF oDlg2 VALID EVAL({||IIF(EMPTY(DTOS(dVen4)),MsgStop(OemToAnsi("Queira informar uma data para o vencimento."),OemToAnsi("Aten‡Æo!")),NIL),(!EMPTY(DTOS(dVen4)))}) WHEN nParc4 <> 0 UPDATE REDEFINE GET oCt69 VAR nVlr4 PICTURE "@E 999,999.99" ID 69 OF oDlg2 UPDATE WHEN nParc4 <> 0 // 5¦ parcela REDEFINE GET oCt58 VAR nParc5 PICTURE "99" ID 58 OF oDlg2 WHEN nParc4 <> 0 // VALID CnkChkNum(nParc5) REDEFINE GET oCt62 VAR dEmi5 ID 62 OF oDlg2 VALID CalcVenc(dEmi5, @dVen5, nDias, 5, oDlg2) WHEN nParc5 <> 0 REDEFINE GET oCt66 VAR dVen5 ID 66 OF oDlg2 VALID EVAL({||IIF(EMPTY(DTOS(dVen5)),MsgStop(OemToAnsi("Queira informar uma data para o vencimento."),OemToAnsi("Aten‡Æo!")),NIL),(!EMPTY(DTOS(dVen5)))}) WHEN nParc5 <> 0 UPDATE REDEFINE GET oCt70 VAR nVlr5 PICTURE "@E 999,999.99" ID 70 OF oDlg2 UPDATE WHEN nParc5 <> 0 REDEFINE GET oGet06 VAR Rc_it07 ID 38 OF oDlg2 UPDATE REDEFINE GET oGet08 VAR Rc_it10 ID 42 OF oDlg2 REDEFINE GET oGet10 VAR Rc_it08 PICTURE "@E 999.99" ID 44 OF oDlg2 REDEFINE GET oGet16 VAR Rc_it14 ID 50 OF oDlg2 REDEFINE GET oGet17 VAR Rc_it15 ID 51 OF oDlg2 REDEFINE CHECKBOX oChec1 VAR Rc_it23 ID 52 OF oDlg2 nRec := 1 REDEFINE LISTBOX oBr2 ; FIELDS aArray[nRec,1],; DTOC(aArray[nRec,2]),; TRANS(aArray[nRec,3],"@E 999,999.99") ; ID 46 OF oDlg2 ; ALIAS NIL ; COLORS CLR_BLACK, 14483196 oBr2:aHeaders := {OemToAnsi("Parcela"),; OemToAnsi("Vencimento"),; OemToAnsi("Valor")} oBr2:aColSizes := {50,90,90} oBr2:bLogicLen := {|| len(aArray)} oBr2:bGoTop := {|| nRec := 1 } oBr2:bGoBottom := {|| nRec := len(aArray) } oBr2:bSkip := { | nWant, nDo | ; nDo := Min( Max( nWant, 1 - nRec ), ; Len( aArray ) - nRec ), ; nRec += nDo, nDo } REDEFINE BUTTON oBt1 ID 33 OF oDlg2 ACTION (lSave := .T. , oDlg2:End()) WHEN nParc1 <> 0 .AND. !EMPTY(Rc_it03) REDEFINE BUTTON oBt2 ID 34 OF oDlg2 ACTION (lSave := .F. , oDlg2:End()) ACTIVATE DIALOG oDlg2 CENTERED if lSave nTotPar := 0 IF nParc1 <> 0 ; nTotPar ++ ; ENDIF IF nParc2 <> 0 ; nTotPar ++ ; ENDIF IF nParc3 <> 0 ; nTotPar ++ ; ENDIF IF nParc4 <> 0 ; nTotPar ++ ; ENDIF IF nParc5 <> 0 ; nTotPar ++ ; ENDIF aCodigs := {} aParc := {} nUlt := 0 cUlt := ALLTRIM(STR(Rc_it02,6))+"/"+ALLTRIM(STR(1+nUlt,3)) FOR X := 1 TO nTotPar cUlt := ALLTRIM(STR(Rc_it02,6))+"/"+ALLTRIM(STR(X+nUlt,3)) WHILE &(oDbf)->(DBSEEK(cUlt)) nUlt ++ cUlt := ALLTRIM(STR(Rc_it02,6))+"/"+ALLTRIM(STR(X+nUlt,3)) END AADD(aCodigs,cUlt) AADD(aParc,cUlt) NEXT IF nParc1 <> 0 while ! &(oDbf)->(Rlock()) ; End &(oDbf)->(DBAPPEND()) Rc_it01 := aCodigs[1] Rc_it16 := Rc_it05 REPL &(oDbf)->CODIGO WITH Rc_it01 REPL &(oDbf)->ITEM02 WITH Rc_it02 REPL &(oDbf)->ITEM03 WITH Rc_it03 REPL &(oDbf)->ITEM04 WITH Rc_it04 REPL &(oDbf)->ITEM05 WITH Rc_it05 REPL &(oDbf)->ITEM06 WITH Rc_it06 REPL &(oDbf)->ITEM07 WITH Rc_it07 REPL &(oDbf)->ITEM08 WITH Rc_it08 REPL &(oDbf)->ITEM09 WITH Rc_it09 REPL &(oDbf)->ITEM10 WITH Rc_it10 REPL &(oDbf)->ITEM11 WITH Rc_it11 REPL &(oDbf)->ITEM12 WITH Rc_it12 REPL &(oDbf)->ITEM13 WITH Rc_it13 REPL &(oDbf)->ITEM14 WITH Rc_it14 REPL &(oDbf)->ITEM15 WITH Rc_it15 REPL &(oDbf)->ITEM16 WITH Rc_it16 REPL &(oDbf)->ITEM18 WITH Rc_it18 REPL &(oDbf)->ITEM19 WITH Rc_it19 REPL &(oDbf)->ITEM20 WITH Rc_it20 REPL &(oDbf)->ITEM21 WITH Rc_it21 REPL &(oDbf)->ITEM23 WITH Rc_it23 REPL &(oDbf)->ITEM24 WITH Rc_it24 REPL &(oDbf)->ITEM26 WITH Rc_it26 REPL &(oDbf)->ITEM27 WITH Rc_it27 REPL &(oDbf)->ITEM28 WITH Rc_it28 REPL &(oDbf)->ITEM29 WITH Rc_it29 REPL &(oDbf)->ITEM30 WITH Rc_it30 REPL &(oDbf)->ITEM31 WITH Rc_it31 REPL &(oDbf)->ITEM32 WITH Rc_it32 REPL &(oDbf)->QTDPAR WITH nTotPar REPL &(oDbf)->NUMPAR WITH nParc1 ENDIF IF nParc2 <> 0 while ! &(oDbf)->(Rlock()) ; End &(oDbf)->(DBAPPEND()) Rc_it01 := aCodigs[2] Rc_it16 := nVlr2 REPL &(oDbf)->CODIGO WITH Rc_it01 REPL &(oDbf)->ITEM02 WITH Rc_it02 REPL &(oDbf)->ITEM03 WITH Rc_it03 REPL &(oDbf)->ITEM04 WITH dEmi2 REPL &(oDbf)->ITEM05 WITH nVlr2 REPL &(oDbf)->ITEM06 WITH dVen2 REPL &(oDbf)->ITEM07 WITH Rc_it07 REPL &(oDbf)->ITEM08 WITH Rc_it08 REPL &(oDbf)->ITEM09 WITH Rc_it09 REPL &(oDbf)->ITEM10 WITH Rc_it10 REPL &(oDbf)->ITEM11 WITH Rc_it11 REPL &(oDbf)->ITEM12 WITH Rc_it12 REPL &(oDbf)->ITEM13 WITH Rc_it13 REPL &(oDbf)->ITEM14 WITH Rc_it14 REPL &(oDbf)->ITEM15 WITH Rc_it15 REPL &(oDbf)->ITEM16 WITH nVlr2 REPL &(oDbf)->ITEM18 WITH Rc_it18 REPL &(oDbf)->ITEM19 WITH Rc_it19 REPL &(oDbf)->ITEM20 WITH Rc_it20 REPL &(oDbf)->ITEM21 WITH Rc_it21 REPL &(oDbf)->ITEM23 WITH Rc_it23 REPL &(oDbf)->ITEM24 WITH Rc_it24 REPL &(oDbf)->ITEM26 WITH Rc_it26 REPL &(oDbf)->ITEM27 WITH Rc_it27 REPL &(oDbf)->ITEM28 WITH Rc_it28 REPL &(oDbf)->ITEM29 WITH Rc_it29 REPL &(oDbf)->ITEM30 WITH Rc_it30 REPL &(oDbf)->ITEM31 WITH Rc_it31 REPL &(oDbf)->ITEM32 WITH Rc_it32 REPL &(oDbf)->QTDPAR WITH nTotPar REPL &(oDbf)->NUMPAR WITH nParc2 ENDIF IF nParc3 <> 0 while ! &(oDbf)->(Rlock()) ; End &(oDbf)->(DBAPPEND()) Rc_it01 := aCodigs[3] Rc_it16 := nVlr3 REPL &(oDbf)->CODIGO WITH Rc_it01 REPL &(oDbf)->ITEM02 WITH Rc_it02 REPL &(oDbf)->ITEM03 WITH Rc_it03 REPL &(oDbf)->ITEM04 WITH dEmi3 REPL &(oDbf)->ITEM05 WITH nVlr3 REPL &(oDbf)->ITEM06 WITH dVen3 REPL &(oDbf)->ITEM07 WITH Rc_it07 REPL &(oDbf)->ITEM08 WITH Rc_it08 REPL &(oDbf)->ITEM09 WITH Rc_it09 REPL &(oDbf)->ITEM10 WITH Rc_it10 REPL &(oDbf)->ITEM11 WITH Rc_it11 REPL &(oDbf)->ITEM12 WITH Rc_it12 REPL &(oDbf)->ITEM13 WITH Rc_it13 REPL &(oDbf)->ITEM14 WITH Rc_it14 REPL &(oDbf)->ITEM15 WITH Rc_it15 REPL &(oDbf)->ITEM16 WITH nVlr3 REPL &(oDbf)->ITEM18 WITH Rc_it18 REPL &(oDbf)->ITEM19 WITH Rc_it19 REPL &(oDbf)->ITEM20 WITH Rc_it20 REPL &(oDbf)->ITEM21 WITH Rc_it21 REPL &(oDbf)->ITEM23 WITH Rc_it23 REPL &(oDbf)->ITEM24 WITH Rc_it24 REPL &(oDbf)->ITEM26 WITH Rc_it26 REPL &(oDbf)->ITEM27 WITH Rc_it27 REPL &(oDbf)->ITEM28 WITH Rc_it28 REPL &(oDbf)->ITEM29 WITH Rc_it29 REPL &(oDbf)->ITEM30 WITH Rc_it30 REPL &(oDbf)->ITEM31 WITH Rc_it31 REPL &(oDbf)->ITEM32 WITH Rc_it32 REPL &(oDbf)->QTDPAR WITH nTotPar REPL &(oDbf)->NUMPAR WITH nParc3 ENDIF IF nParc4 <> 0 while ! &(oDbf)->(Rlock()) ; End &(oDbf)->(DBAPPEND()) Rc_it01 := aCodigs[4] Rc_it16 := nVlr4 REPL &(oDbf)->CODIGO WITH Rc_it01 REPL &(oDbf)->ITEM02 WITH Rc_it02 REPL &(oDbf)->ITEM03 WITH Rc_it03 REPL &(oDbf)->ITEM04 WITH dEmi4 REPL &(oDbf)->ITEM05 WITH nVlr4 REPL &(oDbf)->ITEM06 WITH dVen4 REPL &(oDbf)->ITEM07 WITH Rc_it07 REPL &(oDbf)->ITEM08 WITH Rc_it08 REPL &(oDbf)->ITEM09 WITH Rc_it09 REPL &(oDbf)->ITEM10 WITH Rc_it10 REPL &(oDbf)->ITEM11 WITH Rc_it11 REPL &(oDbf)->ITEM12 WITH Rc_it12 REPL &(oDbf)->ITEM13 WITH Rc_it13 REPL &(oDbf)->ITEM14 WITH Rc_it14 REPL &(oDbf)->ITEM15 WITH Rc_it15 REPL &(oDbf)->ITEM16 WITH nVlr4 REPL &(oDbf)->ITEM18 WITH Rc_it18 REPL &(oDbf)->ITEM19 WITH Rc_it19 REPL &(oDbf)->ITEM20 WITH Rc_it20 REPL &(oDbf)->ITEM21 WITH Rc_it21 REPL &(oDbf)->ITEM23 WITH Rc_it23 REPL &(oDbf)->ITEM24 WITH Rc_it24 REPL &(oDbf)->ITEM26 WITH Rc_it26 REPL &(oDbf)->ITEM27 WITH Rc_it27 REPL &(oDbf)->ITEM28 WITH Rc_it28 REPL &(oDbf)->ITEM29 WITH Rc_it29 REPL &(oDbf)->ITEM30 WITH Rc_it30 REPL &(oDbf)->ITEM31 WITH Rc_it31 REPL &(oDbf)->ITEM32 WITH Rc_it32 REPL &(oDbf)->QTDPAR WITH nTotPar REPL &(oDbf)->NUMPAR WITH nParc4 ENDIF IF nParc5 <> 0 while ! &(oDbf)->(Rlock()) ; End &(oDbf)->(DBAPPEND()) Rc_it01 := aCodigs[5] Rc_it16 := nVlr5 REPL &(oDbf)->CODIGO WITH Rc_it01 REPL &(oDbf)->ITEM02 WITH Rc_it02 REPL &(oDbf)->ITEM03 WITH Rc_it03 REPL &(oDbf)->ITEM04 WITH dEmi5 REPL &(oDbf)->ITEM05 WITH nVlr5 REPL &(oDbf)->ITEM06 WITH dVen5 REPL &(oDbf)->ITEM07 WITH Rc_it07 REPL &(oDbf)->ITEM08 WITH Rc_it08 REPL &(oDbf)->ITEM09 WITH Rc_it09 REPL &(oDbf)->ITEM10 WITH Rc_it10 REPL &(oDbf)->ITEM11 WITH Rc_it11 REPL &(oDbf)->ITEM12 WITH Rc_it12 REPL &(oDbf)->ITEM13 WITH Rc_it13 REPL &(oDbf)->ITEM14 WITH Rc_it14 REPL &(oDbf)->ITEM15 WITH Rc_it15 REPL &(oDbf)->ITEM16 WITH nVlr5 REPL &(oDbf)->ITEM18 WITH Rc_it18 REPL &(oDbf)->ITEM19 WITH Rc_it19 REPL &(oDbf)->ITEM20 WITH Rc_it20 REPL &(oDbf)->ITEM21 WITH Rc_it21 REPL &(oDbf)->ITEM23 WITH Rc_it23 REPL &(oDbf)->ITEM24 WITH Rc_it24 REPL &(oDbf)->ITEM26 WITH Rc_it26 REPL &(oDbf)->ITEM27 WITH Rc_it27 REPL &(oDbf)->ITEM28 WITH Rc_it28 REPL &(oDbf)->ITEM29 WITH Rc_it29 REPL &(oDbf)->ITEM30 WITH Rc_it30 REPL &(oDbf)->ITEM31 WITH Rc_it31 REPL &(oDbf)->ITEM32 WITH Rc_it32 REPL &(oDbf)->QTDPAR WITH nTotPar REPL &(oDbf)->NUMPAR WITH nParc5 ENDIF &(oDbf)->(DBCOMMITALL()) &(oDbf)->(DbUnlockALL()) nOldRec := &(oDbf)->(RECNO()) IF mTp = 1 IF MsgYesNo("Gostaria de imprimir a NOTA PROMISSÓRIA?", OemToAnsi("Imprimir")) ImpNotPro() ENDIF ENDIF ENDIF SETKEY( VK_F6, {} ) &(oDbf)->(DBGOTO(nOldRec)) IF oCntLis <> NIL oCntLis:UpStable() oCntLis:Refresh() ENDIF return nil //-------------------------------------------------------------------------// static function AlteConta( oCntLis, lAppend, mTp, nRow, nCol ) local oBtn, oSay, MyDb, oCbx local lSave := .f. local nOldRec := RecNo() PUBLIC oDlg2 nDias := 0 CursorWait() IF lAppend Rc_it24 := "GERAL " RcQtPar := 1 RcNmPar := 1 GO BOTT SKIP ELSE RcQtPar := &(oDbf)->QTDPAR RcNmPar := &(oDbf)->NUMPAR ENDIF Rc_it01 := &(oDbf)->CODIGO Rc_it02 := &(oDbf)->ITEM02 Rc_it03 := &(oDbf)->ITEM03 Rc_it04 := &(oDbf)->ITEM04 Rc_it05 := &(oDbf)->ITEM05 Rc_it06 := &(oDbf)->ITEM06 Rc_it07 := &(oDbf)->ITEM07 Rc_it08 := &(oDbf)->ITEM08 Rc_it09 := &(oDbf)->ITEM09 Rc_it10 := &(oDbf)->ITEM10 Rc_it11 := &(oDbf)->ITEM11 Rc_it12 := &(oDbf)->ITEM12 Rc_it13 := &(oDbf)->ITEM13 Rc_it14 := &(oDbf)->ITEM14 Rc_it15 := &(oDbf)->ITEM15 Rc_it16 := &(oDbf)->ITEM16 Rc_it18 := &(oDbf)->ITEM18 Rc_it19 := &(oDbf)->ITEM19 Rc_it20 := &(oDbf)->ITEM20 Rc_it23 := &(oDbf)->ITEM23 Rc_it24 := &(oDbf)->ITEM24 Rc_it26 := &(oDbf)->ITEM26 Rc_it27 := &(oDbf)->ITEM27 Rc_it28 := &(oDbf)->ITEM28 Rc_it29 := &(oDbf)->ITEM29 Rc_it30 := &(oDbf)->ITEM30 Rc_it31 := &(oDbf)->ITEM31 Rc_it32 := &(oDbf)->ITEM32 DEFINE DIALOG oDlg2 RESOURCE "CAD_CNT" TITLE If( lAppend, "Cadastro de Contas"+CntTip(mTp), "Alteração de Contas"+CntTip(mTp) ) REDEFINE GET oGet01 VAR Rc_it01 ID 35 OF oDlg2 READONLY IF mTp=1 .OR. mTp=2 REDEFINE SAY oSay1 PROMPT OemToAnsi("C¢d. Cliente -> Nome") ID -2 OF oDlg2 REDEFINE SAY oSay2 PROMPT OemToAnsi("Vendedor") ID -3 OF oDlg2 ELSE REDEFINE SAY oSay1 PROMPT OemToAnsi("C¢d. Fornecedor -> Nome") ID -2 OF oDlg2 REDEFINE SAY oSay2 PROMPT OemToAnsi("Contato") ID -3 OF oDlg2 ENDIF REDEFINE GET oGet02 VAR Rc_it02 PICTURE "99999999" ID 36 OF oDlg2 READONLY REDEFINE GET oGet03 VAR Rc_it03 ID 37 OF oDlg2 UPDATE REDEFINE BTNBMP oBtb ID 55 OF oDlg2 FILE ".\BITMAPS\NOVO.BMP" WHEN .F. REDEFINE GET oGet04 VAR Rc_it09 ID 39 OF oDlg2 UPDATE REDEFINE GET oGet05 VAR Rc_it04 ID 40 OF oDlg2 VALID EVAL({||IIF(EMPTY(DTOS(Rc_it04)),MsgStop(OemToAnsi("Queira informar uma data para o vencimento."),OemToAnsi("Aten‡Æo!")),NIL),(!EMPTY(DTOS(Rc_it04)))}) REDEFINE GET oGet06 VAR Rc_it07 ID 38 OF oDlg2 UPDATE REDEFINE GET oGet07 VAR Rc_it06 ID 41 OF oDlg2 UPDATE VALID EVAL({||IIF(EMPTY(DTOS(Rc_it06)),MsgStop(OemToAnsi("Queira informar uma data para o vencimento."),OemToAnsi("Aten‡Æo!")),NIL),(!EMPTY(DTOS(Rc_it06)))}) REDEFINE GET oGet08 VAR Rc_it10 ID 42 OF oDlg2 REDEFINE GET oGet09 VAR Rc_it05 PICTURE "@E 999,999.99" ID 43 OF oDlg2 Valid RcPriCal(oDlg2) UPDATE REDEFINE GET oGet10 VAR Rc_it08 PICTURE "@E 999.99" ID 44 OF oDlg2 REDEFINE GET oGet11 VAR Rc_it11 ID 45 OF oDlg2 REDEFINE GET oGet12 VAR Rc_it12 PICTURE "@E 999,999.99" ID 46 OF oDlg2 VALID RcPriCal(oDlg2) REDEFINE GET oGet13 VAR Rc_it18 PICTURE "@E 999,999.99" ID 47 OF oDlg2 VALID RcPriCal(oDlg2) REDEFINE GET oGet14 VAR Rc_it16 PICTURE "@E 999,999.99" ID 48 OF oDlg2 VALID RcPriCal(oDlg2) UPDATE REDEFINE GET oGet15 VAR Rc_it19 ID 49 OF oDlg2 REDEFINE GET oGet16 VAR Rc_it14 ID 50 OF oDlg2 REDEFINE GET oGet17 VAR Rc_it15 ID 51 OF oDlg2 REDEFINE CHECKBOX oChec1 VAR Rc_it23 ID 52 OF oDlg2 REDEFINE BUTTON oBt1 ID 33 OF oDlg2 ACTION (lSave := .T. , oDlg2:End()) WHEN !EMPTY(Rc_it01) .AND. !EMPTY(Rc_it03) REDEFINE BUTTON oBt2 ID 34 OF oDlg2 ACTION (lSave := .F. , oDlg2:End()) ACTIVATE DIALOG oDlg2 CENTERED if lSave while ! &(oDbf)->(Rlock()) ; End if lAppend &(oDbf)->(DBAPPEND()) endif REPL &(oDbf)->CODIGO WITH Rc_it01 REPL &(oDbf)->ITEM02 WITH Rc_it02 REPL &(oDbf)->ITEM03 WITH Rc_it03 REPL &(oDbf)->ITEM04 WITH Rc_it04 REPL &(oDbf)->ITEM05 WITH Rc_it05 REPL &(oDbf)->ITEM06 WITH Rc_it06 REPL &(oDbf)->ITEM07 WITH Rc_it07 REPL &(oDbf)->ITEM08 WITH Rc_it08 REPL &(oDbf)->ITEM09 WITH Rc_it09 REPL &(oDbf)->ITEM10 WITH Rc_it10 REPL &(oDbf)->ITEM11 WITH Rc_it11 REPL &(oDbf)->ITEM12 WITH Rc_it12 REPL &(oDbf)->ITEM13 WITH Rc_it13 REPL &(oDbf)->ITEM14 WITH Rc_it14 REPL &(oDbf)->ITEM15 WITH Rc_it15 REPL &(oDbf)->ITEM16 WITH Rc_it16 REPL &(oDbf)->ITEM18 WITH Rc_it18 REPL &(oDbf)->ITEM19 WITH Rc_it19 REPL &(oDbf)->ITEM20 WITH Rc_it20 REPL &(oDbf)->ITEM23 WITH Rc_it23 REPL &(oDbf)->ITEM24 WITH Rc_it24 REPL &(oDbf)->ITEM26 WITH Rc_it26 REPL &(oDbf)->ITEM27 WITH Rc_it27 REPL &(oDbf)->ITEM28 WITH Rc_it28 REPL &(oDbf)->ITEM29 WITH Rc_it29 REPL &(oDbf)->ITEM30 WITH Rc_it30 REPL &(oDbf)->ITEM31 WITH Rc_it31 REPL &(oDbf)->ITEM32 WITH Rc_it32 &(oDbf)->(DBCOMMITALL()) &(oDbf)->(DbUnlockALL()) nOldRec := &(oDbf)->(RECNO()) endif &(oDbf)->(DBGOTO(nOldRec)) oCntLis:UpStable() oCntLis:Refresh() return nil //---------------------------------------------------------------------------// STATIC FUNCTION CnkChkNum(cCodigo) LOCAL lOk := .T. SET ORDER TO 1 SEEK cCodigo IF FOUND() MsgStop(OemToAnsi("Este n£mero j existe."),OemToAnsi("Aten‡Æo!")) lOk := .F. ENDIF RETURN(lOk) //---------------------------------------------------------------------------// STATIC FUNCTION DelConta(oCntLis,mTp) LOCAL MyDb := SELECT() LOCAL nNdoc1 := SPACE(10), nVpar1 := 0, dVenc1 := CTOD(" "),; nNdoc2 := SPACE(10), nVpar2 := 0, dVenc2 := CTOD(" "),; nNdoc3 := SPACE(10), nVpar3 := 0, dVenc3 := CTOD(" "),; nNdoc4 := SPACE(10), nVpar4 := 0, dVenc4 := CTOD(" "),; nNdoc5 := SPACE(10), nVpar5 := 0, dVenc5 := CTOD(" "),; nNdoc6 := SPACE(10), nVpar6 := 0, dVenc6 := CTOD(" ") PUBLIC nDoc := &(oDbf)->CODIGO lConf := .F. nNdoc1 := &(oDbf)->CODIGO nVpar1 := &(oDbf)->ITEM05 dVenc1 := &(oDbf)->ITEM06 vIt01 := &(oDbf)->ITEM02 // Cod.Cliente DEFINE DIALOG oIPAR RESOURCE "IMPRPARC" TITLE OemToAnsi("ExclusÆo de parcelas") REDEFINE GET oNdoc1 VAR nNdoc1 ID 101 OF oIPAR VALID ChkParOk(nNdoc1, @nVpar1, @dVenc1, vIt01, @oIPAR) REDEFINE GET oVpar1 VAR nVpar1 PICTURE "@E 999,999.99" ID 102 OF oIPAR UPDATE REDEFINE GET oVenc1 VAR dVenc1 ID 103 OF oIPAR UPDATE REDEFINE GET oNdoc2 VAR nNdoc2 ID 104 OF oIPAR VALID ChkParOk(nNdoc2, @nVpar2, @dVenc2, vIt01, @oIPAR) REDEFINE GET oVpar2 VAR nVpar2 PICTURE "@E 999,999.99" ID 105 OF oIPAR UPDATE REDEFINE GET oVenc2 VAR dVenc2 ID 106 OF oIPAR UPDATE REDEFINE GET oNdoc3 VAR nNdoc3 ID 107 OF oIPAR VALID ChkParOk(nNdoc3, @nVpar3, @dVenc3, vIt01, @oIPAR) REDEFINE GET oVpar3 VAR nVpar3 PICTURE "@E 999,999.99" ID 108 OF oIPAR UPDATE REDEFINE GET oVenc3 VAR dVenc3 ID 109 OF oIPAR UPDATE REDEFINE GET oNdoc4 VAR nNdoc4 ID 110 OF oIPAR VALID ChkParOk(nNdoc4, @nVpar4, @dVenc4, vIt01, @oIPAR) REDEFINE GET oVpar4 VAR nVpar4 PICTURE "@E 999,999.99" ID 111 OF oIPAR UPDATE REDEFINE GET oVenc4 VAR dVenc4 ID 112 OF oIPAR UPDATE REDEFINE GET oNdoc5 VAR nNdoc5 ID 113 OF oIPAR VALID ChkParOk(nNdoc5, @nVpar5, @dVenc5, vIt01, @oIPAR) REDEFINE GET oVpar5 VAR nVpar5 PICTURE "@E 999,999.99" ID 114 OF oIPAR UPDATE REDEFINE GET oVenc5 VAR dVenc5 ID 115 OF oIPAR UPDATE REDEFINE GET oNdoc6 VAR nNdoc6 ID 116 OF oIPAR VALID ChkParOk(nNdoc6, @nVpar6, @dVenc6, vIt01, @oIPAR) REDEFINE GET oVpar6 VAR nVpar6 PICTURE "@E 999,999.99" ID 117 OF oIPAR UPDATE REDEFINE GET oVenc6 VAR dVenc6 ID 118 OF oIPAR UPDATE REDEFINE BUTTON oBtn ID 119 OF oIPAR ACTION (lConf := .T., oIPAR:End()) ACTIVATE DIALOG oIPAR CENTERED IF ! lConf SELECT(MyDb) RETURN NIL ENDIF aParc := {} IF ! EMPTY(nNdoc1) ; AADD(aParc, nNdoc1) ; ENDIF IF ! EMPTY(nNdoc2) ; AADD(aParc, nNdoc2) ; ENDIF IF ! EMPTY(nNdoc3) ; AADD(aParc, nNdoc3) ; ENDIF IF ! EMPTY(nNdoc4) ; AADD(aParc, nNdoc4) ; ENDIF IF ! EMPTY(nNdoc5) ; AADD(aParc, nNdoc5) ; ENDIF IF ! EMPTY(nNdoc6) ; AADD(aParc, nNdoc6) ; ENDIF IF LEN(aParc) > 0 FOR Y := 1 TO LEN(aParc) IF &(oDbf)->(DBSEEK(aParc[Y])) WHILE ! &(oDbf)->(RLOCK()) ; END &(oDbf)->(DBDELETE()) &(oDbf)->(dbCommitAll()) &(oDbf)->(dbUnlockAll()) SysRefresh() IF mTp = 2 MyDb := SELECT() SELECT 5 CAIXA->(DBSETORDER(3)) WHILE CAIXA->(DBSEEK("RECEB. DUPLICATA "+aParc[Y])) WHILE ! CAIXA->(RLOCK()) ; END CAIXA->(DBDELETE()) END CAIXA->(dbCommitAll()) CAIXA->(dbUnlockAll()) USE RELATDIA SHARED NEW ordListClear() OrdListAdd("RELATDIA","RDIACODI", "RDIACLIE", "RDIAVENC", "RDIAEMIS") WHILE CAIXA->(DBSEEK(aParc[Y])) WHILE ! RELATDIA->(RLOCK()) ; END RELATDIA->(DBDELETE()) END CLOSE RELATDIA ENDIF ENDIF NEXT SysRefresh() SELECT(MyDb) ENDIF oCntLis:Refresh() // Repaint the ListBox RETURN NIL //----------------------------------------------------------------------------// static function CntFilter(oCntLis, oDlg, lGet) LOCAL oDlg4 PUBLIC wCred store space(30) to cfNom, cfVdr, wCred store ctod(" ") to wdte1, wdte2, wdtV1, wdtV2, wDtp1, wDtp2 wfil := "" IF lGet DEFINE DIALOG oDlg4 RESOURCE "FILT_CNT" REDEFINE GET oG01 VAR cfNom ID 35 OF oDlg4 REDEFINE GET oG02 VAR cfVdr ID 36 OF oDlg4 REDEFINE GET oG03 VAR wdte1 ID 37 OF oDlg4 REDEFINE GET oG04 VAR wdte2 ID 39 OF oDlg4 when dtoc(wdte1)#" / / " VALID P_needed(wdte2) REDEFINE GET oG05 VAR wdtv1 ID 40 OF oDlg4 REDEFINE GET oG06 VAR wdtv2 ID 38 OF oDlg4 when dtoc(wdtv1)#" / / " VALID P_needed(wdtv2) REDEFINE GET oG07 VAR wDtp1 ID 41 OF oDlg4 REDEFINE GET oG08 VAR wDtp2 ID 42 OF oDlg4 when dtoc(wdtp1)#" / / " VALID P_needed(wdtp2) REDEFINE BUTTON oBt1 ID 33 OF oDlg4 ACTION oDlg4:End() ACTIVATE DIALOG oDlg4 CENTER IF ! EMPTY(cfNom) wfil:="ITEM03=ALLTRIM(cfNom)" ENDI IF ! EMPTY(cfVdr) IF ! EMPTY(wfil) ; wfil+=" .AND. " ; ENDI wfil+="UPPER(ITEM09)=ALLTRIM(cfVdr)" ENDI IF dtoc(wdtv2)#" / / " IF ! EMPTY(wfil) ; wfil+=" .AND. " ; ENDI wfil+="ITEM06>=wdtv1 .AND. ITEM06 <= wdtv2" ENDI IF dtoc(wdte2)#" / / " IF ! EMPTY(wfil) ; wfil+=" .AND. " ; ENDI wfil+="ITEM04 >= wdte1 .AND. ITEM04 <= wdte2" ENDI IF dtoc(wdtp2)#" / / " IF ! EMPTY(wfil) ; wfil+=" .AND. " ; ENDI wfil+="ITEM11 >= wdtp1 .AND. ITEM11 <= wdtp2" ENDI SET FILTER TO IF ! EMPTY(wfil) SET FILTER TO &wfil ENDI ENDIF &(oDbf)->(DBGOTOP()) wvlbr := 0 wvlpg := 0 wvlju := 0 wvlds := 0 MsgRun( "Processando valores...", "Aguarde...",; {|| DBEVAL({|| (wvlbr := wvlbr + &(oDbf)->ITEM05,; wvlpg := wvlpg + &(oDbf)->ITEM12,; wvlju := wvlju + &(oDbf)->ITEM13,; wvlds := wvlds + &(oDbf)->ITEM18 ; )}, NIL, NIL, NIL, NIL, NIL, NIL, .F.) }) &(oDbf)->(DBGOTOP()) wvltt:=wvlbr-(wvlpg+wvlds) wvlpg:=wvlpg+wvlds if wvltt < 0 ; wvltt := 0 ; endif oCntLis:Upstable() oCntLis:Refresh() oDlg:UpDate() return nil ****************************************************************************** FUNCTION CntTip(mTp) LOCAL mTit := "" IF mTp = 1 ; mTit := " a Receber" ELSEIF mTp = 2 ; mTit := " Recebidas" ELSEIF mTp = 3 ; mTit := " a Pagar" ELSEIF mTp = 4 ; mTit := " Pagas" ENDIF RETURN mTit ******************************* Vari veis ************************************ FUNCTION RECEVarl() // LOCAL nRecNr := &(oDbf)->(RecNo()) PUBLIC Rc_it01,Rc_it02,Rc_it03,Rc_it04,Rc_it05,Rc_it06,Rc_it07,Rc_it08, Rc_it09,Rc_it10,Rc_it11,; Rc_it12,Rc_it13,Rc_it14,Rc_it15,Rc_it16,Rc_it18,Rc_it19,Rc_it20,; Rc_it21,Rc_it22,Rc_it23,Rc_it24,Rc_it26,Rc_it27,Rc_it28,; Rc_it29,Rc_it30,Rc_it31,Rc_it32,RcQtPar,RcNmPar Publ wdte1, wdte2, wdtv1, wdtv2, wvlbr:=0, wvlpg:=0,; wvltt:=0, wfil:="", wvend:="", wvlds:=0, wDtRc store space(30) to cfNom, cfVdr store ctod(" ") to wdte1, wdte2, wdtV1, wdtV2, wDtRc &(oDbf)->(dbGoBottom()) &(oDbf)->(dbSkip(1)) Rc_it01 := &(oDbf)->CODIGO Rc_it02 := &(oDbf)->ITEM02 Rc_it03 := &(oDbf)->ITEM03 Rc_it04 := &(oDbf)->ITEM04 Rc_it05 := &(oDbf)->ITEM05 Rc_it06 := &(oDbf)->ITEM06 Rc_it07 := &(oDbf)->ITEM07 Rc_it08 := &(oDbf)->ITEM08 Rc_it09 := &(oDbf)->ITEM09 Rc_it10 := &(oDbf)->ITEM10 Rc_it11 := &(oDbf)->ITEM11 Rc_it12 := &(oDbf)->ITEM12 Rc_it13 := &(oDbf)->ITEM13 Rc_it14 := &(oDbf)->ITEM14 Rc_it15 := &(oDbf)->ITEM15 Rc_it16 := &(oDbf)->ITEM16 Rc_it18 := &(oDbf)->ITEM18 Rc_it19 := &(oDbf)->ITEM19 Rc_it20 := &(oDbf)->ITEM20 Rc_it21 := &(oDbf)->ITEM21 Rc_it22 := &(oDbf)->ITEM22 Rc_it23 := &(oDbf)->ITEM23 Rc_it24 := &(oDbf)->ITEM24 Rc_it26 := &(oDbf)->ITEM26 Rc_it27 := &(oDbf)->ITEM27 Rc_it28 := &(oDbf)->ITEM28 Rc_it29 := &(oDbf)->ITEM29 Rc_it30 := &(oDbf)->ITEM30 Rc_it31 := &(oDbf)->ITEM31 Rc_it32 := &(oDbf)->ITEM32 RcQtPar := &(oDbf)->QTDPAR RcNmPar := &(oDbf)->NUMPAR //&(oDbf)->(dbGoTo(nRecNr)) RETU NIL ******************************* Calculo do Cadastro/altera‡Æo **************** FUNCTION RcPriCal(oDlg2) Rc_it16 := (Rc_it05+Rc_it13)-(Rc_it12+Rc_it18) oDlg2:Update() RETU .T. /////////////////////////////////// STATIC FUNCTION CntTotais(oDlg) wvlbr := 0 wvlpg := 0 wvlju := 0 wvlds := 0 * nOldRec := &(oDbf)->(RECNO()) * MsgRun( "Processando valores...", "Aguarde...",; * {|| DBEVAL({|| (wvlbr := wvlbr + &(oDbf)->ITEM05,; * wvlpg := wvlpg + &(oDbf)->ITEM12,; * wvlju := wvlju + &(oDbf)->ITEM13,; * wvlds := wvlds + &(oDbf)->ITEM18 ; * )}, NIL, NIL, NIL, NIL, NIL, NIL, .F.) }) wvltt:=wvlbr-(wvlpg+wvlds) if wvltt < 0 ; wvltt := 0 ; endif wvlpg:=wvlpg+wvlds * &(oDbf)->(DBGOTO(nOldRec)) IF oDlg <> NIL oDlg:Update() ENDIF RETURN .T. ******************************* Calculo do recebido ************************** FUNCTION ArcClc(Rc_12,Rc_18,oDlg3) LOCAL nIt16, nJuro Rc_it12 := (Rc_12+&(oDbf)->ITEM12) Rc_it18 := (Rc_18+&(oDbf)->ITEM18) nIt16 := &(oDbf)->ITEM16 nJuro := 0 // Calcular juros mTotDia := (Date() - &(oDbf)->item06) IF mTotDia > 5 IF ! lCaptal Rc_it13 := ((&(oDbf)->ITEM16/100) * (Rc_it08/30)) * mTotDia nIt16 := (&(oDbf)->ITEM16+Rc_it13) // Valor a receber nJuro += Rc_it13 ELSE nMes := INT(mTotDia/30) nDia := MOD(mTotDia,30) IF nMes > 0 FOR NZ := 1 TO nMes Rc_it13 := ((nIt16/100) * Rc_it08) nIt16 := nIt16 + Rc_it13 nJuro += Rc_it13 NEXT ENDIF Rc_it13 := ((nIt16/100) * (Rc_it08/30)) * nDia nIt16 := nIt16 + Rc_it13 nJuro += Rc_it13 ENDIF ENDIF Rc_it13 := nJuro nTatApg := nIt16 Rc_it16 := (nTatApg - (Rc_12+Rc_18)) IF Rc_it16 < 0 Rc_it16:=0 ENDI oDlg3:Update() RETU .T. ////////////////////////////// STATIC FUNCTION recedados() Rc_it01 := &(oDbf)->CODIGO Rc_it02 := &(oDbf)->ITEM02 Rc_it03 := &(oDbf)->ITEM03 Rc_it04 := &(oDbf)->ITEM04 Rc_it05 := &(oDbf)->ITEM05 Rc_it06 := &(oDbf)->ITEM06 Rc_it07 := &(oDbf)->ITEM07 Rc_it08 := &(oDbf)->ITEM08 Rc_it09 := &(oDbf)->ITEM09 Rc_it10 := &(oDbf)->ITEM10 Rc_it11 := &(oDbf)->ITEM11 Rc_it12 := &(oDbf)->ITEM12 Rc_it13 := &(oDbf)->ITEM13 Rc_it14 := &(oDbf)->ITEM14 Rc_it15 := &(oDbf)->ITEM15 Rc_it16 := &(oDbf)->ITEM16 Rc_it18 := &(oDbf)->ITEM18 Rc_it19 := &(oDbf)->ITEM19 Rc_it20 := &(oDbf)->ITEM20 Rc_it21 := &(oDbf)->ITEM21 Rc_it22 := &(oDbf)->ITEM22 Rc_it23 := &(oDbf)->ITEM23 Rc_it24 := &(oDbf)->ITEM24 Rc_it26 := &(oDbf)->ITEM26 Rc_it27 := &(oDbf)->ITEM27 Rc_it28 := &(oDbf)->ITEM28 Rc_it29 := &(oDbf)->ITEM29 Rc_it30 := &(oDbf)->ITEM30 Rc_it31 := &(oDbf)->ITEM31 Rc_it32 := &(oDbf)->ITEM32 RcQtPar := &(oDbf)->QTDPAR RcNmPar := &(oDbf)->NUMPAR RETURN NIL ////////////////////////////// STATIC FUNCTION CntSeekCod(Rc_it02, Rc_it03, oDlg2, mTp) local oDbf2, bFields, aHeaders LOCAL cTitle := "Pesquisa de "+IIF( mTp=1 .or. mTp=2,"Clientes","Fornecedores") IF Rc_it02 = 0 Rc_it03 := SPACE(40) oDlg2:UpDate() RETURN .T. ENDIF oDbf2 := Select() IF mTp=1 .or. mTp=2 aHeaders := { 'Código','Nome','Fantasia' } SELECT 6 bFields := {|| { STRZERO(CLIENTE->CODIGO,5),; CLIENTE->ITEM02,; CLIENTE->ITEM03 }} ELSE aHeaders := { 'Código','Nome','Contato' } USE FORNECED SHARED NEW ordListClear() OrdListAdd("FORNECED","FORNCODI", "FORNNOME", "FORNFANT") bFields := {|| { STRZERO(FORNECED->CODIGO,4),; FORNECED->ITEM02,; FORNECED->ITEM03 }} ENDIF lOk := .T. if ! DbSeek( Rc_it02 ) IF mTp=1 .or. mTp=2 lOk := Search( cTitle, bFields, aHeaders, oDlg2, "CLIENTE",; "CLIENTE->ITEM02", "CLIENTE->CODIGO", "CLIENTE->ITEM03",; "Nome:", "Codigo:", "Fantasia") ELSE lOk := Search( cTitle, bFields, aHeaders, oDlg2, "FORNECED",; "FORNECED->ITEM02", "FORNECED->CODIGO",NIL,; "Nome:", "Codigo:", NIL ) ENDIF endif IF mTp=1 .or. mTp=2 Rc_it02 := CLIENTE->CODIGO Rc_it03 := CLIENTE->ITEM02 Rc_it09 := cOper // Vendedor nDias := 30 vIt01 := CLIENTE->CODIGO vIt02 := CLIENTE->ITEM02 vIt03 := CLIENTE->ITEM03 vIt04 := CLIENTE->ITEM04 vIt05 := CLIENTE->ITEM08 vIt06 := ALLTRIM(CLIENTE->ITEM05)+"-"+CLIENTE->ITEM06 vIt07 := CLIENTE->ITEM09 vIt08 := CLIENTE->ITEM11 vIt09 := CLIENTE->ITEM10 Rc_it26 := CLIENTE->ITEM03 Rc_it27 := CLIENTE->ITEM04 Rc_it28 := CLIENTE->ITEM08 Rc_it29 := ALLTRIM(CLIENTE->ITEM05)+"-"+CLIENTE->ITEM06 Rc_it30 := CLIENTE->ITEM09 Rc_it31 := CLIENTE->ITEM11 Rc_it32 := CLIENTE->ITEM10 CLIENTE->(DBCLEARFIL(NIL)) CLIENTE->(DBGOTOP()) ELSE Rc_it02 := FORNECED->CODIGO Rc_it03 := FORNECED->ITEM02 Rc_it09 := FORNECED->ITEM03 // Contato nDias := 0 CLOSE FORNECED ENDIF Select(oDbf2) oDlg2:UpDate() RETURN .T. **+-+**+-+**+-+**+-+**+-+**+-+**+-+**+-+**+-+**+-+**+-+**+-+**+-+**+-+**+-+** FUNCTION SetParcel(Rc_it02, aArray, oBr2, mTp) aArray := {} IF mTp=1 .OR. mTp=3 &(oDbf)->(DBSETORDER(4)) IF &(oDbf)->(DBSEEK(Rc_it02)) WHILE ! &(oDbf)->(EOF()) IF &(oDbf)->ITEM02 = Rc_it02 AADD(aArray,{STRZERO(&(oDbf)->NUMPAR,2),&(oDbf)->ITEM06,&(oDbf)->ITEM05}) ENDIF &(oDbf)->(DBSKIP(1)) END ENDIF &(oDbf)->(DBSETORDER(1)) &(oDbf)->(DBGOBOTTOM()) &(oDbf)->(DBSKIP(1)) ENDIF oBr2:cAlias := NIL oBr2:SetArray(aArray) oBr2:bLogicLen := {|| len(aArray)} oBr2:bGoTop := {|| nRec := 1 } oBr2:bGoBottom := {|| nRec := len(aArray) } oBr2:bSkip := { | nWant, nDo | ; nDo := Min( Max( nWant, 1 - nRec ), ; Len( aArray ) - nRec ), ; nRec += nDo, nDo } oBr2:Refresh() RETURN .T. ////////////////////////////// FUNCTION CntSeekF6(Rc_it02, Rc_it03, Rc_it09, mTp) LOCAL oDbf2, bFields LOCAL cTitle := "Pesquisa de "+IIF( mTp=1 .or. mTp=2,"Clientes","Fornecedores") LOCAL aHeaders := { 'Código','Nome','Fone' } oDbf2 := Select() IF mTp=1 .or. mTp=2 aHeaders := { 'Código','Nome','Fantasia' } SELECT 6 bFields := {|| { STRZERO(CLIENTE->CODIGO,5),; CLIENTE->ITEM02,; CLIENTE->ITEM03 }} ENDIF Rc_it02 := 0 IF mTp=1 .or. mTp=2 lOk := Search( cTitle, bFields, aHeaders, oDlg2, "CLIENTE",; "CLIENTE->ITEM02", "CLIENTE->CODIGO", "CLIENTE->ITEM03",; "Nome:", "Codigo:", "Fantasia") ELSE aHeaders := { 'Código','Nome','Contato' } USE FORNECED SHARED NEW ordListClear() OrdListAdd("FORNECED","FORNCODI", "FORNNOME") bFields := {|| { STRZERO(FORNECED->CODIGO,4),; FORNECED->ITEM02,; FORNECED->ITEM03 }} ENDIF IF mTp=1 .or. mTp=2 Rc_it02 := CLIENTE->CODIGO Rc_it03 := CLIENTE->ITEM02 Rc_it09 := cOper // Vendedor nDias := 30 CLIENTE->(DBCLEARFIL(NIL)) CLIENTE->(DBGOTOP()) ELSE Rc_it02 := FORNECED->CODIGO Rc_it03 := FORNECED->ITEM02 Rc_it09 := FORNECED->ITEM03 // Contato CLOSE FORNECED ENDIF Select(oDbf2) RETURN .T. /////////////////////////////////// FUNCTION PagConta( mTp, oCntLis, oDlg, lConta ) local oDlg3, Conf:=.F., mTotDia, mJuro, nFormPg, aFormPg, nRcNo local Cms01,Cms02,Cms03,Cms04,Cms05,Cms06,Cms07,Cms08,Rc_14,; oCt01,oCt02,oCt03,oCt04,oCt05,oCt06,oCt07,oCt08,oCt09,oCt10,oCt11,oCt12 if mTp = NIL return .f. endif /* IF mTp = 1 .OR. mTp = 2 IF ! UsrFree(CntZera) RETURN NIL ENDIF ELSE IF ! UsrFree(CntZera) RETURN NIL ENDIF ENDIF */ mDupNum:={} // Numeros das duplicatas mDupVen:={} // Vencimentos mDupVlr:={} // Valores dos t¡tulos mDupQui:={} // Total quitado mDupPgo:={} // Valor atribuido neste recibo mDupAre:={} // Valores a receber mDupRnu:={} // Numero do recibo mDupRdt:={} // Data do recebimento mDupDsc:={} // Desconto concedido mDupRef:={} // Desconto referente a... mDupJur:={} // Juros pagos mInfo:=SPACE(1) nFormPg := 1 aFormPg := {"EM DINHEIRO","EM CHEQUES",OemToAnsi("EM CREDCARD"),; OemToAnsi("EM VISA"),OemToAnsi("EM AMERICAN"),; OemToAnsi("EM MASTER"),OemToAnsi("EM DEPà SITO"),; "INDEFINIDO"} nRcNo := &(oDbf)->(RECNO()) ReceDados() Rc_it08 := VAL(cNotJur)*30 // Juros ao mˆs Rc_it13 := 0 // Juros Rc_it16 := (&(oDbf)->ITEM16+Rc_it13) // Valor a receber rc_12 := 0 // Valor quitado rc_18 := 0 // Valor do desconto mCodCli:= Rc_it02 // Codigo do cliente mNomCli:= Space(40) // Nome do cliente Rc_14 := Space(40) // Obs 1 Rc_it19:= Rc_it01 // Numero do recibo Rc_it11:= DATE() // Data do recebimento nTotPar := &(oDbf)->ITEM16 nTatApg := 0 Rc_it20 := Space(45) DEFINE FONT mInfFnt NAME "Courier New" SIZE 0,-10 IF ! lConta DEFINE DIALOG oDlg3 RESOURCE "CNTQUIT" TITLE "Quitacao da Duplicata "+CntTip(mTp) REDEFINE GET oCt01 VAR Rc_it01 PICTURE "@!" ID 101 OF oDlg3 READONLY // VALID CntNota(@Rc_it01,@Rc_it02,@Rc_it03,@mCodCli,oDlg3) REDEFINE GET oCt02 VAR mCodCli PICTURE "9999999999" ID 102 OF oDlg3 VALID AcheiCli(@mCodCli,@mNomCli,@Rc_it03,oDlg3,mTp,lConta) UPDATE WHEN EMPTY(Rc_it01) REDEFINE GET oCt03 VAR Rc_it03 PICTURE "@!" ID 103 OF oDlg3 READONLY UPDATE REDEFINE GET oCt04 VAR Rc_it19 PICTURE "@!" ID 104 OF oDlg3 REDEFINE GET oCt05 VAR Rc_it11 ID 105 OF oDlg3 REDEFINE GET oC109 VAR nTotPar PICTURE "@E 999,999.99" ID 109 OF oDlg3 UPDATE REDEFINE SAY oCt_2 PROMPT ALLTRIM(STR(Rc_it08))+"% ao mˆs" ID -2 OF oDlg3 REDEFINE GET oC111 VAR Rc_it13 PICTURE "@E 999,999.99" ID 111 OF oDlg3 UPDATE REDEFINE GET oC114 VAR nTatApg PICTURE "@E 999,999.99" ID 114 OF oDlg3 UPDATE REDEFINE GET oCt06 VAR Rc_12 PICTURE "@E 999,999.99" ID 106 OF oDlg3 ; Valid EVAL({||IIF(!EMPTY(Rc_it01),Arcclc(rc_12,Rc_18,oDlg3),; EVAL({||(mDupNum:={},; mDupVen:={},; mDupVlr:={},; mDupQui:={},; mDupPgo:={},; mDupAre:={},; mDupRnu:={},; mDupRdt:={},; mDupDsc:={},; mDupRef:={},; mDupJur:={},; Calcula(mCodCli,mDupNum,mDupVen,mDupVlr,mDupQui,mDupAre,mDupPgo,mDupRnu,mDupRdt,mDupDsc,mDupRef,mDupJur,rc_12,@mInfo,oDlg3) ),; .T.})),EVAL({||IIF(Rc_12=0,MSGSTOP(OEMTOANSI("Queira informar o valor que foi quitado, ou pressione Esc caso queira cancelar."),OEMTOANSI("ATEN€ÇO!")),""),(Rc_12 != 0)})}) UPDATE REDEFINE GET oCt08 VAR Rc_18 PICTURE "@e 999,999.99" ID 108 OF oDlg3 ; Valid EVAL({||IIF(!EMPTY(Rc_it01),Arcclc(rc_12,Rc_18,oDlg3),; EVAL({||(mDupNum:={},; mDupVen:={},; mDupVlr:={},; mDupQui:={},; mDupPgo:={},; mDupAre:={},; mDupRnu:={},; mDupRdt:={},; mDupDsc:={},; mDupRef:={},; mDupJur:={},; Calcula(mCodCli,mDupNum,mDupVen,mDupVlr,mDupQui,mDupAre,mDupPgo,mDupRnu,mDupRdt,mDupDsc,mDupRef,mDupJur,rc_12,@mInfo,oDlg3) ),; .T.})),.T.}) UPDATE REDEFINE GET oCt07 VAR Rc_it16 PICTURE "@E 999,999.99" ID 107 OF oDlg3 READONLY UPDATE REDEFINE GET oCt10 VAR mInfo MEMO ID 110 OF oDlg3 UPDATE FONT mInfFnt WHEN (0=1) REDEFINE GET oC113 VAR Rc_14 ID 113 OF oDlg3 REDEFINE BUTTON oCt11 ID 115 OF oDlg3 ACTION (Conf:=.T., oDlg3:End()) REDEFINE BUTTON oCt12 ID 116 OF oDlg3 ACTION (Conf:=.F., oDlg3:End()) ACTIVATE DIALOG oDlg3 CENTERED //ON INIT ArcClc(Rc_12,Rc_18,oDlg3) ELSE Rc_it01 := "" // Deve estar vazio neste tipo de quita‡Æo Rc_12 := 0 Rc_it03 := SPACE(40) Rc_it19 := SPACE(10) // N§ do recibo DEFINE DIALOG oDlg3 RESOURCE "CNTHAVER" REDEFINE GET oCt02 VAR mCodCli PICTURE "9999999999" ID 102 OF oDlg3 VALID AcheiCli(@mCodCli,@mNomCli,@Rc_it03,oDlg3,mTp,lConta) UPDATE REDEFINE GET oCt03 VAR Rc_it03 PICTURE "@!" ID 103 OF oDlg3 READONLY UPDATE REDEFINE GET oCt04 VAR Rc_it19 PICTURE "@!" ID 104 OF oDlg3 REDEFINE GET oCt05 VAR Rc_it11 ID 105 OF oDlg3 REDEFINE GET oCt06 VAR Rc_12 PICTURE "@E 999,999.99" ID 106 OF oDlg3 ; Valid EVAL({||(mDupNum:={},; mDupVen:={},; mDupVlr:={},; mDupQui:={},; mDupPgo:={},; mDupAre:={},; mDupRnu:={},; mDupRdt:={},; mDupDsc:={},; mDupRef:={},; mDupJur:={},; Calcula(mCodCli,mDupNum,mDupVen,mDupVlr,mDupQui,mDupAre,mDupPgo,mDupRnu,mDupRdt,mDupDsc,mDupRef,mDupJur,rc_12,@mInfo,oDlg3) ),; .T.}) UPDATE REDEFINE RADIO oRadio VAR nFormPg ID 109,110,111,112,113,114,117,118 OF oDlg3 REDEFINE BUTTON oCt11 ID 115 OF oDlg3 ; ACTION ( IIF( MsgYesNo("Confirma a quitacao","Confirmar"),; ( Conf:=.T. , oDlg3:End() ), oDlg3:End() )) REDEFINE BUTTON oCt12 ID 116 OF oDlg3 ACTION oDlg3:End() ACTIVATE DIALOG oDlg3 CENTERED ENDIF mInfFnt:End() oFile := SELECT() If Conf IF EMPTY(Rc_it01) AFILL(mDupRnu, Rc_it19 ) AFILL(mDupRdt, Rc_it11 ) cPagame := "PAGAMENTO "+aFormPg[nFormPg] IF ! lConta CntQuitar(mCodCli,mDupNum,mDupVen,mDupVlr,mDupQui,mDupAre,mDupPgo,mDupRnu,mDupRdt,mDupDsc,mDupRef,mDupJur,mTp,cPagame) CliSaldo(mCodCli,mNomCli) ELSE MyDbFile := SELECT() USE HAVER SHARED NEW ordListClear() OrdListAdd("HAVER","HAVERCOD", "HAVERNOM", "HAVERDAT") WHILE ! HAVER->(RLOCK()) ; END HAVER->(DBAPPEND()) REPLACE HAVER->CODCLI WITH mCodCli REPLACE HAVER->NOME WITH Rc_it03 REPLACE HAVER->RECIBO WITH Rc_it19 REPLACE HAVER->DATA WITH Rc_it11 REPLACE HAVER->VALOR WITH Rc_12 REPLACE HAVER->FORMAPG WITH aFormPg[nFormPg] CLOSE HAVER // --- Lan‡amento no caixa ------------- SELECT 5 CAIXA->( DbSetOrder(2) ) CAIXA->( DbGobottom() ) mCod := CODIGO+1 CAIXA->( DbSetOrder(1) ) whil ! CAIXA->(rlock()) ; end CAIXA->( DbAppend() ) REPL CAIXA->CODIGO WITH mCod REPL CAIXA->DATA WITH Rc_it11 REPL CAIXA->HISTOR1 WITH "HAVER CLI: "+ALLTRIM(STR(mCodCli)) REPL CAIXA->HISTOR2 WITH cPagame REPL CAIXA->ENTRADA WITH Rc_12 REPL CAIXA->CD_DESP WITH 1 REPL CAIXA->TIPO WITH "C" CAIXA->(dbCommitAll()) CAIXA->(dbUnlockAll()) CAIXA->( DbSetOrder(1) ) CAIXA->( DbGoTop() ) SELECT(MyDbFile) SysRefresh() ENDIF ELSE If (rc_it16 <= 0) IF &(oDbf)->ITEM23 = .F. WHIL ! &(oDbf)->(rlock()) ; END &(oDbf)->(DBDELETE()) &(oDbf)->(DBCOMMITALL()) IF &(oDbf)->ITEM12 >= &(oDbf)->ITEM05 IF &(oDbf)->(RLOCK()) &(oDbf)->(DBDELETE()) ENDIF ENDIF ELSE MsgAlert(OemToAnsi("Esta ‚ uma conta mensal. Queira alterar a data do vencimento!"),"Alerta do sistema") ENDIF Else WHIL ! &(oDbf)->(rlock()) ; END Replace &(oDbf)->item12 With Rc_it12 Replace &(oDbf)->item13 With rc_it13 Replace &(oDbf)->item16 With rc_it16 Replace &(oDbf)->item18 With Rc_it18 Replace &(oDbf)->item20 With rc_it20 &(oDbf)->(DBCOMMITALL()) EndIf IF &(oDbf)->item16 <= 0 WHIL ! &(oDbf)->(rlock()) ; END &(oDbf)->(DBDELETE()) &(oDbf)->(DBCOMMITALL()) ENDIF IF mTp = 1 SELECT 11 // Lan‡ar em contas recebidas ELSEIF mTp = 3 SELECT 13 // Lan‡ar em contas pagas ENDIF oDb2 := SELECT() oDb2 := (oDb2)->(ALIAS()) IF ! &(oDb2)->(DBSEEK(rc_it01)) WHIL ! &(oDb2)->(Rlock()) ; END &(oDb2)->(DBAPPEND()) EndIf WHIL ! &(oDb2)->(Rlock()) ; END REPL &(oDb2)->CODIGO WITH Rc_it01 REPL &(oDb2)->ITEM02 WITH Rc_it02 REPL &(oDb2)->ITEM03 WITH Rc_it03 REPL &(oDb2)->ITEM04 WITH Rc_it04 REPL &(oDb2)->ITEM05 WITH Rc_it05 REPL &(oDb2)->ITEM06 WITH Rc_it06 REPL &(oDb2)->ITEM07 WITH Rc_it07 REPL &(oDb2)->ITEM08 WITH Rc_it08 REPL &(oDb2)->ITEM09 WITH Rc_it09 REPL &(oDb2)->ITEM10 WITH Rc_it10 REPL &(oDb2)->ITEM11 WITH Rc_it11 REPL &(oDb2)->ITEM12 WITH Rc_it12 REPL &(oDb2)->ITEM13 WITH Rc_it13 REPL &(oDb2)->ITEM14 WITH Rc_14 REPL &(oDb2)->ITEM15 WITH Rc_it15 REPL &(oDb2)->ITEM16 WITH Rc_it16 REPL &(oDb2)->ITEM18 WITH Rc_it18 REPL &(oDb2)->ITEM19 WITH Rc_it19 REPL &(oDb2)->ITEM20 WITH Rc_it20 IF mTp = 1 USE RELATDIA SHARED NEW ordListClear() OrdListAdd("RELATDIA","RDIACODI", "RDIACLIE", "RDIAVENC", "RDIAEMIS") WHIL ! RELATDIA->(Rlock()) ; END RELATDIA->(DBAPPEND()) REPL RELATDIA->CODIGO WITH Rc_it01 REPL RELATDIA->ITEM02 WITH Rc_it02 REPL RELATDIA->ITEM03 WITH Rc_it03 REPL RELATDIA->ITEM04 WITH Rc_it04 REPL RELATDIA->ITEM05 WITH Rc_it05 REPL RELATDIA->ITEM06 WITH Rc_it06 REPL RELATDIA->ITEM07 WITH Rc_it07 REPL RELATDIA->ITEM08 WITH Rc_it08 REPL RELATDIA->ITEM09 WITH Rc_it09 REPL RELATDIA->ITEM10 WITH Rc_it10 REPL RELATDIA->ITEM11 WITH Rc_it11 REPL RELATDIA->ITEM12 WITH Rc_12 REPL RELATDIA->ITEM13 WITH Rc_it13 REPL RELATDIA->ITEM14 WITH Rc_14 REPL RELATDIA->ITEM15 WITH Rc_it15 REPL RELATDIA->ITEM16 WITH Rc_it16 REPL RELATDIA->ITEM18 WITH Rc_18 REPL RELATDIA->ITEM19 WITH Rc_it19 REPL RELATDIA->ITEM20 WITH Rc_it20 RELATDIA->(dbCloseArea()) // --- Lan‡amento no caixa ------------- SELECT 5 CAIXA->( DbSetOrder(2) ) CAIXA->( DbGobottom() ) mCod := CODIGO+1 CAIXA->( DbSetOrder(1) ) CAIXA->( DbAppend() ) whil ! CAIXA->(rlock()) ; end REPL CAIXA->CODIGO WITH mCod REPL CAIXA->DATA WITH Rc_it11 REPL CAIXA->HISTOR1 WITH "RECEB. DUPLICATA "+Rc_it01 REPL CAIXA->HISTOR2 WITH "PAGAMENTO "+aFormPg[1] REPL CAIXA->ENTRADA WITH Rc_12 REPL CAIXA->TIPO WITH "C" CAIXA->( DbSetOrder(1) ) CAIXA->( DbGoTop() ) IF MsgYesNo("Gostaria de imprimir o recibo?","Imprimir recibo") mL := 1 oPrn:= TDosPrn():New("\TICKET.PRN") oPrn:StartPage() oPrn:lZeraBuffer:=.F. // For‡a o Pulo da P gina @ mL, 01 SAY "" OF oPrn mL ++ @ mL, 01 SAY "+---------------------------------------------------------------------------+" OF oPrn ; mL ++ @ mL, 01 SAY "! R E C I B O !" OF oPrn ; mL ++ @ mL, 01 SAY "+---------------------------------------------------------------------------+" OF oPrn ; mL ++ mL ++ @ mL, 78-LEN("R$ "+ALLTRIM(TRANS(Rc_12,"@E 999,999.99"))) SAY "R$ "+ALLTRIM(TRANS(Rc_12,"@E 999,999.99")) OF oPrn ; mL ++ mL ++ cTxt := " RECEBI DE "+ALLTRIM(Rc_it03)+" A IMPORTANCIA DE R$ "+ALLTRIM(TRANS(Rc_12,"@E 999,999.99"))+" ("+Vlr_Ext(Rc_12,80)+") REFERENTE AO PAGAMENTO DA NOTA PROMISSORIA DISCRIMINADA ABAIXO." mTtL1:= MLCOUNT(cTxt,77) IF mTtL1 > 1 FOR Y := 1 TO mTtL1-1 @ mL, 01 SAY JUSTIFICA(cTxt,77,Y) OF oPrn mL ++ NEXT @ mL, 01 SAY MEMOLINE(cTxt,77,mTtL1) OF oPrn mL ++ ELSE @ mL, 01 SAY MEMOLINE(cTxt,77,mTtL1) OF oPrn mL ++ ENDIF mL ++ @ mL, 01 SAY "NUMERO: "+ALLTRIM(Rc_it01)+" - EMISSAO: "+DTOC(Rc_it04)+" - VENCIMENTO: "+DTOC(Rc_it06) OF oPrn ; mL ++ @ mL, 01 SAY "VALOR DO TITULO .................................................: "+TRANS(Rc_it05,"@E 999,999.99") OF oPrn ; mL ++ @ mL, 01 SAY "VALOR DO JURO....................................................: "+TRANS(Rc_it13,"@E 999,999.99") OF oPrn ; mL ++ @ mL, 01 SAY "VALOR DO DESCONTO................................................: "+TRANS(Rc_it18,"@E 999,999.99") OF oPrn ; mL ++ @ mL, 01 SAY "VALOR PAGO.......................................................: "+TRANS(Rc_12, "@E 999,999.99") OF oPrn ; mL ++ @ mL, 01 SAY "SALDO A PAGAR....................................................: "+TRANS(Rc_it16,"@E 999,999.99") OF oPrn ; mL ++ mL ++ @ mL, 01 SAY "POR SER VERDADE, FIRMAMOS O PRESENTE RECIBO, QUE SUBSTITUI A NOTA PROMISSORIA" OF oPrn ; mL ++ mL ++ mL ++ lShowCid := .t. lShowDia := .f. cData := UPPER(ALLTRIM(DATAH(Rc_it11, lShowCid, lShowDia))) @ mL, 78-LEN(cData) SAY cData OF oPrn ; mL ++ mL ++ mL ++ mL ++ @ mL, 01 SAY PrnCentra("...................................",SPACE(77)) OF oPrn ; mL ++ mL ++ @ mL, 01 SAY PrnCentra(ALLTRIM(mEmp),SPACE(77)) OF oPrn ; mL ++ @ mL, 01 SAY REPLICATE(CRLF, 2) OF oPrn oPrn:EndPage() // Obrigat¢rio oPrn:End() // Idem SysRefresh() ENDIF ENDIF ENDIF ENDIF SELECT(oFile) &(oDbf)->(DBUNLOCKALL()) IF ! lConta oCntLis:UpStable() oCntLis:Refresh() ENDIF RETURN .T. /////////////////////////////////// STATIC FUNCTION CliSaldo(mCodCli,mNomCli) LOCAL VlrB, VlrQ, VlrP STORE 0 TO VlrB, VlrQ, VlrP SET FILTER TO ITEM02 == mCodCli GO TOP IF EOF() MsgInfo(OemToAnsi("Este cliente zerou seu d‚bito."),"Saldo do cliente") SET FILTER TO RETURN NIL ENDIF GO TOP VlrB := 0 VlrQ := 0 VlrD := 0 MsgRun( "Processando valores...", "Aguarde...",; {|| DBEVAL({|| (VlrB := VlrB + &(oDbf)->ITEM05,; VlrD := VlrD + &(oDbf)->ITEM18,; VlrQ := VlrQ + &(oDbf)->ITEM12 ; )}, NIL, NIL, NIL, NIL, NIL, NIL, .F.) }) SET FILTER TO VlrP := (VlrB - (VlrQ+VlrD)) MsgInfo( "SALDO DO CLIENTE: "+CRLF+; ""+CRLF+; "Debito bruto remanesce Quote Link to comment Share on other sites More sharing options...
rclipper Posted May 28, 2007 Author Report Share Posted May 28, 2007 Caros amigos Estou montando um Contas Receber/Pagar, após efetuar as vendas a prazo, quando o sistema grava no CONTAS.PRG dá o seguinte erro que não entendo. Como posso resolver este erro? Application =========== Path and name: C:\LOJA\SISLOJA.EXE Size: 1,577,024 bytes Max files handles permited: ( SetHandleCount() ) 150 Error ocurred at: 29/05/2007, 00:07:47 Error description: Error BASE/1002 Alias does not exist Stack Calls =========== Called from CONTAS(39) Called from (b)BUILDMENU(149) Called from MAIN(93) O código fonte abaixo postado: #Include "FiveWin.ch" #xcommand @ , SAY OF => :Say(, , ) STATIC nTatApg, lCaptal, cNotJur, nTipBol, CntFnt, CntSiz, CntSty, nCopBol, cTkPort //----------------------------------------------------------------------------// function Contas(nTip) local oMeter, oText, lEnd, oCntLis, lExit PUBLIC mDupNum, mDupVen, mDupVlr, mDupQui, mDupPgo, mDupAre, mDupRnu,; mDupRdt, mDupDsc, mDupRef, mDupJur, aArray PUBLIC Rc_18:=0, Rc_12:=0, oDbf, nDias := 30, nTotal, oDlg Publ cfNom, cfVdr, wdte1, wdte2, wdtv1, wdtv2, wvlbr:=0, wvlpg:=0,; wvltt:=0, wfil:="", wvend:="", wvlds:=0, wDtp1, wDtp2,; mycli, lSoMens, cPess, cDesc, cMaos,; cCodi := SPACE(10) PUBLIC vIt01, vIt02, vIt03, vIt04, vIt05, vIt06, vIt07, vIt08, vIt09,; vIt48, cEntr, lPcnt cPess :=SPACE(10) mTp := nTip cDesc := SPACE(40) cMaos := " " lCaptal:=.f. nTipBol:=3 nCopBol:=2 cNotJur:="5.0" cTkPort:="LPT1" IF mTp = 1 SELECT 10 ELSEIF mTp = 2 SELECT 11 ELSEIF mTp = 3 SELECT 12 ELSEIF mTp = 4 SELECT 13 ENDIF oDbf := SELECT() oDbf := (oDbf)->(ALIAS()) &(oDbf)->(DBCLEARFIL(Nil)) // alinha 39 é esta. &(oDbf)->(DBSETORDER(1)) &(oDbf)->(DBGOTOP()) RECEVarl() DEFINE FONT mBrwFnt NAME "Courier New" SIZE 0,-12 DEFINE DIALOG oDlg FROM 0, 0 TO 35,100 TITLE "Controle de contas"+CntTip(mTp) //Procurar campo 1 @05,45 SAY IIF(mTp=1 .OR. mTp=2,"&Cliente:","&Fornecedor:") RIGHT OF oDlg PIXEL SIZE 30,10 @03,78 GET oGet VAR cDesc PICTURE "@!" PIXEL OF oDlg ; ON CHANGE ( ::Assign(), DBSETORDER(2),; If( DbSeek( SubStr( cDesc, 1, ::nPos - 1 ) + Chr( nKey ) ),; ( oCntLis:UpStable(), oCntLis:Refresh(), .t. ),; ( oCntLis:UpStable(), oCntLis:Refresh(), .t. ) ) ) ; SIZE 100,10 UPDATE oGet:bGotFocus := {||( cDesc:=SPACE(40), oGet:Refresh() )} //Procurar campo 2 @05,180 SAY OemToAnsi("C¢d. Cliente:") RIGHT OF oDlg PIXEL SIZE 35,10 @03,218 GET oGet1 VAR cCodi PICTURE "@!" PIXEL OF oDlg ; VALID EVAL({||(IIF(!EMPTY(cCodi),(cCodi:=ALLTRIM(cCodi),; DBSETORDER(1),; DBSEEK(ALLTRIM(cCodi)),; oCntLis:UpStable(),oCntLis:Refresh()),NIL),; oDlg:UpDate()),.T.}); SIZE 35,10 UPDATE oGet1:bGotFocus := {||( cCodi:=SPACE(10), oGet1:Refresh() )} @05, 4 SAY "&Lista:"+CntTip(mTp) OF oDlg PIXEL SIZE 40,10 @ 1, 1 LISTBOX oCntLis ; FIELDS &(oDbf)->CODIGO,; //C¢d.cli STRZERO(&(oDbf)->NUMPAR)+"/"+STRZERO(&(oDbf)->QTDPAR),;//Parcela/Qtd.Par &(oDbf)->ITEM03,; //Nome DTOC(&(oDbf)->ITEM04),; //Emiss DTOC(&(oDbf)->ITEM06),; //Vencimento TRANS(&(oDbf)->ITEM05,"@E 999,999.99"),; //Valor TRANS(&(oDbf)->ITEM12,"@E 999,999.99"),; //Quitado TRANS(&(oDbf)->ITEM16,"@E 999,999.99"),; //Pendente TRANS(&(oDbf)->ITEM13,"@E 999.99"),; //Juros &(oDbf)->ITEM10,; //N§ banco DTOC(&(oDbf)->ITEM11),; //Pagamento CalcAtraso(&(oDbf)->item06) ; //Atraso HEADERS OemToAnsi("C¢digo"),; OemToAnsi("Parcela"),; IIF(mTp=1 .OR. mTp=2,"Cliente","Fornecedor"),; "Emissão",; "Vancimento",; "Valor",; "Vlr.quitado",; "Vlr.pendente",; "Juros",; OemToAnsi("N§ Banco"),; "Dt.Pagam",; "Atraso" ; FIELDSIZES 70,50,280,80,80,80,80,80,80,250,80,80 ; ALIAS oDbf ; COLORS BrwText, BrwBack ; SIZE 284, 115 OF oDlg oCntLis:bLDblClick := { | nRow, nCol | AlteConta(oCntLis, .f., mTp, nRow, nCol) } oCntLis:SetFont(mBrwFnt) nLin := 18.5*12 nCol := 55 @ nLin,(8+(nCol*2)-55) SAY "Total bruto" PIXEL SIZE 45, 12 OF oDlg @ nLin,(8+(nCol*4)-55) SAY "Quitado" PIXEL SIZE 45, 12 OF oDlg @ nLin,(8+(nCol*6)-55) SAY "Saldo" PIXEL SIZE 45, 12 OF oDlg nLin += 08 @ nLin,(8+(nCol*2)-55) GET wvlbr PICTURE "@E 999,999,999.99" RIGHT PIXEL SIZE 45, 12 OF oDlg WHEN (1 = 2) UPDATE @ nLin,(8+(nCol*4)-55) GET wvlpg PICTURE "@E 999,999,999.99" RIGHT PIXEL SIZE 45, 12 OF oDlg WHEN (1 = 2) UPDATE @ nLin,(8+(nCol*6)-55) GET wvltt PICTURE "@E 999,999,999.99" RIGHT PIXEL SIZE 45, 12 OF oDlg WHEN (1 = 2) UPDATE nLin := 20.5*12 @ nLin, (8+(nCol*1)-55) BUTTON "&Novo" OF oDlg ACTION (EditConta( oCntLis, .t.,mTp, NIL, NIL ),CntTotais(oDlg),oCntLis:Refresh()) PIXEL SIZE 45, 12 @ nLin, (8+(nCol*2)-55) BUTTON "&Alterar" OF oDlg ACTION (AlteConta( oCntLis, .f.,mTp, NIL, NIL ),CntTotais(oDlg),oCntLis:Refresh()) PIXEL SIZE 45, 12 IF mTp = 1 @ nLin, (8+(nCol*3)-55) BUTTON "&Quitar" OF oDlg ACTION PagConta(mTp, oCntLis, oDlg, .F.) PIXEL SIZE 45, 12 @ nLin, (8+(nCol*4)-55) BUTTON "E&xcluir" OF oDlg ACTION (MsgRun("Processando registros...","Aguarde...",{||DelConta(oCntLis,mTp)}),CntTotais(oDlg),oCntLis:UpStable(),oCntLis:Refresh()) PIXEL SIZE 45, 12 ELSEIF mTp = 2 @ nLin, (8+(nCol*3)-55) BUTTON "E&xcluir" OF oDlg ACTION (MsgRun("Processando registros...","Aguarde...",{||DelConta(oCntLis,mTp)}),CntTotais(oDlg),oCntLis:UpStable(),oCntLis:Refresh()) PIXEL SIZE 45, 12 * @ nLin, (8+(nCol*4)-55) BUTTON OemToAnsi("Canc&elar pgt§") OF oDlg ACTION CntCancel() PIXEL SIZE 45, 12 ELSEIF mTp = 3 @ nLin, (8+(nCol*3)-55) BUTTON "&Quitar" OF oDlg ACTION PagConta(mTp, oCntLis, oDlg, .F.) PIXEL SIZE 45, 12 @ nLin, (8+(nCol*4)-55) BUTTON "E&xcluir" OF oDlg ACTION (MsgRun("Processando registros...","Aguarde...",{||DelConta(oCntLis,mTp)}),CntTotais(oDlg),oCntLis:UpStable(),oCntLis:Refresh()) PIXEL SIZE 45, 12 ELSEIF mTp = 4 @ nLin, (8+(nCol*3)-55) BUTTON "E&xcluir" OF oDlg ACTION (MsgRun("Processando registros...","Aguarde...",{||DelConta(oCntLis,mTp)}),CntTotais(oDlg),oCntLis:UpStable(),oCntLis:Refresh()) PIXEL SIZE 45, 12 ENDIF @ nLin, (8+(nCol*5)-55) BUTTON "&Filtrar" OF oDlg ACTION CntFilter(oCntLis, oDlg, .t.) PIXEL SIZE 45, 12 @ nLin, (8+(nCol*6)-55) BUTTON "&Imprimir" OF oDlg ACTION (MsgRun("Processando registros...","Aguarde...",{||PrnFilter(oCntLis,mTp)}),oCntLis:UpStable(),oCntLis:Refresh()) PIXEL SIZE 45, 12 @ nLin, (8+(nCol*7)-55) BUTTON "&Retornar" OF oDlg ACTION oDlg:End() PIXEL SIZE 45, 12 ACTIVATE DIALOG oDlg ; ON INIT ( oCntLis:Move(30, 4, oDlg:GetCliRect():nRight - oDlg:GetCliRect():nLeft - 8,; oDlg:GetCliRect():nBottom - oDlg:GetCliRect():nTop -120, .t.), CntFilter(oCntLis, oDlg, .f.)) mBrwFnt:End() &(oDbf)->(DBCLEARFIL(NIL)) &(oDbf)->(DBSETORDER(1)) &(oDbf)->(DBGOTOP()) SELECT 0 SysRefresh() return nil //--------------------------------------------------------------------------// FUNCTION EditConta( oCntLis, lAppend, mTp, nRow, nCol ) local oBtn, oSay, MyDb, oCbx local lSave := .f. local nOldRec := RecNo() local nParc2, dEmi2, dVen2, nVlr2,; nParc3, dEmi3, dVen3, nVlr3,; nParc4, dEmi4, dVen4, nVlr4,; nParc5, dEmi5, dVen5, nVlr5, nParc1 STORE CTOD(" ") TO dEmi2, dEmi3, dEmi4, dEmi5, dVen2, dVen3, dVen4, dVen5 STORE 0 TO nVlr2, nVlr3, nVlr4, nVlr5, nParc1, nParc2, nParc3, nParc4, nParc5 aArray := {} PUBLIC oDlg2 nDias := 30 DEFAULT lAppend := .f. CursorWait() IF lAppend Rc_it24 := "GERAL " Rc_it07 := DATE() Rc_it08 := IIF(mTp=1 .OR. mTp=2, VAL(cNotJur)*30, 0) RcQtPar := 1 RcNmPar := 1 GO BOTT SKIP AADD(aArray,{STRZERO(&(oDbf)->NUMPAR,2),&(oDbf)->ITEM06,&(oDbf)->ITEM05}) ELSE Rc_it07 := &(oDbf)->ITEM07 Rc_it08 := &(oDbf)->ITEM08 RcQtPar := &(oDbf)->QTDPAR RcNmPar := &(oDbf)->NUMPAR ENDIF Rc_it01 := &(oDbf)->CODIGO Rc_it02 := &(oDbf)->ITEM02 Rc_it03 := &(oDbf)->ITEM03 Rc_it04 := &(oDbf)->ITEM04 Rc_it05 := &(oDbf)->ITEM05 Rc_it06 := &(oDbf)->ITEM06 Rc_it09 := &(oDbf)->ITEM09 Rc_it10 := &(oDbf)->ITEM10 Rc_it11 := &(oDbf)->ITEM11 Rc_it12 := &(oDbf)->ITEM12 Rc_it13 := &(oDbf)->ITEM13 Rc_it14 := &(oDbf)->ITEM14 Rc_it15 := &(oDbf)->ITEM15 Rc_it16 := &(oDbf)->ITEM16 Rc_it18 := &(oDbf)->ITEM18 Rc_it19 := &(oDbf)->ITEM19 Rc_it20 := &(oDbf)->ITEM20 Rc_it23 := &(oDbf)->ITEM23 Rc_it24 := &(oDbf)->ITEM24 Rc_it26 := &(oDbf)->ITEM26 Rc_it27 := &(oDbf)->ITEM27 Rc_it28 := &(oDbf)->ITEM28 Rc_it29 := &(oDbf)->ITEM29 Rc_it30 := &(oDbf)->ITEM30 Rc_it31 := &(oDbf)->ITEM31 Rc_it32 := &(oDbf)->ITEM32 DEFINE DIALOG oDlg2 RESOURCE "CAD_CNT" TITLE "Cadastro de Contas"+CntTip(mTp) mF6fun1 := "CntSeekF6(@Rc_it02, @Rc_it03, @Rc_it09, mTp)" mF6fun2 := "SetParcel(Rc_it02, @aArray, oBr2, mTp)" SETKEY( VK_F6, {||( &(mF6fun1), &(mF6fun2), oDlg2:UpDate())}) IF mTp=1 .OR. mTp=2 REDEFINE SAY oSay1 PROMPT OemToAnsi("C¢d. Cliente [F6=Pesquisar] -> Nome") ID -2 OF oDlg2 REDEFINE SAY oSay2 PROMPT OemToAnsi("Vendedor") ID -3 OF oDlg2 ELSE REDEFINE SAY oSay1 PROMPT OemToAnsi("C¢d. Fornecedor -> Nome") ID -2 OF oDlg2 REDEFINE SAY oSay2 PROMPT OemToAnsi("Contato") ID -3 OF oDlg2 ENDIF REDEFINE GET oGet02 VAR Rc_it02 PICTURE "9999999999" ID 36 OF oDlg2 ; VALID CntSeekCod(@Rc_it02, @Rc_it03, oDlg2, mTp) .AND. ; SetParcel(Rc_it02, @aArray, oBr2, mTp) .AND. ; EVAL({||SETKEY( VK_F6, {||( &(mF6fun1), &(mF6fun2), oDlg2:UpDate())}),.T.}) ; WHEN EVAL({||SETKEY( VK_F6, {||( &(mF6fun1), &(mF6fun2), oDlg2:UpDate())}),.T.}) .AND. lAppend ; UPDATE REDEFINE GET oGet03 VAR Rc_it03 ID 37 OF oDlg2 UPDATE REDEFINE BTNBMP oBtb ID 54 OF oDlg2 FILE ".\BITMAPS\NOVO.BMP" ACTION CntNewCli(mTp,oDlg2) REDEFINE GET oGet04 VAR Rc_it09 ID 39 OF oDlg2 UPDATE // VALID CntSeekVnd(@Rc_it09, oDlg2, mTp) // 1¦ parcela REDEFINE GET oGet01 VAR nParc1 PICTURE "99" ID 35 OF oDlg2 // VALID CnkChkNum(nParc1) REDEFINE GET oGet05 VAR Rc_it04 ID 40 OF oDlg2 VALID CalcVenc(Rc_it04, @Rc_it06, nDias, 1, oDlg2) WHEN nParc1 <> 0 REDEFINE GET oGet07 VAR Rc_it06 ID 41 OF oDlg2 VALID EVAL({||IIF(EMPTY(DTOS(Rc_it06)),MsgStop(OemToAnsi("Queira informar uma data para o vencimento."),OemToAnsi("Aten‡Æo!")),NIL),(!EMPTY(DTOS(Rc_it06)))}) WHEN nParc1 <> 0 UPDATE REDEFINE GET oGet09 VAR Rc_it05 PICTURE "@E 999,999.99" ID 43 OF oDlg2 UPDATE WHEN nParc1 <> 0 // 2¦ parcela REDEFINE GET oCt55 VAR nParc2 PICTURE "99" ID 55 OF oDlg2 WHEN nParc1 <> 0 // VALID CnkChkNum(nParc2) REDEFINE GET oCt59 VAR dEmi2 ID 59 OF oDlg2 VALID CalcVenc(dEmi2, @dVen2, nDias, 2, oDlg2) WHEN nParc2 <> 0 REDEFINE GET oCt63 VAR dVen2 ID 63 OF oDlg2 VALID EVAL({||IIF(EMPTY(DTOS(dVen2)),MsgStop(OemToAnsi("Queira informar uma data para o vencimento."),OemToAnsi("Aten‡Æo!")),NIL),(!EMPTY(DTOS(dVen2)))}) WHEN nParc2 <> 0 UPDATE REDEFINE GET oCt67 VAR nVlr2 PICTURE "@E 999,999.99" ID 67 OF oDlg2 UPDATE WHEN nParc2 <> 0 // 3¦ parcela REDEFINE GET oCt56 VAR nParc3 PICTURE "99" ID 56 OF oDlg2 WHEN nParc2 <> 0 // VALID CnkChkNum(nParc3) REDEFINE GET oCt60 VAR dEmi3 ID 60 OF oDlg2 VALID CalcVenc(dEmi3, @dVen3, nDias, 3, oDlg2) WHEN nParc3 <> 0 REDEFINE GET oCt64 VAR dVen3 ID 64 OF oDlg2 VALID EVAL({||IIF(EMPTY(DTOS(dVen3)),MsgStop(OemToAnsi("Queira informar uma data para o vencimento."),OemToAnsi("Aten‡Æo!")),NIL),(!EMPTY(DTOS(dVen3)))}) WHEN nParc3 <> 0 UPDATE REDEFINE GET oCt68 VAR nVlr3 PICTURE "@E 999,999.99" ID 68 OF oDlg2 UPDATE WHEN nParc3 <> 0 // 4¦ parcela REDEFINE GET oCt57 VAR nParc4 PICTURE "99" ID 57 OF oDlg2 WHEN nParc3 <> 0 // VALID CnkChkNum(nParc4) REDEFINE GET oCt61 VAR dEmi4 ID 61 OF oDlg2 VALID CalcVenc(dEmi4, @dVen4, nDias, 4, oDlg2) WHEN nParc4 <> 0 REDEFINE GET oCt65 VAR dVen4 ID 65 OF oDlg2 VALID EVAL({||IIF(EMPTY(DTOS(dVen4)),MsgStop(OemToAnsi("Queira informar uma data para o vencimento."),OemToAnsi("Aten‡Æo!")),NIL),(!EMPTY(DTOS(dVen4)))}) WHEN nParc4 <> 0 UPDATE REDEFINE GET oCt69 VAR nVlr4 PICTURE "@E 999,999.99" ID 69 OF oDlg2 UPDATE WHEN nParc4 <> 0 // 5¦ parcela REDEFINE GET oCt58 VAR nParc5 PICTURE "99" ID 58 OF oDlg2 WHEN nParc4 <> 0 // VALID CnkChkNum(nParc5) REDEFINE GET oCt62 VAR dEmi5 ID 62 OF oDlg2 VALID CalcVenc(dEmi5, @dVen5, nDias, 5, oDlg2) WHEN nParc5 <> 0 REDEFINE GET oCt66 VAR dVen5 ID 66 OF oDlg2 VALID EVAL({||IIF(EMPTY(DTOS(dVen5)),MsgStop(OemToAnsi("Queira informar uma data para o vencimento."),OemToAnsi("Aten‡Æo!")),NIL),(!EMPTY(DTOS(dVen5)))}) WHEN nParc5 <> 0 UPDATE REDEFINE GET oCt70 VAR nVlr5 PICTURE "@E 999,999.99" ID 70 OF oDlg2 UPDATE WHEN nParc5 <> 0 REDEFINE GET oGet06 VAR Rc_it07 ID 38 OF oDlg2 UPDATE REDEFINE GET oGet08 VAR Rc_it10 ID 42 OF oDlg2 REDEFINE GET oGet10 VAR Rc_it08 PICTURE "@E 999.99" ID 44 OF oDlg2 REDEFINE GET oGet16 VAR Rc_it14 ID 50 OF oDlg2 REDEFINE GET oGet17 VAR Rc_it15 ID 51 OF oDlg2 REDEFINE CHECKBOX oChec1 VAR Rc_it23 ID 52 OF oDlg2 nRec := 1 REDEFINE LISTBOX oBr2 ; FIELDS aArray[nRec,1],; DTOC(aArray[nRec,2]),; TRANS(aArray[nRec,3],"@E 999,999.99") ; ID 46 OF oDlg2 ; ALIAS NIL ; COLORS CLR_BLACK, 14483196 oBr2:aHeaders := {OemToAnsi("Parcela"),; OemToAnsi("Vencimento"),; OemToAnsi("Valor")} oBr2:aColSizes := {50,90,90} oBr2:bLogicLen := {|| len(aArray)} oBr2:bGoTop := {|| nRec := 1 } oBr2:bGoBottom := {|| nRec := len(aArray) } oBr2:bSkip := { | nWant, nDo | ; nDo := Min( Max( nWant, 1 - nRec ), ; Len( aArray ) - nRec ), ; nRec += nDo, nDo } REDEFINE BUTTON oBt1 ID 33 OF oDlg2 ACTION (lSave := .T. , oDlg2:End()) WHEN nParc1 <> 0 .AND. !EMPTY(Rc_it03) REDEFINE BUTTON oBt2 ID 34 OF oDlg2 ACTION (lSave := .F. , oDlg2:End()) ACTIVATE DIALOG oDlg2 CENTERED if lSave nTotPar := 0 IF nParc1 <> 0 ; nTotPar ++ ; ENDIF IF nParc2 <> 0 ; nTotPar ++ ; ENDIF IF nParc3 <> 0 ; nTotPar ++ ; ENDIF IF nParc4 <> 0 ; nTotPar ++ ; ENDIF IF nParc5 <> 0 ; nTotPar ++ ; ENDIF aCodigs := {} aParc := {} nUlt := 0 cUlt := ALLTRIM(STR(Rc_it02,6))+"/"+ALLTRIM(STR(1+nUlt,3)) FOR X := 1 TO nTotPar cUlt := ALLTRIM(STR(Rc_it02,6))+"/"+ALLTRIM(STR(X+nUlt,3)) WHILE &(oDbf)->(DBSEEK(cUlt)) nUlt ++ cUlt := ALLTRIM(STR(Rc_it02,6))+"/"+ALLTRIM(STR(X+nUlt,3)) END AADD(aCodigs,cUlt) AADD(aParc,cUlt) NEXT IF nParc1 <> 0 while ! &(oDbf)->(Rlock()) ; End &(oDbf)->(DBAPPEND()) Rc_it01 := aCodigs[1] Rc_it16 := Rc_it05 REPL &(oDbf)->CODIGO WITH Rc_it01 REPL &(oDbf)->ITEM02 WITH Rc_it02 REPL &(oDbf)->ITEM03 WITH Rc_it03 REPL &(oDbf)->ITEM04 WITH Rc_it04 REPL &(oDbf)->ITEM05 WITH Rc_it05 REPL &(oDbf)->ITEM06 WITH Rc_it06 REPL &(oDbf)->ITEM07 WITH Rc_it07 REPL &(oDbf)->ITEM08 WITH Rc_it08 REPL &(oDbf)->ITEM09 WITH Rc_it09 REPL &(oDbf)->ITEM10 WITH Rc_it10 REPL &(oDbf)->ITEM11 WITH Rc_it11 REPL &(oDbf)->ITEM12 WITH Rc_it12 REPL &(oDbf)->ITEM13 WITH Rc_it13 REPL &(oDbf)->ITEM14 WITH Rc_it14 REPL &(oDbf)->ITEM15 WITH Rc_it15 REPL &(oDbf)->ITEM16 WITH Rc_it16 REPL &(oDbf)->ITEM18 WITH Rc_it18 REPL &(oDbf)->ITEM19 WITH Rc_it19 REPL &(oDbf)->ITEM20 WITH Rc_it20 REPL &(oDbf)->ITEM21 WITH Rc_it21 REPL &(oDbf)->ITEM23 WITH Rc_it23 REPL &(oDbf)->ITEM24 WITH Rc_it24 REPL &(oDbf)->ITEM26 WITH Rc_it26 REPL &(oDbf)->ITEM27 WITH Rc_it27 REPL &(oDbf)->ITEM28 WITH Rc_it28 REPL &(oDbf)->ITEM29 WITH Rc_it29 REPL &(oDbf)->ITEM30 WITH Rc_it30 REPL &(oDbf)->ITEM31 WITH Rc_it31 REPL &(oDbf)->ITEM32 WITH Rc_it32 REPL &(oDbf)->QTDPAR WITH nTotPar REPL &(oDbf)->NUMPAR WITH nParc1 ENDIF IF nParc2 <> 0 while ! &(oDbf)->(Rlock()) ; End &(oDbf)->(DBAPPEND()) Rc_it01 := aCodigs[2] Rc_it16 := nVlr2 REPL &(oDbf)->CODIGO WITH Rc_it01 REPL &(oDbf)->ITEM02 WITH Rc_it02 REPL &(oDbf)->ITEM03 WITH Rc_it03 REPL &(oDbf)->ITEM04 WITH dEmi2 REPL &(oDbf)->ITEM05 WITH nVlr2 REPL &(oDbf)->ITEM06 WITH dVen2 REPL &(oDbf)->ITEM07 WITH Rc_it07 REPL &(oDbf)->ITEM08 WITH Rc_it08 REPL &(oDbf)->ITEM09 WITH Rc_it09 REPL &(oDbf)->ITEM10 WITH Rc_it10 REPL &(oDbf)->ITEM11 WITH Rc_it11 REPL &(oDbf)->ITEM12 WITH Rc_it12 REPL &(oDbf)->ITEM13 WITH Rc_it13 REPL &(oDbf)->ITEM14 WITH Rc_it14 REPL &(oDbf)->ITEM15 WITH Rc_it15 REPL &(oDbf)->ITEM16 WITH nVlr2 REPL &(oDbf)->ITEM18 WITH Rc_it18 REPL &(oDbf)->ITEM19 WITH Rc_it19 REPL &(oDbf)->ITEM20 WITH Rc_it20 REPL &(oDbf)->ITEM21 WITH Rc_it21 REPL &(oDbf)->ITEM23 WITH Rc_it23 REPL &(oDbf)->ITEM24 WITH Rc_it24 REPL &(oDbf)->ITEM26 WITH Rc_it26 REPL &(oDbf)->ITEM27 WITH Rc_it27 REPL &(oDbf)->ITEM28 WITH Rc_it28 REPL &(oDbf)->ITEM29 WITH Rc_it29 REPL &(oDbf)->ITEM30 WITH Rc_it30 REPL &(oDbf)->ITEM31 WITH Rc_it31 REPL &(oDbf)->ITEM32 WITH Rc_it32 REPL &(oDbf)->QTDPAR WITH nTotPar REPL &(oDbf)->NUMPAR WITH nParc2 ENDIF IF nParc3 <> 0 while ! &(oDbf)->(Rlock()) ; End &(oDbf)->(DBAPPEND()) Rc_it01 := aCodigs[3] Rc_it16 := nVlr3 REPL &(oDbf)->CODIGO WITH Rc_it01 REPL &(oDbf)->ITEM02 WITH Rc_it02 REPL &(oDbf)->ITEM03 WITH Rc_it03 REPL &(oDbf)->ITEM04 WITH dEmi3 REPL &(oDbf)->ITEM05 WITH nVlr3 REPL &(oDbf)->ITEM06 WITH dVen3 REPL &(oDbf)->ITEM07 WITH Rc_it07 REPL &(oDbf)->ITEM08 WITH Rc_it08 REPL &(oDbf)->ITEM09 WITH Rc_it09 REPL &(oDbf)->ITEM10 WITH Rc_it10 REPL &(oDbf)->ITEM11 WITH Rc_it11 REPL &(oDbf)->ITEM12 WITH Rc_it12 REPL &(oDbf)->ITEM13 WITH Rc_it13 REPL &(oDbf)->ITEM14 WITH Rc_it14 REPL &(oDbf)->ITEM15 WITH Rc_it15 REPL &(oDbf)->ITEM16 WITH nVlr3 REPL &(oDbf)->ITEM18 WITH Rc_it18 REPL &(oDbf)->ITEM19 WITH Rc_it19 REPL &(oDbf)->ITEM20 WITH Rc_it20 REPL &(oDbf)->ITEM21 WITH Rc_it21 REPL &(oDbf)->ITEM23 WITH Rc_it23 REPL &(oDbf)->ITEM24 WITH Rc_it24 REPL &(oDbf)->ITEM26 WITH Rc_it26 REPL &(oDbf)->ITEM27 WITH Rc_it27 REPL &(oDbf)->ITEM28 WITH Rc_it28 REPL &(oDbf)->ITEM29 WITH Rc_it29 REPL &(oDbf)->ITEM30 WITH Rc_it30 REPL &(oDbf)->ITEM31 WITH Rc_it31 REPL &(oDbf)->ITEM32 WITH Rc_it32 REPL &(oDbf)->QTDPAR WITH nTotPar REPL &(oDbf)->NUMPAR WITH nParc3 ENDIF IF nParc4 <> 0 while ! &(oDbf)->(Rlock()) ; End &(oDbf)->(DBAPPEND()) Rc_it01 := aCodigs[4] Rc_it16 := nVlr4 REPL &(oDbf)->CODIGO WITH Rc_it01 REPL &(oDbf)->ITEM02 WITH Rc_it02 REPL &(oDbf)->ITEM03 WITH Rc_it03 REPL &(oDbf)->ITEM04 WITH dEmi4 REPL &(oDbf)->ITEM05 WITH nVlr4 REPL &(oDbf)->ITEM06 WITH dVen4 REPL &(oDbf)->ITEM07 WITH Rc_it07 REPL &(oDbf)->ITEM08 WITH Rc_it08 REPL &(oDbf)->ITEM09 WITH Rc_it09 REPL &(oDbf)->ITEM10 WITH Rc_it10 REPL &(oDbf)->ITEM11 WITH Rc_it11 REPL &(oDbf)->ITEM12 WITH Rc_it12 REPL &(oDbf)->ITEM13 WITH Rc_it13 REPL &(oDbf)->ITEM14 WITH Rc_it14 REPL &(oDbf)->ITEM15 WITH Rc_it15 REPL &(oDbf)->ITEM16 WITH nVlr4 REPL &(oDbf)->ITEM18 WITH Rc_it18 REPL &(oDbf)->ITEM19 WITH Rc_it19 REPL &(oDbf)->ITEM20 WITH Rc_it20 REPL &(oDbf)->ITEM21 WITH Rc_it21 REPL &(oDbf)->ITEM23 WITH Rc_it23 REPL &(oDbf)->ITEM24 WITH Rc_it24 REPL &(oDbf)->ITEM26 WITH Rc_it26 REPL &(oDbf)->ITEM27 WITH Rc_it27 REPL &(oDbf)->ITEM28 WITH Rc_it28 REPL &(oDbf)->ITEM29 WITH Rc_it29 REPL &(oDbf)->ITEM30 WITH Rc_it30 REPL &(oDbf)->ITEM31 WITH Rc_it31 REPL &(oDbf)->ITEM32 WITH Rc_it32 REPL &(oDbf)->QTDPAR WITH nTotPar REPL &(oDbf)->NUMPAR WITH nParc4 ENDIF IF nParc5 <> 0 while ! &(oDbf)->(Rlock()) ; End &(oDbf)->(DBAPPEND()) Rc_it01 := aCodigs[5] Rc_it16 := nVlr5 REPL &(oDbf)->CODIGO WITH Rc_it01 REPL &(oDbf)->ITEM02 WITH Rc_it02 REPL &(oDbf)->ITEM03 WITH Rc_it03 REPL &(oDbf)->ITEM04 WITH dEmi5 REPL &(oDbf)->ITEM05 WITH nVlr5 REPL &(oDbf)->ITEM06 WITH dVen5 REPL &(oDbf)->ITEM07 WITH Rc_it07 REPL &(oDbf)->ITEM08 WITH Rc_it08 REPL &(oDbf)->ITEM09 WITH Rc_it09 REPL &(oDbf)->ITEM10 WITH Rc_it10 REPL &(oDbf)->ITEM11 WITH Rc_it11 REPL &(oDbf)->ITEM12 WITH Rc_it12 REPL &(oDbf)->ITEM13 WITH Rc_it13 REPL &(oDbf)->ITEM14 WITH Rc_it14 REPL &(oDbf)->ITEM15 WITH Rc_it15 REPL &(oDbf)->ITEM16 WITH nVlr5 REPL &(oDbf)->ITEM18 WITH Rc_it18 REPL &(oDbf)->ITEM19 WITH Rc_it19 REPL &(oDbf)->ITEM20 WITH Rc_it20 REPL &(oDbf)->ITEM21 WITH Rc_it21 REPL &(oDbf)->ITEM23 WITH Rc_it23 REPL &(oDbf)->ITEM24 WITH Rc_it24 REPL &(oDbf)->ITEM26 WITH Rc_it26 REPL &(oDbf)->ITEM27 WITH Rc_it27 REPL &(oDbf)->ITEM28 WITH Rc_it28 REPL &(oDbf)->ITEM29 WITH Rc_it29 REPL &(oDbf)->ITEM30 WITH Rc_it30 REPL &(oDbf)->ITEM31 WITH Rc_it31 REPL &(oDbf)->ITEM32 WITH Rc_it32 REPL &(oDbf)->QTDPAR WITH nTotPar REPL &(oDbf)->NUMPAR WITH nParc5 ENDIF &(oDbf)->(DBCOMMITALL()) &(oDbf)->(DbUnlockALL()) nOldRec := &(oDbf)->(RECNO()) IF mTp = 1 IF MsgYesNo("Gostaria de imprimir a NOTA PROMISSÓRIA?", OemToAnsi("Imprimir")) ImpNotPro() ENDIF ENDIF ENDIF SETKEY( VK_F6, {} ) &(oDbf)->(DBGOTO(nOldRec)) IF oCntLis <> NIL oCntLis:UpStable() oCntLis:Refresh() ENDIF return nil //-------------------------------------------------------------------------// static function AlteConta( oCntLis, lAppend, mTp, nRow, nCol ) local oBtn, oSay, MyDb, oCbx local lSave := .f. local nOldRec := RecNo() PUBLIC oDlg2 nDias := 0 CursorWait() IF lAppend Rc_it24 := "GERAL " RcQtPar := 1 RcNmPar := 1 GO BOTT SKIP ELSE RcQtPar := &(oDbf)->QTDPAR RcNmPar := &(oDbf)->NUMPAR ENDIF Rc_it01 := &(oDbf)->CODIGO Rc_it02 := &(oDbf)->ITEM02 Rc_it03 := &(oDbf)->ITEM03 Rc_it04 := &(oDbf)->ITEM04 Rc_it05 := &(oDbf)->ITEM05 Rc_it06 := &(oDbf)->ITEM06 Rc_it07 := &(oDbf)->ITEM07 Rc_it08 := &(oDbf)->ITEM08 Rc_it09 := &(oDbf)->ITEM09 Rc_it10 := &(oDbf)->ITEM10 Rc_it11 := &(oDbf)->ITEM11 Rc_it12 := &(oDbf)->ITEM12 Rc_it13 := &(oDbf)->ITEM13 Rc_it14 := &(oDbf)->ITEM14 Rc_it15 := &(oDbf)->ITEM15 Rc_it16 := &(oDbf)->ITEM16 Rc_it18 := &(oDbf)->ITEM18 Rc_it19 := &(oDbf)->ITEM19 Rc_it20 := &(oDbf)->ITEM20 Rc_it23 := &(oDbf)->ITEM23 Rc_it24 := &(oDbf)->ITEM24 Rc_it26 := &(oDbf)->ITEM26 Rc_it27 := &(oDbf)->ITEM27 Rc_it28 := &(oDbf)->ITEM28 Rc_it29 := &(oDbf)->ITEM29 Rc_it30 := &(oDbf)->ITEM30 Rc_it31 := &(oDbf)->ITEM31 Rc_it32 := &(oDbf)->ITEM32 DEFINE DIALOG oDlg2 RESOURCE "CAD_CNT" TITLE If( lAppend, "Cadastro de Contas"+CntTip(mTp), "Alteração de Contas"+CntTip(mTp) ) REDEFINE GET oGet01 VAR Rc_it01 ID 35 OF oDlg2 READONLY IF mTp=1 .OR. mTp=2 REDEFINE SAY oSay1 PROMPT OemToAnsi("C¢d. Cliente -> Nome") ID -2 OF oDlg2 REDEFINE SAY oSay2 PROMPT OemToAnsi("Vendedor") ID -3 OF oDlg2 ELSE REDEFINE SAY oSay1 PROMPT OemToAnsi("C¢d. Fornecedor -> Nome") ID -2 OF oDlg2 REDEFINE SAY oSay2 PROMPT OemToAnsi("Contato") ID -3 OF oDlg2 ENDIF REDEFINE GET oGet02 VAR Rc_it02 PICTURE "99999999" ID 36 OF oDlg2 READONLY REDEFINE GET oGet03 VAR Rc_it03 ID 37 OF oDlg2 UPDATE REDEFINE BTNBMP oBtb ID 55 OF oDlg2 FILE ".\BITMAPS\NOVO.BMP" WHEN .F. REDEFINE GET oGet04 VAR Rc_it09 ID 39 OF oDlg2 UPDATE REDEFINE GET oGet05 VAR Rc_it04 ID 40 OF oDlg2 VALID EVAL({||IIF(EMPTY(DTOS(Rc_it04)),MsgStop(OemToAnsi("Queira informar uma data para o vencimento."),OemToAnsi("Aten‡Æo!")),NIL),(!EMPTY(DTOS(Rc_it04)))}) REDEFINE GET oGet06 VAR Rc_it07 ID 38 OF oDlg2 UPDATE REDEFINE GET oGet07 VAR Rc_it06 ID 41 OF oDlg2 UPDATE VALID EVAL({||IIF(EMPTY(DTOS(Rc_it06)),MsgStop(OemToAnsi("Queira informar uma data para o vencimento."),OemToAnsi("Aten‡Æo!")),NIL),(!EMPTY(DTOS(Rc_it06)))}) REDEFINE GET oGet08 VAR Rc_it10 ID 42 OF oDlg2 REDEFINE GET oGet09 VAR Rc_it05 PICTURE "@E 999,999.99" ID 43 OF oDlg2 Valid RcPriCal(oDlg2) UPDATE REDEFINE GET oGet10 VAR Rc_it08 PICTURE "@E 999.99" ID 44 OF oDlg2 REDEFINE GET oGet11 VAR Rc_it11 ID 45 OF oDlg2 REDEFINE GET oGet12 VAR Rc_it12 PICTURE "@E 999,999.99" ID 46 OF oDlg2 VALID RcPriCal(oDlg2) REDEFINE GET oGet13 VAR Rc_it18 PICTURE "@E 999,999.99" ID 47 OF oDlg2 VALID RcPriCal(oDlg2) REDEFINE GET oGet14 VAR Rc_it16 PICTURE "@E 999,999.99" ID 48 OF oDlg2 VALID RcPriCal(oDlg2) UPDATE REDEFINE GET oGet15 VAR Rc_it19 ID 49 OF oDlg2 REDEFINE GET oGet16 VAR Rc_it14 ID 50 OF oDlg2 REDEFINE GET oGet17 VAR Rc_it15 ID 51 OF oDlg2 REDEFINE CHECKBOX oChec1 VAR Rc_it23 ID 52 OF oDlg2 REDEFINE BUTTON oBt1 ID 33 OF oDlg2 ACTION (lSave := .T. , oDlg2:End()) WHEN !EMPTY(Rc_it01) .AND. !EMPTY(Rc_it03) REDEFINE BUTTON oBt2 ID 34 OF oDlg2 ACTION (lSave := .F. , oDlg2:End()) ACTIVATE DIALOG oDlg2 CENTERED if lSave while ! &(oDbf)->(Rlock()) ; End if lAppend &(oDbf)->(DBAPPEND()) endif REPL &(oDbf)->CODIGO WITH Rc_it01 REPL &(oDbf)->ITEM02 WITH Rc_it02 REPL &(oDbf)->ITEM03 WITH Rc_it03 REPL &(oDbf)->ITEM04 WITH Rc_it04 REPL &(oDbf)->ITEM05 WITH Rc_it05 REPL &(oDbf)->ITEM06 WITH Rc_it06 REPL &(oDbf)->ITEM07 WITH Rc_it07 REPL &(oDbf)->ITEM08 WITH Rc_it08 REPL &(oDbf)->ITEM09 WITH Rc_it09 REPL &(oDbf)->ITEM10 WITH Rc_it10 REPL &(oDbf)->ITEM11 WITH Rc_it11 REPL &(oDbf)->ITEM12 WITH Rc_it12 REPL &(oDbf)->ITEM13 WITH Rc_it13 REPL &(oDbf)->ITEM14 WITH Rc_it14 REPL &(oDbf)->ITEM15 WITH Rc_it15 REPL &(oDbf)->ITEM16 WITH Rc_it16 REPL &(oDbf)->ITEM18 WITH Rc_it18 REPL &(oDbf)->ITEM19 WITH Rc_it19 REPL &(oDbf)->ITEM20 WITH Rc_it20 REPL &(oDbf)->ITEM23 WITH Rc_it23 REPL &(oDbf)->ITEM24 WITH Rc_it24 REPL &(oDbf)->ITEM26 WITH Rc_it26 REPL &(oDbf)->ITEM27 WITH Rc_it27 REPL &(oDbf)->ITEM28 WITH Rc_it28 REPL &(oDbf)->ITEM29 WITH Rc_it29 REPL &(oDbf)->ITEM30 WITH Rc_it30 REPL &(oDbf)->ITEM31 WITH Rc_it31 REPL &(oDbf)->ITEM32 WITH Rc_it32 &(oDbf)->(DBCOMMITALL()) &(oDbf)->(DbUnlockALL()) nOldRec := &(oDbf)->(RECNO()) endif &(oDbf)->(DBGOTO(nOldRec)) oCntLis:UpStable() oCntLis:Refresh() return nil //---------------------------------------------------------------------------// STATIC FUNCTION CnkChkNum(cCodigo) LOCAL lOk := .T. SET ORDER TO 1 SEEK cCodigo IF FOUND() MsgStop(OemToAnsi("Este n£mero j existe."),OemToAnsi("Aten‡Æo!")) lOk := .F. ENDIF RETURN(lOk) //---------------------------------------------------------------------------// STATIC FUNCTION DelConta(oCntLis,mTp) LOCAL MyDb := SELECT() LOCAL nNdoc1 := SPACE(10), nVpar1 := 0, dVenc1 := CTOD(" "),; nNdoc2 := SPACE(10), nVpar2 := 0, dVenc2 := CTOD(" "),; nNdoc3 := SPACE(10), nVpar3 := 0, dVenc3 := CTOD(" "),; nNdoc4 := SPACE(10), nVpar4 := 0, dVenc4 := CTOD(" "),; nNdoc5 := SPACE(10), nVpar5 := 0, dVenc5 := CTOD(" "),; nNdoc6 := SPACE(10), nVpar6 := 0, dVenc6 := CTOD(" ") PUBLIC nDoc := &(oDbf)->CODIGO lConf := .F. nNdoc1 := &(oDbf)->CODIGO nVpar1 := &(oDbf)->ITEM05 dVenc1 := &(oDbf)->ITEM06 vIt01 := &(oDbf)->ITEM02 // Cod.Cliente DEFINE DIALOG oIPAR RESOURCE "IMPRPARC" TITLE OemToAnsi("ExclusÆo de parcelas") REDEFINE GET oNdoc1 VAR nNdoc1 ID 101 OF oIPAR VALID ChkParOk(nNdoc1, @nVpar1, @dVenc1, vIt01, @oIPAR) REDEFINE GET oVpar1 VAR nVpar1 PICTURE "@E 999,999.99" ID 102 OF oIPAR UPDATE REDEFINE GET oVenc1 VAR dVenc1 ID 103 OF oIPAR UPDATE REDEFINE GET oNdoc2 VAR nNdoc2 ID 104 OF oIPAR VALID ChkParOk(nNdoc2, @nVpar2, @dVenc2, vIt01, @oIPAR) REDEFINE GET oVpar2 VAR nVpar2 PICTURE "@E 999,999.99" ID 105 OF oIPAR UPDATE REDEFINE GET oVenc2 VAR dVenc2 ID 106 OF oIPAR UPDATE REDEFINE GET oNdoc3 VAR nNdoc3 ID 107 OF oIPAR VALID ChkParOk(nNdoc3, @nVpar3, @dVenc3, vIt01, @oIPAR) REDEFINE GET oVpar3 VAR nVpar3 PICTURE "@E 999,999.99" ID 108 OF oIPAR UPDATE REDEFINE GET oVenc3 VAR dVenc3 ID 109 OF oIPAR UPDATE REDEFINE GET oNdoc4 VAR nNdoc4 ID 110 OF oIPAR VALID ChkParOk(nNdoc4, @nVpar4, @dVenc4, vIt01, @oIPAR) REDEFINE GET oVpar4 VAR nVpar4 PICTURE "@E 999,999.99" ID 111 OF oIPAR UPDATE REDEFINE GET oVenc4 VAR dVenc4 ID 112 OF oIPAR UPDATE REDEFINE GET oNdoc5 VAR nNdoc5 ID 113 OF oIPAR VALID ChkParOk(nNdoc5, @nVpar5, @dVenc5, vIt01, @oIPAR) REDEFINE GET oVpar5 VAR nVpar5 PICTURE "@E 999,999.99" ID 114 OF oIPAR UPDATE REDEFINE GET oVenc5 VAR dVenc5 ID 115 OF oIPAR UPDATE REDEFINE GET oNdoc6 VAR nNdoc6 ID 116 OF oIPAR VALID ChkParOk(nNdoc6, @nVpar6, @dVenc6, vIt01, @oIPAR) REDEFINE GET oVpar6 VAR nVpar6 PICTURE "@E 999,999.99" ID 117 OF oIPAR UPDATE REDEFINE GET oVenc6 VAR dVenc6 ID 118 OF oIPAR UPDATE REDEFINE BUTTON oBtn ID 119 OF oIPAR ACTION (lConf := .T., oIPAR:End()) ACTIVATE DIALOG oIPAR CENTERED IF ! lConf SELECT(MyDb) RETURN NIL ENDIF aParc := {} IF ! EMPTY(nNdoc1) ; AADD(aParc, nNdoc1) ; ENDIF IF ! EMPTY(nNdoc2) ; AADD(aParc, nNdoc2) ; ENDIF IF ! EMPTY(nNdoc3) ; AADD(aParc, nNdoc3) ; ENDIF IF ! EMPTY(nNdoc4) ; AADD(aParc, nNdoc4) ; ENDIF IF ! EMPTY(nNdoc5) ; AADD(aParc, nNdoc5) ; ENDIF IF ! EMPTY(nNdoc6) ; AADD(aParc, nNdoc6) ; ENDIF IF LEN(aParc) > 0 FOR Y := 1 TO LEN(aParc) IF &(oDbf)->(DBSEEK(aParc[Y])) WHILE ! &(oDbf)->(RLOCK()) ; END &(oDbf)->(DBDELETE()) &(oDbf)->(dbCommitAll()) &(oDbf)->(dbUnlockAll()) SysRefresh() IF mTp = 2 MyDb := SELECT() SELECT 5 CAIXA->(DBSETORDER(3)) WHILE CAIXA->(DBSEEK("RECEB. DUPLICATA "+aParc[Y])) WHILE ! CAIXA->(RLOCK()) ; END CAIXA->(DBDELETE()) END CAIXA->(dbCommitAll()) CAIXA->(dbUnlockAll()) USE RELATDIA SHARED NEW ordListClear() OrdListAdd("RELATDIA","RDIACODI", "RDIACLIE", "RDIAVENC", "RDIAEMIS") WHILE CAIXA->(DBSEEK(aParc[Y])) WHILE ! RELATDIA->(RLOCK()) ; END RELATDIA->(DBDELETE()) END CLOSE RELATDIA ENDIF ENDIF NEXT SysRefresh() SELECT(MyDb) ENDIF oCntLis:Refresh() // Repaint the ListBox RETURN NIL //----------------------------------------------------------------------------// static function CntFilter(oCntLis, oDlg, lGet) LOCAL oDlg4 PUBLIC wCred store space(30) to cfNom, cfVdr, wCred store ctod(" ") to wdte1, wdte2, wdtV1, wdtV2, wDtp1, wDtp2 wfil := "" IF lGet DEFINE DIALOG oDlg4 RESOURCE "FILT_CNT" REDEFINE GET oG01 VAR cfNom ID 35 OF oDlg4 REDEFINE GET oG02 VAR cfVdr ID 36 OF oDlg4 REDEFINE GET oG03 VAR wdte1 ID 37 OF oDlg4 REDEFINE GET oG04 VAR wdte2 ID 39 OF oDlg4 when dtoc(wdte1)#" / / " VALID P_needed(wdte2) REDEFINE GET oG05 VAR wdtv1 ID 40 OF oDlg4 REDEFINE GET oG06 VAR wdtv2 ID 38 OF oDlg4 when dtoc(wdtv1)#" / / " VALID P_needed(wdtv2) REDEFINE GET oG07 VAR wDtp1 ID 41 OF oDlg4 REDEFINE GET oG08 VAR wDtp2 ID 42 OF oDlg4 when dtoc(wdtp1)#" / / " VALID P_needed(wdtp2) REDEFINE BUTTON oBt1 ID 33 OF oDlg4 ACTION oDlg4:End() ACTIVATE DIALOG oDlg4 CENTER IF ! EMPTY(cfNom) wfil:="ITEM03=ALLTRIM(cfNom)" ENDI IF ! EMPTY(cfVdr) IF ! EMPTY(wfil) ; wfil+=" .AND. " ; ENDI wfil+="UPPER(ITEM09)=ALLTRIM(cfVdr)" ENDI IF dtoc(wdtv2)#" / / " IF ! EMPTY(wfil) ; wfil+=" .AND. " ; ENDI wfil+="ITEM06>=wdtv1 .AND. ITEM06 <= wdtv2" ENDI IF dtoc(wdte2)#" / / " IF ! EMPTY(wfil) ; wfil+=" .AND. " ; ENDI wfil+="ITEM04 >= wdte1 .AND. ITEM04 <= wdte2" ENDI IF dtoc(wdtp2)#" / / " IF ! EMPTY(wfil) ; wfil+=" .AND. " ; ENDI wfil+="ITEM11 >= wdtp1 .AND. ITEM11 <= wdtp2" ENDI SET FILTER TO IF ! EMPTY(wfil) SET FILTER TO &wfil ENDI ENDIF &(oDbf)->(DBGOTOP()) wvlbr := 0 wvlpg := 0 wvlju := 0 wvlds := 0 MsgRun( "Processando valores...", "Aguarde...",; {|| DBEVAL({|| (wvlbr := wvlbr + &(oDbf)->ITEM05,; wvlpg := wvlpg + &(oDbf)->ITEM12,; wvlju := wvlju + &(oDbf)->ITEM13,; wvlds := wvlds + &(oDbf)->ITEM18 ; )}, NIL, NIL, NIL, NIL, NIL, NIL, .F.) }) &(oDbf)->(DBGOTOP()) wvltt:=wvlbr-(wvlpg+wvlds) wvlpg:=wvlpg+wvlds if wvltt < 0 ; wvltt := 0 ; endif oCntLis:Upstable() oCntLis:Refresh() oDlg:UpDate() return nil ****************************************************************************** FUNCTION CntTip(mTp) LOCAL mTit := "" IF mTp = 1 ; mTit := " a Receber" ELSEIF mTp = 2 ; mTit := " Recebidas" ELSEIF mTp = 3 ; mTit := " a Pagar" ELSEIF mTp = 4 ; mTit := " Pagas" ENDIF RETURN mTit ******************************* Vari veis ************************************ FUNCTION RECEVarl() // LOCAL nRecNr := &(oDbf)->(RecNo()) PUBLIC Rc_it01,Rc_it02,Rc_it03,Rc_it04,Rc_it05,Rc_it06,Rc_it07,Rc_it08, Rc_it09,Rc_it10,Rc_it11,; Rc_it12,Rc_it13,Rc_it14,Rc_it15,Rc_it16,Rc_it18,Rc_it19,Rc_it20,; Rc_it21,Rc_it22,Rc_it23,Rc_it24,Rc_it26,Rc_it27,Rc_it28,; Rc_it29,Rc_it30,Rc_it31,Rc_it32,RcQtPar,RcNmPar Publ wdte1, wdte2, wdtv1, wdtv2, wvlbr:=0, wvlpg:=0,; wvltt:=0, wfil:="", wvend:="", wvlds:=0, wDtRc store space(30) to cfNom, cfVdr store ctod(" ") to wdte1, wdte2, wdtV1, wdtV2, wDtRc &(oDbf)->(dbGoBottom()) &(oDbf)->(dbSkip(1)) Rc_it01 := &(oDbf)->CODIGO Rc_it02 := &(oDbf)->ITEM02 Rc_it03 := &(oDbf)->ITEM03 Rc_it04 := &(oDbf)->ITEM04 Rc_it05 := &(oDbf)->ITEM05 Rc_it06 := &(oDbf)->ITEM06 Rc_it07 := &(oDbf)->ITEM07 Rc_it08 := &(oDbf)->ITEM08 Rc_it09 := &(oDbf)->ITEM09 Rc_it10 := &(oDbf)->ITEM10 Rc_it11 := &(oDbf)->ITEM11 Rc_it12 := &(oDbf)->ITEM12 Rc_it13 := &(oDbf)->ITEM13 Rc_it14 := &(oDbf)->ITEM14 Rc_it15 := &(oDbf)->ITEM15 Rc_it16 := &(oDbf)->ITEM16 Rc_it18 := &(oDbf)->ITEM18 Rc_it19 := &(oDbf)->ITEM19 Rc_it20 := &(oDbf)->ITEM20 Rc_it21 := &(oDbf)->ITEM21 Rc_it22 := &(oDbf)->ITEM22 Rc_it23 := &(oDbf)->ITEM23 Rc_it24 := &(oDbf)->ITEM24 Rc_it26 := &(oDbf)->ITEM26 Rc_it27 := &(oDbf)->ITEM27 Rc_it28 := &(oDbf)->ITEM28 Rc_it29 := &(oDbf)->ITEM29 Rc_it30 := &(oDbf)->ITEM30 Rc_it31 := &(oDbf)->ITEM31 Rc_it32 := &(oDbf)->ITEM32 RcQtPar := &(oDbf)->QTDPAR RcNmPar := &(oDbf)->NUMPAR //&(oDbf)->(dbGoTo(nRecNr)) RETU NIL ******************************* Calculo do Cadastro/altera‡Æo **************** FUNCTION RcPriCal(oDlg2) Rc_it16 := (Rc_it05+Rc_it13)-(Rc_it12+Rc_it18) oDlg2:Update() RETU .T. /////////////////////////////////// STATIC FUNCTION CntTotais(oDlg) wvlbr := 0 wvlpg := 0 wvlju := 0 wvlds := 0 * nOldRec := &(oDbf)->(RECNO()) * MsgRun( "Processando valores...", "Aguarde...",; * {|| DBEVAL({|| (wvlbr := wvlbr + &(oDbf)->ITEM05,; * wvlpg := wvlpg + &(oDbf)->ITEM12,; * wvlju := wvlju + &(oDbf)->ITEM13,; * wvlds := wvlds + &(oDbf)->ITEM18 ; * )}, NIL, NIL, NIL, NIL, NIL, NIL, .F.) }) wvltt:=wvlbr-(wvlpg+wvlds) if wvltt < 0 ; wvltt := 0 ; endif wvlpg:=wvlpg+wvlds * &(oDbf)->(DBGOTO(nOldRec)) IF oDlg <> NIL oDlg:Update() ENDIF RETURN .T. ******************************* Calculo do recebido ************************** FUNCTION ArcClc(Rc_12,Rc_18,oDlg3) LOCAL nIt16, nJuro Rc_it12 := (Rc_12+&(oDbf)->ITEM12) Rc_it18 := (Rc_18+&(oDbf)->ITEM18) nIt16 := &(oDbf)->ITEM16 nJuro := 0 // Calcular juros mTotDia := (Date() - &(oDbf)->item06) IF mTotDia > 5 IF ! lCaptal Rc_it13 := ((&(oDbf)->ITEM16/100) * (Rc_it08/30)) * mTotDia nIt16 := (&(oDbf)->ITEM16+Rc_it13) // Valor a receber nJuro += Rc_it13 ELSE nMes := INT(mTotDia/30) nDia := MOD(mTotDia,30) IF nMes > 0 FOR NZ := 1 TO nMes Rc_it13 := ((nIt16/100) * Rc_it08) nIt16 := nIt16 + Rc_it13 nJuro += Rc_it13 NEXT ENDIF Rc_it13 := ((nIt16/100) * (Rc_it08/30)) * nDia nIt16 := nIt16 + Rc_it13 nJuro += Rc_it13 ENDIF ENDIF Rc_it13 := nJuro nTatApg := nIt16 Rc_it16 := (nTatApg - (Rc_12+Rc_18)) IF Rc_it16 < 0 Rc_it16:=0 ENDI oDlg3:Update() RETU .T. ////////////////////////////// STATIC FUNCTION recedados() Rc_it01 := &(oDbf)->CODIGO Rc_it02 := &(oDbf)->ITEM02 Rc_it03 := &(oDbf)->ITEM03 Rc_it04 := &(oDbf)->ITEM04 Rc_it05 := &(oDbf)->ITEM05 Rc_it06 := &(oDbf)->ITEM06 Rc_it07 := &(oDbf)->ITEM07 Rc_it08 := &(oDbf)->ITEM08 Rc_it09 := &(oDbf)->ITEM09 Rc_it10 := &(oDbf)->ITEM10 Rc_it11 := &(oDbf)->ITEM11 Rc_it12 := &(oDbf)->ITEM12 Rc_it13 := &(oDbf)->ITEM13 Rc_it14 := &(oDbf)->ITEM14 Rc_it15 := &(oDbf)->ITEM15 Rc_it16 := &(oDbf)->ITEM16 Rc_it18 := &(oDbf)->ITEM18 Rc_it19 := &(oDbf)->ITEM19 Rc_it20 := &(oDbf)->ITEM20 Rc_it21 := &(oDbf)->ITEM21 Rc_it22 := &(oDbf)->ITEM22 Rc_it23 := &(oDbf)->ITEM23 Rc_it24 := &(oDbf)->ITEM24 Rc_it26 := &(oDbf)->ITEM26 Rc_it27 := &(oDbf)->ITEM27 Rc_it28 := &(oDbf)->ITEM28 Rc_it29 := &(oDbf)->ITEM29 Rc_it30 := &(oDbf)->ITEM30 Rc_it31 := &(oDbf)->ITEM31 Rc_it32 := &(oDbf)->ITEM32 RcQtPar := &(oDbf)->QTDPAR RcNmPar := &(oDbf)->NUMPAR RETURN NIL ////////////////////////////// STATIC FUNCTION CntSeekCod(Rc_it02, Rc_it03, oDlg2, mTp) local oDbf2, bFields, aHeaders LOCAL cTitle := "Pesquisa de "+IIF( mTp=1 .or. mTp=2,"Clientes","Fornecedores") IF Rc_it02 = 0 Rc_it03 := SPACE(40) oDlg2:UpDate() RETURN .T. ENDIF oDbf2 := Select() IF mTp=1 .or. mTp=2 aHeaders := { 'Código','Nome','Fantasia' } SELECT 6 bFields := {|| { STRZERO(CLIENTE->CODIGO,5),; CLIENTE->ITEM02,; CLIENTE->ITEM03 }} ELSE aHeaders := { 'Código','Nome','Contato' } USE FORNECED SHARED NEW ordListClear() OrdListAdd("FORNECED","FORNCODI", "FORNNOME", "FORNFANT") bFields := {|| { STRZERO(FORNECED->CODIGO,4),; FORNECED->ITEM02,; FORNECED->ITEM03 }} ENDIF lOk := .T. if ! DbSeek( Rc_it02 ) IF mTp=1 .or. mTp=2 lOk := Search( cTitle, bFields, aHeaders, oDlg2, "CLIENTE",; "CLIENTE->ITEM02", "CLIENTE->CODIGO", "CLIENTE->ITEM03",; "Nome:", "Codigo:", "Fantasia") ELSE lOk := Search( cTitle, bFields, aHeaders, oDlg2, "FORNECED",; "FORNECED->ITEM02", "FORNECED->CODIGO",NIL,; "Nome:", "Codigo:", NIL ) ENDIF endif IF mTp=1 .or. mTp=2 Rc_it02 := CLIENTE->CODIGO Rc_it03 := CLIENTE->ITEM02 Rc_it09 := cOper // Vendedor nDias := 30 vIt01 := CLIENTE->CODIGO vIt02 := CLIENTE->ITEM02 vIt03 := CLIENTE->ITEM03 vIt04 := CLIENTE->ITEM04 vIt05 := CLIENTE->ITEM08 vIt06 := ALLTRIM(CLIENTE->ITEM05)+"-"+CLIENTE->ITEM06 vIt07 := CLIENTE->ITEM09 vIt08 := CLIENTE->ITEM11 vIt09 := CLIENTE->ITEM10 Rc_it26 := CLIENTE->ITEM03 Rc_it27 := CLIENTE->ITEM04 Rc_it28 := CLIENTE->ITEM08 Rc_it29 := ALLTRIM(CLIENTE->ITEM05)+"-"+CLIENTE->ITEM06 Rc_it30 := CLIENTE->ITEM09 Rc_it31 := CLIENTE->ITEM11 Rc_it32 := CLIENTE->ITEM10 CLIENTE->(DBCLEARFIL(NIL)) CLIENTE->(DBGOTOP()) ELSE Rc_it02 := FORNECED->CODIGO Rc_it03 := FORNECED->ITEM02 Rc_it09 := FORNECED->ITEM03 // Contato nDias := 0 CLOSE FORNECED ENDIF Select(oDbf2) oDlg2:UpDate() RETURN .T. **+-+**+-+**+-+**+-+**+-+**+-+**+-+**+-+**+-+**+-+**+-+**+-+**+-+**+-+**+-+** FUNCTION SetParcel(Rc_it02, aArray, oBr2, mTp) aArray := {} IF mTp=1 .OR. mTp=3 &(oDbf)->(DBSETORDER(4)) IF &(oDbf)->(DBSEEK(Rc_it02)) WHILE ! &(oDbf)->(EOF()) IF &(oDbf)->ITEM02 = Rc_it02 AADD(aArray,{STRZERO(&(oDbf)->NUMPAR,2),&(oDbf)->ITEM06,&(oDbf)->ITEM05}) ENDIF &(oDbf)->(DBSKIP(1)) END ENDIF &(oDbf)->(DBSETORDER(1)) &(oDbf)->(DBGOBOTTOM()) &(oDbf)->(DBSKIP(1)) ENDIF oBr2:cAlias := NIL oBr2:SetArray(aArray) oBr2:bLogicLen := {|| len(aArray)} oBr2:bGoTop := {|| nRec := 1 } oBr2:bGoBottom := {|| nRec := len(aArray) } oBr2:bSkip := { | nWant, nDo | ; nDo := Min( Max( nWant, 1 - nRec ), ; Len( aArray ) - nRec ), ; nRec += nDo, nDo } oBr2:Refresh() RETURN .T. ////////////////////////////// FUNCTION CntSeekF6(Rc_it02, Rc_it03, Rc_it09, mTp) LOCAL oDbf2, bFields LOCAL cTitle := "Pesquisa de "+IIF( mTp=1 .or. mTp=2,"Clientes","Fornecedores") LOCAL aHeaders := { 'Código','Nome','Fone' } oDbf2 := Select() IF mTp=1 .or. mTp=2 aHeaders := { 'Código','Nome','Fantasia' } SELECT 6 bFields := {|| { STRZERO(CLIENTE->CODIGO,5),; CLIENTE->ITEM02,; CLIENTE->ITEM03 }} ENDIF Rc_it02 := 0 IF mTp=1 .or. mTp=2 lOk := Search( cTitle, bFields, aHeaders, oDlg2, "CLIENTE",; "CLIENTE->ITEM02", "CLIENTE->CODIGO", "CLIENTE->ITEM03",; "Nome:", "Codigo:", "Fantasia") ELSE aHeaders := { 'Código','Nome','Contato' } USE FORNECED SHARED NEW ordListClear() OrdListAdd("FORNECED","FORNCODI", "FORNNOME") bFields := {|| { STRZERO(FORNECED->CODIGO,4),; FORNECED->ITEM02,; FORNECED->ITEM03 }} ENDIF IF mTp=1 .or. mTp=2 Rc_it02 := CLIENTE->CODIGO Rc_it03 := CLIENTE->ITEM02 Rc_it09 := cOper // Vendedor nDias := 30 CLIENTE->(DBCLEARFIL(NIL)) CLIENTE->(DBGOTOP()) ELSE Rc_it02 := FORNECED->CODIGO Rc_it03 := FORNECED->ITEM02 Rc_it09 := FORNECED->ITEM03 // Contato CLOSE FORNECED ENDIF Select(oDbf2) RETURN .T. /////////////////////////////////// FUNCTION PagConta( mTp, oCntLis, oDlg, lConta ) local oDlg3, Conf:=.F., mTotDia, mJuro, nFormPg, aFormPg, nRcNo local Cms01,Cms02,Cms03,Cms04,Cms05,Cms06,Cms07,Cms08,Rc_14,; oCt01,oCt02,oCt03,oCt04,oCt05,oCt06,oCt07,oCt08,oCt09,oCt10,oCt11,oCt12 if mTp = NIL return .f. endif /* IF mTp = 1 .OR. mTp = 2 IF ! UsrFree(CntZera) RETURN NIL ENDIF ELSE IF ! UsrFree(CntZera) RETURN NIL ENDIF ENDIF */ mDupNum:={} // Numeros das duplicatas mDupVen:={} // Vencimentos mDupVlr:={} // Valores dos t¡tulos mDupQui:={} // Total quitado mDupPgo:={} // Valor atribuido neste recibo mDupAre:={} // Valores a receber mDupRnu:={} // Numero do recibo mDupRdt:={} // Data do recebimento mDupDsc:={} // Desconto concedido mDupRef:={} // Desconto referente a... mDupJur:={} // Juros pagos mInfo:=SPACE(1) nFormPg := 1 aFormPg := {"EM DINHEIRO","EM CHEQUES",OemToAnsi("EM CREDCARD"),; OemToAnsi("EM VISA"),OemToAnsi("EM AMERICAN"),; OemToAnsi("EM MASTER"),OemToAnsi("EM DEPà SITO"),; "INDEFINIDO"} nRcNo := &(oDbf)->(RECNO()) ReceDados() Rc_it08 := VAL(cNotJur)*30 // Juros ao mˆs Rc_it13 := 0 // Juros Rc_it16 := (&(oDbf)->ITEM16+Rc_it13) // Valor a receber rc_12 := 0 // Valor quitado rc_18 := 0 // Valor do desconto mCodCli:= Rc_it02 // Codigo do cliente mNomCli:= Space(40) // Nome do cliente Rc_14 := Space(40) // Obs 1 Rc_it19:= Rc_it01 // Numero do recibo Rc_it11:= DATE() // Data do recebimento nTotPar := &(oDbf)->ITEM16 nTatApg := 0 Rc_it20 := Space(45) DEFINE FONT mInfFnt NAME "Courier New" SIZE 0,-10 IF ! lConta DEFINE DIALOG oDlg3 RESOURCE "CNTQUIT" TITLE "Quitacao da Duplicata "+CntTip(mTp) REDEFINE GET oCt01 VAR Rc_it01 PICTURE "@!" ID 101 OF oDlg3 READONLY // VALID CntNota(@Rc_it01,@Rc_it02,@Rc_it03,@mCodCli,oDlg3) REDEFINE GET oCt02 VAR mCodCli PICTURE "9999999999" ID 102 OF oDlg3 VALID AcheiCli(@mCodCli,@mNomCli,@Rc_it03,oDlg3,mTp,lConta) UPDATE WHEN EMPTY(Rc_it01) REDEFINE GET oCt03 VAR Rc_it03 PICTURE "@!" ID 103 OF oDlg3 READONLY UPDATE REDEFINE GET oCt04 VAR Rc_it19 PICTURE "@!" ID 104 OF oDlg3 REDEFINE GET oCt05 VAR Rc_it11 ID 105 OF oDlg3 REDEFINE GET oC109 VAR nTotPar PICTURE "@E 999,999.99" ID 109 OF oDlg3 UPDATE REDEFINE SAY oCt_2 PROMPT ALLTRIM(STR(Rc_it08))+"% ao mˆs" ID -2 OF oDlg3 REDEFINE GET oC111 VAR Rc_it13 PICTURE "@E 999,999.99" ID 111 OF oDlg3 UPDATE REDEFINE GET oC114 VAR nTatApg PICTURE "@E 999,999.99" ID 114 OF oDlg3 UPDATE REDEFINE GET oCt06 VAR Rc_12 PICTURE "@E 999,999.99" ID 106 OF oDlg3 ; Valid EVAL({||IIF(!EMPTY(Rc_it01),Arcclc(rc_12,Rc_18,oDlg3),; EVAL({||(mDupNum:={},; mDupVen:={},; mDupVlr:={},; mDupQui:={},; mDupPgo:={},; mDupAre:={},; mDupRnu:={},; mDupRdt:={},; mDupDsc:={},; mDupRef:={},; mDupJur:={},; Calcula(mCodCli,mDupNum,mDupVen,mDupVlr,mDupQui,mDupAre,mDupPgo,mDupRnu,mDupRdt,mDupDsc,mDupRef,mDupJur,rc_12,@mInfo,oDlg3) ),; .T.})),EVAL({||IIF(Rc_12=0,MSGSTOP(OEMTOANSI("Queira informar o valor que foi quitado, ou pressione Esc caso queira cancelar."),OEMTOANSI("ATEN€ÇO!")),""),(Rc_12 != 0)})}) UPDATE REDEFINE GET oCt08 VAR Rc_18 PICTURE "@e 999,999.99" ID 108 OF oDlg3 ; Valid EVAL({||IIF(!EMPTY(Rc_it01),Arcclc(rc_12,Rc_18,oDlg3),; EVAL({||(mDupNum:={},; mDupVen:={},; mDupVlr:={},; mDupQui:={},; mDupPgo:={},; mDupAre:={},; mDupRnu:={},; mDupRdt:={},; mDupDsc:={},; mDupRef:={},; mDupJur:={},; Calcula(mCodCli,mDupNum,mDupVen,mDupVlr,mDupQui,mDupAre,mDupPgo,mDupRnu,mDupRdt,mDupDsc,mDupRef,mDupJur,rc_12,@mInfo,oDlg3) ),; .T.})),.T.}) UPDATE REDEFINE GET oCt07 VAR Rc_it16 PICTURE "@E 999,999.99" ID 107 OF oDlg3 READONLY UPDATE REDEFINE GET oCt10 VAR mInfo MEMO ID 110 OF oDlg3 UPDATE FONT mInfFnt WHEN (0=1) REDEFINE GET oC113 VAR Rc_14 ID 113 OF oDlg3 REDEFINE BUTTON oCt11 ID 115 OF oDlg3 ACTION (Conf:=.T., oDlg3:End()) REDEFINE BUTTON oCt12 ID 116 OF oDlg3 ACTION (Conf:=.F., oDlg3:End()) ACTIVATE DIALOG oDlg3 CENTERED //ON INIT ArcClc(Rc_12,Rc_18,oDlg3) ELSE Rc_it01 := "" // Deve estar vazio neste tipo de quita‡Æo Rc_12 := 0 Rc_it03 := SPACE(40) Rc_it19 := SPACE(10) // N§ do recibo DEFINE DIALOG oDlg3 RESOURCE "CNTHAVER" REDEFINE GET oCt02 VAR mCodCli PICTURE "9999999999" ID 102 OF oDlg3 VALID AcheiCli(@mCodCli,@mNomCli,@Rc_it03,oDlg3,mTp,lConta) UPDATE REDEFINE GET oCt03 VAR Rc_it03 PICTURE "@!" ID 103 OF oDlg3 READONLY UPDATE REDEFINE GET oCt04 VAR Rc_it19 PICTURE "@!" ID 104 OF oDlg3 REDEFINE GET oCt05 VAR Rc_it11 ID 105 OF oDlg3 REDEFINE GET oCt06 VAR Rc_12 PICTURE "@E 999,999.99" ID 106 OF oDlg3 ; Valid EVAL({||(mDupNum:={},; mDupVen:={},; mDupVlr:={},; mDupQui:={},; mDupPgo:={},; mDupAre:={},; mDupRnu:={},; mDupRdt:={},; mDupDsc:={},; mDupRef:={},; mDupJur:={},; Calcula(mCodCli,mDupNum,mDupVen,mDupVlr,mDupQui,mDupAre,mDupPgo,mDupRnu,mDupRdt,mDupDsc,mDupRef,mDupJur,rc_12,@mInfo,oDlg3) ),; .T.}) UPDATE REDEFINE RADIO oRadio VAR nFormPg ID 109,110,111,112,113,114,117,118 OF oDlg3 REDEFINE BUTTON oCt11 ID 115 OF oDlg3 ; ACTION ( IIF( MsgYesNo("Confirma a quitacao","Confirmar"),; ( Conf:=.T. , oDlg3:End() ), oDlg3:End() )) REDEFINE BUTTON oCt12 ID 116 OF oDlg3 ACTION oDlg3:End() ACTIVATE DIALOG oDlg3 CENTERED ENDIF mInfFnt:End() oFile := SELECT() If Conf IF EMPTY(Rc_it01) AFILL(mDupRnu, Rc_it19 ) AFILL(mDupRdt, Rc_it11 ) cPagame := "PAGAMENTO "+aFormPg[nFormPg] IF ! lConta CntQuitar(mCodCli,mDupNum,mDupVen,mDupVlr,mDupQui,mDupAre,mDupPgo,mDupRnu,mDupRdt,mDupDsc,mDupRef,mDupJur,mTp,cPagame) CliSaldo(mCodCli,mNomCli) ELSE MyDbFile := SELECT() USE HAVER SHARED NEW ordListClear() OrdListAdd("HAVER","HAVERCOD", "HAVERNOM", "HAVERDAT") WHILE ! HAVER->(RLOCK()) ; END HAVER->(DBAPPEND()) REPLACE HAVER->CODCLI WITH mCodCli REPLACE HAVER->NOME WITH Rc_it03 REPLACE HAVER->RECIBO WITH Rc_it19 REPLACE HAVER->DATA WITH Rc_it11 REPLACE HAVER->VALOR WITH Rc_12 REPLACE HAVER->FORMAPG WITH aFormPg[nFormPg] CLOSE HAVER // --- Lan‡amento no caixa ------------- SELECT 5 CAIXA->( DbSetOrder(2) ) CAIXA->( DbGobottom() ) mCod := CODIGO+1 CAIXA->( DbSetOrder(1) ) whil ! CAIXA->(rlock()) ; end CAIXA->( DbAppend() ) REPL CAIXA->CODIGO WITH mCod REPL CAIXA->DATA WITH Rc_it11 REPL CAIXA->HISTOR1 WITH "HAVER CLI: "+ALLTRIM(STR(mCodCli)) REPL CAIXA->HISTOR2 WITH cPagame REPL CAIXA->ENTRADA WITH Rc_12 REPL CAIXA->CD_DESP WITH 1 REPL CAIXA->TIPO WITH "C" CAIXA->(dbCommitAll()) CAIXA->(dbUnlockAll()) CAIXA->( DbSetOrder(1) ) CAIXA->( DbGoTop() ) SELECT(MyDbFile) SysRefresh() ENDIF ELSE If (rc_it16 <= 0) IF &(oDbf)->ITEM23 = .F. WHIL ! &(oDbf)->(rlock()) ; END &(oDbf)->(DBDELETE()) &(oDbf)->(DBCOMMITALL()) IF &(oDbf)->ITEM12 >= &(oDbf)->ITEM05 IF &(oDbf)->(RLOCK()) &(oDbf)->(DBDELETE()) ENDIF ENDIF ELSE MsgAlert(OemToAnsi("Esta ‚ uma conta mensal. Queira alterar a data do vencimento!"),"Alerta do sistema") ENDIF Else WHIL ! &(oDbf)->(rlock()) ; END Replace &(oDbf)->item12 With Rc_it12 Replace &(oDbf)->item13 With rc_it13 Replace &(oDbf)->item16 With rc_it16 Replace &(oDbf)->item18 With Rc_it18 Replace &(oDbf)->item20 With rc_it20 &(oDbf)->(DBCOMMITALL()) EndIf IF &(oDbf)->item16 <= 0 WHIL ! &(oDbf)->(rlock()) ; END &(oDbf)->(DBDELETE()) &(oDbf)->(DBCOMMITALL()) ENDIF IF mTp = 1 SELECT 11 // Lan‡ar em contas recebidas ELSEIF mTp = 3 SELECT 13 // Lan‡ar em contas pagas ENDIF oDb2 := SELECT() oDb2 := (oDb2)->(ALIAS()) IF ! &(oDb2)->(DBSEEK(rc_it01)) WHIL ! &(oDb2)->(Rlock()) ; END &(oDb2)->(DBAPPEND()) EndIf WHIL ! &(oDb2)->(Rlock()) ; END REPL &(oDb2)->CODIGO WITH Rc_it01 REPL &(oDb2)->ITEM02 WITH Rc_it02 REPL &(oDb2)->ITEM03 WITH Rc_it03 REPL &(oDb2)->ITEM04 WITH Rc_it04 REPL &(oDb2)->ITEM05 WITH Rc_it05 REPL &(oDb2)->ITEM06 WITH Rc_it06 REPL &(oDb2)->ITEM07 WITH Rc_it07 REPL &(oDb2)->ITEM08 WITH Rc_it08 REPL &(oDb2)->ITEM09 WITH Rc_it09 REPL &(oDb2)->ITEM10 WITH Rc_it10 REPL &(oDb2)->ITEM11 WITH Rc_it11 REPL &(oDb2)->ITEM12 WITH Rc_it12 REPL &(oDb2)->ITEM13 WITH Rc_it13 REPL &(oDb2)->ITEM14 WITH Rc_14 REPL &(oDb2)->ITEM15 WITH Rc_it15 REPL &(oDb2)->ITEM16 WITH Rc_it16 REPL &(oDb2)->ITEM18 WITH Rc_it18 REPL &(oDb2)->ITEM19 WITH Rc_it19 REPL &(oDb2)->ITEM20 WITH Rc_it20 IF mTp = 1 USE RELATDIA SHARED NEW ordListClear() OrdListAdd("RELATDIA","RDIACODI", "RDIACLIE", "RDIAVENC", "RDIAEMIS") WHIL ! RELATDIA->(Rlock()) ; END RELATDIA->(DBAPPEND()) REPL RELATDIA->CODIGO WITH Rc_it01 REPL RELATDIA->ITEM02 WITH Rc_it02 REPL RELATDIA->ITEM03 WITH Rc_it03 REPL RELATDIA->ITEM04 WITH Rc_it04 REPL RELATDIA->ITEM05 WITH Rc_it05 REPL RELATDIA->ITEM06 WITH Rc_it06 REPL RELATDIA->ITEM07 WITH Rc_it07 REPL RELATDIA->ITEM08 WITH Rc_it08 REPL RELATDIA->ITEM09 WITH Rc_it09 REPL RELATDIA->ITEM10 WITH Rc_it10 REPL RELATDIA->ITEM11 WITH Rc_it11 REPL RELATDIA->ITEM12 WITH Rc_12 REPL RELATDIA->ITEM13 WITH Rc_it13 REPL RELATDIA->ITEM14 WITH Rc_14 REPL RELATDIA->ITEM15 WITH Rc_it15 REPL RELATDIA->ITEM16 WITH Rc_it16 REPL RELATDIA->ITEM18 WITH Rc_18 REPL RELATDIA->ITEM19 WITH Rc_it19 REPL RELATDIA->ITEM20 WITH Rc_it20 RELATDIA->(dbCloseArea()) // --- Lan‡amento no caixa ------------- SELECT 5 CAIXA->( DbSetOrder(2) ) CAIXA->( DbGobottom() ) mCod := CODIGO+1 CAIXA->( DbSetOrder(1) ) CAIXA->( DbAppend() ) whil ! CAIXA->(rlock()) ; end REPL CAIXA->CODIGO WITH mCod REPL CAIXA->DATA WITH Rc_it11 REPL CAIXA->HISTOR1 WITH "RECEB. DUPLICATA "+Rc_it01 REPL CAIXA->HISTOR2 WITH "PAGAMENTO "+aFormPg[1] REPL CAIXA->ENTRADA WITH Rc_12 REPL CAIXA->TIPO WITH "C" CAIXA->( DbSetOrder(1) ) CAIXA->( DbGoTop() ) IF MsgYesNo("Gostaria de imprimir o recibo?","Imprimir recibo") mL := 1 oPrn:= TDosPrn():New("\TICKET.PRN") oPrn:StartPage() oPrn:lZeraBuffer:=.F. // For‡a o Pulo da P gina @ mL, 01 SAY "" OF oPrn mL ++ @ mL, 01 SAY "+---------------------------------------------------------------------------+" OF oPrn ; mL ++ @ mL, 01 SAY "! R E C I B O !" OF oPrn ; mL ++ @ mL, 01 SAY "+---------------------------------------------------------------------------+" OF oPrn ; mL ++ mL ++ @ mL, 78-LEN("R$ "+ALLTRIM(TRANS(Rc_12,"@E 999,999.99"))) SAY "R$ "+ALLTRIM(TRANS(Rc_12,"@E 999,999.99")) OF oPrn ; mL ++ mL ++ cTxt := " RECEBI DE "+ALLTRIM(Rc_it03)+" A IMPORTANCIA DE R$ "+ALLTRIM(TRANS(Rc_12,"@E 999,999.99"))+" ("+Vlr_Ext(Rc_12,80)+") REFERENTE AO PAGAMENTO DA NOTA PROMISSORIA DISCRIMINADA ABAIXO." mTtL1:= MLCOUNT(cTxt,77) IF mTtL1 > 1 FOR Y := 1 TO mTtL1-1 @ mL, 01 SAY JUSTIFICA(cTxt,77,Y) OF oPrn mL ++ NEXT @ mL, 01 SAY MEMOLINE(cTxt,77,mTtL1) OF oPrn mL ++ ELSE @ mL, 01 SAY MEMOLINE(cTxt,77,mTtL1) OF oPrn mL ++ ENDIF mL ++ @ mL, 01 SAY "NUMERO: "+ALLTRIM(Rc_it01)+" - EMISSAO: "+DTOC(Rc_it04)+" - VENCIMENTO: "+DTOC(Rc_it06) OF oPrn ; mL ++ @ mL, 01 SAY "VALOR DO TITULO .................................................: "+TRANS(Rc_it05,"@E 999,999.99") OF oPrn ; mL ++ @ mL, 01 SAY "VALOR DO JURO....................................................: "+TRANS(Rc_it13,"@E 999,999.99") OF oPrn ; mL ++ @ mL, 01 SAY "VALOR DO DESCONTO................................................: "+TRANS(Rc_it18,"@E 999,999.99") OF oPrn ; mL ++ @ mL, 01 SAY "VALOR PAGO.......................................................: "+TRANS(Rc_12, "@E 999,999.99") OF oPrn ; mL ++ @ mL, 01 SAY "SALDO A PAGAR....................................................: "+TRANS(Rc_it16,"@E 999,999.99") OF oPrn ; mL ++ mL ++ @ mL, 01 SAY "POR SER VERDADE, FIRMAMOS O PRESENTE RECIBO, QUE SUBSTITUI A NOTA PROMISSORIA" OF oPrn ; mL ++ mL ++ mL ++ lShowCid := .t. lShowDia := .f. cData := UPPER(ALLTRIM(DATAH(Rc_it11, lShowCid, lShowDia))) @ mL, 78-LEN(cData) SAY cData OF oPrn ; mL ++ mL ++ mL ++ mL ++ @ mL, 01 SAY PrnCentra("...................................",SPACE(77)) OF oPrn ; mL ++ mL ++ @ mL, 01 SAY PrnCentra(ALLTRIM(mEmp),SPACE(77)) OF oPrn ; mL ++ @ mL, 01 SAY REPLICATE(CRLF, 2) OF oPrn oPrn:EndPage() // Obrigat¢rio oPrn:End() // Idem SysRefresh() ENDIF ENDIF ENDIF ENDIF SELECT(oFile) &(oDbf)->(DBUNLOCKALL()) IF ! lConta oCntLis:UpStable() oCntLis:Refresh() ENDIF RETURN .T. /////////////////////////////////// STATIC FUNCTION CliSaldo(mCodCli,mNomCli) LOCAL VlrB, VlrQ, VlrP STORE 0 TO VlrB, VlrQ, VlrP SET FILTER TO ITEM02 == mCodCli GO TOP IF EOF() MsgInfo(OemToAnsi("Este cliente zerou seu d‚bito."),"Saldo do cliente") SET FILTER TO RETURN NIL ENDIF GO TOP VlrB := 0 VlrQ := 0 VlrD := 0 MsgRun( "Processando valores...", "Aguarde...",; {|| DBEVAL({|| (VlrB := VlrB + &(oDbf)->ITEM05,; VlrD := VlrD + &(oDbf)->ITEM18,; VlrQ := VlrQ + &(oDbf)->ITEM12 ; )}, NIL, NIL, NIL, NIL, NIL, NIL, .F.) }) SET FILTER TO VlrP := (VlrB - (VlrQ+VlrD)) MsgInfo( "SALDO DO CLIENTE: "+CRLF+; ""+CRLF+; "Debito bruto remanesce Quote Link to comment Share on other sites More sharing options...
supi Posted May 29, 2007 Report Share Posted May 29, 2007 ACREDITO Q. O ERRO POSSA SER O USO DO & ou seja. experimente usar conf. abaixo: use (arquivo) id=red> e NÃO use &arquivo. id=red> SUPI Quote Link to comment Share on other sites More sharing options...
gunafe Posted May 29, 2007 Report Share Posted May 29, 2007 Bom dia, Concordo com o Supi, retire a & que deve funcionar. Voce esta FAZENDO assim: oDbf := SELECT() oDbf := (oDbf)->(ALIAS()) &(oDbf)->(DBCLEARFIL(Nil)) // alinha 39 é esta. &(oDbf)->(DBSETORDER(1)) &(oDbf)->(DBGOTOP()) id=code>id=code>E FAÇA assim: IF mTp = 1 SELECT 10 oDbf := ALIAS() ELSEIF mTp = 2 SELECT 11 oDbf := ALIAS() ELSEIF mTp = 3 SELECT 12 oDbf := ALIAS() ELSEIF mTp = 4 SELECT 13 oDbf := ALIAS() ENDIF (oDbf)->( DBCLEARFILTER( ) ) // alinha 39 é esta. (oDbf)->( DBSETORDER(1) ) (oDbf)->( DBGOTOP() ) id=code>id=code>Espero que resolva, []´s Luiz Augusto São José dos Pinhais - PR Harbour43 + Five2.4 + Verce 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.