@ ---------------------------------------------------------------------------- @ @ IDR: VEN-140NEDGE01 @ @ Objetivo: Adicionar nas informações Adicionais/Complementares os valores ref.@ @ o Proalba/Fundeagro nas notas do tipo 1. @ @ ---------------------------------------------------------------------------- @ Definir Numero VSIntCodEmp; @ Código da Empresa @ Definir Numero VSIntCodFil; @ Código da Filial @ Definir Numero VSIntNumNfv; @ Número da NF @ Definir Numero nCodEmp; Definir Numero nCodFil; Definir Numero nNumNfv; Definir Alfa VSIntCodSnf; @ Código da Série da NF @ Definir Alfa VSIntInfAdf; @ Informações Adicionais de Interesse do Fisco (infNFe - infAdic - infAdFisco) @ Definir Alfa VSIntInfCpl; @ Informações Complementares de interesse do Contribuinte (infNFe - infAdic - infCpl) @ Definir Alfa aCodSnf; Definir Alfa aPbaFag; Definir Alfa aE140Nfv; Definir Alfa aMsgNfv; Definir Alfa aEnter; Definir Alfa vQuebra; nCodEmp = VSIntCodEmp; nCodFil = VSIntCodFil; aCodSnf = VSIntCodSnf; nNumNfv = VSIntNumNfv; RetornaAscII(13, aEnter); CaracterParaAlfa(10, vQuebra); @ Query verifica filial PrgIna = 2, transação CalIna = S @ aPbaFag = "SELECT A.TIPNFS, A.VLRBPR, B.BASIDF, B.PERIDF, D.BASDFS, C.CDFPBA, \ Sum(D.VLRAJS) VLRPBA, C.CDFFAG, Sum(E.VLRAJS) VLRFAG \ FROM E140NFV A \ INNER JOIN E140IPV B \ ON B.CODEMP = A.CODEMP \ AND B.CODFIL = A.CODFIL \ AND B.CODSNF = A.CODSNF \ AND B.NUMNFV = A.NUMNFV \ INNER JOIN E001INE C \ ON C.CODEMP = B.CODEMP \ AND C.CODTNS = B.TNSPRO \ INNER JOIN E140DFP D \ ON D.CODEMP = B.CODEMP \ AND D.CODFIL = B.CODFIL \ AND D.CODSNF = B.CODSNF \ AND D.NUMNFV = B.NUMNFV \ AND D.SEQIPV = B.SEQIPV \ AND D.CODDFS = C.CDFPBA \ INNER JOIN E140DFP E \ ON E.CODEMP = B.CODEMP \ AND E.CODFIL = B.CODFIL \ AND E.CODSNF = B.CODSNF \ AND E.NUMNFV = B.NUMNFV \ AND E.SEQIPV = B.SEQIPV \ AND E.CODDFS = C.CDFFAG \ INNER JOIN E070IMP F \ ON F.CODEMP = A.CODEMP \ AND F.CODFIL = A.CODFIL \ WHERE A.CODEMP = :nCodEmp \ AND A.CODFIL = :nCodFil \ AND A.CODSNF = :aCodSnf \ AND A.NUMNFV = :nNumNfv \ AND C.CALINA = 'S' \ AND F.PRGINA = 2 \ GROUP BY A.TIPNFS, A.VLRBPR, B.BASIDF, B.PERIDF, D.BASDFS, \ C.CDFPBA, C.CDFFAG"; nVlrPba = 0; nVlrFag = 0; aMsgNfv = ""; Sql_Criar(aE140Nfv); SQL_UsarSQLSenior2(aE140Nfv, 0); SQL_UsarAbrangencia(aE140Nfv, 0); Sql_DefinirComando(aE140Nfv,aPbaFag); SQL_DefinirInteiro(aE140Nfv, "nCodEmp", nCodEmp); SQL_DefinirInteiro(aE140Nfv, "nCodFil", nCodFil); SQL_DefinirAlfa(aE140Nfv, "aCodSnf", aCodSnf); SQL_DefinirInteiro(aE140Nfv, "nNumNfv", nNumNfv); SQL_AbrirCursor(aE140Nfv); Se (SQL_EOF(aE140Nfv) = 0) { SQL_RetornarInteiro(aE140Nfv, "TIPNFS", nTipNfs); @ Tipo da Nota Fiscal de Saída @ SQL_RetornarFlutuante(aE140Nfv, "VLRBPR", nVlrBpr); @ Soma dos valores dos itens de produtos da nota fiscal de saída @ SQL_RetornarFlutuante(aE140Nfv, "BASIDF", nBasIdf); @ Valor Base do ICMS Diferido @ SQL_RetornarFlutuante(aE140Nfv, "PERIDF", nPerIdf); @ Perdcentual do ICMS Diferido do item da nota fiscal de saída @ SQL_RetornarFlutuante(aE140Nfv, "BASDFS", nBasDfs); @ Valor Base do Dispositivo Fiscal @ SQL_RetornarInteiro(aE140Nfv, "CDFPBA", nCdfPba); @ Código do Dispositivo Fiscal para Cálculo do Proalba @ SQL_RetornarFlutuante(aE140Nfv, "VLRPBA", nVlrPba); @ Valor Base do Dispositivo Fiscal (Proalba)@ SQL_RetornarInteiro(aE140Nfv, "CDFFAG", nCdfFag); @ Código do Dispositivo Fiscal para Cálculo do Fundeagro @ SQL_RetornarFlutuante(aE140Nfv, "VLRFAG", nVlrFag); @ Valor Base do Dispositivo Fiscal (Fundeagro)@ Se((nTipNfs = 1) ou (nTipNfs = 9)){ Definir Alfa aVlrBpr; Definir Alfa aBasDfs; Definir Alfa aVlrIcm; Definir Alfa aVlrPba; Definir Alfa aVlrFag; aMsgNfv = "ICMS DIFERIDO CFE ART 286, INCISO V, DO DECRETO 13780/12 - RICMS-BA PROALBA LEI 7932/01 - DECRETO 8064/01. *** "; ConverteMascara(1, nVlrBpr, aVlrBpr, "Z.ZZZ.ZZZ.ZZZ.ZZ9,99"); LimpaEspacos(aVlrBpr); aMsgNfv = aMsgNfv + "VALOR TOTAL NOTA FISCAL: R$ " + aVlrBpr + " *** "; ConverteMascara(1, nBasDfs, aBasDfs, "Z.ZZZ.ZZZ.ZZZ.ZZ9,99"); LimpaEspacos(aBasDfs); aMsgNfv = aMsgNfv + "VALOR GLOBAL BASE ICMS: R$ (12% POR DENTRO) - " + aBasDfs + " *** "; nVlrIcm = (nBasDfs*(nPerIdf/100)); ConverteMascara(1, nVlrIcm, aVlrIcm, "Z.ZZZ.ZZZ.ZZZ.ZZ9,99"); LimpaEspacos(aVlrIcm); aMsgNfv = aMsgNfv + "VALOR ICMS 12%: R$ " + aVlrIcm + " *** "; ConverteMascara(1, nVlrPba, aVlrPba, "Z.ZZZ.ZZZ.ZZZ.ZZ9,99"); LimpaEspacos(aVlrPba); aMsgNfv = aMsgNfv + "VALOR PROALBA: R$ " + aVlrPba + " *** "; ConverteMascara(1, nVlrFag, aVlrFag, "Z.ZZZ.ZZZ.ZZZ.ZZ9,99"); LimpaEspacos(aVlrFag); aMsgNfv = aMsgNfv + "VALOR DO FUNDEAGRO: R$ " + aVlrFag; EstaNulo(aMsgNfv,nRet); Se (nRet = 0) { @VSIntInfAdf = VSIntInfAdf + " Valor descontado referente a taxa CDO: R$ " + sTotImp;@ VSIntInfCpl = VSIntInfCpl + aMsgNfv; } } } SQL_FecharCursor(aE140Nfv); SQL_Destruir(aE140Nfv);