*!#! - Para funcionar com execscript * FECHAMENTO * 20/03/2025 retiradas descontadas flavio+susana * 02/07/2024 espacos, calculo sobra falta * 17/02/2017 descontos * Declaracoes de Variaveis wok = .F. wtotal_geral = 0.00 wtotal_venda = 0.00 wdiferenca = 0.00 wmensagem = "" wtotal_din = 0 wtotal_ass = 0 wtotal_pix = 0 wtotal_car = 0 wtotal_chq = 0 wtotal_cnv = 0 wtotal_tck = 0 wdesc_cai = 0 wacres_cai = 0 wdesc_cam = 0 wacres_cam = 0 * Soma descontos de itens (caxmovi) 05/01/2012 ctm.operador='+' SELECT cai SUM desconto*qtde TO wdesc_cai FOR cam.datac=wdatadia .AND. wnro_caixa=cam.nro_caixa AND ctm.operador="+" SUM acrescimo*qtde TO wacres_cai FOR cam.datac=wdatadia .AND. wnro_caixa=cam.nro_caixa AND ctm.operador="+" * Soma descontos de totais (caxmov) 05/01/2012 ctm.operador='+' SELECT cam SUM desconto TO wdesc_cam FOR cam.datac=wdatadia .AND. wnro_caixa=cam.nro_caixa AND ctm.operador="+" SUM acrescimo TO wacres_cam FOR cam.datac=wdatadia .AND. wnro_caixa=cam.nro_caixa AND ctm.operador="+" NFCE_ImprimeTextoLivreIniciaBuffer() * Cabecalho executa_script(FULLPATH("NFCEcab.txt")) wmensagem=PADR('DATA DO CAIXA .........: '+dtoi(wdatadia),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('OPERADOR...............: '+cax.operador,PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('FECHAMENTO DO CAIXA Nro: '+strzero(cax.nro_caixa,4),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('',PUTamanhoBobinaNFCe,"-") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADC("OPERACOES (+)",PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('',PUTamanhoBobinaNFCe,"-") NFCE_ImprimeTextoLivre(wmensagem) * Relat¢rio SELE cax LOCATE ALL FOR cax.nro_caixa==wnro_caixa DO WHILE !EOF("cax") AND cax.nro_caixa==wnro_caixa wok=.F. SELECT moe LOCATE FOR ALLTRIM(LOWER(codmoe))=ALLTRIM(LOWER(cax.coduni_ind)) SELECT cax IF !EMPTY(cax.codctm) .AND. posfile(cax.codctm,.F.,1,'ctm') .AND. cax.codctm<>"90" IF ctm.operador="+" AND moe.operador$"+ " && 20/03/2055 *--- Imprime por Tipo de Movimento ---* wmensagem=PADR('OPERACAO..........:'+cax.codctm+"-"+cax.coduni_ind+"-"+cax.codpgt+' - '+LEFT(ctm.NOME,9),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('REGISTRADO...:'+TRANSFORM(cax.valor_reg-cax.valor_anu,PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('',PUTamanhoBobinaNFCe,"-") NFCE_ImprimeTextoLivre(wmensagem) *wmensagem=padr('Cancelados:'+transform(cax.valor_anu,PUpict14),PUTamanhoBobinaNFCe," ") *NFCE_ImprimeTextoLivre(wmensagem) ENDIF wok=.T. ENDIF * 02/07/2024 SELE moe LOCATE FOR LOWER(ALLTRIM(codmoe))=LOWER(ALLTRIM(cax.coduni_ind)) SELE cax *--- Total Geral ---* IF wok AND ctm.operador="+" AND moe.operador$"+ " && 02/07/2024 wtotal_geral=wtotal_geral+(cax.valor_reg-cax.valor_anu) ENDIF * 02/07/2024 IF wok AND ctm.operador="#" wtotal_geral=wtotal_geral-(cax.valor_reg-cax.valor_anu) ENDIF *--- Acumula por moedas ---* 09/02/2013 30/12/2014 IF cax.coduni_ind='din' .AND. ctm.operador="+" wtotal_din = wtotal_din + (cax.valor_reg-cax.valor_anu) ENDIF IF cax.coduni_ind='din' .AND. ctm.operador="-" .AND. ctm.gera_nve=2 wtotal_din = wtotal_din - (cax.valor_reg-cax.valor_anu) ENDIF IF cax.coduni_ind='ass' .AND. ctm.operador="+" wtotal_ass = wtotal_ass + (cax.valor_reg-cax.valor_anu) ENDIF IF cax.coduni_ind='ass' .AND. ctm.operador="-" .AND. ctm.gera_nve=2 wtotal_ass = wtotal_ass - (cax.valor_reg-cax.valor_anu) ENDIF IF cax.coduni_ind='car' .AND. ctm.operador="+" wtotal_car = wtotal_car + (cax.valor_reg-cax.valor_anu) ENDIF IF cax.coduni_ind='car' .AND. ctm.operador="-" .AND. ctm.gera_nve=2 wtotal_car = wtotal_car - (cax.valor_reg-cax.valor_anu) ENDIF IF cax.coduni_ind='chq' .AND. ctm.operador="+" wtotal_chq = wtotal_chq + (cax.valor_reg-cax.valor_anu) ENDIF IF cax.coduni_ind='chq' .AND. ctm.operador="-" .AND. ctm.gera_nve=2 wtotal_chq = wtotal_chq - (cax.valor_reg-cax.valor_anu) ENDIF IF cax.coduni_ind='cnv' .AND. ctm.operador="+" wtotal_cnv = wtotal_cnv + (cax.valor_reg-cax.valor_anu) ENDIF IF cax.coduni_ind='cnv' .AND. ctm.operador="-" .AND. ctm.gera_nve=2 wtotal_cnv = wtotal_cnv - (cax.valor_reg-cax.valor_anu) ENDIF IF cax.coduni_ind='tck' .AND. ctm.operador="+" wtotal_tck = wtotal_tck + (cax.valor_reg-cax.valor_anu) ENDIF IF cax.coduni_ind='tck' .AND. ctm.operador="-" .AND. ctm.gera_nve=2 wtotal_tck = wtotal_tck - (cax.valor_reg-cax.valor_anu) ENDIF IF cax.coduni_ind='pix' .AND. ctm.operador="+" wtotal_pix = wtotal_pix + (cax.valor_reg-cax.valor_anu) ENDIF IF cax.coduni_ind='pix' .AND. ctm.operador="-" .AND. ctm.gera_nve=2 wtotal_pix = wtotal_pix - (cax.valor_reg-cax.valor_anu) ENDIF * --- total venda ---* IF wok .AND. ctm.operador="+" .AND. ctm.gera_nve=1 wtotal_venda=wtotal_venda+(cax.valor_reg-cax.valor_anu) ENDIF * skip SKIP IN cax ENDDO * Totaliza Opera‡”es wmensagem=PADR(' ',PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('VLR APURADO...:'+TRANSFORM(wvalor_apu,PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('VLR COMPUTADOR:'+TRANSFORM(wtotal_geral,PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) * Calcula diferen‡a entre o Registrado e o Apurado wdiferenca=wvalor_apu-wtotal_geral wmensagem=PADR(' ',PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) * Imprime Sobra ou Falta IF wdiferenca>0 .AND. !PUzpm_erro wmensagem=PADR('SOBRA.........:'+TRANSFORM(wdiferenca,PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) ENDIF IF wdiferenca<0 .AND. !PUzpm_erro wmensagem=PADR('FALTA.........:'+TRANSFORM(ABS(wdiferenca),PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) ENDIF * 20/03/2025 fla, dan sus wmensagem=PADR('',PUTamanhoBobinaNFCe,"-") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADC("OPERACOES (-)",PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('',PUTamanhoBobinaNFCe,"-") NFCE_ImprimeTextoLivre(wmensagem) SELE cax LOCATE ALL FOR cax.nro_caixa==wnro_caixa DO WHILE !EOF("cax") AND cax.nro_caixa==wnro_caixa wok=.F. SELECT moe LOCATE FOR ALLTRIM(LOWER(codmoe))=ALLTRIM(LOWER(cax.coduni_ind)) SELECT cax IF !EMPTY(cax.codctm) .AND. posfile(cax.codctm,.F.,1,'ctm') .AND. cax.codctm<>"90" IF ctm.operador="+" AND moe.operador$"+ " * nao faz nada ELSE *--- Imprime por Tipo de Movimento ---* wmensagem=PADR('OPERACAO..........:'+cax.codctm+"-"+cax.coduni_ind+"-"+cax.codpgt+' - '+LEFT(ctm.NOME,9),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('REGISTRADO...:'+TRANSFORM(cax.valor_reg-cax.valor_anu,PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('',PUTamanhoBobinaNFCe,"-") NFCE_ImprimeTextoLivre(wmensagem) ENDIF wok=.T. ENDIF * skip SKIP IN cax ENDDO wmensagem=PADR('',PUTamanhoBobinaNFCe,"-") NFCE_ImprimeTextoLivre(wmensagem) * Imprime Valor da Venda wmensagem=PADR(' ',PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('VALOR VENDA :'+TRANSFORM(wtotal_venda,PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) * Totais por desconto comentado em 02/04/2008 flavio, descomentado em 03/05/2010 wmensagem=PADR(' ',PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('DESCONTO TOTAL:'+TRANSFORM(ABS(wdesc_cam),PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('ACRESC. TOTAL:'+TRANSFORM(ABS(wacres_cam),PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('DESCONTO ITEM :'+TRANSFORM(ABS(wdesc_cai),PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('ACRESC. ITEM :'+TRANSFORM(ABS(wacres_cai),PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) * Troco solidario 11/03/2019 fla wmensagem=PADR('TROCO SOLIDARIO :'+TRANSFORM(ABS(wtrocosol),PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) * Linha de Asteriscos NFCE_ImprimeTextoLivre(PADR("*",PUTamanhoBobinaNFCe,"*")) * Imprime por moedas 09/02/2013 wmensagem=PADR('VALOR DIN :'+TRANSFORM(wtotal_din,PUpict14)+" retiradas descontadas",PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('VALOR ASS :'+TRANSFORM(wtotal_ass,PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('VALOR CHQ :'+TRANSFORM(wtotal_chq,PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('VALOR CAR :'+TRANSFORM(wtotal_car,PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('VALOR CNV :'+TRANSFORM(wtotal_cnv,PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('VALOR TCK :'+TRANSFORM(wtotal_tck,PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR('VALOR PIX :'+TRANSFORM(wtotal_pix,PUpict14),PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) * Linha de Asteriscos NFCE_ImprimeTextoLivre(PADR("*",PUTamanhoBobinaNFCe,"*")) wmensagem=PADR(' ',PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR(' ',PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) wmensagem=PADR(' ',PUTamanhoBobinaNFCe," ") NFCE_ImprimeTextoLivre(wmensagem) *set step on * Informações detalhadas IF TYPE("wFechaDetalhado")="L" AND wFechaDetalhado wTotalCAM = 0.00 SELECT * FROM cam WHERE datac=wdatadia AND nro_caixa=wnro_caixa ORDER BY codctm,nrodoc INTO CURSOR xCam SELECT * FROM cai WHERE datac=wdatadia ORDER BY chave INTO CURSOR xCai wcodctm_old = "@" GOTO TOP IN xCam DO WHILE !EOF("xCam") * Localiza item SELE xCai LOCATE ALL FOR chave=xCam.chave wComItens = FOUND("xCai") IF wcodctm_old<>xCam.codctm AND posfile(xCam.codctm,.F.,1,"ctm") NFCE_ImprimeTextoLivre(PADR(".",PUTamanhoBobinaNFCe," ")) NFCE_ImprimeTextoLivre(PADR(".",PUTamanhoBobinaNFCe," ")) NFCE_ImprimeTextoLivre(PADR("=",PUTamanhoBobinaNFCe,"=")) NFCE_ImprimeTextoLivre(PADR(">" + xCam.codctm + "-" + UPPER(ALLTRIM(ctm.NOME)),PUTamanhoBobinaNFCe," ")) NFCE_ImprimeTextoLivre(PADR("=",PUTamanhoBobinaNFCe,"=")) IF !wComItens NFCE_ImprimeTextoLivre(PADR(" N.DOC HISTOR TOTAL",PUTamanhoBobinaNFCe," ")) NFCE_ImprimeTextoLivre(PADR("-" ,PUTamanhoBobinaNFCe,"-")) ELSE NFCE_ImprimeTextoLivre(PADR("N.DOC PRODUTO QT UN TOTAL",PUTamanhoBobinaNFCe," ")) NFCE_ImprimeTextoLivre(PADR("-" ,PUTamanhoBobinaNFCe,"-")) ENDIF wcodctm_old = xCam.codctm ENDIF IF !wComItens waux = ctm.operador+" " waux = waux + xCam.nrodoc + " " waux = waux + PADR(xCam.HISTOR,29," ") + " " waux = waux + TRANSFORM(xCam.total_liq,"99,999.99") NFCE_ImprimeTextoLivre(PADR(waux ,PUTamanhoBobinaNFCe," ")) ENDIF * itens SELE xCai IF wComItens DO WHILE !EOF("xCai") AND chave=xCam.chave posfile(xCai.coduni,.F.,1,"udd") waux = xCam.nrodoc + " " waux = waux + PADR(ALLTRIM(xCai.NOME),16," ") + " " waux = waux + TRANSFORM(xCai.qtde,"9,999.999") + " " waux = waux + udd.nome_abrev + " " waux = waux + TRANSFORM(xCai.total_item,"99,999.999") NFCE_ImprimeTextoLivre(PADR(waux ,PUTamanhoBobinaNFCe," ")) SELE xCai CONTINUE ENDDO ENDIF wTotalCAM = wTotalCAM + xCam.total_liq SKIP IN xCam IF EOF("xCam") OR xCam.codctm<>wcodctm_old NFCE_ImprimeTextoLivre(PADR("_" ,PUTamanhoBobinaNFCe,"_")) NFCE_ImprimeTextoLivre(PADL(" TOTAL R$ " + TRANSFORM(wTotalCAM,"999,999.99") ,PUTamanhoBobinaNFCe," ")) wTotalCAM = 0.00 ENDIF ENDDO * VENDEDOR SELECT cam.codrep,MAX(rep.NOME) AS rep_nome,; SUM(cam.valor_din) AS valor_din,SUM(cam.valor_car) AS valor_car,SUM(cam.valor_chq) AS valor_chq,; SUM(cam.valor_ass) AS valor_ass,SUM(cam.valor_tck) AS valor_tck,SUM(cam.total_liq) AS total_liq; FROM cam; LEFT JOIN repres rep ON rep.codrep=cam.codrep; WHERE cam.datac=wdatadia AND cam.nro_caixa=wnro_caixa; GROUP BY cam.codrep; ORDER BY cam.codrep INTO CURSOR xRep IF USED("xRep") AND RECCOUNT("xRep")>0 GOTO TOP IN xRep NFCE_ImprimeTextoLivre(PADR(" ",PUTamanhoBobinaNFCe," ")) NFCE_ImprimeTextoLivre(PADR("=",PUTamanhoBobinaNFCe,"=")) NFCE_ImprimeTextoLivre(PADC("DETALHAMENTO POR VENDEDOR",PUTamanhoBobinaNFCe," ")) NFCE_ImprimeTextoLivre(PADR("-",PUTamanhoBobinaNFCe,"-")) NFCE_ImprimeTextoLivre(PADR("Nome Dinheiro Cartao A Prazo Cheque",PUTamanhoBobinaNFCe," ")) NFCE_ImprimeTextoLivre(PADR("-",PUTamanhoBobinaNFCe,"-")) DO WHILE !EOF("xRep") waux = PADR(ALLTRIM(xRep.codrep) + "-" + ALLTRIM(xRep.rep_nome),10," ") +" " waux = waux + TRANSFORM(xRep.valor_din,"99,999.99")+" " waux = waux + TRANSFORM(xRep.valor_car,"99,999.99")+" " waux = waux + TRANSFORM(xRep.valor_ass,"9,999.99")+" " waux = waux + TRANSFORM(xRep.valor_chq,"9,999.99") NFCE_ImprimeTextoLivre(PADR(waux ,PUTamanhoBobinaNFCe," ")) SKIP IN xRep ENDDO ENDIF ENDIF * Avanço * for i=1 to 8 * NFCE_ImprimeTextoLivre(padr(" ",PUTamanhoBobinaNFCe," ")) * next NFCE_ImprimeTextoLivreFinalizaBuffer() *------------------------------ FIM DO NFCENFCH.TXT --------------------------*