Moderador: Moderadores
22/09/2021 17:02 18.375 ze_spedxmlmdfe.prg
SET cXml := CONCAT( '<PISOutr>',
ze_XmlTag( 'CST', cPisCst ),
ze_XmlTag( 'vBC', nPisBas ),
ze_XmlTag( 'pPIS', nPisAli ),
ze_XmlTag( 'vPIS', nPisVal ),
'</PISOutr>' );
SET cXml := CONCAT( '<PISOutr>',
'<CST>', cPisCst, '</CST>',
'<vBC>', nPisBas, '</vBC>',
'<pPIS>', nPisAli, '</pPIS>',
'<vPIS>', nPisVal, '</vPIS>',
'</PISOutr>' )
CREATE FUNCTION ze_XmlNfeProdutoList( nIdNotFis INT(11) )
RETURNS VARCHAR(10000)
BEGIN
DECLARE cXml VARCHAR(2000) DEFAULT '';
DECLARE nIdItPed, nContador INT(11) DEFAULT 0;
DECLARE nCursorEOF INT(11) DEFAULT 0;
DECLARE SP_CURSOR CURSOR FOR
SELECT IDITPED FROM JPITPED WHERE IPPEDIDO =
( SELECT NFPEDIDO FROM JPNOTFIS WHERE NFPEDIDO != 0 AND IDNOTFIS = nIdNotFis );
DECLARE CONTINUE HANDLER FOR NOT FOUND SET nCursorEOF = 1;
OPEN SP_CURSOR;
THIS:WHILE nCursorEof != 1 DO
FETCH SP_CURSOR INTO nIdItPed;
SET nContador := nContador + 1;
SET cXml := CONCAT( cXml, ze_XmlNfeProduto( nIdItPed, nContador ) );
END WHILE;
CLOSE SP_CURSOR;
RETURN cXml;
END
09/10/2021 11:45 8.711 ze_spedxmlnfe.prg
Pasta de d:\fontes\integra\sql\function
08/10/2021 22:35 2.737 ze_XmlNfeCobranca.sql
08/10/2021 04:28 2.555 ze_XmlNfeDestinatario.sql
08/10/2021 04:28 2.074 ze_XmlNfeEmitente.sql
08/10/2021 10:01 1.725 ze_XmlNfeEntrega.sql
09/10/2021 11:04 247 ze_XmlNfeGTIN.sql
08/10/2021 11:42 11.049 ze_XmlNfeInfAdic.sql
09/10/2021 11:30 2.898 ze_XmlNfeProduto.sql
05/10/2021 11:11 118 ze_XmlNfeProdutoArmamento.sql
08/10/2021 22:44 1.544 ze_XmlNfeProdutoCofins.sql
05/10/2021 11:13 845 ze_XmlNfeProdutoCombustivel.sql
08/10/2021 22:44 10.678 ze_XmlNfeProdutoIcms.sql
05/10/2021 11:12 109 ze_XmlNfeProdutoII.sql
05/10/2021 11:12 116 ze_XmlNfeProdutoImporta.sql
08/10/2021 22:44 1.118 ze_XmlNfeProdutoipi.sql
05/10/2021 11:12 209 ze_XmlNfeProdutoISS.sql
09/10/2021 11:41 702 ze_XmlNfeProdutoList.sql
05/10/2021 11:12 120 ze_XmlNfeProdutoMedicamento.sql
08/10/2021 22:44 1.493 ze_XmlNfeProdutoPis.sql
05/10/2021 11:12 116 ze_XmlNfeProdutoVeiculo.sql
09/10/2021 00:34 1.187 ze_XmlNfeReferenciadas.sql
08/10/2021 22:33 2.204 ze_XmlNfeTotais.sql
08/10/2021 22:44 2.734 ze_XmlNfeTransporte.sql
09/09/2021 17:17 740 ze_XmlNode.sql
03/10/2021 23:45 332 ze_XmlTag.sql
24 arquivo(s) 47.650 bytes
d:\fontes\integra>dir *.prg /o-s | find /n /i "xmlnfe"
...
[93]11/10/2021 07:02 8.715 ze_spedxmlnfe.prg
12/10/2021 20:18 1.901.488 jpa.exe
15/10/2021 15:49 1.896.880 jpa.exe
STATIC FUNCTION Update1018()
LOCAL cnSQL := ADOLocal(), cName
WITH OBJECT cnSQL
IF :FieldExists( "PCVALOR", "JPPREHIS" )
:ExecuteCmd( "ALTER TABLE JPPREHIS CHANGE COLUMN PCVALOR PHVALOR DECIMAL(15,4) DEFAULT '0'" )
ENDIF
IF ! :FieldExists( "CBS10IPIBAR", "JPCOMBUSTIVEL" )
:ExecuteCmd( "ALTER TABLE JPCOMBUSTIVEL ADD COLUMN CBS10IPIBAR DECIMAL(8,5) DEFAULT '0'" )
ENDIF
IF ! :FieldExists( "CBS500IPIBAR", "JPCOMBUSTIVEL" )
:ExecuteCmd( "ALTER TABLE JPCOMBUSTIVEL ADD COLUMN CBS500IPIBAR DECIMAL(8,5) DEFAULT '0'" )
ENDIF
IF ! :FieldExists( "CBS10PETSAO", "JPCOMBUSTIVEL" )
:ExecuteCmd( "ALTER TABLE JPCOMBUSTIVEL ADD COLUMN CBS10PETSAO DECIMAL(8,5) DEFAULT '0'" )
ENDIF
IF ! :FieldExists( "CBS10SHESAO", "JPCOMBUSTIVEL" )
:ExecuteCmd( "ALTER TABLE JPCOMBUSTIVEL ADD COLUMN CBS10SHESAO DECIMAL(8,5) DEFAULT '0'" )
ENDIF
:ExecuteCmd( "ALTER TABLE JPBAAUTO" + ;
" CHANGE COLUMN BUVALOR BUVALOR DECIMAL(14,2) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPBANCARIO" + ;
" CHANGE COLUMN BAVALOR BAVALOR DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN BASALDO BASALDO DECIMAL(14,2) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPCADASTRO" + ;
" CHANGE COLUMN CDLIMCRE CDLIMCRE DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN CDVALMES CDVALMES DECIMAL(14,2) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPCOMBUSTIVEL" + ;
" CHANGE COLUMN CBS10PETSAO CBS10PETSAO DECIMAL(8,5) DEFAULT '0'," + ;
" CHANGE COLUMN CBS10SHESAO CBS10SHESAO DECIMAL(8,5) DEFAULT '0'," + ;
" CHANGE COLUMN CBS10IPISAO CBS10IPISAO DECIMAL(8,5) DEFAULT '0'," + ;
" CHANGE COLUMN CBS10PETCUB CBS10PETCUB DECIMAL(8,5) DEFAULT '0'," + ;
" CHANGE COLUMN CBS10IPICUB CBS10IPICUB DECIMAL(8,5) DEFAULT '0'," + ;
" CHANGE COLUMN CBS10PETBAR CBS10PETBAR DECIMAL(8,5) DEFAULT '0'," + ;
" CHANGE COLUMN CBS10IPIBAR CBS10IPIBAR DECIMAL(8,5) DEFAULT '0'," + ;
" CHANGE COLUMN CBS500PETSAO CBS500PETSAO DECIMAL(8,5) DEFAULT '0'," + ;
" CHANGE COLUMN CBS500SHESAO CBS500SHESAO DECIMAL(8,5) DEFAULT '0'," + ;
" CHANGE COLUMN CBS500IPISAO CBS500IPISAO DECIMAL(8,5) DEFAULT '0'," + ;
" CHANGE COLUMN CBS500PETCUB CBS500PETCUB DECIMAL(8,5) DEFAULT '0'," + ;
" CHANGE COLUMN CBS500IPICUB CBS500IPICUB DECIMAL(8,5) DEFAULT '0'," + ;
" CHANGE COLUMN CBS500PETBAR CBS500PETBAR DECIMAL(8,5) DEFAULT '0'," + ;
" CHANGE COLUMN CBS500IPIBAR CBS500IPIBAR DECIMAL(8,5) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPCOMISSAO" + ;
" CHANGE COLUMN CMVALOR CMVALOR DECIMAL(7,3) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPESTOQUE" + ;
" CHANGE COLUMN ESQTDE ESQTDE DECIMAL(14,3) DEFAULT '0'," + ;
" CHANGE COLUMN ESVALOR ESVALOR DECIMAL(15,5) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPFINAN" + ;
" CHANGE COLUMN FIVALOR FIVALOR DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN FIJURDES FIJURDES DECIMAL(14,2) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPFISCAL" + ;
" CHANGE COLUMN LFVALCON LFVALCON DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN LFICMBAS LFICMBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN LFICMALI LFICMALI DECIMAL(7,2) DEFAULT '0'," + ;
" CHANGE COLUMN LFICMSUB LFICMSUB DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN LFICMOUT LFICMOUT DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN LFICMNAO LFICMNAO DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN LFIPIBAS LFIPIBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN LFIPIVAL LFIPIVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN LFIPIOUT LFIPIOUT DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN LFIPINAO LFIPINAO DECIMAL(14,2) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPFISICA" + ;
" CHANGE COLUMN FSQTDDIG1 FSQTDDIG1 DECIMAL(14,4) DEFAULT '0'," + ;
" CHANGE COLUMN FSQTDDIG2 FSQTDDIG2 DECIMAL(14,4) DEFAULT '0'," + ;
" CHANGE COLUMN FSQTDDIG3 FSQTDDIG3 DECIMAL(14,4) DEFAULT '0'," + ;
" CHANGE COLUMN FSQTDDIG4 FSQTDDIG4 DECIMAL(14,4) DEFAULT '0'," + ;
" CHANGE COLUMN FSQTDJPA1 FSQTDJPA1 DECIMAL(14,4) DEFAULT '0'," + ;
" CHANGE COLUMN FSQTDJPA2 FSQTDJPA2 DECIMAL(14,4) DEFAULT '0'," + ;
" CHANGE COLUMN FSQTDJPA3 FSQTDJPA3 DECIMAL(14,4) DEFAULT '0'," + ;
" CHANGE COLUMN FSQTDJPA4 FSQTDJPA4 DECIMAL(14,4) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPIMPOSTO" + ;
" CHANGE COLUMN IMIIALI IMIIALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IMIPIALI IMIPIALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IMIPSALI IMIPSALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IMICMRED IMICMRED DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IMICMALI IMICMALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IMICSALI IMICSALI DECIMAL(9,5) DEFAULT '0'," + ;
" CHANGE COLUMN IMFCPALI IMFCPALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IMSUBIVA IMSUBIVA DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IMSUBRED IMSUBRED DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IMSUBALI IMSUBALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IMDIFALII IMDIFALII DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IMDIFALIU IMDIFALIU DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IMDIFALIF IMDIFALIF DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IMISSALI IMISSALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IMPISALI IMPISALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IMCOFALI IMCOFALI DECIMAL(6,2) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPITEM" + ;
" CHANGE COLUMN IERES1 IERES1 DECIMAL(14,3) DEFAULT '0'," + ;
" CHANGE COLUMN IERES2 IERES2 DECIMAL(14,3) DEFAULT '0'," + ;
" CHANGE COLUMN IERES3 IERES3 DECIMAL(14,3) DEFAULT '0'," + ;
" CHANGE COLUMN IEQTD1 IEQTD1 DECIMAL(14,3) DEFAULT '0'," + ;
" CHANGE COLUMN IEQTD2 IEQTD2 DECIMAL(14,3) DEFAULT '0'," + ;
" CHANGE COLUMN IEQTD3 IEQTD3 DECIMAL(14,3) DEFAULT '0'," + ;
" CHANGE COLUMN IEQTD4 IEQTD4 DECIMAL(14,3) DEFAULT '0'," + ;
" CHANGE COLUMN IEQTD5 IEQTD5 DECIMAL(14,3) DEFAULT '0'," + ;
" CHANGE COLUMN IEQTD6 IEQTD6 DECIMAL(14,3) DEFAULT '0'," + ;
" CHANGE COLUMN IEQTD7 IEQTD7 DECIMAL(14,3) DEFAULT '0'," + ;
" CHANGE COLUMN IEQTD8 IEQTD8 DECIMAL(14,3) DEFAULT '0'," + ;
" CHANGE COLUMN IEQTD9 IEQTD9 DECIMAL(14,3) DEFAULT '0'," + ;
" CHANGE COLUMN IEQTDMIN IEQTDMIN DECIMAL(14,3) DEFAULT '0'," + ;
" CHANGE COLUMN IEVALOR IEVALOR DECIMAL(15,5) DEFAULT '0'," + ;
" CHANGE COLUMN IEPESBRU IEPESBRU DECIMAL(9,3) DEFAULT '0'," + ;
" CHANGE COLUMN IEPESLIQ IEPESLIQ DECIMAL(9,3) DEFAULT '0'," + ;
" CHANGE COLUMN IEVALCUS IEVALCUS DECIMAL(15,5) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPITPED" + ;
" CHANGE COLUMN IPPRECUS IPPRECUS DECIMAL(16,5) DEFAULT '0'," + ;
" CHANGE COLUMN IPPREPED IPPREPED DECIMAL(16,5) DEFAULT '0'," + ;
" CHANGE COLUMN IPQTDE IPQTDE DECIMAL(14,3) DEFAULT '0'," + ;
" CHANGE COLUMN IPVALCUS IPVALCUS DECIMAL(15,5) DEFAULT '0'," + ;
" CHANGE COLUMN IPPRENOT IPPRENOT DECIMAL(15,5) DEFAULT '0'," + ;
" CHANGE COLUMN IPVALADI IPVALADI DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPVALFRE IPVALFRE DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPVALSEG IPVALSEG DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPVALOUT IPVALOUT DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPVALEXT IPVALEXT DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPVALADU IPVALADU DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPVALIOF IPVALIOF DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPVALDES IPVALDES DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPVALPRO IPVALPRO DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPVALNOT IPVALNOT DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPIIBAS IPIIBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPIIALI IPIIALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPIIVAL IPIIVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPIPIBAS IPIPIBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPIPIALI IPIPIALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPIPIVAL IPIPIVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPICMBAS IPICMBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPICMALI IPICMALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPICMRED IPICMRED DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPICMVAL IPICMVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPFCPALI IPFCPALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPFCPVAL IPFCPVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPICSBAS IPICSBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPICSALI IPICSALI DECIMAL(6,3) DEFAULT '0'," + ;
" CHANGE COLUMN IPICSVAL IPICSVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPSUBIVA IPSUBIVA DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPSUBBAS IPSUBBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPSUBRED IPSUBRED DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPSUBALI IPSUBALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPSUBVAL IPSUBVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPDIFBAS IPDIFBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPDIFALIF IPDIFALIF DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPDIFALIU IPDIFALIU DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPDIFALII IPDIFALII DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPDIFVALI IPDIFVALI DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPDIFVALF IPDIFVALF DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPPISBAS IPPISBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPPISALI IPPISALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPPISVAL IPPISVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPCOFBAS IPCOFBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPCOFALI IPCOFALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPCOFVAL IPCOFVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPISSBAS IPISSBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPISSALI IPISSALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPISSVAL IPISSVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPIMPALI IPIMPALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN IPIMPVAL IPIMPVAL DECIMAL(14,2) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPMDFDET" + ;
" CHANGE COLUMN MDVALMER MDVALMER DECIMAL(14,2) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPNOTFIS" + ;
" CHANGE COLUMN NFVALPRO NFVALPRO DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFVALNOT NFVALNOT DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFVALFRE NFVALFRE DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFVALSEG NFVALSEG DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFVALOUT NFVALOUT DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFVALEXT NFVALEXT DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFVALDES NFVALDES DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFVALADU NFVALADU DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFVALIOF NFVALIOF DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFIPIBAS NFIPIBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFIPIVAL NFIPIVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFICMBAS NFICMBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFICMVAL NFICMVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFFCPVAL NFFCPVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFSUBBAS NFSUBBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFSUBVAL NFSUBVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFDIFVALI NFDIFVALI DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFDIFVALF NFDIFVALF DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFPISBAS NFPISBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFPISVAL NFPISVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFCOFBAS NFCOFBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFCOFVAL NFCOFVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFISSBAS NFISSBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFISSVAL NFISSVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFICSBAS NFICSBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFICSALI NFICSALI DECIMAL(6,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFICSVAL NFICSVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFIMPVAL NFIMPVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFPESBRU NFPESBRU DECIMAL(8,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFPESLIQ NFPESLIQ DECIMAL(8,2) DEFAULT '0'," + ;
" CHANGE COLUMN NFIIVAL NFIIVAL DECIMAL(14,2) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPPEDIDO" + ;
" CHANGE COLUMN PDPERDES PDPERDES DECIMAL(5,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDPERADI PDPERADI DECIMAL(5,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDVALCUS PDVALCUS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDVALPRO PDVALPRO DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDVALNOT PDVALNOT DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDVALFRE PDVALFRE DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDVALSEG PDVALSEG DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDVALOUT PDVALOUT DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDVALEXT PDVALEXT DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDVALDES PDVALDES DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDVALADI PDVALADI DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDVALADU PDVALADU DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDVALIOF PDVALIOF DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDIIBAS PDIIBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDIIVAL PDIIVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDIPIBAS PDIPIBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDIPIVAL PDIPIVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDICMBAS PDICMBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDICMVAL PDICMVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDFCPVAL PDFCPVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDSUBBAS PDSUBBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDSUBVAL PDSUBVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDDIFVALI PDDIFVALI DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDDIFVALF PDDIFVALF DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDISSBAS PDISSBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDISSVAL PDISSVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDPISBAS PDPISBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDPISVAL PDPISVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDCOFBAS PDCOFBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDCOFVAL PDCOFVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDICSBAS PDICSBAS DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDICSVAL PDICSVAL DECIMAL(14,2) DEFAULT '0'," + ;
" CHANGE COLUMN PDIMPVAL PDIMPVAL DECIMAL(14,2) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPPRECO" + ;
" CHANGE COLUMN PCVALOR PCVALOR DECIMAL(15,4) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPPREHIS" + ;
" CHANGE COLUMN PHVALOR PHVALOR DECIMAL(15,4) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPTABFORPAG" + ;
" CHANGE COLUMN FPALIADI FPALIADI DECIMAL(8,3) DEFAULT '0'," + ;
" CHANGE COLUMN FPALIDES FPALIDES DECIMAL(8,3) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPTABIBPT" + ;
" CHANGE COLUMN IBNACALI IBNACALI DECIMAL(7,2) DEFAULT '0'," + ;
" CHANGE COLUMN IBIMPALI IBIMPALI DECIMAL(7,2) DEFAULT '0'," + ;
" CHANGE COLUMN IBALIFEDN IBALIFEDN DECIMAL(7,2) DEFAULT '0'," + ;
" CHANGE COLUMN IBALIFEDI IBALIFEDI DECIMAL(7,2) DEFAULT '0'," + ;
" CHANGE COLUMN IBALIEST IBALIEST DECIMAL(7,2) DEFAULT '0'," + ;
" CHANGE COLUMN IBALIMUN IBALIMUN DECIMAL(7,2) DEFAULT '0'" )
:ExecuteCmd( "ALTER TABLE JPVENDEDOR" + ;
" CHANGE COLUMN VDCOMISSAO VDCOMISSAO DECIMAL(7,3) DEFAULT '0'" )
ENDWITH
WITH OBJECT cnSQL
:ExecuteCmd( "DROP TABLE IF EXISTS JPCTLOTES" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTABINFADI" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPMANIFESTACAO" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPCTHISTO" )
:ExecuteCmd( "DROP TABLE IF EXISTS JPTABANPATI" )
ENDWITH
WITH OBJECT cnSQL
FOR EACH cName IN { "zeexists", "ze_margemcusto", "ze_NfeBlocoProdutoIcms", ;
"ze_NfeBlocoProdutoIcms00", "ze_XmlNumberToXml", "ze_XmlNfeProdutoii", ;
"ze_XmlNfeProdutoiss", "ze_XmlNfeProdutoArmamento", "ze_XmlNfeProdutoCombustivel", ;
"ze_XmlNfeProdutoImporta", "ze_XmlNfeProdutoMedicamento", "ze_XmlNfeProdutoVeiculo", ;
"ze_ValidIeAM", "ze_ValidIeCE", "ze_ValidIeES", "ze_ValidIeMS", "ze_ValidIeMT", ;
"ze_ValidIePA", "ze_ValidIePB", "ze_ValidIePI", "ze_ValidIeRN", "ze_ValidIeRS", ;
"ze_ValidIeSC", "ze_ValidIeSE", "ze_ValidIeTO", "ze_XmlNumber", "ze_saldodebito", ;
"ze_saldocredito", "ze_NumberToXml", "SaldoConta", "ze_xmlnfeprodutoicms", ;
"ze_xmlnfeprodutoipi", "ze_xmlnfeprodutocofins", "ze_xmlnfeprodutopis" }
:ExecuteCmd( "DROP FUNCTION IF EXISTS " + cName )
:ExecuteCmd( "DELETE FROM JPBINARY WHERE BINNAME=" + StringSQL( cName ) + " AND BINTYPE='function'" )
NEXT
FOR EACH cName IN { "ze_PedidoCalculoDifal", "ze_PedidoCalculoFcp", "ze_PedidoCalculoIcms", ;
"ze_PedidoCalculoIi", "ze_PedidoCalculoImportacao", "ze_PedidoCalculoImposto", ;
"ze_PedidoCalculoIpi", "ze_PedidoCalculoIss", "ze_PedidoCalculoPis", ;
"ze_PedidoCalculoRateioExtras", "ze_PedidoCalculoRateioOficial", "ze_PedidoCalculoSimples", ;
"ze_PedidoCalculoSt", "ze_PedidoCalculoTotais", "ze_PedidoCalculoTributacao", ;
"ze_PedidoLeis", "ze_CalculaPedido", "ze_CalculaPedidoImportacao", ;
"ze_PedidoCalculoRateioExtras", "ze_PedidoCalculoRateioOficial", ;
"ze_PedidoCalculoTributacao", "ze_PedidoCalculoDImposto", "ze_PedidoCalculoZTotais", ;
"ze_ProdutoUltimaEntrada", "ze_SaldoContabil", "ze_produtocustocontabil", ;
"ze_produtoultimasaida", "ze_contabilexemplosintetica", "ze_patrimoniolicmixupdate", ;
"ze_patrimoniolixmixupdate", "ze_bancariorecalcula", "ze_financeiroaberto", ;
"ze_pedidcalculoipi", "ze_pedidocalculoeii", "ze_pedidovaloremaberto", "ze_pedidoclonar", ;
"ze_bancorecalcula" }
:ExecuteCmd( "DROP PROCEDURE IF EXISTS " + cName )
:ExecuteCmd( "DELETE FROM JPBINARY WHERE BINNAME=" + StringSQL( cName ) + " AND BINTYPE='procedure'" )
NEXT
ENDWITH
RETURN Nil
FUNCTION ze_XmlNfe( nIdNotFis, cXml, nIdEmpresa, cVersaoJPA )
LOCAL nSelect, mTexto, nCont, mChaveDigital, cTipoEmissao
LOCAL cnSQL := ADOLocal()
nSelect := Select()
cXml := ""
WITH OBJECT cnSQL
:Execute( "SELECT SEFAZNFEAMBIENTE, SEFAZNFETIPOEMISSAO" + ;
" FROM JPTABSEFAZ" )
cTipoEmissao := :String( "SEFAZNFETIPOEMISSAO" )
:CloseRecordset()
:Execute( "SELECT NFNOTFIS, NFDATEMI, NFCADASTRO, NFPEDIDO, NFFILIAL," + ;
" JPEMPRESA.EMCNPJ" + ;
" FROM JPNOTFIS" + ;
" LEFT JOIN JPEMPRESA ON JPEMPRESA.IDEMPRESA = " + NumberSQL( nIdEmpresa ) + ;
" WHERE IDNOTFIS = " + NumberSQL( nIdNotFis ) )
mChaveDigital := "35" // UF Ibge
mChaveDigital += Substr( StrZero( Year( :Date( "NFDATEMI" ) ), 4 ), 3, 2 ) + StrZero( Month( :Date( "NFDATEMI" ) ), 2 )
mChaveDigital += SoNumeros( :String( "EMCNPJ" ) ) // Cnpj
mChaveDigital += "55" // Modelo de Docto Fiscal
mChaveDigital += "001" // Serie Docto Fiscal
mChaveDigital += StrZero( :Number( "NFNOTFIS" ), 9 ) // NF 9 digitos
mChaveDigital += cTipoEmissao // Tipo de Emissao Normal/Contingencia (começou na NFE 2.00)
mChaveDigital += Right( StrZero( :Number( "NFCADASTRO" ), 6 ), 2 ) + StrZero( :Number( "NFCADASTRO" ), 6 ) // Chave Aleatoria // reduzido 1 posicao
mChaveDigital := mChaveDigital + CalculaDigito( mChaveDigital, "11" )
:CloseRecordset()
ENDWITH
cXml += [<NFe xmlns="http://www.portalfiscal.inf.br/nfe">]
cXml += [<infNFe Id="NFe] + mChaveDigital + [" versao="4.00">]
cXml += cnSQL:ReturnFunction( "ze_XmlNfeIde", mChaveDigital, nIdNotFis, nIdEmpresa, "JPA " + AppVersaoExe() )
cXml += cnSQL:ReturnFunction( "ze_XmlNfeEmitente", nIdEmpresa )
//NfeBlocoNotaAvulsa( @cXml )
cXml += cnSQL:ReturnFunction( "ze_XmlNfeDestinatario", nIdNotFis )
cXml += cnSQL:ReturnFunction( "ze_XmlNfeEntrega", nIdNotFis )
cXml += cnSQL:ReturnFunction( "ze_XmlNfeProdutoList", nIdNotFis )
cXml += cnSQL:ReturnFunction( "ze_XmlNfeTotais", nIdNotFis )
cXml += cnSQL:ReturnFunction( "ze_XmlNfeTransporte", nIdNotFis )
cXml += cnSQL:ReturnFunction( "ze_XmlNfeCobranca", nIdNotFis )
cXml += cnSQL:ReturnFunction( "ze_XmlNfeInfAdic", nIdNotFis )
cXml += [<infRespTec>]
cXml += XmlTag( "CNPJ", "000" )
cXml += XmlTag( "xContato", "Jose M C Quintas" )
cXml += XmlTag( "email", "xxx@gmail.com" )
cXml += XmlTag( "fone", "999" )
cXml += [</infRespTec>]
cXml += [</infNFe>]
cXml += [</NFe>]
RETURN Nil
CREATE FUNCTION ze_XmlNfe(
nIdNotFis INT(11),
nIdEmpresa INT(11),
cVersaoJPA CHAR(100)
)
RETURNS TEXT
BEGIN
DECLARE cXml TEXT;
DECLARE cChave VARCHAR(50);
DECLARE cTipoEmissao VARCHAR(1);
DECLARE dEmissao DATE;
DECLARE cCnpj VARCHAR(20);
DECLARE nNumNotFis, nIdCadastro INT(11);
SELECT
NFNOTFIS, NFDATEMI, NFCADASTRO, EMCNPJ, SEFAZNFETIPOEMISSAO
FROM JPNOTFIS
LEFT JOIN JPEMPRESA ON JPEMPRESA.IDEMPRESA = nIdEmpresa
JOIN JPTABSEFAZ
WHERE IDNOTFIS = nIdNotFis LIMIT 1
INTO nNumNotFis, dEmissao, nIdCadastro, cCnpj, cTipoEmissao;
SET cChave := CONCAT(
'35',
LPAD( MOD( YEAR( dEmissao ), 100 ), 2, '0' ),
LPAD( MONTH( dEmissao ), 2, '0' ),
LPAD( ze_SoNumeros( cCnpj ), 14, '0' ),
'55',
'001',
LPAD( nNumNotFis, 9, '0' ),
cTipoEmissao,
RIGHT( LPAD( nIdCadastro, 6, '0' ), 2 ),
LPAD( nIdCadastro, 6, '0' ) );
SET cChave := CONCAT( cChave, ze_CalculaDigito( cChave, '11' ) );
SET cXml := CONCAT(
'<NFe xmlns="http://www.portalfiscal.inf.br/nfe">',
'<infNFe Id="NFe', cChave, '" versao="4.00">',
ze_XmlNfeIde( cChave, nIdNotFis, nIdEmpresa, cVersaoJPA ),
ze_XmlNfeEmitente( nIdEmpresa ),
ze_XmlNfeDestinatario( nIdNotFis ),
ze_XmlNfeEntrega( nIdNotFis ),
ze_XmlNfeProdutoList( nIdNotFis ),
ze_XmlNfeTotais( nIdNotFis ),
ze_XmlNfeTransporte( nIdNotFis ),
ze_XmlNfeCobranca( nIdNotFis ),
ze_XmlNfeInfAdic( nIdNotFis ),
'<infRespTec>',
ze_XmlTag( 'CNPJ', '000' ),
ze_XmlTag( 'xContato', 'Jose M C Quintas' ),
ze_XmlTag( 'email', 'xxx@gmail.com' ),
ze_XmlTag( 'fone', '000' ),
'</infRespTec>',
'</infNFe>',
'</NFe>' );
RETURN cXml;
END
CREATE FUNCTION ze_CalculaDigito(
cNumero VARCHAR(100),
nModulo INT(11)
)
RETURNS VARCHAR(1)
METHOD Valida( nidctConta ) CLASS JPCTCONTAClass
LOCAL nRow := Row(), cNome, cTipo, lEof
@ nRow, 32 SAY Space(60)
WITH OBJECT ::cnSQL
:Execute( "SELECT CPNOME, CPTIPO FROM JPCTCONTA WHERE IDCTCONTA=" + NumberSQL( nidctConta ) )
cNome := :String( "CPNOME", 60 )
cTipo := :String( "CPTIPO", 1 )
lEof := :Eof()
:CloseRecordset()
IF lEof
MsgStop( "Conta não cadastrada" )
RETURN .F.
ENDIF
@ nRow, 32 SAY cNome
IF m_Prog == "PJPCONTABIL" .AND. cTipo != "A"
MsgStop( "Não pode efetuar lançamento em conta sintética" )
RETURN .F.
ENDIF
ENDWITH
RETURN .T.
CREATE FUNCTION ze_DomingoDePascoa( nAno INT(11) )
RETURNS DATE
BEGIN
DECLARE nA, nB, nC, nD, nE, nF, nG, nH, nI, nK, nL, nM, nMes, nDia INT;
DECLARE dData DATE;
SET nA = MOD( nAno, 19 );
SET nB = FLOOR( nAno / 100 );
SET nC = MOD( nAno, 100 );
SET nD = FLOOR( nB / 4 );
SET nE = MOD( nB, 4 );
SET nF = FLOOR( ( nB + 8 ) / 25 );
SET nG = FLOOR( ( nB - nF + 1 ) / 3 );
SET nH = MOD( 19 * nA + nB - nD - nG + 15, 30 );
SET nI = FLOOR( nC / 4 );
SET nK = MOD( nC, 4 );
SET nL = MOD( 32 + 2 * nE + 2 * nI - nH - nK, 7 );
SET nM = FLOOR( ( nA + 11 * nH + 22 * nL ) / 451 );
SET nMes = FLOOR( ( nH + nL - 7 * nM + 114 ) / 31 );
SET nDia = MOD( nH + nL - 7 * nM + 114, 31 ) + 1;
SET dData = CONCAT( LPAD( nAno, 4, '0' ), '-', + LPAD( nMes, 2, '0' ), '-', LPAD( nDia, 2, '0' ) );
RETURN dData;
END
CREATE FUNCTION ze_TercaDeCarnaval( nAno INT(11) )
RETURNS DATE
BEGIN
DECLARE dData DATE;
SET dData = DATE_SUB( ze_DomingoDePascoa( nAno ), INTERVAL 47 DAY );
RETURN dData;
END
CREATE FUNCTION ze_HorarioVeraoInicio( nAno INT(11) )
RETURNS DATE
BEGIN
DECLARE dPrimeiroDia, dPrimeiroDomingo, dTerceiroDomingo DATE;
IF nAno = 2018 THEN
SET dTerceiroDomingo := '2018-11-04';
ELSE
SET dPrimeiroDia := CONCAT( LPAD( nAno, 4, '0' ), '-10-01' );
SET dPrimeiroDomingo := DATE_ADD( dPrimeiroDia, INTERVAL
( 6 - WEEKDAY( dPrimeiroDia ) ) DAY );
SET dTerceiroDomingo := DATE_ADD( dPrimeiroDomingo, INTERVAL 14 DAY );
END IF;
RETURN dTerceiroDomingo;
END
CREATE FUNCTION ze_HorarioVeraoTermino( nAno INT(11) )
RETURNS TEXT
BEGIN
DECLARE cText TEXT;
DECLARE dPrimeiroDia, dPrimeiroDomingo, dTerceiroDomingo DATE;
SET dPrimeiroDia := CONCAT( LPAD( nAno + 1, 4, '0' ), '-02-01' );
SET dPrimeiroDomingo := DATE_ADD( dPrimeiroDia, INTERVAL
6 - WEEKDAY( dPrimeiroDia ) DAY );
SET dTerceiroDomingo := DATE_ADD( dPrimeiroDomingo, INTERVAL 14 DAY );
IF dTerceiroDomingo = ze_TercaDeCarnaval( nAno + 1 ) - 2 THEN
SET dTerceiroDomingo := DATE_ADD( dTerceiroDomingo, INTERVAL 7 DAY );
END IF;
RETURN dTerceiroDomingo;
END
CREATE FUNCTION ze_DateTimeXml( dDate DATE, cTime VARCHAR(10), cUF VARCHAR(2) )
RETURNS TEXT
BEGIN
DECLARE cText TEXT;
DECLARE nHorarioVerao INT(11);
SET nHorarioVerao :=
dDate >= ze_HorarioVeraoInicio( YEAR( dDate ) ) OR
dDate <= ze_HorarioVeraoTermino( YEAR( dDate ) - 1 ) ;
IF cUF = 'AC' THEN
SET cText := '-05:00';
ELSEIF cUF IN ( 'MT','MS' ) AND nHorarioVerao = 1 THEN
SET cText := '-03:00';
ELSEIF cUF IN ( 'DF', 'ES', 'GO', 'MG', 'PR', 'RJ', 'RS', 'SC' ) AND nHorarioVerao = 1 THEN
SET cText := '-02:00';
ELSEIF cUF IN ( 'AM', 'MT', 'MS', 'RO', 'RR' ) THEN
SET cText := '-04:00';
ELSE
SET cText := '-03:00';
END IF;
SET cText := CONCAT( dDate, 'T', cTime, cText );
RETURN cText;
END
Retornar para Contribuições, Dicas e Tutoriais
Usuários vendo este fórum: Nenhum usuário registrado online e 6 visitantes