modificaciones facturacion electronica

This commit is contained in:
Luis
2026-10-15 16:07:57 -04:00
parent 07649704b1
commit ba982b7635
158 changed files with 206301 additions and 27838 deletions
+6 -3
View File
@@ -216,8 +216,9 @@
<Application binaryName="coprmt025" commandLineArguments="lmsoto 1234" dependencies="424,431,765680212,419365770" externalDependencies="libgre.42x" id="206046291" label="coprmt025">
<File filePath="codir/coprmt025.4gl"/>
</Application>
<Application binaryName="coprrp001" dependencies="424,431" id="196023744" label="coprrp001">
<Application binaryName="coprrp001" commandLineArguments="lmsoto 1234" compilerOptions="--build-rdd" dependencies="424,431,765680212,419365770" externalDependencies="libgre.42x" id="196023744" label="coprrp001">
<File filePath="codir/coprrp001.4gl"/>
<File filePath="codir/coprrp001.4rp"/>
</Application>
<Application binaryName="coprrp004" commandLineArguments="lmsoto Lm5798379" dependencies="424,431,419365770" externalDependencies="libgre.42x" id="42259814" label="coprrp004">
<File filePath="codir/coprrp004.4gl"/>
@@ -284,7 +285,7 @@
<Application binaryName="cgprcs002" dependencies="787,431,765680212" id="233866250" label="cgprcs002">
<File filePath="cgdir/cgprcs002.4gl"/>
</Application>
<Application binaryName="cgprmt001" commandLineArguments="lmsoto Lm5798379" dependencies="431,787" id="583617376" label="cgprmt001">
<Application binaryName="cgprmt001" commandLineArguments="lmsoto 1234" dependencies="431,787" id="583617376" label="cgprmt001">
<File filePath="cgdir/cgprmt001.4gl"/>
</Application>
<Application binaryName="cgprmt004" commandLineArguments="lmsoto Lm5798379" dependencies="431,787,419365770,765680212" externalDependencies="libgre.42x" id="165709694" label="cgprmt004">
@@ -686,6 +687,8 @@
</Application>
<Application binaryName="cpprmt001" commandLineArguments="lmsoto Lm5798379" dependencies="431,589,419365770" externalDependencies="libgre.42x" id="38945300" label="cpprmt001">
<File filePath="cpdir/cpprmt001.4gl"/>
<File filePath="cpdir/cpprmt001_ecf.4gl"/>
<File filePath="cpdir/cpfmwd041.per"/>
</Application>
<Application binaryName="cpprmt002" commandLineArguments="lmsoto Lm5798379" dependencies="431,589" id="258860900" label="cpprmt002">
<File filePath="cpdir/cpprmt002.4gl"/>
@@ -1380,7 +1383,7 @@
<Application binaryName="veprmt015" dependencies="542" id="205419408" label="veprmt015">
<File filePath="vedir/veprmt015.4gl"/>
</Application>
<Application binaryName="veprmt020" commandLineArguments="lmsoto Lm5798379" dependencies="542,431" id="473629599" label="veprmt020">
<Application binaryName="veprmt020" commandLineArguments="lmsoto 1234" dependencies="542,431" id="473629599" label="veprmt020">
<File filePath="vedir/veprmt020.4gl"/>
</Application>
<Application binaryName="veprmt022" commandLineArguments="lmsoto Lm5798379" dependencies="419365770,765680212,542,737399075,431" externalDependencies="libgre.42x" id="323219704" label="veprmt022">
File diff suppressed because it is too large Load Diff
+764 -529
View File
File diff suppressed because it is too large Load Diff
+3 -53
View File
@@ -3,66 +3,16 @@
<ExpandedNodes>
<Node path="MBSVG240.4pw" type="pm/main-project"/>
<Node path="MBSVG240.4pw/MBS" type="pm/group"/>
<Node path="MBSVG240.4pw/MBS/CHEQUES/cgprmt011" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/CHEQUES/cgprmt017" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/COMPRAS/coprmt009" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/COMPRAS/coprmt025" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/COMPRAS/coprrp001" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/COMPRAS/FUNCIONESCO" type="pm/library"/>
<Node path="MBSVG240.4pw/MBS/CONTABILIDAD GENERAL" type="pm/group"/>
<Node path="MBSVG240.4pw/MBS/CONTABILIDAD GENERAL/cgprmt001" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/CONTABILIDAD GENERAL/cgprmt022" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/CONTABILIDAD GENERAL/cgprrp004" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/CONTABILIDAD GENERAL/cgprrp005" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/CONTABILIDAD GENERAL/cgprrp008" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/CONTABILIDAD GENERAL/cgprrp015" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/CONTABILIDAD GENERAL/FUNCIONESCG" type="pm/library"/>
<Node path="MBSVG240.4pw/MBS/CUENTAS POR COBRAR" type="pm/group"/>
<Node path="MBSVG240.4pw/MBS/CUENTAS POR COBRAR/ccprmt001" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/CUENTAS POR COBRAR/ccprrp005" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/CUENTAS POR COBRAR/CCPRRP009" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/CUENTAS POR COBRAR/FORMULARIOSCC" type="pm/library"/>
<Node path="MBSVG240.4pw/MBS/CUENTAS POR COBRAR/GLOBALCC" type="pm/library"/>
<Node path="MBSVG240.4pw/MBS/CUENTAS POR PAGAR/cpprmt001" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/CUENTAS POR PAGAR/cpprrp004" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/dabase" type="pm/library"/>
<Node path="MBSVG240.4pw/MBS/enviafile" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/FUNCIONESREP" type="pm/library"/>
<Node path="MBSVG240.4pw/MBS/LIQUIDACION/FORMULARIOSLQ" type="pm/library"/>
<Node path="MBSVG240.4pw/MBS/LIQUIDACION/lqprmt001" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/PRODUCCION/prprmt008" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/PRODUCCION/prprmt011" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/FUNCIONES" type="pm/library"/>
<Node path="MBSVG240.4pw/MBS/VENTAS" type="pm/group"/>
<Node path="MBSVG240.4pw/MBS/VENTAS/FORMULARIOSVTAS" type="pm/library"/>
<Node path="MBSVG240.4pw/MBS/VENTAS/FUNCIONESVTAS" type="pm/library"/>
<Node path="MBSVG240.4pw/MBS/VENTAS/geprrp013" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/VENTAS/veprmt001" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/VENTAS/veprmt022" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/VENTAS/veprmt049" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/VENTAS/veprrp044" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/VENTAS/veprrp048" type="pm/application"/>
<Node path="MBSVG240.4pw/MBS/VENTAS/veprrp049" type="pm/application"/>
</ExpandedNodes>
<OpenDocuments>
<Document container="true" filePath="ccdir/ccprmt001.4gl" locator="5381:59" module="mod-ce3">
<Data name="8" value="CP1252"/>
</Document>
<Document container="true" filePath="dgii/codigoncf.4gl" locator="1:1" module="mod-ce3">
<Data name="8" value="CP1252"/>
</Document>
<Document container="true" filePath="vedir/veprmt001.4gl" locator="548:40" module="mod-ce3">
<Data name="8" value="CP1252"/>
</Document>
<Document container="true" filePath="otrodir/ncf.4gl" locator="1:1" module="mod-ce3">
<Data name="8" value="CP1252"/>
</Document>
<Document container="true" filePath="ccdir/ccfmmt001.4fd" locator="" module="mod-fd"/>
<Document container="true" filePath="ccdir/ccfmwd018.4fd" locator="" module="mod-fd"/>
<Document container="true" filePath="C:/Users/luis_/Documents/fuentes/decomarmol/PROYECTO/bin/filesxml/originales/130589216E340000000039.xml" locator="54:47" module="mod-ce3">
<Data name="8" value="UTF-8"/>
</Document>
<Document container="true" filePath="vedir/vefmmt101.4fd" locator="" module="mod-fd"/>
<Document container="true" filePath="vedir/vefmmt001.4fd" locator="" module="mod-fd"/>
<Document container="true" filePath="bin/veprmt022.4rp" locator="" module="mod-rw"/>
</OpenDocuments>
<CurrentDocument filePath="vedir/vefmmt001.4fd" module="mod-fd"/>
<CurrentDocument filePath="" module="mod-wp"/>
</WorkspaceViewState>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+5 -5
View File
@@ -1,19 +1,19 @@
<?xml version='1.0' encoding='windows-1252'?>
<Form name="cofmrp001" build="2.40.03-2081" sqlDbName="marmotech" width="80" height="24">
<?xml version='1.0' encoding='UTF-8'?>
<Form name="cofmrp001" build="3.20.05" sqlDbName="decomarmol" width="80" height="24">
<Screen width="80" height="24">
<Label text="Ordenamiento" posY="1" posX="0" gridWidth="12"/>
<FormField name="formonly.decide" colName="decide" sqlType="CHAR" fieldId="3" sqlTabName="formonly" required="1" include="A|N" tabIndex="1">
<Edit width="1" autoNext="1" comment="Digite A - Alfabetico N - Numerico" shift="up" posY="1" posX="22" gridWidth="1"/>
</FormField>
<Label text="Codigo Suplidor" posY="2" posX="0" gridWidth="15"/>
<FormField name="cotb00001.cod_sp" colName="cod_sp" sqlType="SMALLINT" fieldId="0" sqlTabName="cotb00001" tabIndex="2">
<FormField name="cotb00001.cod_sp" colName="cod_sp" sqlType="SMALLINT" required="1" notNull="1" fieldId="0" sqlTabName="cotb00001" tabIndex="2">
<Edit width="2" posY="2" posX="22" gridWidth="2"/>
</FormField>
<FormField name="cotb00001.cod_sp_sec" colName="cod_sp_sec" sqlType="SMALLINT" fieldId="1" sqlTabName="cotb00001" tabIndex="3">
<FormField name="cotb00001.cod_sp_sec" colName="cod_sp_sec" sqlType="SMALLINT" required="1" notNull="1" fieldId="1" sqlTabName="cotb00001" tabIndex="3">
<Edit width="4" posY="2" posX="26" gridWidth="4"/>
</FormField>
<Label text="Nombre Suplidor" posY="3" posX="0" gridWidth="15"/>
<FormField name="cotb00001.nom_sp" colName="nom_sp" sqlType="CHAR(41)" fieldId="2" sqlTabName="cotb00001" tabIndex="4">
<FormField name="cotb00001.nom_sp" colName="nom_sp" sqlType="VARCHAR(41)" fieldId="2" sqlTabName="cotb00001" tabIndex="4">
<Edit width="45" posY="3" posX="22" gridWidth="45"/>
</FormField>
</Screen>
Binary file not shown.
Binary file not shown.
@@ -11,51 +11,55 @@
<TipoPago>1</TipoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>1</FormaPago>
<MontoPago>708.00</MontoPago>
<FormaPago>0</FormaPago>
<MontoPago>292.00</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>Decomarmol Piedras y Granitos</RazonSocialEmisor>
<NombreComercial>Decomarmol Piedras y Granitos</NombreComercial>
<DireccionEmisor>Calle K esq. L Zona Industrial de Haina</DireccionEmisor>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle Olof Palmer No.11 Esq. Rafael Ramos</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<NumeroFacturaInterna>407</NumeroFacturaInterna>
<FechaEmision>21-04-2026</FechaEmision>
<CorreoEmisor>info@decomarmol.com.do</CorreoEmisor>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12930</NumeroFacturaInterna>
<NumeroPedidoInterno>13378</NumeroPedidoInterno>
<FechaEmision>23-09-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>130337391</RNCComprador>
<RazonSocialComprador>NACE SERVICIOS MULTIPLES</RazonSocialComprador>
<RNCComprador>131-15581-2</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
<DireccionComprador>SANTO DOMINGO ESTE,</DireccionComprador>
<MunicipioComprador>320301</MunicipioComprador>
<ProvinciaComprador>320000</ProvinciaComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>600.00</MontoGravadoTotal>
<MontoGravadoI1>600.00</MontoGravadoI1>
<MontoGravadoTotal>247.50</MontoGravadoTotal>
<MontoGravadoI1>247.50</MontoGravadoI1>
<MontoGravadoI3>0</MontoGravadoI3>
<ITBIS1>18</ITBIS1>
<ITBIS3>0</ITBIS3>
<TotalITBIS>108.00</TotalITBIS>
<TotalITBIS1>108.00</TotalITBIS1>
<TotalITBIS>44.50</TotalITBIS>
<TotalITBIS1>44.50</TotalITBIS1>
<TotalITBIS3>0</TotalITBIS3>
<MontoTotal>708.00</MontoTotal>
<MontoTotal>292.00</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>1</IndicadorFacturacion>
<NombreItem>ACIDO BORICO</NombreItem>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>03.00</CantidadItem>
<PrecioUnitarioItem>200.00</PrecioUnitarioItem>
<MontoItem>600.00</MontoItem>
<CantidadItem>03.30</CantidadItem>
<PrecioUnitarioItem>75.0000</PrecioUnitarioItem>
<MontoItem>247.50</MontoItem>
</Item>
</DetallesItems>
<FechaHoraFirma>21-04-2026 18:00:13</FechaHoraFirma>
<FechaHoraFirma>23-09-2026 09:25:16</FechaHoraFirma>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
@@ -65,10 +69,10 @@
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<DigestValue>wP7rNJDKevP4uhiuXmILt8Ttbm1s+FyNfHOeQQJFMaI=</DigestValue>
<DigestValue>RN1RImPMY/DDavqLlByL0MiDjZlNVWkGmiVbMb6clnM=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>F5NvH3pJ42vRBKasliPJtBkXk0gHcy4kTb/ViDSC9ACI3+ETPE3vcugpRqQvAHGDmiC9LPYDunSRefUlAO8jdtMkkxoSeAdl/kGnOwPazpQKH0GTVxlrX80M78tI8+XdV06+JtNeUnZk5TtGqescK3kHFhXyAWIsYT6fXdZDDphXTblHN+rdmpS5sYSFLXTgKdNjAYCQOdplEPYx+5udGcq5wP5niglcSd8OP6yG7Ro2favXjq2MAi8z6SlM4DiMa2kZB1NWXz+CDUAiH59jLiLiGcj8rpbHaet6sWCuxXhmBQfG7YEgh+44/7037lduryXYNBlpgTrjqw+qHsjCKQ==</SignatureValue>
<SignatureValue>Jt6aW7bj9hGN20s1o1Gz2a8Wj0noXkQ/6YGTR29qYS+bdn4JNQVrx8QOzb1tKyYpSlZwMOyq14V4YOMKBWH7CTkaow1wLegyHviC0iYsXZStnuVIdCjmLIKOsfLp2GlWNt9sMvyIbyN3sbemhrn6GbC7afLlHegX3l6Z6bK76Xw1Hk8M8LhNAcem3fAbO97V/CiTVnQ6LGt7wUxrUZ8jYj/RRIKiYLK7a/hVPOj9MceaRedDNPlK8wF50bQJLmNP2F6D0qL5BdAs1FE8aOkVqS25/pJKw6T15JkmGHHrUlfeRyA6GjqkLeYfDOj8TpNd9W+UdEWslznKfMfugvUXcw==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>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</X509Certificate>
@@ -11,51 +11,55 @@
<TipoPago>1</TipoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>1</FormaPago>
<MontoPago>1180.00</MontoPago>
<FormaPago>0</FormaPago>
<MontoPago>292.00</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>Decomarmol Piedras y Granitos</RazonSocialEmisor>
<NombreComercial>Decomarmol Piedras y Granitos</NombreComercial>
<DireccionEmisor>Calle K esq. L Zona Industrial de Haina</DireccionEmisor>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle Olof Palmer No.11 Esq. Rafael Ramos</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<NumeroFacturaInterna>408</NumeroFacturaInterna>
<FechaEmision>21-04-2026</FechaEmision>
<CorreoEmisor>info@decomarmol.com.do</CorreoEmisor>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12931</NumeroFacturaInterna>
<NumeroPedidoInterno>13378</NumeroPedidoInterno>
<FechaEmision>23-09-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>130337391</RNCComprador>
<RazonSocialComprador>NACE SERVICIOS MULTIPLES</RazonSocialComprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
<DireccionComprador>SANTO DOMINGO ESTE,</DireccionComprador>
<MunicipioComprador>320301</MunicipioComprador>
<ProvinciaComprador>320000</ProvinciaComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>1000.00</MontoGravadoTotal>
<MontoGravadoI1>1000.00</MontoGravadoI1>
<MontoGravadoTotal>247.50</MontoGravadoTotal>
<MontoGravadoI1>247.50</MontoGravadoI1>
<MontoGravadoI3>0</MontoGravadoI3>
<ITBIS1>18</ITBIS1>
<ITBIS3>0</ITBIS3>
<TotalITBIS>180.00</TotalITBIS>
<TotalITBIS1>180.00</TotalITBIS1>
<TotalITBIS>44.50</TotalITBIS>
<TotalITBIS1>44.50</TotalITBIS1>
<TotalITBIS3>0</TotalITBIS3>
<MontoTotal>1180.00</MontoTotal>
<MontoTotal>292.00</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>1</IndicadorFacturacion>
<NombreItem>ACIDO BORICO</NombreItem>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>05.00</CantidadItem>
<PrecioUnitarioItem>200.00</PrecioUnitarioItem>
<MontoItem>1000.00</MontoItem>
<CantidadItem>03.30</CantidadItem>
<PrecioUnitarioItem>75.0000</PrecioUnitarioItem>
<MontoItem>247.50</MontoItem>
</Item>
</DetallesItems>
<FechaHoraFirma>21-04-2026 18:00:42</FechaHoraFirma>
<FechaHoraFirma>23-09-2026 09:31:07</FechaHoraFirma>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
@@ -65,10 +69,10 @@
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<DigestValue>C2OExdr+Zsk5OIKrHLVoie0t9FO2hZogSL1JIUXyGmI=</DigestValue>
<DigestValue>0uF24Cq1GW389Nejfpb4sKfFOWYQOZuOeXINN4mPQkA=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>aiWqVmTgJkZgLdyBZwqFVp/sI/jS3tr+3QQ63dsfDX5BOwnIgaK/t9phKTzRyT730MYL+wklkeer1S8WgJk6rurkb77S5c9LPEwJyzBTiTRI5D87NJbzf92F92HSiVVoXZrd1yDUHKAwCNItiDo/LovPVOM7PoZbGvyy23zgvYjJxG/rmUgw195gxwptcrj9gIQnpdR67OYWtAG9dHLURgbjyJk37TY7sfjauAI1HVvzc/ynDe3VI30wLzIMkkmkTCmL4fc/zxnzxI0HXmnIT3uva35JP48bcC14thB7RW4OZybK19IaHQjf//v+oi61JnZmjt5QuTzN5ZrhnvZpCQ==</SignatureValue>
<SignatureValue>KTiFsFZfmj0HsUZFWdjM5xpaHB2BWvluxIAJbUHllt+oSv7pjHL0j5zYAPASBsHvYL8dCP6sso4INTSV8NFfgvbmimZvPoVGKOFe16zKkS5uoilYMX3iL6ISEDJNWfukXSTJnug7DpHPm8W+gXSoH+nx+ZHyVRcfje27m4nK6MM1vAqbdB+7w1Q5VWpt6XZzKvx3a145PpldxGk9GrqqlEqNWQ5dI1u0/y5Ye5fG+2MAoMhJ3OukkbNiKVjAKytD2Nh0DuPB09YhlM3gnvJrHquVm8CfV9/+/oJ3S/7SPsKeZpYG7tDkzwyYNgziWq8aOXZysKC75tsV++E4i3FzJQ==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>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</X509Certificate>
@@ -11,51 +11,55 @@
<TipoPago>1</TipoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>1</FormaPago>
<MontoPago>1888.00</MontoPago>
<FormaPago>0</FormaPago>
<MontoPago>292.00</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>Decomarmol Piedras y Granitos</RazonSocialEmisor>
<NombreComercial>Decomarmol Piedras y Granitos</NombreComercial>
<DireccionEmisor>Calle K esq. L Zona Industrial de Haina</DireccionEmisor>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle Olof Palmer No.11 Esq. Rafael Ramos</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<NumeroFacturaInterna>409</NumeroFacturaInterna>
<FechaEmision>21-04-2026</FechaEmision>
<CorreoEmisor>info@decomarmol.com.do</CorreoEmisor>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12932</NumeroFacturaInterna>
<NumeroPedidoInterno>13378</NumeroPedidoInterno>
<FechaEmision>23-09-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>130337391</RNCComprador>
<RazonSocialComprador>NACE SERVICIOS MULTIPLES</RazonSocialComprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
<DireccionComprador>SANTO DOMINGO ESTE,</DireccionComprador>
<MunicipioComprador>320301</MunicipioComprador>
<ProvinciaComprador>320000</ProvinciaComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>1600.00</MontoGravadoTotal>
<MontoGravadoI1>1600.00</MontoGravadoI1>
<MontoGravadoTotal>247.50</MontoGravadoTotal>
<MontoGravadoI1>247.50</MontoGravadoI1>
<MontoGravadoI3>0</MontoGravadoI3>
<ITBIS1>18</ITBIS1>
<ITBIS3>0</ITBIS3>
<TotalITBIS>288.00</TotalITBIS>
<TotalITBIS1>288.00</TotalITBIS1>
<TotalITBIS>44.50</TotalITBIS>
<TotalITBIS1>44.50</TotalITBIS1>
<TotalITBIS3>0</TotalITBIS3>
<MontoTotal>1888.00</MontoTotal>
<MontoTotal>292.00</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>1</IndicadorFacturacion>
<NombreItem>ACIDO BORICO</NombreItem>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>08.00</CantidadItem>
<PrecioUnitarioItem>200.00</PrecioUnitarioItem>
<MontoItem>1600.00</MontoItem>
<CantidadItem>03.30</CantidadItem>
<PrecioUnitarioItem>75.0000</PrecioUnitarioItem>
<MontoItem>247.50</MontoItem>
</Item>
</DetallesItems>
<FechaHoraFirma>21-04-2026 18:01:06</FechaHoraFirma>
<FechaHoraFirma>23-09-2026 09:44:49</FechaHoraFirma>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
@@ -65,10 +69,10 @@
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<DigestValue>b6czTEZMVTfq+4+bA1QgiGh94DUo1CIl0hoBL9WXXVY=</DigestValue>
<DigestValue>n9Nnmpx3D1yCdxTS+0RYpSawJYNF1AsGas7EbL1m0cI=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>UmiPq6fo/hgAKQ48+Vygth0k/Z0LhhRk82i0dfp8J5zX29YeHox8alKYOciIpHEprsr5lZE7Lo6hFTn9GJWe6afZ+7oydfOSsaaFovsZQqolEsY8WwHdkydnG99KPSvIZndv3foXopW1zcIhAgrlH6gej9TcEHPKFeR1vNHk9vDgpsfQ5jcLGy6K18qkPWB85r2RIn15a8Yvb3HN5/hUiDqcXKnwJSt/hXZfUc73C2nOPgmNR3Qr4EcmE87GKpWQD6MwtjOCd6bNNkRkQLIHCck0XMeMgSxFRQSdgkHIfQT5ULXNvr8UTvPccuDrkPiOy6KS0rfkxmLFwdjnfComxw==</SignatureValue>
<SignatureValue>cf3ISwDXH+MnFpm6ypu2/LnBldmgZSjRvR2r0O2plNUH9peaovAD7dvbzaNXnpvehkR4nXthIsPyJp6K6bfkZdW3XJ6wiHU46MC6booE3Xl9sp9ZFJHe/s8vbUuahWm45kYsw+aMk0jN+PeE2lQ3s9WEc6Pe79OhC9ljIBUrXkpQ0F+xoIDpL/Yt9Ii4eijGDZegygUC/Jwz+w7pvAMpq44hv91c/IA7c7qk4sUKOGZGu+TzhD/eUMqdjAcA936jIltj590IkKhBlhOarewhILxfsmzJi0pfXCPQztHktKwDrxTqpIjvMPKtY1C0Uf+BmMz4cPyHPIQQLk2RPegx8g==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>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</X509Certificate>
@@ -11,51 +11,55 @@
<TipoPago>1</TipoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>1</FormaPago>
<MontoPago>1652.00</MontoPago>
<FormaPago>0</FormaPago>
<MontoPago>292.00</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>Decomarmol Piedras y Granitos</RazonSocialEmisor>
<NombreComercial>Decomarmol Piedras y Granitos</NombreComercial>
<DireccionEmisor>Calle K esq. L Zona Industrial de Haina</DireccionEmisor>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle Olof Palmer No.11 Esq. Rafael Ramos</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<NumeroFacturaInterna>428</NumeroFacturaInterna>
<FechaEmision>21-04-2026</FechaEmision>
<CorreoEmisor>info@decomarmol.com.do</CorreoEmisor>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12933</NumeroFacturaInterna>
<NumeroPedidoInterno>13378</NumeroPedidoInterno>
<FechaEmision>23-09-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>130337391</RNCComprador>
<RazonSocialComprador>NACE SERVICIOS MULTIPLES</RazonSocialComprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
<DireccionComprador>SANTO DOMINGO ESTE,</DireccionComprador>
<MunicipioComprador>320301</MunicipioComprador>
<ProvinciaComprador>320000</ProvinciaComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>1400.00</MontoGravadoTotal>
<MontoGravadoI1>1400.00</MontoGravadoI1>
<MontoGravadoTotal>247.50</MontoGravadoTotal>
<MontoGravadoI1>247.50</MontoGravadoI1>
<MontoGravadoI3>0</MontoGravadoI3>
<ITBIS1>18</ITBIS1>
<ITBIS3>0</ITBIS3>
<TotalITBIS>252.00</TotalITBIS>
<TotalITBIS1>252.00</TotalITBIS1>
<TotalITBIS>44.50</TotalITBIS>
<TotalITBIS1>44.50</TotalITBIS1>
<TotalITBIS3>0</TotalITBIS3>
<MontoTotal>1652.00</MontoTotal>
<MontoTotal>292.00</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>1</IndicadorFacturacion>
<NombreItem>ACIDO BORICO</NombreItem>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>07.00</CantidadItem>
<PrecioUnitarioItem>200.00</PrecioUnitarioItem>
<MontoItem>1400.00</MontoItem>
<CantidadItem>03.30</CantidadItem>
<PrecioUnitarioItem>75.0000</PrecioUnitarioItem>
<MontoItem>247.50</MontoItem>
</Item>
</DetallesItems>
<FechaHoraFirma>21-04-2026 18:29:09</FechaHoraFirma>
<FechaHoraFirma>23-09-2026 09:51:13</FechaHoraFirma>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
@@ -65,10 +69,10 @@
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<DigestValue>3voH2ERxmimCRnC039hU2w+UtbsqzvWeKcg/A8w40nY=</DigestValue>
<DigestValue>zVxWpKIYLEJm/0VCDmrVqLFVnI/b4mQVyLX00sNxpUw=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>n1zIrj62Q5a+Djg6j+AzOgEx6t39lAo0oncknuh+Yw2BggMHc8dFrElvP60FgUdk+La8zm85xrZWJYef/pdLXfHGK0EF0Dldg2mrQKnuySvkmqBcjO+KWiUUdnFDRNrKth2lcuBa6fj+xM3zw7eTSlRhX0IHUBYFvkQ+0SLVBgi2w7KcA7e1g6gMCaN5fU4ikwtl6YAc4gNkY1vON4kJI41bwkhSn1cvlO40RMPrHs2r6wh2Lkt3u+mtGz6a6YCc8YaXypJVuCBehL0Ud/rzxJGPVMqATGIcqZBt5SCaPUX6/7+SmoDc7cNoItpdvS5tnj+FWU9xhIsOuM9cqCVk6w==</SignatureValue>
<SignatureValue>D1Cf9DQ/GE0MMTMAWltInLATLHYfhBrICVcCgQ9fXCVXlXm3IoX6hn79NaExcwG/kA5s46dk6q0Q6p8mClqph2u3KuJIFPEEQ1q+35bH/u5eLjlDRSo12Vjiw8osoDhqdNX9RN6W9mw4tARjKtGgRB/2uqpVj7/Je5EjJ5F1SthY6fG93QGFk+f+hdli5HOrOytVu5RTMi0GRpIyBKZV4mc1sOP6qoqmZeCCBSaN+9tRfIW/1fR/Y4klemoMKiFnIOIaeBKVj5Z/YDtXBKiNV/TTqQ6Y+h/ch/3M6AZy1Nx48e2DhqcSmboOLgM8MgzVEnH/gztml9RYdS/nyHwF0g==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>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</X509Certificate>
@@ -6,32 +6,32 @@
<TipoeCF>32</TipoeCF>
<eNCF>E320000000042</eNCF>
<TipoIngresos>01</TipoIngresos>
<TipoPago>1</TipoPago>
<TipoPago>2</TipoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>1</FormaPago>
<MontoPago>40.00</MontoPago>
<FormaPago>4</FormaPago>
<MontoPago>350.40</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>Decomarmol Piedras y Granitos</RazonSocialEmisor>
<FechaEmision>21-04-2026</FechaEmision>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<FechaEmision>15-10-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>130337391</RNCComprador>
<RazonSocialComprador>NACE SERVICIOS MULTIPLES</RazonSocialComprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>40.00</MontoGravadoTotal>
<MontoGravadoI1>40.00</MontoGravadoI1>
<MontoExento>40.0</MontoExento>
<TotalITBIS>0.00</TotalITBIS>
<TotalITBIS1>0.00</TotalITBIS1>
<MontoTotal>40.00</MontoTotal>
<MontoGravadoTotal>297.00</MontoGravadoTotal>
<MontoGravadoI1>297.00</MontoGravadoI1>
<MontoExento>0</MontoExento>
<TotalITBIS>53.40</TotalITBIS>
<TotalITBIS1>53.40</TotalITBIS1>
<MontoTotal>350.40</MontoTotal>
</Totales>
<CodigoSeguridadeCF>y1upjX</CodigoSeguridadeCF>
<CodigoSeguridadeCF>fhSR/G</CodigoSeguridadeCF>
</Encabezado>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
@@ -42,10 +42,10 @@
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<DigestValue>HYWJq+x3rSDNq/J3R4anwL7uHwUNlzE6md8+htoACIA=</DigestValue>
<DigestValue>ebjoJSY7Dtr+PpOY8RHBsgDWQSktmwthO99q/Ses5Ns=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>AaoHrH24HqNeezusaHbrqe+dJIz7Z+3cZDgEePv8x4RuA3fWYroQFNb8+TWGKCi+rhJ2YRY6T8JAkeTINbuFThfH634Bx9ZMtKjEw+RT1xl6j78zHk57H4wkf+XiiYMkVYjEMTbOXexBW+dMQ34eQnqkZp5OS0748mk+Lp/AgMDk4I0KbAcmSnEBpBU4msb9EvoqXtPWNcq0G+PI5+FdbH8bBPh06z0qo+Lxr0+3KnlYpl7gJWrVVppurY+HvZt7wKcnrKeYIraKfF8S9G0nURNFK9XKlBAXIEIu34VRMZfb4qA2Uj8AKh0H6HEEU9PjVMvNVJ1iqRrnMfzOnviHFQ==</SignatureValue>
<SignatureValue>SQP5odVlzbRJDsP33gFkXKBq2UZOSSrQcb8vueVTkNM2GgwaP8Z5GVp6qXtm523L5byZKy6ha9SLRy3YLhecRrLIEiZ3kiAYxoL8Y/G8ArFom/PVFZ1erjO2GHzs0LpsP4/A2WT7WgIyBWBdKQtIrFU5hfTIqB1LsHDOOW/56ngYQruZAV+Hu9WnY4XLDu0ful3p34h6zBVbMFoga6xsD32qJLpj0g/J1vNb3sRTyM5fl/7zE6PQcpVTdOuCR1GPmNMefrKMYlLBt2elvK0MD4sbWLpK+lyxJM9SGK3qmvmLJCAavBFevAo5DVhlvcdN8J6+vAh8SdOKNEPi9iBHlA==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>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</X509Certificate>
@@ -6,54 +6,52 @@
<TipoeCF>34</TipoeCF>
<eNCF>E340000000042</eNCF>
<IndicadorNotaCredito>0</IndicadorNotaCredito>
<IndicadorMontoGravado>0</IndicadorMontoGravado>
<IndicadorMontoGravado>1</IndicadorMontoGravado>
<TipoIngresos>01</TipoIngresos>
<TipoPago>1</TipoPago>
<FechaLimitePago>21-04-2026</FechaLimitePago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>Decomarmol Piedras y Granitos</RazonSocialEmisor>
<NombreComercial>Decomarmol Piedras y Granitos</NombreComercial>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle K esq. L Zona Industrial de Haina</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<CodigoVendedor>0</CodigoVendedor>
<NumeroFacturaInterna>399</NumeroFacturaInterna>
<FechaEmision>21-04-2026</FechaEmision>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12933</NumeroFacturaInterna>
<FechaEmision>23-09-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>130337391</RNCComprador>
<RazonSocialComprador>NACE SERVICIOS MULTIPLES</RazonSocialComprador>
<ProvinciaComprador>320000</ProvinciaComprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>1200.00</MontoGravadoTotal>
<MontoGravadoI1>1200.00</MontoGravadoI1>
<MontoGravadoTotal>247.50</MontoGravadoTotal>
<MontoGravadoI1>247.50</MontoGravadoI1>
<ITBIS1>18</ITBIS1>
<TotalITBIS>216.00</TotalITBIS>
<TotalITBIS1>216.00</TotalITBIS1>
<MontoTotal>1416.00</MontoTotal>
<TotalITBIS>44.50</TotalITBIS>
<TotalITBIS1>44.50</TotalITBIS1>
<MontoTotal>292.00</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>1</IndicadorFacturacion>
<NombreItem>ACIDO BORICO</NombreItem>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>6.00</CantidadItem>
<PrecioUnitarioItem>200.00</PrecioUnitarioItem>
<MontoItem>1200.00</MontoItem>
<CantidadItem>3.30</CantidadItem>
<PrecioUnitarioItem>75.0000</PrecioUnitarioItem>
<MontoItem>247.50</MontoItem>
</Item>
</DetallesItems>
<InformacionReferencia>
<NCFModificado>E310000000053</NCFModificado>
<FechaNCFModificado>21-04-2026</FechaNCFModificado>
<NCFModificado>E310000000060</NCFModificado>
<FechaNCFModificado>23-09-2026</FechaNCFModificado>
<CodigoModificacion>1</CodigoModificacion>
<RazonModificacion>No tenemos razones</RazonModificacion>
</InformacionReferencia>
<FechaHoraFirma>21-04-2026 17:48:14</FechaHoraFirma>
<FechaHoraFirma>23-09-2026 09:57:54</FechaHoraFirma>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
@@ -63,10 +61,10 @@
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<DigestValue>pOnsK+uGGDvzUFscc/dmuupmltmfdPClRPjimImuU20=</DigestValue>
<DigestValue>0vmJRqa56tDAdUoYYhivqIwKyG8gzJ9/hGl0b7Z0+9Y=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>H9E4kFmCBLO7+aGshPSxgFP8U3Sp/QyHRVdhr9UFmhuHnJb7LEOJ9YtBArnBGZVvW2i4gJTU9Cevar/5rGEhLiIuulWCkSd8IrnT6qQc/DcGxm3H2BmuOaNOm+rwZm6Ue37nAqFGVSJ35lW+rZgF0DO7atzYhJypNrc2sMNHH2lP0AZk9D3tBuI5IqxCq6Hw81q7CwTPtk4CG4zHXS9kojo2zy27DDAcwCmE5bdOOuXKGrKPRgj5JX0oO/Dsi63a5FjbE/Xm1yoOcQwVBmzA8F1JhpdNcZ0GNdGR2+4/qBWbU+RPqlKxtNzpaz7DPs2CBW2Ew3HaBQsiAY9r0mD/Lw==</SignatureValue>
<SignatureValue>aCCBpzBXLkFo+jVpUp3Zrb/CLkzP0E3HuepJ+2acn5OqTWCVc/xfhkzYRxYrrrt2/A/yt2UTyxoFLd+quwXU2LqwTR4Bhh6b89yl332TfjUKn24G72xm1f1Oxy0Yrn5QQjr2kGbwbnOAyaJ+3xaMQ9d6a5kd/xaj1/j1AWcZqo9imh4FWIJ5tzJSCnGbbVvJxM8fSOC44jxIYvkXXCEW5W5317Mr0CzToH2Ff7pqn33WFt8nbSb9VPxzYeEOv+p98lMxa5+gkyhjdGxtm+mtbWTRT5wsWEjBrUx7rFRr2PHDbYMRQahUKAPZyxiEgeTGH1wyuANxOcjCv/qgRJVpNw==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>MIIJoTCCB4mgAwIBAgIICYvVF3r7nGUwDQYJKoZIhvcNAQELBQAwgbgxFzAVBgNVBGEMDlZBVERPLTQwMTAyMzY4MSMwIQYDVQQDDBpkaWdpZmlybWEgQ0EgU3Vib3JkaW5hZGEgMTESMBAGA1UECwwJZGlnaWZpcm1hMTswOQYDVQQKDDJDw6FtYXJhIGRlIENvbWVyY2lvIHkgUHJvZHVjY2nDs24gZGUgU2FudG8gRG9taW5nbzEaMBgGA1UEBwwRRGlzdHJpdG8gTmFjaW9uYWwxCzAJBgNVBAYTAkRPMB4XDTI2MDMzMDIyNDIwMFoXDTI4MDMyOTIyNDIwMFowgdQxSzBJBgNVBAkMQkNhbGxlIEsgRXNxLiBMIE5vLjEsIFpvbmEgSW5kdXN0cmlhbCBkZSBIYWluYSw5MTAwMCxCYWpvcyBkZSBIYWluYTEoMCYGA1UEAwwfRElNQVMgRUZNQU1KSkFTT05EIEFSSUFTIFdBR05FUjEaMBgGA1UEBRMRSURDRE8tMDAxMDc4MDAzNTExGzAZBgNVBCoMEkRJTUFTIEVGTUFNSkpBU09ORDEVMBMGA1UEBAwMQVJJQVMgV0FHTkVSMQswCQYDVQQGEwJETzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANMPR8a0CjrbvRIruSE0Ew+wVerN9Au1vuZ4fZdSFjGzw1k/TpU/po0roX+jFsS9hDJPKrhd6A4etM/DjUaSzgmZGKnSjDJSyJVODGH2ClIc2CrINYjje+gkCdFzHTEBc8IKjYAQ6eFsp9D+cmap0v4Sr2wYzm2yk4UYnSRFLFEshzHKHiZA2hz8TuMDZirGQHICco6zuLbko4Q8eWVrFz2QIfGms8vbDAL3U///YGGgp79ACRTVFm7R0mezdAcgnCzlHZ89mBDeagcpiB+GY4rV1vCwYFjLkORrRHFXInwuQg9eIwWMwFdN69q2xkReG+W4VdzXaKqaSDBLOhES/bcCAwEAAaOCBI8wggSLMHoGCCsGAQUFBwEDBG4wbDAIBgYEAI5GAQEwCwYGBACORgEDAgEUMAgGBgQAjkYBBDA0BgYEAI5GAQUwKjAoFiJodHRwczovL2Rwcy5jYW1hcmFzYW50b2RvbWluZ28uZG8vEwJFTjATBgYEAI5GAQYwCQYHBACORgEGATCB3AYIKwYBBQUHAQEEgc8wgcwwSAYIKwYBBQUHMAKGPGh0dHBzOi8vd3d3LmNhbWFyYXNhbnRvZG9taW5nby5kby9kaWdpZmlybWEvQ0NQU0RfY2FkZW5hLmNydDA/BggrBgEFBQcwAYYzaHR0cDovL29jc3AxLmNhbWFyYXNhbnRvZG9taW5nby5kby9wdWJsaWMvcGtpL29jc3AvMD8GCCsGAQUFBzABhjNodHRwOi8vb2NzcDIuY2FtYXJhc2FudG9kb21pbmdvLmRvL3B1YmxpYy9wa2kvb2NzcC8wHQYDVR0OBBYEFDRX50laTcmFi/2+7vZJOn3M/4f6MB8GA1UdIwQYMBaAFM7rpVkdIemjmSWnCkqsx5WQBhELMCoGA1UdEgQjMCGBH2RpZ2lmaXJtYUBjYW1hcmFzYW50b2RvbWluZ28uZG8wggHZBgNVHSAEggHQMIIBzDAJBgcEAIvsQAEAMIIBvQYLKwYBBAGBzHwBAwEwggGsMC4GCCsGAQUFBwIBFiJodHRwczovL2Nwcy5jYW1hcmFzYW50b2RvbWluZ28uZG8vMIIBeAYIKwYBBQUHAgIwggFqHoIBZgBDAGUAcgB0AGkAZgBpAGMAYQBkAG8AIABwAGEAcgBhACAAcAByAG8AYwBlAGQAaQBtAGkAZQBuAHQAbwBzACAAdAByAGkAYgB1AHQAYQByAGkAbwBzACAAZQBuACAAcAAxADIAIABlAG0AaQB0AGkAZABvACAAcABvAHIAIABDAEMAUABTAEQALAAgAHUAYgBpAGMAYQBkAG8AIABBAHYAZQAuACAAMgA3ACAAZABlACAAZgBlAGIAcgBlAHIAbwAgAGUAcwBxACAAdABpAHIAYQBkAGUAbgB0AGUAcwAgADIAMgA4ACAAdABvAHIAcgBlACAAZgByAGkAdQBzAGEALAAgAEwAYQAgAEUAcwBwAGUAcgBpAGwAbABhACwAIABTAGEAbgB0AG8AIABEAG8AbQBpAG4AZwBvACwAIABSAGUAcAD6AGIAbABpAGMAYQAgAEQAbwBtAGkAbgBpAGMAYQBuAGEwgY8GA1UdHwSBhzCBhDBAoD6gPIY6aHR0cDovL2NybDEuY2FtYXJhc2FudG9kb21pbmdvLmRvL3B1YmxpYy9wa2kvY3JsL0NDUFNELmNybDBAoD6gPIY6aHR0cDovL2NybDIuY2FtYXJhc2FudG9kb21pbmdvLmRvL3B1YmxpYy9wa2kvY3JsL0NDUFNELmNybDAOBgNVHQ8BAf8EBAMCBeAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMCQGA1UdEQQdMBuBGWQuYXJpYXNAZGVjb21hcm1vbC5jb20uZG8wDQYJKoZIhvcNAQELBQADggIBAIvLxuN/rr3m4UNnFKmdWOFif8iS0RGPaXJxTJrbx+6M1jRWxKTsju3MYwAEMAn43o07q2Do9VN1+IcsPbHKdCDVe3yU2qhVL7bM2S1dK/jUVfgEyc/Q2HcS3Q9BgyhSOD+Yrpemtjibisfu/ckkccDEM4JzLKwC/9R3i9EMq7okPrhX9XzN2nOQRcyh0QyxKrwHgCmejNqo+RvMIYiJaZkn9Jwd2kc0CSGrIkxlLh/e0sRiKIxRqujWhIL6REK7dx0GCYw6CdUEkJV2FzjPQ0crF6JMkyQRlIvsqWOziZQ3nwqOPa7rxf7fr+jweLsgALM3i0alggpIOF1QmO+N7ciLbssVrXmLJXFsoHoaVN/5pmMW5FkwKkNvbN6c7qbpEtHvy2Y0VQVNq12w0YUjZJ0ohuY7iWD3/zpZzI765rc5t4EbrQ0u7wby4nTxa7RN9It6UHtH/v8wD9HZF1/ry6SUG0kn0KLXygY+xaRtrkk1UeisclZ7j/ZHM5XOqlbXBbTIH2amGSUEabJPXAqOd9xwGl98P7XSG+XurGkb6ajjaXO45taiqf82WZQTlwCQRxZO58XiwOn6Qge8/7r5B3z5wI+Hb+JL6CVbEoaPqYfISK7z8QUwCWYAfuoALdIL5cOp8Bc7GAT4WNtCh5WFOn5uAoBy5oohWsEKUMOOi0Ty</X509Certificate>
@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<ECF xmlns:xs="http://www.w3.org/2001/XMLSchema">
<Encabezado>
<Version>1.0</Version>
<IdDoc>
<TipoeCF>44</TipoeCF>
<eNCF>E440000000001</eNCF>
<FechaVencimientoSecuencia>31-12-2028</FechaVencimientoSecuencia>
<TipoIngresos>01</TipoIngresos>
<TipoPago>1</TipoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>4</FormaPago>
<MontoPago>247.50</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle Olof Palmer No.11 Esq. Rafael Ramos</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<CorreoEmisor>info@decomarmol.com.do</CorreoEmisor>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12937</NumeroFacturaInterna>
<NumeroPedidoInterno>13379</NumeroPedidoInterno>
<FechaEmision>06-10-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
<DireccionComprador>SANTO DOMINGO ESTE,</DireccionComprador>
<MunicipioComprador>320301</MunicipioComprador>
<ProvinciaComprador>320000</ProvinciaComprador>
</Comprador>
<Totales>
<MontoExento>247.5</MontoExento>
<MontoTotal>247.50</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>4</IndicadorFacturacion>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>03.30</CantidadItem>
<PrecioUnitarioItem>75.0000</PrecioUnitarioItem>
<MontoItem>247.50</MontoItem>
</Item>
</DetallesItems>
<FechaHoraFirma>06-10-2026 12:48:57</FechaHoraFirma>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<DigestValue>NvS6CmffjoFsDTK3KjffnAz71ycxwCUR5YqPeOE0Mec=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>JxnCR3Z8OUNiJP9GoDEMzxGDVsp26yuStq/3aFl1ozHgxW6GzUYpfIt/tBRW+kGpTlQyhN+w6jGS6ojxmGURprh2dDPWxkv3+isLtaetjIE2IbXOFmgAJJbdC4YRX2JHMSn/g2u67cVaNVtMoKvroW5TYdTdWH5AV4ppfnKDmWjZ2kC6i1vCvV7bXwLjOdpkK6fKsjOtQlzKxWZOXe+wutuBNYA6nwOExlCl7Z01F/qhB8hjAeHgLjymXaArG1XeV/PeFdnG7FZErI9UQs7g2QqsD9TEwK/xd3haSVwNCQfM+6xbSsIIYirDLMvC6yQ4sQAXZHFYISemo/lkdEn5Yg==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>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</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</ECF>
@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>
<ECF xmlns:xs="http://www.w3.org/2001/XMLSchema">
<Encabezado>
<Version>1.0</Version>
<IdDoc>
<TipoeCF>45</TipoeCF>
<eNCF>E450000000002</eNCF>
<FechaVencimientoSecuencia>31-12-2028</FechaVencimientoSecuencia>
<IndicadorMontoGravado>0</IndicadorMontoGravado>
<TipoIngresos>01</TipoIngresos>
<TipoPago>1</TipoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>0</FormaPago>
<MontoPago>292.00</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle Olof Palmer No.11 Esq. Rafael Ramos</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<CorreoEmisor>info@decomarmol.com.do</CorreoEmisor>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12935</NumeroFacturaInterna>
<NumeroPedidoInterno>13379</NumeroPedidoInterno>
<FechaEmision>06-10-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
<DireccionComprador>SANTO DOMINGO ESTE,</DireccionComprador>
<MunicipioComprador>320301</MunicipioComprador>
<ProvinciaComprador>320000</ProvinciaComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>247.50</MontoGravadoTotal>
<MontoGravadoI1>247.50</MontoGravadoI1>
<MontoGravadoI3>0</MontoGravadoI3>
<ITBIS1>18</ITBIS1>
<ITBIS3>0</ITBIS3>
<TotalITBIS>44.50</TotalITBIS>
<TotalITBIS1>44.50</TotalITBIS1>
<TotalITBIS3>0</TotalITBIS3>
<MontoTotal>292.00</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>1</IndicadorFacturacion>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>03.30</CantidadItem>
<PrecioUnitarioItem>75.0000</PrecioUnitarioItem>
<MontoItem>247.50</MontoItem>
</Item>
</DetallesItems>
<FechaHoraFirma>06-10-2026 12:21:18</FechaHoraFirma>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<DigestValue>63qQpYUPl1uyjzF7qBdE6JXAHI1+GuIk8BzdHom/sQk=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>it4+tyqv0xCtmbGxB6WDBRzLjZfgTXvo8/UgsOoK1D6Tg/GNT3mk6CttbzVefDirCpQnXjvx+hfqm6Tj5hkafKQoy0KzlkAkPYDZkdykGwYFkIYoKqdw2zG9iaYY7gPYow3swtzXr1BvneDiOgRq8hL2gZOxJ9yBd6aRTZNqk4c0cskCsSrNeg/7e+LZEEzfUXq9eEL9JsE1wkYwj3qPBQ5B5/M/saFpf8TE6g6xMat4bcXLEra5Rb2HdUhf56ICOOMW4pW9b0YdiPYW5JQXgz/CjBe/cwbHulaeSezUtk9Vu9M29gpgtgzNkEbV2M77TGTBdgGWsK5JE3hXIYw/Pg==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>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</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</ECF>
@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8"?>
<ECF xmlns:xs="http://www.w3.org/2001/XMLSchema">
<Encabezado>
<Version>1.0</Version>
<IdDoc>
<TipoeCF>45</TipoeCF>
<eNCF>E450000000003</eNCF>
<FechaVencimientoSecuencia>31-12-2028</FechaVencimientoSecuencia>
<IndicadorMontoGravado>0</IndicadorMontoGravado>
<TipoIngresos>01</TipoIngresos>
<TipoPago>1</TipoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>4</FormaPago>
<MontoPago>292.00</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle Olof Palmer No.11 Esq. Rafael Ramos</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<CorreoEmisor>info@decomarmol.com.do</CorreoEmisor>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12936</NumeroFacturaInterna>
<NumeroPedidoInterno>13379</NumeroPedidoInterno>
<FechaEmision>06-10-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
<DireccionComprador>SANTO DOMINGO ESTE,</DireccionComprador>
<MunicipioComprador>320301</MunicipioComprador>
<ProvinciaComprador>320000</ProvinciaComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>247.50</MontoGravadoTotal>
<MontoGravadoI1>247.50</MontoGravadoI1>
<MontoGravadoI3>0</MontoGravadoI3>
<ITBIS1>18</ITBIS1>
<ITBIS3>0</ITBIS3>
<TotalITBIS>44.50</TotalITBIS>
<TotalITBIS1>44.50</TotalITBIS1>
<TotalITBIS3>0</TotalITBIS3>
<MontoTotal>292.00</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>1</IndicadorFacturacion>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>03.30</CantidadItem>
<PrecioUnitarioItem>75.0000</PrecioUnitarioItem>
<MontoItem>247.50</MontoItem>
</Item>
</DetallesItems>
<FechaHoraFirma>06-10-2026 12:34:43</FechaHoraFirma>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<DigestValue>+7y4ZouV15vf1EsmRCekgNyUeujsDhRdPMVMZ2Sd6c4=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>wnPYb0Kybes8qOoNPSMtZ/vE0G6rtkh8R4pgEklSBrih7xQchGI7+E3Z20gzwBo7YkwVnoUigazyICFiiBoTwH7BsZGEKDBt8JHll/GMX6wMebSGON9u61VsdtUrP5RolG/g7xgBlyxSIXNz32HiJnm+F3lOXIsvWt0brTU7BoeINseGtpXzjz1GljKv6a7fffs3NFci9QC9AU0vKFDmX8hb86GCXC8RBW7JeyNJe8I4xd7afK4mjCthLlmNbgLXnZOncXJx4a0wGvLTxD4fVBjI7u6BCfUvM280RZ/LIXmqPjipeEF53q+dbnygPDt2R87/GJWLALnh74V+Gw+t8g==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>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</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</ECF>
@@ -6,51 +6,52 @@
<TipoeCF>32</TipoeCF>
<eNCF>E320000000042</eNCF>
<TipoIngresos>01</TipoIngresos>
<TipoPago>1</TipoPago>
<TipoPago>2</TipoPago>
<TerminoPago>15 dias</TerminoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>1</FormaPago>
<MontoPago>40.00</MontoPago>
<FormaPago>4</FormaPago>
<MontoPago>350.40</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>Decomarmol Piedras y Granitos</RazonSocialEmisor>
<NombreComercial>Decomarmol Piedras y Granitos</NombreComercial>
<DireccionEmisor>Calle K esq. L Zona Industrial de Haina</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<CorreoEmisor/>
<CodigoVendedor/>
<NumeroFacturaInterna>405</NumeroFacturaInterna>
<FechaEmision>21-04-2026</FechaEmision>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle Olof Palmer No.11 Esq. Rafael Ramos</DireccionEmisor>
<Municipio>210300</Municipio>
<Provincia>210000</Provincia>
<CorreoEmisor>info@decomarmol.com.do</CorreoEmisor>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12940</NumeroFacturaInterna>
<FechaEmision>15-10-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>130337391</RNCComprador>
<RazonSocialComprador>NACE SERVICIOS MULTIPLES</RazonSocialComprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>40.00</MontoGravadoTotal>
<MontoGravadoI1>40.00</MontoGravadoI1>
<MontoGravadoTotal>297.00</MontoGravadoTotal>
<MontoGravadoI1>297.00</MontoGravadoI1>
<MontoGravadoI3>0</MontoGravadoI3>
<TotalITBIS>0.00</TotalITBIS>
<TotalITBIS1>0.00</TotalITBIS1>
<MontoTotal>40.00</MontoTotal>
<TotalITBIS>53.40</TotalITBIS>
<TotalITBIS1>53.40</TotalITBIS1>
<MontoTotal>350.40</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>3</IndicadorFacturacion>
<NombreItem>ACETONA</NombreItem>
<IndicadorFacturacion>1</IndicadorFacturacion>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>02.00</CantidadItem>
<PrecioUnitarioItem>20.00</PrecioUnitarioItem>
<MontoItem>40.00</MontoItem>
<CantidadItem>03.30</CantidadItem>
<PrecioUnitarioItem>90.0000</PrecioUnitarioItem>
<MontoItem>297.00</MontoItem>
</Item>
</DetallesItems>
<FechaHoraFirma>21-04-2026 17:54:44</FechaHoraFirma>
<FechaHoraFirma>15-10-2026 11:05:35</FechaHoraFirma>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
@@ -60,10 +61,10 @@
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<DigestValue>BDrO+CrybZdpsQEajw+hFS2N3oQZ6zA7UizvzVnh82Q=</DigestValue>
<DigestValue>ahHLRZMDBYze7ggC1z15+bzxoP7/xF3Rx3I86sEm368=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>y1upjXb5UiwAgN6IgUCadr585iLgX/q6KDCGc8r0uJsOl9ecAMUC69uhdYu1xmSvWusvK8/KY3ohHZm7MZmoPpTLRrakY48qaPzXAsyvaVgtvK0RmrQJhS6LhH9Q7Dcg77N96s6n0tWKbPfZVWnv3Q5QA/aTcRrHG2w+ZUEJECmMUSEwmXkIOhb1bSCK6zvVfvl5Pii4E/dOey25Lw+E+AgFEaBh+ewnB2jmF1Vl7OLasu9yx+xJAz7QE4aiG4it5dacF1PLbp/D+9Nl/S4McUOKwWqj3CsdSEZbxuG2o1Uu0bH26iltMJt5EizcykMLvWzlh0YnQ53y1/sUj6ya3g==</SignatureValue>
<SignatureValue>fhSR/GRDgwzDiYhSWv7wOquRhnqwM9AQ8Bzkgv0zAXM/whoWCgsgkDrjpORH/+ds2Z5VJzZMyiqrMEV21PTUZFw10GnQ3uqeKZJG5/RywGPtJnjzYoXCUwAB6ivF3ypQpnOgZ2DEAGLU6Wv86De77gnW5oCcTJS8889rPTfZALKwjiltWaEsknsQb8Z5MOC0Fo7mnNkLpWfoeDFuhrfFDvkVZ0EIGkNkAhLjeDUmmMBiD1Wb1kyG/wkaRhxfDrNU1gSeExGx1ieQ+6mY7rauFZ5u+sOY28coiU10146wSn73OQcQWioPdehpTV1txhMbIrBSb/7gUfhcjzfwZl3gZg==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>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</X509Certificate>
@@ -11,49 +11,53 @@
<TipoPago>1</TipoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>1</FormaPago>
<MontoPago>708.00</MontoPago>
<FormaPago>0</FormaPago>
<MontoPago>292.00</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>Decomarmol Piedras y Granitos</RazonSocialEmisor>
<NombreComercial>Decomarmol Piedras y Granitos</NombreComercial>
<DireccionEmisor>Calle K esq. L Zona Industrial de Haina</DireccionEmisor>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle Olof Palmer No.11 Esq. Rafael Ramos</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<NumeroFacturaInterna>407</NumeroFacturaInterna>
<FechaEmision>21-04-2026</FechaEmision>
<CorreoEmisor>info@decomarmol.com.do</CorreoEmisor>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12930</NumeroFacturaInterna>
<NumeroPedidoInterno>13378</NumeroPedidoInterno>
<FechaEmision>23-09-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>130337391</RNCComprador>
<RazonSocialComprador>NACE SERVICIOS MULTIPLES</RazonSocialComprador>
<RNCComprador>131-15581-2</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
<DireccionComprador>SANTO DOMINGO ESTE,</DireccionComprador>
<MunicipioComprador>320301</MunicipioComprador>
<ProvinciaComprador>320000</ProvinciaComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>600.00</MontoGravadoTotal>
<MontoGravadoI1>600.00</MontoGravadoI1>
<MontoGravadoTotal>247.50</MontoGravadoTotal>
<MontoGravadoI1>247.50</MontoGravadoI1>
<MontoGravadoI3>0</MontoGravadoI3>
<ITBIS1>18</ITBIS1>
<ITBIS3>0</ITBIS3>
<TotalITBIS>108.00</TotalITBIS>
<TotalITBIS1>108.00</TotalITBIS1>
<TotalITBIS>44.50</TotalITBIS>
<TotalITBIS1>44.50</TotalITBIS1>
<TotalITBIS3>0</TotalITBIS3>
<MontoTotal>708.00</MontoTotal>
<MontoTotal>292.00</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>1</IndicadorFacturacion>
<NombreItem>ACIDO BORICO</NombreItem>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>03.00</CantidadItem>
<PrecioUnitarioItem>200.00</PrecioUnitarioItem>
<MontoItem>600.00</MontoItem>
<CantidadItem>03.30</CantidadItem>
<PrecioUnitarioItem>75.0000</PrecioUnitarioItem>
<MontoItem>247.50</MontoItem>
</Item>
</DetallesItems>
<FechaHoraFirma>21-04-2026 18:00:13</FechaHoraFirma>
<FechaHoraFirma>23-09-2026 09:25:16</FechaHoraFirma>
</ECF>
@@ -11,49 +11,53 @@
<TipoPago>1</TipoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>1</FormaPago>
<MontoPago>1180.00</MontoPago>
<FormaPago>0</FormaPago>
<MontoPago>292.00</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>Decomarmol Piedras y Granitos</RazonSocialEmisor>
<NombreComercial>Decomarmol Piedras y Granitos</NombreComercial>
<DireccionEmisor>Calle K esq. L Zona Industrial de Haina</DireccionEmisor>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle Olof Palmer No.11 Esq. Rafael Ramos</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<NumeroFacturaInterna>408</NumeroFacturaInterna>
<FechaEmision>21-04-2026</FechaEmision>
<CorreoEmisor>info@decomarmol.com.do</CorreoEmisor>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12931</NumeroFacturaInterna>
<NumeroPedidoInterno>13378</NumeroPedidoInterno>
<FechaEmision>23-09-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>130337391</RNCComprador>
<RazonSocialComprador>NACE SERVICIOS MULTIPLES</RazonSocialComprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
<DireccionComprador>SANTO DOMINGO ESTE,</DireccionComprador>
<MunicipioComprador>320301</MunicipioComprador>
<ProvinciaComprador>320000</ProvinciaComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>1000.00</MontoGravadoTotal>
<MontoGravadoI1>1000.00</MontoGravadoI1>
<MontoGravadoTotal>247.50</MontoGravadoTotal>
<MontoGravadoI1>247.50</MontoGravadoI1>
<MontoGravadoI3>0</MontoGravadoI3>
<ITBIS1>18</ITBIS1>
<ITBIS3>0</ITBIS3>
<TotalITBIS>180.00</TotalITBIS>
<TotalITBIS1>180.00</TotalITBIS1>
<TotalITBIS>44.50</TotalITBIS>
<TotalITBIS1>44.50</TotalITBIS1>
<TotalITBIS3>0</TotalITBIS3>
<MontoTotal>1180.00</MontoTotal>
<MontoTotal>292.00</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>1</IndicadorFacturacion>
<NombreItem>ACIDO BORICO</NombreItem>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>05.00</CantidadItem>
<PrecioUnitarioItem>200.00</PrecioUnitarioItem>
<MontoItem>1000.00</MontoItem>
<CantidadItem>03.30</CantidadItem>
<PrecioUnitarioItem>75.0000</PrecioUnitarioItem>
<MontoItem>247.50</MontoItem>
</Item>
</DetallesItems>
<FechaHoraFirma>21-04-2026 18:00:42</FechaHoraFirma>
<FechaHoraFirma>23-09-2026 09:31:07</FechaHoraFirma>
</ECF>
@@ -11,49 +11,53 @@
<TipoPago>1</TipoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>1</FormaPago>
<MontoPago>1888.00</MontoPago>
<FormaPago>0</FormaPago>
<MontoPago>292.00</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>Decomarmol Piedras y Granitos</RazonSocialEmisor>
<NombreComercial>Decomarmol Piedras y Granitos</NombreComercial>
<DireccionEmisor>Calle K esq. L Zona Industrial de Haina</DireccionEmisor>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle Olof Palmer No.11 Esq. Rafael Ramos</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<NumeroFacturaInterna>409</NumeroFacturaInterna>
<FechaEmision>21-04-2026</FechaEmision>
<CorreoEmisor>info@decomarmol.com.do</CorreoEmisor>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12932</NumeroFacturaInterna>
<NumeroPedidoInterno>13378</NumeroPedidoInterno>
<FechaEmision>23-09-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>130337391</RNCComprador>
<RazonSocialComprador>NACE SERVICIOS MULTIPLES</RazonSocialComprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
<DireccionComprador>SANTO DOMINGO ESTE,</DireccionComprador>
<MunicipioComprador>320301</MunicipioComprador>
<ProvinciaComprador>320000</ProvinciaComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>1600.00</MontoGravadoTotal>
<MontoGravadoI1>1600.00</MontoGravadoI1>
<MontoGravadoTotal>247.50</MontoGravadoTotal>
<MontoGravadoI1>247.50</MontoGravadoI1>
<MontoGravadoI3>0</MontoGravadoI3>
<ITBIS1>18</ITBIS1>
<ITBIS3>0</ITBIS3>
<TotalITBIS>288.00</TotalITBIS>
<TotalITBIS1>288.00</TotalITBIS1>
<TotalITBIS>44.50</TotalITBIS>
<TotalITBIS1>44.50</TotalITBIS1>
<TotalITBIS3>0</TotalITBIS3>
<MontoTotal>1888.00</MontoTotal>
<MontoTotal>292.00</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>1</IndicadorFacturacion>
<NombreItem>ACIDO BORICO</NombreItem>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>08.00</CantidadItem>
<PrecioUnitarioItem>200.00</PrecioUnitarioItem>
<MontoItem>1600.00</MontoItem>
<CantidadItem>03.30</CantidadItem>
<PrecioUnitarioItem>75.0000</PrecioUnitarioItem>
<MontoItem>247.50</MontoItem>
</Item>
</DetallesItems>
<FechaHoraFirma>21-04-2026 18:01:06</FechaHoraFirma>
<FechaHoraFirma>23-09-2026 09:44:49</FechaHoraFirma>
</ECF>
@@ -11,49 +11,53 @@
<TipoPago>1</TipoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>1</FormaPago>
<MontoPago>1652.00</MontoPago>
<FormaPago>0</FormaPago>
<MontoPago>292.00</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>Decomarmol Piedras y Granitos</RazonSocialEmisor>
<NombreComercial>Decomarmol Piedras y Granitos</NombreComercial>
<DireccionEmisor>Calle K esq. L Zona Industrial de Haina</DireccionEmisor>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle Olof Palmer No.11 Esq. Rafael Ramos</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<NumeroFacturaInterna>428</NumeroFacturaInterna>
<FechaEmision>21-04-2026</FechaEmision>
<CorreoEmisor>info@decomarmol.com.do</CorreoEmisor>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12933</NumeroFacturaInterna>
<NumeroPedidoInterno>13378</NumeroPedidoInterno>
<FechaEmision>23-09-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>130337391</RNCComprador>
<RazonSocialComprador>NACE SERVICIOS MULTIPLES</RazonSocialComprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
<DireccionComprador>SANTO DOMINGO ESTE,</DireccionComprador>
<MunicipioComprador>320301</MunicipioComprador>
<ProvinciaComprador>320000</ProvinciaComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>1400.00</MontoGravadoTotal>
<MontoGravadoI1>1400.00</MontoGravadoI1>
<MontoGravadoTotal>247.50</MontoGravadoTotal>
<MontoGravadoI1>247.50</MontoGravadoI1>
<MontoGravadoI3>0</MontoGravadoI3>
<ITBIS1>18</ITBIS1>
<ITBIS3>0</ITBIS3>
<TotalITBIS>252.00</TotalITBIS>
<TotalITBIS1>252.00</TotalITBIS1>
<TotalITBIS>44.50</TotalITBIS>
<TotalITBIS1>44.50</TotalITBIS1>
<TotalITBIS3>0</TotalITBIS3>
<MontoTotal>1652.00</MontoTotal>
<MontoTotal>292.00</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>1</IndicadorFacturacion>
<NombreItem>ACIDO BORICO</NombreItem>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>07.00</CantidadItem>
<PrecioUnitarioItem>200.00</PrecioUnitarioItem>
<MontoItem>1400.00</MontoItem>
<CantidadItem>03.30</CantidadItem>
<PrecioUnitarioItem>75.0000</PrecioUnitarioItem>
<MontoItem>247.50</MontoItem>
</Item>
</DetallesItems>
<FechaHoraFirma>21-04-2026 18:29:09</FechaHoraFirma>
<FechaHoraFirma>23-09-2026 09:51:13</FechaHoraFirma>
</ECF>
@@ -6,31 +6,31 @@
<TipoeCF>32</TipoeCF>
<eNCF>E320000000042</eNCF>
<TipoIngresos>01</TipoIngresos>
<TipoPago>1</TipoPago>
<TipoPago>2</TipoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>1</FormaPago>
<MontoPago>40.00</MontoPago>
<FormaPago>4</FormaPago>
<MontoPago>350.40</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>Decomarmol Piedras y Granitos</RazonSocialEmisor>
<FechaEmision>21-04-2026</FechaEmision>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<FechaEmision>15-10-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>130337391</RNCComprador>
<RazonSocialComprador>NACE SERVICIOS MULTIPLES</RazonSocialComprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>40.00</MontoGravadoTotal>
<MontoGravadoI1>40.00</MontoGravadoI1>
<MontoExento>40.0</MontoExento>
<TotalITBIS>0.00</TotalITBIS>
<TotalITBIS1>0.00</TotalITBIS1>
<MontoTotal>40.00</MontoTotal>
<MontoGravadoTotal>297.00</MontoGravadoTotal>
<MontoGravadoI1>297.00</MontoGravadoI1>
<MontoExento>0</MontoExento>
<TotalITBIS>53.40</TotalITBIS>
<TotalITBIS1>53.40</TotalITBIS1>
<MontoTotal>350.40</MontoTotal>
</Totales>
<CodigoSeguridadeCF>y1upjX</CodigoSeguridadeCF>
<CodigoSeguridadeCF>fhSR/G</CodigoSeguridadeCF>
</Encabezado>
</RFCE>
@@ -6,52 +6,50 @@
<TipoeCF>34</TipoeCF>
<eNCF>E340000000042</eNCF>
<IndicadorNotaCredito>0</IndicadorNotaCredito>
<IndicadorMontoGravado>0</IndicadorMontoGravado>
<IndicadorMontoGravado>1</IndicadorMontoGravado>
<TipoIngresos>01</TipoIngresos>
<TipoPago>1</TipoPago>
<FechaLimitePago>21-04-2026</FechaLimitePago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>Decomarmol Piedras y Granitos</RazonSocialEmisor>
<NombreComercial>Decomarmol Piedras y Granitos</NombreComercial>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle K esq. L Zona Industrial de Haina</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<CodigoVendedor>0</CodigoVendedor>
<NumeroFacturaInterna>399</NumeroFacturaInterna>
<FechaEmision>21-04-2026</FechaEmision>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12933</NumeroFacturaInterna>
<FechaEmision>23-09-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>130337391</RNCComprador>
<RazonSocialComprador>NACE SERVICIOS MULTIPLES</RazonSocialComprador>
<ProvinciaComprador>320000</ProvinciaComprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>1200.00</MontoGravadoTotal>
<MontoGravadoI1>1200.00</MontoGravadoI1>
<MontoGravadoTotal>247.50</MontoGravadoTotal>
<MontoGravadoI1>247.50</MontoGravadoI1>
<ITBIS1>18</ITBIS1>
<TotalITBIS>216.00</TotalITBIS>
<TotalITBIS1>216.00</TotalITBIS1>
<MontoTotal>1416.00</MontoTotal>
<TotalITBIS>44.50</TotalITBIS>
<TotalITBIS1>44.50</TotalITBIS1>
<MontoTotal>292.00</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>1</IndicadorFacturacion>
<NombreItem>ACIDO BORICO</NombreItem>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>6.00</CantidadItem>
<PrecioUnitarioItem>200.00</PrecioUnitarioItem>
<MontoItem>1200.00</MontoItem>
<CantidadItem>3.30</CantidadItem>
<PrecioUnitarioItem>75.0000</PrecioUnitarioItem>
<MontoItem>247.50</MontoItem>
</Item>
</DetallesItems>
<InformacionReferencia>
<NCFModificado>E310000000053</NCFModificado>
<FechaNCFModificado>21-04-2026</FechaNCFModificado>
<NCFModificado>E310000000060</NCFModificado>
<FechaNCFModificado>23-09-2026</FechaNCFModificado>
<CodigoModificacion>1</CodigoModificacion>
<RazonModificacion>No tenemos razones</RazonModificacion>
</InformacionReferencia>
<FechaHoraFirma>21-04-2026 17:48:14</FechaHoraFirma>
<FechaHoraFirma>23-09-2026 09:57:54</FechaHoraFirma>
</ECF>
@@ -0,0 +1,55 @@
<?xml version='1.0' encoding='UTF-8'?>
<ECF xmlns:xs="http://www.w3.org/2001/XMLSchema">
<Encabezado>
<Version>1.0</Version>
<IdDoc>
<TipoeCF>44</TipoeCF>
<eNCF>E440000000001</eNCF>
<FechaVencimientoSecuencia>31-12-2028</FechaVencimientoSecuencia>
<TipoIngresos>01</TipoIngresos>
<TipoPago>1</TipoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>4</FormaPago>
<MontoPago>247.50</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle Olof Palmer No.11 Esq. Rafael Ramos</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<CorreoEmisor>info@decomarmol.com.do</CorreoEmisor>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12937</NumeroFacturaInterna>
<NumeroPedidoInterno>13379</NumeroPedidoInterno>
<FechaEmision>06-10-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
<DireccionComprador>SANTO DOMINGO ESTE,</DireccionComprador>
<MunicipioComprador>320301</MunicipioComprador>
<ProvinciaComprador>320000</ProvinciaComprador>
</Comprador>
<Totales>
<MontoExento>247.5</MontoExento>
<MontoTotal>247.50</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>4</IndicadorFacturacion>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>03.30</CantidadItem>
<PrecioUnitarioItem>75.0000</PrecioUnitarioItem>
<MontoItem>247.50</MontoItem>
</Item>
</DetallesItems>
<FechaHoraFirma>06-10-2026 12:48:57</FechaHoraFirma>
</ECF>
@@ -0,0 +1,63 @@
<?xml version='1.0' encoding='UTF-8'?>
<ECF xmlns:xs="http://www.w3.org/2001/XMLSchema">
<Encabezado>
<Version>1.0</Version>
<IdDoc>
<TipoeCF>45</TipoeCF>
<eNCF>E450000000002</eNCF>
<FechaVencimientoSecuencia>31-12-2028</FechaVencimientoSecuencia>
<IndicadorMontoGravado>0</IndicadorMontoGravado>
<TipoIngresos>01</TipoIngresos>
<TipoPago>1</TipoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>0</FormaPago>
<MontoPago>292.00</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle Olof Palmer No.11 Esq. Rafael Ramos</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<CorreoEmisor>info@decomarmol.com.do</CorreoEmisor>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12935</NumeroFacturaInterna>
<NumeroPedidoInterno>13379</NumeroPedidoInterno>
<FechaEmision>06-10-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
<DireccionComprador>SANTO DOMINGO ESTE,</DireccionComprador>
<MunicipioComprador>320301</MunicipioComprador>
<ProvinciaComprador>320000</ProvinciaComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>247.50</MontoGravadoTotal>
<MontoGravadoI1>247.50</MontoGravadoI1>
<MontoGravadoI3>0</MontoGravadoI3>
<ITBIS1>18</ITBIS1>
<ITBIS3>0</ITBIS3>
<TotalITBIS>44.50</TotalITBIS>
<TotalITBIS1>44.50</TotalITBIS1>
<TotalITBIS3>0</TotalITBIS3>
<MontoTotal>292.00</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>1</IndicadorFacturacion>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>03.30</CantidadItem>
<PrecioUnitarioItem>75.0000</PrecioUnitarioItem>
<MontoItem>247.50</MontoItem>
</Item>
</DetallesItems>
<FechaHoraFirma>06-10-2026 12:21:18</FechaHoraFirma>
</ECF>
@@ -0,0 +1,63 @@
<?xml version='1.0' encoding='UTF-8'?>
<ECF xmlns:xs="http://www.w3.org/2001/XMLSchema">
<Encabezado>
<Version>1.0</Version>
<IdDoc>
<TipoeCF>45</TipoeCF>
<eNCF>E450000000003</eNCF>
<FechaVencimientoSecuencia>31-12-2028</FechaVencimientoSecuencia>
<IndicadorMontoGravado>0</IndicadorMontoGravado>
<TipoIngresos>01</TipoIngresos>
<TipoPago>1</TipoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>4</FormaPago>
<MontoPago>292.00</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle Olof Palmer No.11 Esq. Rafael Ramos</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<CorreoEmisor>info@decomarmol.com.do</CorreoEmisor>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12936</NumeroFacturaInterna>
<NumeroPedidoInterno>13379</NumeroPedidoInterno>
<FechaEmision>06-10-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
<DireccionComprador>SANTO DOMINGO ESTE,</DireccionComprador>
<MunicipioComprador>320301</MunicipioComprador>
<ProvinciaComprador>320000</ProvinciaComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>247.50</MontoGravadoTotal>
<MontoGravadoI1>247.50</MontoGravadoI1>
<MontoGravadoI3>0</MontoGravadoI3>
<ITBIS1>18</ITBIS1>
<ITBIS3>0</ITBIS3>
<TotalITBIS>44.50</TotalITBIS>
<TotalITBIS1>44.50</TotalITBIS1>
<TotalITBIS3>0</TotalITBIS3>
<MontoTotal>292.00</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>1</IndicadorFacturacion>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>03.30</CantidadItem>
<PrecioUnitarioItem>75.0000</PrecioUnitarioItem>
<MontoItem>247.50</MontoItem>
</Item>
</DetallesItems>
<FechaHoraFirma>06-10-2026 12:34:43</FechaHoraFirma>
</ECF>
@@ -6,49 +6,50 @@
<TipoeCF>32</TipoeCF>
<eNCF>E320000000042</eNCF>
<TipoIngresos>01</TipoIngresos>
<TipoPago>1</TipoPago>
<TipoPago>2</TipoPago>
<TerminoPago>15 dias</TerminoPago>
<TablaFormasPago>
<FormaDePago>
<FormaPago>1</FormaPago>
<MontoPago>40.00</MontoPago>
<FormaPago>4</FormaPago>
<MontoPago>350.40</MontoPago>
</FormaDePago>
</TablaFormasPago>
</IdDoc>
<Emisor>
<RNCEmisor>130589216</RNCEmisor>
<RazonSocialEmisor>Decomarmol Piedras y Granitos</RazonSocialEmisor>
<NombreComercial>Decomarmol Piedras y Granitos</NombreComercial>
<DireccionEmisor>Calle K esq. L Zona Industrial de Haina</DireccionEmisor>
<Municipio>320301</Municipio>
<Provincia>320000</Provincia>
<CorreoEmisor></CorreoEmisor>
<CodigoVendedor></CodigoVendedor>
<NumeroFacturaInterna>405</NumeroFacturaInterna>
<FechaEmision>21-04-2026</FechaEmision>
<RazonSocialEmisor>DECOMARMOL PIEDRAS Y GRANITOS S R L</RazonSocialEmisor>
<NombreComercial>DECOMARMOL PIEDRAS Y GRANITOS S R L</NombreComercial>
<DireccionEmisor>Calle Olof Palmer No.11 Esq. Rafael Ramos</DireccionEmisor>
<Municipio>210300</Municipio>
<Provincia>210000</Provincia>
<CorreoEmisor>info@decomarmol.com.do</CorreoEmisor>
<CodigoVendedor>1</CodigoVendedor>
<NumeroFacturaInterna>12940</NumeroFacturaInterna>
<FechaEmision>15-10-2026</FechaEmision>
</Emisor>
<Comprador>
<RNCComprador>130337391</RNCComprador>
<RazonSocialComprador>NACE SERVICIOS MULTIPLES</RazonSocialComprador>
<RNCComprador>131155812</RNCComprador>
<RazonSocialComprador>BOUZA INVESTIMENT</RazonSocialComprador>
</Comprador>
<Totales>
<MontoGravadoTotal>40.00</MontoGravadoTotal>
<MontoGravadoI1>40.00</MontoGravadoI1>
<MontoGravadoTotal>297.00</MontoGravadoTotal>
<MontoGravadoI1>297.00</MontoGravadoI1>
<MontoGravadoI3>0</MontoGravadoI3>
<TotalITBIS>0.00</TotalITBIS>
<TotalITBIS1>0.00</TotalITBIS1>
<MontoTotal>40.00</MontoTotal>
<TotalITBIS>53.40</TotalITBIS>
<TotalITBIS1>53.40</TotalITBIS1>
<MontoTotal>350.40</MontoTotal>
</Totales>
</Encabezado>
<DetallesItems>
<Item>
<NumeroLinea>1</NumeroLinea>
<IndicadorFacturacion>3</IndicadorFacturacion>
<NombreItem>ACETONA</NombreItem>
<IndicadorFacturacion>1</IndicadorFacturacion>
<NombreItem>SERVICIO DE CORTE</NombreItem>
<IndicadorBienoServicio>2</IndicadorBienoServicio>
<CantidadItem>02.00</CantidadItem>
<PrecioUnitarioItem>20.00</PrecioUnitarioItem>
<MontoItem>40.00</MontoItem>
<CantidadItem>03.30</CantidadItem>
<PrecioUnitarioItem>90.0000</PrecioUnitarioItem>
<MontoItem>297.00</MontoItem>
</Item>
</DetallesItems>
<FechaHoraFirma>21-04-2026 17:54:44</FechaHoraFirma>
<FechaHoraFirma>15-10-2026 11:05:35</FechaHoraFirma>
</ECF>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

+1 -1
View File
@@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><RespuestaAutenticacion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><token>eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiMDEzMDAwNDg2NjUiLCJqdGkiOiJjNDNmMDk3Ni1lNTliLTQxMDYtOTliMy0zM2RkNzM2ZTAzOTciLCJuYmYiOjE3OTAwMTI3ODYsImV4cCI6MTc5MDAxNjM4NiwiaXNzIjoiREdJSS5GRSIsImF1ZCI6IlVTVUFSSU9TLkRHSUkuRkUifQ.ImofK8jWX2SmMYlp2WYoaaoiu3qhcfSBedYqCf8Qqvc</token><expira>2026-09-21T18:46:26Z</expira><expedido>2026-09-21T17:46:26Z</expedido></RespuestaAutenticacion>
<?xml version="1.0" encoding="UTF-8"?><RespuestaAutenticacion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><token>eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiMDAxMDc4MDAzNTEiLCJqdGkiOiJjZTc0ZjBmNC05YWFjLTQ5MzUtYjc3Yy1jNTFlYjFlMmZiOTEiLCJuYmYiOjE3OTIwNzcwMDYsImV4cCI6MTc5MjA4MDYwNiwiaXNzIjoiREdJSS5GRSIsImF1ZCI6IlVTVUFSSU9TLkRHSUkuRkUifQ.4NIr5Pi4oBTI0El33_nSSNpgL9yeTQszRASGjj6gspM</token><expira>2026-10-15T16:10:06Z</expira><expedido>2026-10-15T15:10:06Z</expedido></RespuestaAutenticacion>
+5 -5
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<SemillaModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<valor>g4mbVvenahguvmOmEit/0W1t/t5yP5vjtjkCjdTdEkSFt1GAO+GcH2xSzuWUyBC1t3DWrQaiJt2KzQTw4qj+JahKRv7/fvxbJiEioJU5+dqy08ufv+0rhqIA2BzyQ6Ts8LZF1qXT3rtXdZTCLVWaIA==</valor>
<fecha>2026-09-21T13:46:25.9604712-04:00</fecha>
<valor>XyNwky86/lmy/9WKLtPUZ5gsURucsdQvsAHbrXVrQCBWORQHZJLnwNAVMh8KyIaDOAWiK8G8G2FAkoHyjAhvDEa7jhzx0vTRPfCY4Vy+6BlLUi04KJbYHy4NmjnbQvz8VIIIVuSwNNhnVfSzK9lHJg==</valor>
<fecha>2026-10-15T11:10:06.393596-04:00</fecha>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
@@ -11,13 +11,13 @@
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<DigestValue>otbzzhujjXT2f5J+vmEOSKmFlrApUfW8SjkRJWuv7No=</DigestValue>
<DigestValue>0ZuRcpYfADhVlNpHRo+z4ZUIyPBSB+niDn0964ndKyo=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>WI1vr5/QDJhve1FoeAD/ZdIAXtFqQ1DXuaDPdWzAOztSpi6EmQxQYR3S56q54ZwHL2pwtu7tAnJJib+z9lCmHYHB04F5U1ea4Ine7o4TvfYMHe52CLtsPGh6/WNxKxGhkBfryi6l7cgUdjMpp5lP+JTwyQIsZoWQ4R48k10fyc2xudrR5qpagI3MHq5C+b6/6fjLvc+TQjocJwTvCn/6qFXlz68dvG5OplqW7GeRzpWdvo5uN3gaMTBvcl2jv1jNz1HzvbEuw/Ki5Tjy/zfEd+dbns2zpra6mzSpcddJe9FbeVpfaZ+3J/c/2kJHagiG7Dq3NfQ03Tz5kmcFf4RgTw==</SignatureValue>
<SignatureValue>UI+QsZY3repVx8MlDsFFWElA6N4Ywi6UERyp8Tr235hN4IwV0CKLf7QpARj0y3E/szgrYhjTHFEgbz0425fVScr/qp+A62z4kuU+WzyZ0j0qRXTBVekHox+thjXTjmOrkkfaEt/cmP2h0olNeWR93ia9PeIGn7sGCGXyqQgnMLCjj8VY2cjkDELLAT0YxJ5SJ5Wr9zHZc3UwAeid/av63WQ34wEZVtl2ooIT+wn6dyhZ2nRqMYz7cS3ETgmGsjGaAwSkKk0o17iLIit2KNQhFkZu8r9c7hQJwyv0+4PYksgSEqVvbL1KxzqB0Ca92fhh6oSR/mXly7s+mX7MQmhpzQ==</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>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</X509Certificate>
<X509Certificate>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</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
+1 -1
View File
@@ -1 +1 @@
<?xml version="1.0" encoding="utf-8"?><SemillaModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><valor>g4mbVvenahguvmOmEit/0W1t/t5yP5vjtjkCjdTdEkSFt1GAO+GcH2xSzuWUyBC1t3DWrQaiJt2KzQTw4qj+JahKRv7/fvxbJiEioJU5+dqy08ufv+0rhqIA2BzyQ6Ts8LZF1qXT3rtXdZTCLVWaIA==</valor><fecha>2026-09-21T13:46:25.9604712-04:00</fecha></SemillaModel>
<?xml version="1.0" encoding="utf-8"?><SemillaModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><valor>XyNwky86/lmy/9WKLtPUZ5gsURucsdQvsAHbrXVrQCBWORQHZJLnwNAVMh8KyIaDOAWiK8G8G2FAkoHyjAhvDEa7jhzx0vTRPfCY4Vy+6BlLUi04KJbYHy4NmjnbQvz8VIIIVuSwNNhnVfSzK9lHJg==</valor><fecha>2026-10-15T11:10:06.393596-04:00</fecha></SemillaModel>
Binary file not shown.
+79 -87
View File
@@ -1,4 +1,4 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version='1.0' encoding='windows-1252'?>
<Form name="vefmmt001.tmp" build="3.20.05" text="CREACION FACTURAS VENTAS" style="basic" width="147" height="40">
<ActionDefaultList>
<ActionDefault name="bncf" image="about"/>
@@ -45,7 +45,7 @@
<Group name="group2" text="parametros" posY="0" posX="84" gridWidth="22" gridHeight="6">
<LStr text="parametros"/>
<Label text="ITBIS" posY="1" posX="1" gridWidth="5"/>
<FormField name="formonly.ch_itbi" colName="ch_itbi" sqlType="CHAR" fieldId="4" sqlTabName="formonly" tabIndex="4" defaultValue="N" notNull="1" required="1">
<FormField name="formonly.ch_itbi" colName="ch_itbi" sqlType="CHAR" fieldId="4" sqlTabName="formonly" tabIndex="4" defaultValue="S" notNull="1" required="1">
<CheckBox width="8" valueChecked="S" valueUnchecked="N" posY="1" posX="11" gridWidth="8"/>
</FormField>
<Label text="Membrete" posY="2" posX="1" gridWidth="9"/>
@@ -243,9 +243,6 @@
<FormField name="formonly.nombre_vend" colName="nombre_vend" fieldId="38" sqlTabName="formonly" tabIndex="29" noEntry="1">
<Edit width="29" posY="5" posX="24" gridWidth="29"/>
</FormField>
<Label name="label44" width="10" text="Forma de Pago" posY="5" posX="60" gridWidth="10">
<LStr text="Forma de Pago"/>
</Label>
<Label name="label17" width="9" text="Condicion" posY="6" posX="2" gridWidth="9">
<LStr text="Condicion"/>
</Label>
@@ -253,60 +250,57 @@
<FormField name="formonly.cond_pago" colName="cond_pago" fieldId="39" sqlTabName="formonly" tabIndex="30">
<ComboBox width="33" posY="6" posX="18" gridWidth="35"/>
</FormField>
<FormField name="formonly.fpago" colName="fpago" fieldId="40" sqlTabName="formonly" tabIndex="72">
<ComboBox width="19" posY="6" posX="60" gridWidth="21"/>
</FormField>
<Label name="label18" width="15" text="Transportista :" posY="7" posX="2" gridWidth="15">
<LStr text="Transportista :"/>
</Label>
<FormField name="formonly.cod_transp" colName="cod_transp" fieldId="41" sqlTabName="formonly" tabIndex="31">
<FormField name="formonly.cod_transp" colName="cod_transp" fieldId="40" sqlTabName="formonly" tabIndex="31">
<Edit width="2" autoNext="1" comment="Digite el Codigo del transportista o Presione Ctrl-W Para Ayuda" posY="7" posX="18" gridWidth="2">
<LStr comment="Digite el Codigo del transportista o Presione Ctrl-W Para Ayuda"/>
</Edit>
</FormField>
<FormField name="formonly.sec_transp" colName="sec_transp" fieldId="42" sqlTabName="formonly" tabIndex="32">
<FormField name="formonly.sec_transp" colName="sec_transp" fieldId="41" sqlTabName="formonly" tabIndex="32">
<Edit width="4" autoNext="1" comment="Digite el Codigo del transportista o Presione Ctrl-W Para Ayuda" posY="7" posX="22" gridWidth="4">
<LStr comment="Digite el Codigo del transportista o Presione Ctrl-W Para Ayuda"/>
</Edit>
</FormField>
<FormField name="formonly.nombre_tran" colName="nombre_tran" fieldId="43" sqlTabName="formonly" tabIndex="33" noEntry="1">
<FormField name="formonly.nombre_tran" colName="nombre_tran" fieldId="42" sqlTabName="formonly" tabIndex="33" noEntry="1">
<Edit width="30" posY="7" posX="28" gridWidth="30"/>
</FormField>
<Label name="label19" width="6" text="Tarifa" posY="8" posX="2" gridWidth="6">
<LStr text="Tarifa"/>
</Label>
<Label text=":" posY="8" posX="16" gridWidth="1"/>
<FormField name="formonly.cod_tarifa" colName="cod_tarifa" fieldId="44" sqlTabName="formonly" tabIndex="34">
<FormField name="formonly.cod_tarifa" colName="cod_tarifa" fieldId="43" sqlTabName="formonly" tabIndex="34">
<Edit width="2" autoNext="1" comment="Digite Codigo Tarifa apagar al transportista" posY="8" posX="18" gridWidth="2">
<LStr comment="Digite Codigo Tarifa apagar al transportista"/>
</Edit>
</FormField>
<FormField name="formonly.descrip5" colName="descrip5" fieldId="45" sqlTabName="formonly" tabIndex="35" noEntry="1">
<FormField name="formonly.descrip5" colName="descrip5" fieldId="44" sqlTabName="formonly" tabIndex="35" noEntry="1">
<Edit width="17" posY="8" posX="22" gridWidth="17"/>
</FormField>
<FormField name="formonly.descrip6" colName="descrip6" fieldId="46" sqlTabName="formonly" tabIndex="36" noEntry="1">
<FormField name="formonly.descrip6" colName="descrip6" fieldId="45" sqlTabName="formonly" tabIndex="36" noEntry="1">
<Edit width="17" posY="8" posX="41" gridWidth="17"/>
</FormField>
<Label name="label31" width="10" text="Doc. Referencia" posY="8" posX="60" gridWidth="10">
<LStr text="Doc. Referencia"/>
</Label>
<FormField name="formonly.pdocumento_ref" colName="pdocumento_ref" fieldId="47" sqlTabName="formonly" tabIndex="64">
<FormField name="formonly.pdocumento_ref" colName="pdocumento_ref" fieldId="46" sqlTabName="formonly" tabIndex="64">
<Edit width="8" shift="up" scroll="1" posY="8" posX="73" gridWidth="8"/>
</FormField>
<Label name="label20" width="15" text="Fecha Embarque:" posY="9" posX="2" gridWidth="15">
<LStr text="Fecha Embarque:"/>
</Label>
<FormField name="formonly.fecha_embarque" colName="fecha_embarque" fieldId="48" sqlTabName="formonly" tabIndex="37">
<FormField name="formonly.fecha_embarque" colName="fecha_embarque" fieldId="47" sqlTabName="formonly" tabIndex="37">
<Edit width="11" format="dd/mm/yyyy" posY="9" posX="18" gridWidth="11"/>
</FormField>
<Label text="Placa :" posY="9" posX="38" gridWidth="7"/>
<FormField name="formonly.placa_transp" colName="placa_transp" fieldId="49" sqlTabName="formonly" tabIndex="38">
<FormField name="formonly.placa_transp" colName="placa_transp" fieldId="48" sqlTabName="formonly" tabIndex="38">
<Edit width="12" autoNext="1" shift="up" posY="9" posX="46" gridWidth="12"/>
</FormField>
<Label name="label32" width="12" text="Factura Exp." posY="9" posX="60" gridWidth="12">
<LStr text="Factura Exp."/>
</Label>
<FormField name="formonly.factura_e" colName="factura_e" fieldId="50" sqlTabName="formonly" tabIndex="39">
<FormField name="formonly.factura_e" colName="factura_e" fieldId="49" sqlTabName="formonly" tabIndex="39">
<Edit width="8" posY="9" posX="73" gridWidth="8"/>
</FormField>
</Group>
@@ -314,98 +308,98 @@
<Label name="label21" width="11" text="Sub-total :" posY="2" posX="1" gridWidth="11">
<LStr text="Sub-total :"/>
</Label>
<FormField name="formonly.sub_total" colName="sub_total" fieldId="51" sqlTabName="formonly" tabIndex="40" noEntry="1">
<FormField name="formonly.sub_total" colName="sub_total" fieldId="50" sqlTabName="formonly" tabIndex="40" noEntry="1">
<Edit width="17" posY="2" posX="13" gridWidth="17"/>
</FormField>
<Label name="label22" width="11" text="Descuento :" posY="3" posX="1" gridWidth="11">
<LStr text="Descuento :"/>
</Label>
<FormField name="formonly.porc_desc" colName="porc_desc" fieldId="52" sqlTabName="formonly" tabIndex="41" noEntry="1">
<FormField name="formonly.porc_desc" colName="porc_desc" fieldId="51" sqlTabName="formonly" tabIndex="41" noEntry="1">
<Edit width="5" posY="3" posX="13" gridWidth="5"/>
</FormField>
<FormField name="formonly.desc_valor" colName="desc_valor" fieldId="53" sqlTabName="formonly" tabIndex="42" noEntry="1">
<FormField name="formonly.desc_valor" colName="desc_valor" fieldId="52" sqlTabName="formonly" tabIndex="42" noEntry="1">
<Edit width="10" posY="3" posX="20" gridWidth="10"/>
</FormField>
<Label name="label23" width="5" text="ITBIS" posY="4" posX="1" gridWidth="5">
<LStr text="ITBIS"/>
</Label>
<FormField name="formonly.porc_itbi" colName="porc_itbi" fieldId="54" sqlTabName="formonly" tabIndex="43" noEntry="1">
<FormField name="formonly.porc_itbi" colName="porc_itbi" fieldId="53" sqlTabName="formonly" tabIndex="43" noEntry="1">
<Edit width="5" posY="4" posX="13" gridWidth="5"/>
</FormField>
<FormField name="formonly.itbi" colName="itbi" fieldId="55" sqlTabName="formonly" tabIndex="44" noEntry="1">
<FormField name="formonly.itbi" colName="itbi" fieldId="54" sqlTabName="formonly" tabIndex="44" noEntry="1">
<Edit width="10" posY="4" posX="20" gridWidth="10"/>
</FormField>
<Label name="label24" width="5" text="Total" posY="5" posX="1" gridWidth="5">
<LStr text="Total"/>
</Label>
<FormField name="formonly.total_fact" colName="total_fact" fieldId="56" sqlTabName="formonly" tabIndex="45" noEntry="1">
<FormField name="formonly.total_fact" colName="total_fact" fieldId="55" sqlTabName="formonly" tabIndex="45" noEntry="1">
<Edit width="17" posY="5" posX="13" gridWidth="17"/>
</FormField>
<Label name="label25" width="8" text="Prima US" posY="6" posX="1" gridWidth="8">
<LStr text="Prima US"/>
<Label name="label25" width="8" text="Tasa US$" posY="6" posX="1" gridWidth="8">
<LStr text="Tasa US$"/>
</Label>
<FormField name="formonly.prima_us" colName="prima_us" fieldId="57" sqlTabName="formonly" tabIndex="46" noEntry="1">
<FormField name="formonly.prima_us" colName="prima_us" fieldId="56" sqlTabName="formonly" tabIndex="46">
<Edit width="9" posY="6" posX="13" gridWidth="9"/>
</FormField>
</Group>
<Group name="group6" text="Detalle" posY="25" posX="1" gridWidth="129" gridHeight="10">
<LStr text="Detalle"/>
<Table pageSize="7" name="table1" width="112" posY="1" posX="1" gridWidth="127" gridHeight="8" tabName="s_fact">
<TableColumn name="formonly.area" colName="area" fieldId="58" sqlTabName="formonly" tabIndex="47" text="AREA">
<TableColumn name="formonly.area" colName="area" fieldId="57" sqlTabName="formonly" tabIndex="47" text="AREA">
<Edit width="10"/>
<LStr text="AREA"/>
</TableColumn>
<TableColumn name="formonly.cod_n" colName="cod_n" fieldId="59" sqlTabName="formonly" tabIndex="48" text="CLASE">
<TableColumn name="formonly.cod_n" colName="cod_n" fieldId="58" sqlTabName="formonly" tabIndex="48" text="CLASE">
<Edit width="10" autoNext="1" comment="Digite Codigo del Producto o Ctrl-W Para Ayuda">
<LStr comment="Digite Codigo del Producto o Ctrl-W Para Ayuda"/>
</Edit>
<LStr text="CLASE"/>
</TableColumn>
<TableColumn name="formonly.cod_grupo" colName="cod_grupo" fieldId="60" sqlTabName="formonly" tabIndex="49" text="GRUPO">
<TableColumn name="formonly.cod_grupo" colName="cod_grupo" fieldId="59" sqlTabName="formonly" tabIndex="49" text="GRUPO">
<Edit width="5" autoNext="1" comment="Digite Codigo del Producto o Ctrl-W Para Ayuda">
<LStr comment="Digite Codigo del Producto o Ctrl-W Para Ayuda"/>
</Edit>
<LStr text="GRUPO"/>
</TableColumn>
<TableColumn name="formonly.cod_tipo" colName="cod_tipo" fieldId="61" sqlTabName="formonly" tabIndex="50" text="TIPO">
<TableColumn name="formonly.cod_tipo" colName="cod_tipo" fieldId="60" sqlTabName="formonly" tabIndex="50" text="TIPO">
<Edit width="10" autoNext="1" comment="Digite Codigo del Producto o Ctrl-W Para Ayuda">
<LStr comment="Digite Codigo del Producto o Ctrl-W Para Ayuda"/>
</Edit>
<LStr text="TIPO"/>
</TableColumn>
<TableColumn name="formonly.cod_sec" colName="cod_sec" fieldId="62" sqlTabName="formonly" tabIndex="51" text="MEDIDA">
<TableColumn name="formonly.cod_sec" colName="cod_sec" fieldId="61" sqlTabName="formonly" tabIndex="51" text="MEDIDA">
<Edit width="10" autoNext="1" comment="Digite Codigo del Producto o Ctrl-W Para Ayuda">
<LStr comment="Digite Codigo del Producto o Ctrl-W Para Ayuda"/>
</Edit>
<LStr text="MEDIDA"/>
</TableColumn>
<TableColumn name="formonly.descrip_esp" colName="descrip_esp" fieldId="63" sqlTabName="formonly" tabIndex="52" noEntry="1">
<TableColumn name="formonly.descrip_esp" colName="descrip_esp" fieldId="62" sqlTabName="formonly" tabIndex="52" noEntry="1">
<Edit width="25"/>
</TableColumn>
<TableColumn name="formonly.unidad_med" colName="unidad_med" fieldId="64" sqlTabName="formonly" tabIndex="53" noEntry="1">
<TableColumn name="formonly.unidad_med" colName="unidad_med" fieldId="63" sqlTabName="formonly" tabIndex="53" noEntry="1">
<Edit width="3"/>
</TableColumn>
<TableColumn name="formonly.cantidad" colName="cantidad" fieldId="65" sqlTabName="formonly" tabIndex="54" text="CANTIDAD">
<TableColumn name="formonly.cantidad" colName="cantidad" fieldId="64" sqlTabName="formonly" tabIndex="54" text="CANTIDAD">
<Edit width="7" autoNext="1" comment="Digite Cantidad a Facturar a ARTICULO">
<LStr comment="Digite Cantidad a Facturar a ARTICULO"/>
</Edit>
<LStr text="CANTIDAD"/>
</TableColumn>
<TableColumn name="formonly.precio" colName="precio" fieldId="66" sqlTabName="formonly" tabIndex="55" text="PRECIO">
<TableColumn name="formonly.precio" colName="precio" fieldId="65" sqlTabName="formonly" tabIndex="55" text="PRECIO">
<Edit width="10"/>
<LStr text="PRECIO"/>
</TableColumn>
<TableColumn name="formonly.cantidad_2" colName="cantidad_2" fieldId="67" sqlTabName="formonly" tabIndex="56" text="DESCUENTO">
<TableColumn name="formonly.cantidad_2" colName="cantidad_2" fieldId="66" sqlTabName="formonly" tabIndex="56" text="DESCUENTO">
<Edit width="6" comment="Digite el porciento a descontar a este ARTICULO">
<LStr comment="Digite el porciento a descontar a este ARTICULO"/>
</Edit>
<LStr text="DESCUENTO"/>
</TableColumn>
<TableColumn name="formonly.monto_fact" colName="monto_fact" sqlType="DECIMAL(16,2)" fieldId="68" sqlTabName="formonly" tabIndex="57" text="MONTO FACTURA" noEntry="1" numAlign="1">
<TableColumn name="formonly.monto_fact" colName="monto_fact" sqlType="DECIMAL(16,2)" fieldId="67" sqlTabName="formonly" tabIndex="57" text="MONTO FACTURA" noEntry="1" numAlign="1">
<Edit width="10"/>
<LStr text="MONTO FACTURA"/>
</TableColumn>
<TableColumn name="formonly.kit_id" colName="kit_id" fieldId="69" sqlTabName="formonly" tabIndex="59" text="KIT" noEntry="1">
<TableColumn name="formonly.kit_id" colName="kit_id" fieldId="68" sqlTabName="formonly" tabIndex="59" text="KIT" noEntry="1">
<Edit width="8"/>
<LStr text="KIT"/>
</TableColumn>
@@ -453,36 +447,35 @@
<Link colName="sec_vend" fieldIdRef="37"/>
<Link colName="nombre_vend" fieldIdRef="38"/>
<Link colName="cond_pago" fieldIdRef="39"/>
<Link colName="fpago" fieldIdRef="40"/>
<Link colName="cod_transp" fieldIdRef="41"/>
<Link colName="sec_transp" fieldIdRef="42"/>
<Link colName="nombre_tran" fieldIdRef="43"/>
<Link colName="cod_tarifa" fieldIdRef="44"/>
<Link colName="descrip5" fieldIdRef="45"/>
<Link colName="descrip6" fieldIdRef="46"/>
<Link colName="pdocumento_ref" fieldIdRef="47"/>
<Link colName="fecha_embarque" fieldIdRef="48"/>
<Link colName="placa_transp" fieldIdRef="49"/>
<Link colName="factura_e" fieldIdRef="50"/>
<Link colName="sub_total" fieldIdRef="51"/>
<Link colName="porc_desc" fieldIdRef="52"/>
<Link colName="desc_valor" fieldIdRef="53"/>
<Link colName="porc_itbi" fieldIdRef="54"/>
<Link colName="itbi" fieldIdRef="55"/>
<Link colName="total_fact" fieldIdRef="56"/>
<Link colName="prima_us" fieldIdRef="57"/>
<Link colName="area" fieldIdRef="58"/>
<Link colName="cod_n" fieldIdRef="59"/>
<Link colName="cod_grupo" fieldIdRef="60"/>
<Link colName="cod_tipo" fieldIdRef="61"/>
<Link colName="cod_sec" fieldIdRef="62"/>
<Link colName="descrip_esp" fieldIdRef="63"/>
<Link colName="unidad_med" fieldIdRef="64"/>
<Link colName="cantidad" fieldIdRef="65"/>
<Link colName="precio" fieldIdRef="66"/>
<Link colName="cantidad_2" fieldIdRef="67"/>
<Link colName="monto_fact" fieldIdRef="68"/>
<Link colName="kit_id" fieldIdRef="69"/>
<Link colName="cod_transp" fieldIdRef="40"/>
<Link colName="sec_transp" fieldIdRef="41"/>
<Link colName="nombre_tran" fieldIdRef="42"/>
<Link colName="cod_tarifa" fieldIdRef="43"/>
<Link colName="descrip5" fieldIdRef="44"/>
<Link colName="descrip6" fieldIdRef="45"/>
<Link colName="pdocumento_ref" fieldIdRef="46"/>
<Link colName="fecha_embarque" fieldIdRef="47"/>
<Link colName="placa_transp" fieldIdRef="48"/>
<Link colName="factura_e" fieldIdRef="49"/>
<Link colName="sub_total" fieldIdRef="50"/>
<Link colName="porc_desc" fieldIdRef="51"/>
<Link colName="desc_valor" fieldIdRef="52"/>
<Link colName="porc_itbi" fieldIdRef="53"/>
<Link colName="itbi" fieldIdRef="54"/>
<Link colName="total_fact" fieldIdRef="55"/>
<Link colName="prima_us" fieldIdRef="56"/>
<Link colName="area" fieldIdRef="57"/>
<Link colName="cod_n" fieldIdRef="58"/>
<Link colName="cod_grupo" fieldIdRef="59"/>
<Link colName="cod_tipo" fieldIdRef="60"/>
<Link colName="cod_sec" fieldIdRef="61"/>
<Link colName="descrip_esp" fieldIdRef="62"/>
<Link colName="unidad_med" fieldIdRef="63"/>
<Link colName="cantidad" fieldIdRef="64"/>
<Link colName="precio" fieldIdRef="65"/>
<Link colName="cantidad_2" fieldIdRef="66"/>
<Link colName="monto_fact" fieldIdRef="67"/>
<Link colName="kit_id" fieldIdRef="68"/>
</RecordView>
<RecordView tabName="undefined">
<Link colName="cod_cia" fieldIdRef="0"/>
@@ -514,34 +507,33 @@
<Link colName="sec_vend" fieldIdRef="37"/>
<Link colName="nombre_vend" fieldIdRef="38"/>
<Link colName="cond_pago" fieldIdRef="39"/>
<Link colName="cod_transp" fieldIdRef="41"/>
<Link colName="sec_transp" fieldIdRef="42"/>
<Link colName="nombre_tran" fieldIdRef="43"/>
<Link colName="cod_tarifa" fieldIdRef="44"/>
<Link colName="descrip5" fieldIdRef="45"/>
<Link colName="descrip6" fieldIdRef="46"/>
<Link colName="fecha_embarque" fieldIdRef="48"/>
<Link colName="placa_transp" fieldIdRef="49"/>
<Link colName="factura_e" fieldIdRef="50"/>
<Link colName="sub_total" fieldIdRef="51"/>
<Link colName="porc_desc" fieldIdRef="52"/>
<Link colName="desc_valor" fieldIdRef="53"/>
<Link colName="porc_itbi" fieldIdRef="54"/>
<Link colName="itbi" fieldIdRef="55"/>
<Link colName="total_fact" fieldIdRef="56"/>
<Link colName="prima_us" fieldIdRef="57"/>
<Link colName="cod_transp" fieldIdRef="40"/>
<Link colName="sec_transp" fieldIdRef="41"/>
<Link colName="nombre_tran" fieldIdRef="42"/>
<Link colName="cod_tarifa" fieldIdRef="43"/>
<Link colName="descrip5" fieldIdRef="44"/>
<Link colName="descrip6" fieldIdRef="45"/>
<Link colName="fecha_embarque" fieldIdRef="47"/>
<Link colName="placa_transp" fieldIdRef="48"/>
<Link colName="factura_e" fieldIdRef="49"/>
<Link colName="sub_total" fieldIdRef="50"/>
<Link colName="porc_desc" fieldIdRef="51"/>
<Link colName="desc_valor" fieldIdRef="52"/>
<Link colName="porc_itbi" fieldIdRef="53"/>
<Link colName="itbi" fieldIdRef="54"/>
<Link colName="total_fact" fieldIdRef="55"/>
<Link colName="prima_us" fieldIdRef="56"/>
<Link colName="bodega" fieldIdRef="13"/>
<Link colName="factura1" fieldIdRef="22"/>
<Link colName="num_rnc" fieldIdRef="36"/>
<Link colName="imprime" fieldIdRef="27"/>
<Link colName="proforma" fieldIdRef="7"/>
<Link colName="pdocumento_ref" fieldIdRef="47"/>
<Link colName="pdocumento_ref" fieldIdRef="46"/>
<Link colName="descripcion_doc" fieldIdRef="3"/>
<Link colName="fecha_vencimiento" fieldIdRef="25"/>
<Link colName="codigodgii" fieldIdRef="23"/>
<Link colName="estado" fieldIdRef="8"/>
<Link colName="trackid" fieldIdRef="9"/>
<Link colName="mensaje_dgii" fieldIdRef="10"/>
<Link colName="fpago" fieldIdRef="40"/>
</RecordView>
</Form>
+539
View File
@@ -0,0 +1,539 @@
<?xml version='1.0' encoding='UTF-8'?>
<Form name="vefmmt001.tmp" build="3.20.05" text="CREACION FACTURAS VENTAS" style="basic" width="147" height="40">
<ActionDefaultList>
<ActionDefault name="bncf" image="about"/>
<ActionDefault name="anular" image="delete"/>
</ActionDefaultList>
<ToolBar name="toolbar1">
<ToolBarItem name="nuevo" image="new" text="Factura" comment="Nueva Factura">
<LStr text="Factura" comment="Nueva Factura"/>
</ToolBarItem>
<ToolBarItem name="buscar" image="find" text="Buscar Factura" comment="Criterio de busqueda">
<LStr text="Buscar Factura" comment="Criterio de busqueda"/>
</ToolBarItem>
<ToolBarSeparator name="toolbarseparator1"/>
<ToolBarItem name="salir" image="quit" text="Salir">
<LStr text="Salir"/>
</ToolBarItem>
</ToolBar>
<LStr text="CREACION FACTURAS VENTAS"/>
<Grid name="grid1" width="147" height="40">
<Group name="group1" text="Encabezado" posY="0" posX="1" gridWidth="82" gridHeight="6">
<LStr text="Encabezado"/>
<Label name="label1" width="9" text="Compania:" posY="1" posX="5" gridWidth="9">
<LStr text="Compania:"/>
</Label>
<FormField name="formonly.cod_cia" colName="cod_cia" fieldId="0" sqlTabName="formonly" tabIndex="1">
<Edit width="2" autoNext="1" posY="1" posX="18" gridWidth="2"/>
</FormField>
<FormField name="formonly.compania" colName="compania" fieldId="1" sqlTabName="formonly" tabIndex="2" noEntry="1">
<Edit width="53" posY="1" posX="22" gridWidth="53"/>
</FormField>
<Label name="label2" width="6" text="Ventas" posY="2" posX="8" gridWidth="6">
<LStr text="Ventas"/>
</Label>
<FormField name="formonly.ventas" colName="ventas" fieldId="2" sqlTabName="formonly" tabIndex="3">
<ComboBox width="34" posY="2" posX="18" gridWidth="36"/>
</FormField>
<Label name="label33" width="13" text="Descripcion" justify="right" posY="3" posX="1" gridWidth="13">
<LStr text="Descripcion"/>
</Label>
<FormField name="formonly.descripcion_doc" colName="descripcion_doc" fieldId="3" sqlTabName="formonly" tabIndex="65">
<Edit width="37" shift="up" posY="3" posX="18" gridWidth="37"/>
</FormField>
</Group>
<Group name="group2" text="parametros" posY="0" posX="84" gridWidth="22" gridHeight="6">
<LStr text="parametros"/>
<Label text="ITBIS" posY="1" posX="1" gridWidth="5"/>
<FormField name="formonly.ch_itbi" colName="ch_itbi" sqlType="CHAR" fieldId="4" sqlTabName="formonly" tabIndex="4" defaultValue="S" notNull="1" required="1">
<CheckBox width="8" valueChecked="S" valueUnchecked="N" posY="1" posX="11" gridWidth="8"/>
</FormField>
<Label text="Membrete" posY="2" posX="1" gridWidth="9"/>
<FormField name="formonly.ch_encabeza" colName="ch_encabeza" sqlType="CHAR" fieldId="5" sqlTabName="formonly" tabIndex="5" defaultValue="S" notNull="1" required="1">
<CheckBox width="8" valueChecked="S" valueUnchecked="N" posY="2" posX="11" gridWidth="8"/>
</FormField>
<Label text="Servicios" posY="3" posX="1" gridWidth="9"/>
<FormField name="formonly.ch_servicios" colName="ch_servicios" sqlType="CHAR" fieldId="6" sqlTabName="formonly" tabIndex="6" defaultValue="N" notNull="1" required="1">
<CheckBox width="8" valueChecked="S" valueUnchecked="N" posY="3" posX="11" gridWidth="8"/>
</FormField>
<Label name="label30" width="7" text="Proforma" posY="4" posX="1" gridWidth="7">
<LStr text="Proforma"/>
</Label>
<FormField name="formonly.proforma" colName="proforma" fieldId="7" sqlTabName="formonly" tabIndex="63" defaultValue="CONDUCE">
<CheckBox width="7" valueChecked="PROFORMA" valueUnchecked="CONDUCE" posY="4" posX="11" gridWidth="7"/>
</FormField>
</Group>
<Group name="group8" text="MENSAJES DGII" posY="2" posX="116" gridWidth="31" gridHeight="6">
<LStr text="MENSAJES DGII"/>
<FormField name="formonly.estado" colName="estado" fieldId="8" sqlTabName="formonly" tabIndex="67">
<Edit width="10" posY="1" posX="2" gridWidth="10"/>
</FormField>
<FormField name="formonly.trackid" colName="trackid" fieldId="9" sqlTabName="formonly" tabIndex="68">
<Edit width="26" scroll="1" posY="3" posX="2" gridWidth="26"/>
</FormField>
<FormField name="formonly.mensaje_dgii" colName="mensaje_dgii" fieldId="10" sqlTabName="formonly" tabIndex="69">
<Edit width="28" scroll="1" posY="4" posX="2" gridWidth="28"/>
</FormField>
</Group>
<Group name="group3" text="Documentos" posY="6" posX="1" gridWidth="114" gridHeight="8">
<LStr text="Documentos"/>
<Label name="label5" width="5" text="Orden" posY="1" posX="2" gridWidth="5">
<LStr text="Orden"/>
</Label>
<FormField name="formonly.orden" colName="orden" fieldId="11" sqlTabName="formonly" tabIndex="13">
<Edit width="6" posY="1" posX="13" gridWidth="6"/>
</FormField>
<Label name="label9" width="5" text="Fecha" posY="1" posX="35" gridWidth="5">
<LStr text="Fecha"/>
</Label>
<FormField name="formonly.fecha_cotizacion" colName="fecha_cotizacion" fieldId="12" sqlTabName="formonly" tabIndex="8">
<Edit width="10" format="dd/mm/yyyy" posY="1" posX="42" gridWidth="10"/>
</FormField>
<Label name="label26" width="10" text="ALMACEN" posY="2" posX="2" gridWidth="10">
<LStr text="ALMACEN"/>
</Label>
<FormField name="formonly.bodega" colName="bodega" fieldId="13" sqlTabName="formonly" tabIndex="58" defaultValue="1">
<ComboBox width="16" posY="2" posX="13" gridWidth="18"/>
</FormField>
<Label name="label4" width="7" text="CONDUCE" posY="2" posX="33" gridWidth="7">
<LStr text="CONDUCE"/>
</Label>
<FormField name="formonly.conduce" colName="conduce" fieldId="14" sqlTabName="formonly" tabIndex="9" required="1">
<Edit width="6" autoNext="1" posY="2" posX="42" gridWidth="6"/>
</FormField>
<Label name="label10" width="14" text="Fecha Conduce:" posY="2" posX="50" gridWidth="14">
<LStr text="Fecha Conduce:"/>
</Label>
<FormField name="formonly.fecha_conduce" colName="fecha_conduce" fieldId="15" sqlTabName="formonly" tabIndex="10">
<Edit width="15" format="dd/mm/yyyy" comment="Digite La Fecha del Conduce" posY="2" posX="65" gridWidth="15">
<LStr comment="Digite La Fecha del Conduce"/>
</Edit>
</FormField>
<Label name="label8" width="7" text="Factura" posY="2" posX="81" gridWidth="7">
<LStr text="Factura"/>
</Label>
<FormField name="formonly.factura" colName="factura" fieldId="16" sqlTabName="formonly" tabIndex="11" noEntry="1" required="1">
<Edit width="6" posY="2" posX="97" gridWidth="6"/>
</FormField>
<Button name="anular" width="7" tabIndex="12" posY="2" posX="105" gridWidth="7"/>
<Label name="label3" width="10" text="Cotizacion" posY="3" posX="2" gridWidth="10">
<LStr text="Cotizacion"/>
</Label>
<FormField name="formonly.pcotizacion" colName="pcotizacion" fieldId="17" sqlTabName="formonly" tabIndex="7">
<Edit width="6" posY="3" posX="13" gridWidth="6"/>
</FormField>
<Label name="label11" width="11" text="Fecha Orden" posY="3" posX="50" gridWidth="11">
<LStr text="Fecha Orden"/>
</Label>
<FormField name="formonly.fecha_orden" colName="fecha_orden" fieldId="18" sqlTabName="formonly" tabIndex="14">
<Edit width="15" format="dd/mm/yyyy" comment="Digite La Fecha de La Orden" posY="3" posX="65" gridWidth="15">
<LStr comment="Digite La Fecha de La Orden"/>
</Edit>
</FormField>
<Label name="label7" width="14" text="Fecha Factura:" posY="3" posX="81" gridWidth="14">
<LStr text="Fecha Factura:"/>
</Label>
<FormField name="formonly.fecha_factura" colName="fecha_factura" fieldId="19" sqlTabName="formonly" tabIndex="15">
<Edit width="14" posY="3" posX="97" gridWidth="14"/>
</FormField>
<Label name="label6" width="9" text="Documento" posY="4" posX="2" gridWidth="9">
<LStr text="Documento"/>
</Label>
<FormField name="formonly.documento_ref" colName="documento_ref" fieldId="20" sqlTabName="formonly" tabIndex="16">
<Edit width="16" comment="Orden Compras Cliente" posY="4" posX="13" gridWidth="16">
<LStr comment="Orden Compras Cliente"/>
</Edit>
</FormField>
<Label text="Fecha Vence" posY="4" posX="30" gridWidth="11"/>
<FormField name="formonly.p_fecha_ven" colName="p_fecha_ven" sqlType="DATE" fieldId="21" sqlTabName="formonly" noEntry="1" tabIndex="70">
<Label width="10" format="dd/mm/yyyy" posY="4" posX="42" gridWidth="10"/>
</FormField>
<Label name="label27" width="14" text="Factura F" posY="4" posX="81" gridWidth="14">
<LStr text="Factura F"/>
</Label>
<FormField name="formonly.factura1" colName="factura1" fieldId="22" sqlTabName="formonly" tabIndex="60" noEntry="1" required="1">
<Edit width="6" posY="4" posX="97" gridWidth="6"/>
</FormField>
<Label text="NCF" posY="5" posX="2" gridWidth="3"/>
<FormField name="formonly.codigodgii" colName="codigodgii" fieldId="23" sqlTabName="formonly" tabIndex="71">
<ButtonEdit width="17" action="f2" shift="up" posY="5" posX="6" gridWidth="19"/>
</FormField>
<FormField name="formonly.descripcion_ncf" colName="descripcion_ncf" fieldId="24" sqlTabName="formonly" tabIndex="18">
<Edit width="43" posY="5" posX="27" gridWidth="43"/>
</FormField>
<Label name="label34" width="14" text="Fecha Vencimiento" posY="5" posX="81" gridWidth="14">
<LStr text="Fecha Vencimiento"/>
</Label>
<FormField name="formonly.fecha_vencimiento" colName="fecha_vencimiento" fieldId="25" sqlTabName="formonly" tabIndex="66">
<Edit width="12" posY="5" posX="97" gridWidth="12"/>
</FormField>
<FormField name="formonly.kncf" colName="kncf" fieldId="26" sqlTabName="formonly" tabIndex="19">
<Edit width="19" posY="6" posX="6" gridWidth="19"/>
</FormField>
<Label name="label29" width="8" text="Ruta impresion" posY="6" posX="27" gridWidth="8">
<LStr text="Ruta impresion"/>
</Label>
<FormField name="formonly.imprime" colName="imprime" fieldId="27" sqlTabName="formonly" tabIndex="62">
<Edit width="45" posY="6" posX="37" gridWidth="45"/>
</FormField>
</Group>
<Group name="group4" text="Cliente" posY="14" posX="1" gridWidth="84" gridHeight="11">
<LStr text="Cliente"/>
<Label name="label12" width="7" text="Cliente" posY="1" posX="2" gridWidth="7">
<LStr text="Cliente"/>
</Label>
<Label text=":" posY="1" posX="16" gridWidth="1"/>
<FormField name="formonly.tipo_cliente" colName="tipo_cliente" fieldId="28" sqlTabName="formonly" tabIndex="20">
<Edit width="4" autoNext="1" comment="Digite Codigo Cliente o Presione Ctrl-E Para Crear y/o Buscar" posY="1" posX="18" gridWidth="4">
<LStr comment="Digite Codigo Cliente o Presione Ctrl-E Para Crear y/o Buscar"/>
</Edit>
</FormField>
<FormField name="formonly.sec_cliente" colName="sec_cliente" fieldId="29" sqlTabName="formonly" tabIndex="21">
<Edit width="8" autoNext="1" comment="Digite Codigo Cliente o Presione Ctrl-E Para Crear y/o Buscar" posY="1" posX="24" gridWidth="8">
<LStr comment="Digite Codigo Cliente o Presione Ctrl-E Para Crear y/o Buscar"/>
</Edit>
</FormField>
<FormField name="formonly.nombre" colName="nombre" fieldId="30" sqlTabName="formonly" tabIndex="22" noEntry="1">
<Edit width="33" posY="1" posX="33" gridWidth="33"/>
</FormField>
<Label name="label13" width="9" text="Direccion" posY="2" posX="2" gridWidth="9">
<LStr text="Direccion"/>
</Label>
<Label text=":" posY="2" posX="16" gridWidth="1"/>
<FormField name="formonly.direccion" colName="direccion" fieldId="31" sqlTabName="formonly" tabIndex="23" noEntry="1">
<Edit width="44" posY="2" posX="18" gridWidth="44"/>
</FormField>
<Label name="label14" width="7" text="Ubicac." posY="3" posX="2" gridWidth="7">
<LStr text="Ubicac."/>
</Label>
<Label text=":" posY="3" posX="16" gridWidth="1"/>
<FormField name="formonly.ciudad" colName="ciudad" fieldId="32" sqlTabName="formonly" tabIndex="24" noEntry="1">
<Edit width="18" posY="3" posX="18" gridWidth="18"/>
</FormField>
<FormField name="formonly.zona" colName="zona" fieldId="33" sqlTabName="formonly" tabIndex="25">
<Edit width="3" autoNext="1" picture="###" comment="Entre Zona o Pais del Cliente o Presione Ctrl-W" posY="3" posX="38" gridWidth="3">
<LStr comment="Entre Zona o Pais del Cliente o Presione Ctrl-W"/>
</Edit>
</FormField>
<FormField name="formonly.descrip1" colName="descrip1" fieldId="34" sqlTabName="formonly" tabIndex="26" noEntry="1">
<Edit width="36" posY="3" posX="43" gridWidth="36"/>
</FormField>
<Label name="label15" width="7" text="Balance" posY="4" posX="2" gridWidth="7">
<LStr text="Balance"/>
</Label>
<Label text=":" posY="4" posX="16" gridWidth="1"/>
<FormField name="formonly.ch_balance" colName="ch_balance" fieldId="35" sqlTabName="formonly" tabIndex="27" noEntry="1">
<Edit width="15" posY="4" posX="18" gridWidth="15"/>
</FormField>
<Label name="label28" width="15" text="NUMERO RNC" posY="4" posX="37" gridWidth="15">
<LStr text="NUMERO RNC"/>
</Label>
<FormField name="formonly.num_rnc" colName="num_rnc" fieldId="36" sqlTabName="formonly" tabIndex="61" noEntry="1">
<Edit width="20" posY="4" posX="53" gridWidth="20"/>
</FormField>
<Label name="label16" width="8" text="Vendedor" posY="5" posX="2" gridWidth="8">
<LStr text="Vendedor"/>
</Label>
<Label text=":" posY="5" posX="16" gridWidth="1"/>
<FormField name="formonly.sec_vend" colName="sec_vend" fieldId="37" sqlTabName="formonly" tabIndex="28">
<Edit width="4" autoNext="1" comment="Digite Codigo Vendedor o Presione Ctrl-W Para Ayuda" posY="5" posX="18" gridWidth="4">
<LStr comment="Digite Codigo Vendedor o Presione Ctrl-W Para Ayuda"/>
</Edit>
</FormField>
<FormField name="formonly.nombre_vend" colName="nombre_vend" fieldId="38" sqlTabName="formonly" tabIndex="29" noEntry="1">
<Edit width="29" posY="5" posX="24" gridWidth="29"/>
</FormField>
<Label name="label17" width="9" text="Condicion" posY="6" posX="2" gridWidth="9">
<LStr text="Condicion"/>
</Label>
<Label text=":" posY="6" posX="16" gridWidth="1"/>
<FormField name="formonly.cond_pago" colName="cond_pago" fieldId="39" sqlTabName="formonly" tabIndex="30">
<ComboBox width="33" posY="6" posX="18" gridWidth="35"/>
</FormField>
<Label name="label18" width="15" text="Transportista :" posY="7" posX="2" gridWidth="15">
<LStr text="Transportista :"/>
</Label>
<FormField name="formonly.cod_transp" colName="cod_transp" fieldId="40" sqlTabName="formonly" tabIndex="31">
<Edit width="2" autoNext="1" comment="Digite el Codigo del transportista o Presione Ctrl-W Para Ayuda" posY="7" posX="18" gridWidth="2">
<LStr comment="Digite el Codigo del transportista o Presione Ctrl-W Para Ayuda"/>
</Edit>
</FormField>
<FormField name="formonly.sec_transp" colName="sec_transp" fieldId="41" sqlTabName="formonly" tabIndex="32">
<Edit width="4" autoNext="1" comment="Digite el Codigo del transportista o Presione Ctrl-W Para Ayuda" posY="7" posX="22" gridWidth="4">
<LStr comment="Digite el Codigo del transportista o Presione Ctrl-W Para Ayuda"/>
</Edit>
</FormField>
<FormField name="formonly.nombre_tran" colName="nombre_tran" fieldId="42" sqlTabName="formonly" tabIndex="33" noEntry="1">
<Edit width="30" posY="7" posX="28" gridWidth="30"/>
</FormField>
<Label name="label19" width="6" text="Tarifa" posY="8" posX="2" gridWidth="6">
<LStr text="Tarifa"/>
</Label>
<Label text=":" posY="8" posX="16" gridWidth="1"/>
<FormField name="formonly.cod_tarifa" colName="cod_tarifa" fieldId="43" sqlTabName="formonly" tabIndex="34">
<Edit width="2" autoNext="1" comment="Digite Codigo Tarifa apagar al transportista" posY="8" posX="18" gridWidth="2">
<LStr comment="Digite Codigo Tarifa apagar al transportista"/>
</Edit>
</FormField>
<FormField name="formonly.descrip5" colName="descrip5" fieldId="44" sqlTabName="formonly" tabIndex="35" noEntry="1">
<Edit width="17" posY="8" posX="22" gridWidth="17"/>
</FormField>
<FormField name="formonly.descrip6" colName="descrip6" fieldId="45" sqlTabName="formonly" tabIndex="36" noEntry="1">
<Edit width="17" posY="8" posX="41" gridWidth="17"/>
</FormField>
<Label name="label31" width="10" text="Doc. Referencia" posY="8" posX="60" gridWidth="10">
<LStr text="Doc. Referencia"/>
</Label>
<FormField name="formonly.pdocumento_ref" colName="pdocumento_ref" fieldId="46" sqlTabName="formonly" tabIndex="64">
<Edit width="8" shift="up" scroll="1" posY="8" posX="73" gridWidth="8"/>
</FormField>
<Label name="label20" width="15" text="Fecha Embarque:" posY="9" posX="2" gridWidth="15">
<LStr text="Fecha Embarque:"/>
</Label>
<FormField name="formonly.fecha_embarque" colName="fecha_embarque" fieldId="47" sqlTabName="formonly" tabIndex="37">
<Edit width="11" format="dd/mm/yyyy" posY="9" posX="18" gridWidth="11"/>
</FormField>
<Label text="Placa :" posY="9" posX="38" gridWidth="7"/>
<FormField name="formonly.placa_transp" colName="placa_transp" fieldId="48" sqlTabName="formonly" tabIndex="38">
<Edit width="12" autoNext="1" shift="up" posY="9" posX="46" gridWidth="12"/>
</FormField>
<Label name="label32" width="12" text="Factura Exp." posY="9" posX="60" gridWidth="12">
<LStr text="Factura Exp."/>
</Label>
<FormField name="formonly.factura_e" colName="factura_e" fieldId="49" sqlTabName="formonly" tabIndex="39">
<Edit width="8" posY="9" posX="73" gridWidth="8"/>
</FormField>
</Group>
<Group name="group5" posY="15" posX="86" gridWidth="32" gridHeight="10">
<Label name="label21" width="11" text="Sub-total :" posY="2" posX="1" gridWidth="11">
<LStr text="Sub-total :"/>
</Label>
<FormField name="formonly.sub_total" colName="sub_total" fieldId="50" sqlTabName="formonly" tabIndex="40" noEntry="1">
<Edit width="17" posY="2" posX="13" gridWidth="17"/>
</FormField>
<Label name="label22" width="11" text="Descuento :" posY="3" posX="1" gridWidth="11">
<LStr text="Descuento :"/>
</Label>
<FormField name="formonly.porc_desc" colName="porc_desc" fieldId="51" sqlTabName="formonly" tabIndex="41" noEntry="1">
<Edit width="5" posY="3" posX="13" gridWidth="5"/>
</FormField>
<FormField name="formonly.desc_valor" colName="desc_valor" fieldId="52" sqlTabName="formonly" tabIndex="42" noEntry="1">
<Edit width="10" posY="3" posX="20" gridWidth="10"/>
</FormField>
<Label name="label23" width="5" text="ITBIS" posY="4" posX="1" gridWidth="5">
<LStr text="ITBIS"/>
</Label>
<FormField name="formonly.porc_itbi" colName="porc_itbi" fieldId="53" sqlTabName="formonly" tabIndex="43" noEntry="1">
<Edit width="5" posY="4" posX="13" gridWidth="5"/>
</FormField>
<FormField name="formonly.itbi" colName="itbi" fieldId="54" sqlTabName="formonly" tabIndex="44" noEntry="1">
<Edit width="10" posY="4" posX="20" gridWidth="10"/>
</FormField>
<Label name="label24" width="5" text="Total" posY="5" posX="1" gridWidth="5">
<LStr text="Total"/>
</Label>
<FormField name="formonly.total_fact" colName="total_fact" fieldId="55" sqlTabName="formonly" tabIndex="45" noEntry="1">
<Edit width="17" posY="5" posX="13" gridWidth="17"/>
</FormField>
<Label name="label25" width="8" text="Prima US" posY="6" posX="1" gridWidth="8">
<LStr text="Prima US"/>
</Label>
<FormField name="formonly.prima_us" colName="prima_us" fieldId="56" sqlTabName="formonly" tabIndex="46" noEntry="1">
<Edit width="9" posY="6" posX="13" gridWidth="9"/>
</FormField>
</Group>
<Group name="group6" text="Detalle" posY="25" posX="1" gridWidth="129" gridHeight="10">
<LStr text="Detalle"/>
<Table pageSize="7" name="table1" width="112" posY="1" posX="1" gridWidth="127" gridHeight="8" tabName="s_fact">
<TableColumn name="formonly.area" colName="area" fieldId="57" sqlTabName="formonly" tabIndex="47" text="AREA">
<Edit width="10"/>
<LStr text="AREA"/>
</TableColumn>
<TableColumn name="formonly.cod_n" colName="cod_n" fieldId="58" sqlTabName="formonly" tabIndex="48" text="CLASE">
<Edit width="10" autoNext="1" comment="Digite Codigo del Producto o Ctrl-W Para Ayuda">
<LStr comment="Digite Codigo del Producto o Ctrl-W Para Ayuda"/>
</Edit>
<LStr text="CLASE"/>
</TableColumn>
<TableColumn name="formonly.cod_grupo" colName="cod_grupo" fieldId="59" sqlTabName="formonly" tabIndex="49" text="GRUPO">
<Edit width="5" autoNext="1" comment="Digite Codigo del Producto o Ctrl-W Para Ayuda">
<LStr comment="Digite Codigo del Producto o Ctrl-W Para Ayuda"/>
</Edit>
<LStr text="GRUPO"/>
</TableColumn>
<TableColumn name="formonly.cod_tipo" colName="cod_tipo" fieldId="60" sqlTabName="formonly" tabIndex="50" text="TIPO">
<Edit width="10" autoNext="1" comment="Digite Codigo del Producto o Ctrl-W Para Ayuda">
<LStr comment="Digite Codigo del Producto o Ctrl-W Para Ayuda"/>
</Edit>
<LStr text="TIPO"/>
</TableColumn>
<TableColumn name="formonly.cod_sec" colName="cod_sec" fieldId="61" sqlTabName="formonly" tabIndex="51" text="MEDIDA">
<Edit width="10" autoNext="1" comment="Digite Codigo del Producto o Ctrl-W Para Ayuda">
<LStr comment="Digite Codigo del Producto o Ctrl-W Para Ayuda"/>
</Edit>
<LStr text="MEDIDA"/>
</TableColumn>
<TableColumn name="formonly.descrip_esp" colName="descrip_esp" fieldId="62" sqlTabName="formonly" tabIndex="52" noEntry="1">
<Edit width="25"/>
</TableColumn>
<TableColumn name="formonly.unidad_med" colName="unidad_med" fieldId="63" sqlTabName="formonly" tabIndex="53" noEntry="1">
<Edit width="3"/>
</TableColumn>
<TableColumn name="formonly.cantidad" colName="cantidad" fieldId="64" sqlTabName="formonly" tabIndex="54" text="CANTIDAD">
<Edit width="7" autoNext="1" comment="Digite Cantidad a Facturar a ARTICULO">
<LStr comment="Digite Cantidad a Facturar a ARTICULO"/>
</Edit>
<LStr text="CANTIDAD"/>
</TableColumn>
<TableColumn name="formonly.precio" colName="precio" fieldId="65" sqlTabName="formonly" tabIndex="55" text="PRECIO">
<Edit width="10"/>
<LStr text="PRECIO"/>
</TableColumn>
<TableColumn name="formonly.cantidad_2" colName="cantidad_2" fieldId="66" sqlTabName="formonly" tabIndex="56" text="DESCUENTO">
<Edit width="6" comment="Digite el porciento a descontar a este ARTICULO">
<LStr comment="Digite el porciento a descontar a este ARTICULO"/>
</Edit>
<LStr text="DESCUENTO"/>
</TableColumn>
<TableColumn name="formonly.monto_fact" colName="monto_fact" sqlType="DECIMAL(16,2)" fieldId="67" sqlTabName="formonly" tabIndex="57" text="MONTO FACTURA" noEntry="1" numAlign="1">
<Edit width="10"/>
<LStr text="MONTO FACTURA"/>
</TableColumn>
<TableColumn name="formonly.kit_id" colName="kit_id" fieldId="68" sqlTabName="formonly" tabIndex="59" text="KIT" noEntry="1">
<Edit width="8"/>
<LStr text="KIT"/>
</TableColumn>
</Table>
</Group>
</Grid>
<RecordView tabName="formonly">
<Link colName="cod_cia" fieldIdRef="0"/>
<Link colName="compania" fieldIdRef="1"/>
<Link colName="ventas" fieldIdRef="2"/>
<Link colName="descripcion_doc" fieldIdRef="3"/>
<Link colName="ch_itbi" fieldIdRef="4"/>
<Link colName="ch_encabeza" fieldIdRef="5"/>
<Link colName="ch_servicios" fieldIdRef="6"/>
<Link colName="proforma" fieldIdRef="7"/>
<Link colName="estado" fieldIdRef="8"/>
<Link colName="trackid" fieldIdRef="9"/>
<Link colName="mensaje_dgii" fieldIdRef="10"/>
<Link colName="orden" fieldIdRef="11"/>
<Link colName="fecha_cotizacion" fieldIdRef="12"/>
<Link colName="bodega" fieldIdRef="13"/>
<Link colName="conduce" fieldIdRef="14"/>
<Link colName="fecha_conduce" fieldIdRef="15"/>
<Link colName="factura" fieldIdRef="16"/>
<Link colName="pcotizacion" fieldIdRef="17"/>
<Link colName="fecha_orden" fieldIdRef="18"/>
<Link colName="fecha_factura" fieldIdRef="19"/>
<Link colName="documento_ref" fieldIdRef="20"/>
<Link colName="p_fecha_ven" fieldIdRef="21"/>
<Link colName="factura1" fieldIdRef="22"/>
<Link colName="codigodgii" fieldIdRef="23"/>
<Link colName="descripcion_ncf" fieldIdRef="24"/>
<Link colName="fecha_vencimiento" fieldIdRef="25"/>
<Link colName="kncf" fieldIdRef="26"/>
<Link colName="imprime" fieldIdRef="27"/>
<Link colName="tipo_cliente" fieldIdRef="28"/>
<Link colName="sec_cliente" fieldIdRef="29"/>
<Link colName="nombre" fieldIdRef="30"/>
<Link colName="direccion" fieldIdRef="31"/>
<Link colName="ciudad" fieldIdRef="32"/>
<Link colName="zona" fieldIdRef="33"/>
<Link colName="descrip1" fieldIdRef="34"/>
<Link colName="ch_balance" fieldIdRef="35"/>
<Link colName="num_rnc" fieldIdRef="36"/>
<Link colName="sec_vend" fieldIdRef="37"/>
<Link colName="nombre_vend" fieldIdRef="38"/>
<Link colName="cond_pago" fieldIdRef="39"/>
<Link colName="cod_transp" fieldIdRef="40"/>
<Link colName="sec_transp" fieldIdRef="41"/>
<Link colName="nombre_tran" fieldIdRef="42"/>
<Link colName="cod_tarifa" fieldIdRef="43"/>
<Link colName="descrip5" fieldIdRef="44"/>
<Link colName="descrip6" fieldIdRef="45"/>
<Link colName="pdocumento_ref" fieldIdRef="46"/>
<Link colName="fecha_embarque" fieldIdRef="47"/>
<Link colName="placa_transp" fieldIdRef="48"/>
<Link colName="factura_e" fieldIdRef="49"/>
<Link colName="sub_total" fieldIdRef="50"/>
<Link colName="porc_desc" fieldIdRef="51"/>
<Link colName="desc_valor" fieldIdRef="52"/>
<Link colName="porc_itbi" fieldIdRef="53"/>
<Link colName="itbi" fieldIdRef="54"/>
<Link colName="total_fact" fieldIdRef="55"/>
<Link colName="prima_us" fieldIdRef="56"/>
<Link colName="area" fieldIdRef="57"/>
<Link colName="cod_n" fieldIdRef="58"/>
<Link colName="cod_grupo" fieldIdRef="59"/>
<Link colName="cod_tipo" fieldIdRef="60"/>
<Link colName="cod_sec" fieldIdRef="61"/>
<Link colName="descrip_esp" fieldIdRef="62"/>
<Link colName="unidad_med" fieldIdRef="63"/>
<Link colName="cantidad" fieldIdRef="64"/>
<Link colName="precio" fieldIdRef="65"/>
<Link colName="cantidad_2" fieldIdRef="66"/>
<Link colName="monto_fact" fieldIdRef="67"/>
<Link colName="kit_id" fieldIdRef="68"/>
</RecordView>
<RecordView tabName="undefined">
<Link colName="cod_cia" fieldIdRef="0"/>
<Link colName="compania" fieldIdRef="1"/>
<Link colName="ventas" fieldIdRef="2"/>
<Link colName="ch_itbi" fieldIdRef="4"/>
<Link colName="ch_encabeza" fieldIdRef="5"/>
<Link colName="ch_servicios" fieldIdRef="6"/>
<Link colName="pcotizacion" fieldIdRef="17"/>
<Link colName="fecha_cotizacion" fieldIdRef="12"/>
<Link colName="conduce" fieldIdRef="14"/>
<Link colName="fecha_conduce" fieldIdRef="15"/>
<Link colName="factura" fieldIdRef="16"/>
<Link colName="orden" fieldIdRef="11"/>
<Link colName="fecha_orden" fieldIdRef="18"/>
<Link colName="fecha_factura" fieldIdRef="19"/>
<Link colName="documento_ref" fieldIdRef="20"/>
<Link colName="p_fecha_ven" fieldIdRef="21"/>
<Link colName="descripcion_ncf" fieldIdRef="24"/>
<Link colName="kncf" fieldIdRef="26"/>
<Link colName="tipo_cliente" fieldIdRef="28"/>
<Link colName="sec_cliente" fieldIdRef="29"/>
<Link colName="nombre" fieldIdRef="30"/>
<Link colName="direccion" fieldIdRef="31"/>
<Link colName="ciudad" fieldIdRef="32"/>
<Link colName="zona" fieldIdRef="33"/>
<Link colName="descrip1" fieldIdRef="34"/>
<Link colName="ch_balance" fieldIdRef="35"/>
<Link colName="sec_vend" fieldIdRef="37"/>
<Link colName="nombre_vend" fieldIdRef="38"/>
<Link colName="cond_pago" fieldIdRef="39"/>
<Link colName="cod_transp" fieldIdRef="40"/>
<Link colName="sec_transp" fieldIdRef="41"/>
<Link colName="nombre_tran" fieldIdRef="42"/>
<Link colName="cod_tarifa" fieldIdRef="43"/>
<Link colName="descrip5" fieldIdRef="44"/>
<Link colName="descrip6" fieldIdRef="45"/>
<Link colName="fecha_embarque" fieldIdRef="47"/>
<Link colName="placa_transp" fieldIdRef="48"/>
<Link colName="factura_e" fieldIdRef="49"/>
<Link colName="sub_total" fieldIdRef="50"/>
<Link colName="porc_desc" fieldIdRef="51"/>
<Link colName="desc_valor" fieldIdRef="52"/>
<Link colName="porc_itbi" fieldIdRef="53"/>
<Link colName="itbi" fieldIdRef="54"/>
<Link colName="total_fact" fieldIdRef="55"/>
<Link colName="prima_us" fieldIdRef="56"/>
<Link colName="bodega" fieldIdRef="13"/>
<Link colName="factura1" fieldIdRef="22"/>
<Link colName="num_rnc" fieldIdRef="36"/>
<Link colName="imprime" fieldIdRef="27"/>
<Link colName="proforma" fieldIdRef="7"/>
<Link colName="pdocumento_ref" fieldIdRef="46"/>
<Link colName="descripcion_doc" fieldIdRef="3"/>
<Link colName="fecha_vencimiento" fieldIdRef="25"/>
<Link colName="codigodgii" fieldIdRef="23"/>
<Link colName="estado" fieldIdRef="8"/>
<Link colName="trackid" fieldIdRef="9"/>
<Link colName="mensaje_dgii" fieldIdRef="10"/>
</RecordView>
</Form>
+42 -28
View File
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='windows-1252'?>
<Form name="vefmmt020.tmp" build="3.20.11" sqlDbName="decomarmol" width="76" height="14">
<?xml version='1.0' encoding='UTF-8'?>
<Form name="vefmmt020.tmp" build="3.20.05" sqlDbName="decomarmol" width="76" height="14">
<ToolBar name="toolbar1">
<ToolBarItem name="nuevo" image="new" text="Nuevo">
<LStr text="Nuevo"/>
@@ -15,11 +15,9 @@
<Label name="label13" width="12" text="LOCALIDAD" posY="1" posX="3" gridWidth="12">
<LStr text="LOCALIDAD"/>
</Label>
<FormField name="formonly.sucid" colName="sucid" fieldId="0" sqlTabName="formonly" tabIndex="11" required="1">
<FormField name="formonly.sucid" colName="sucid" fieldId="0" sqlTabName="formonly" tabIndex="11" defaultValue="1" required="1">
<ComboBox width="25" posY="1" posX="25" gridWidth="27">
<Item name="1" text="SAN CRISTOBAL"/>
<Item name="2" text="SANTO DOMINGO"/>
<Item name="3" text="SANTIAGO"/>
<Item name="1" text="SANTO DOMINGO"/>
</ComboBox>
</FormField>
<Label name="label1" width="5" text="Fecha" posY="2" posX="3" gridWidth="5">
@@ -32,7 +30,7 @@
<LStr text="Codigo Identificacion"/>
</Label>
<FormField name="vetb00071.codigo_dgii" colName="codigo_dgii" sqlType="CHAR(14)" fieldId="2" sqlTabName="vetb00071" tabIndex="2" required="1">
<Edit width="15" autoNext="1" posY="3" posX="25" gridWidth="15"/>
<Edit width="15" autoNext="1" shift="up" posY="3" posX="25" gridWidth="15"/>
</FormField>
<Label name="label14" width="7" text="ITBIS" posY="3" posX="43" gridWidth="7">
<LStr text="ITBIS"/>
@@ -60,13 +58,19 @@
<Item name="FT" text="FACTURAS"/>
</ComboBox>
</FormField>
<Label name="label17" width="10" text="Ultima Secuencia" posY="6" posX="42" gridWidth="10">
<LStr text="Ultima Secuencia"/>
</Label>
<FormField name="formonly.sec_ncf" colName="sec_ncf" fieldId="6" sqlTabName="formonly" noEntry="1" tabIndex="15">
<Edit width="10" posY="6" posX="53" gridWidth="10"/>
</FormField>
<Label name="label4" width="3" text="NCF" posY="7" posX="4" gridWidth="3">
<LStr text="NCF"/>
</Label>
<Label name="label6" width="7" text="Inicial" posY="7" posX="14" gridWidth="7">
<LStr text="Inicial"/>
</Label>
<FormField name="vetb00071.ncf_inicial" colName="ncf_inicial" sqlType="SMALLINT" fieldId="6" sqlTabName="vetb00071" tabIndex="4" required="1">
<FormField name="formonly.ncf_inicial" colName="ncf_inicial" sqlType="CHAR" fieldId="7" sqlTabName="formonly" tabIndex="4" required="1">
<Edit width="15" posY="7" posX="26" gridWidth="15"/>
</FormField>
<Label name="label5" width="3" text="NCF" posY="8" posX="4" gridWidth="3">
@@ -75,40 +79,46 @@
<Label name="label7" width="5" text="Final" posY="8" posX="14" gridWidth="5">
<LStr text="Final"/>
</Label>
<FormField name="vetb00071.ncf_final" colName="ncf_final" sqlType="INTEGER" fieldId="7" sqlTabName="vetb00071" tabIndex="5" required="1">
<FormField name="vetb00071.ncf_final" colName="ncf_final" sqlType="INTEGER" fieldId="8" sqlTabName="vetb00071" tabIndex="5" required="1">
<Edit width="15" posY="8" posX="26" gridWidth="15"/>
</FormField>
<Label name="label8" width="10" text="Disponible" posY="9" posX="4" gridWidth="10">
<LStr text="Disponible"/>
</Label>
<FormField name="vetb00071.disponible" colName="disponible" sqlType="CHAR(1)" fieldId="8" sqlTabName="vetb00071" tabIndex="6" required="1" include="S|N">
<FormField name="vetb00071.disponible" colName="disponible" sqlType="CHAR(1)" fieldId="9" sqlTabName="vetb00071" tabIndex="6" required="1" include="S|N">
<ComboBox width="13" shift="up" posY="9" posX="26" gridWidth="15">
<Item name="S" text="SI"/>
<Item name="N" text="NO"/>
</ComboBox>
</FormField>
<Label name="label16" width="10" text="Fecha Vence" posY="10" posX="4" gridWidth="10">
<LStr text="Fecha Vence"/>
</Label>
<FormField name="formonly.fecha_vencimiento" colName="fecha_vencimiento" fieldId="10" sqlTabName="formonly" tabIndex="14">
<DateEdit width="10" posY="10" posX="26" gridWidth="12"/>
</FormField>
<Label name="label9" width="15" text="Usuario Creador" posY="11" posX="1" gridWidth="15">
<LStr text="Usuario Creador"/>
</Label>
<FormField name="vetb00071.us_crea" colName="us_crea" sqlType="CHAR(40)" fieldId="9" sqlTabName="vetb00071" tabIndex="7" noEntry="1">
<FormField name="vetb00071.us_crea" colName="us_crea" sqlType="CHAR(40)" fieldId="11" sqlTabName="vetb00071" tabIndex="7" noEntry="1">
<Edit width="9" posY="11" posX="21" gridWidth="9"/>
</FormField>
<Label name="label11" width="19" text="Usuario Modificador" posY="11" posX="39" gridWidth="19">
<LStr text="Usuario Modificador"/>
</Label>
<FormField name="vetb00071.us_mod" colName="us_mod" sqlType="CHAR(40)" fieldId="10" sqlTabName="vetb00071" tabIndex="8" noEntry="1">
<FormField name="vetb00071.us_mod" colName="us_mod" sqlType="CHAR(40)" fieldId="12" sqlTabName="vetb00071" tabIndex="8" noEntry="1">
<Edit width="9" posY="11" posX="59" gridWidth="9"/>
</FormField>
<Label name="label10" width="14" text="Fecha Creacion" posY="12" posX="1" gridWidth="14">
<LStr text="Fecha Creacion"/>
</Label>
<FormField name="vetb00071.fech_crea" colName="fech_crea" sqlType="DATE" fieldId="11" sqlTabName="vetb00071" tabIndex="9" noEntry="1">
<FormField name="vetb00071.fech_crea" colName="fech_crea" sqlType="DATE" fieldId="13" sqlTabName="vetb00071" tabIndex="9" noEntry="1">
<Edit width="16" posY="12" posX="21" gridWidth="16"/>
</FormField>
<Label name="label12" width="18" text="Fecha Modificacion" posY="12" posX="39" gridWidth="18">
<LStr text="Fecha Modificacion"/>
</Label>
<FormField name="vetb00071.fech_mod" colName="fech_mod" sqlType="DATE" fieldId="12" sqlTabName="vetb00071" tabIndex="10" noEntry="1">
<FormField name="vetb00071.fech_mod" colName="fech_mod" sqlType="DATE" fieldId="14" sqlTabName="vetb00071" tabIndex="10" noEntry="1">
<Edit width="16" posY="12" posX="59" gridWidth="16"/>
</FormField>
</Grid>
@@ -116,32 +126,36 @@
<Link colName="fecha" fieldIdRef="1"/>
<Link colName="codigo_dgii" fieldIdRef="2"/>
<Link colName="tipo_doc" fieldIdRef="5"/>
<Link colName="ncf_inicial" fieldIdRef="6"/>
<Link colName="ncf_final" fieldIdRef="7"/>
<Link colName="disponible" fieldIdRef="8"/>
<Link colName="us_crea" fieldIdRef="9"/>
<Link colName="us_mod" fieldIdRef="10"/>
<Link colName="fech_crea" fieldIdRef="11"/>
<Link colName="fech_mod" fieldIdRef="12"/>
<Link colName="ncf_final" fieldIdRef="8"/>
<Link colName="disponible" fieldIdRef="9"/>
<Link colName="us_crea" fieldIdRef="11"/>
<Link colName="us_mod" fieldIdRef="12"/>
<Link colName="fech_crea" fieldIdRef="13"/>
<Link colName="fech_mod" fieldIdRef="14"/>
</RecordView>
<RecordView tabName="formonly">
<Link colName="sucid" fieldIdRef="0"/>
<Link colName="itbis" fieldIdRef="3"/>
<Link colName="tipo_ncf" fieldIdRef="4"/>
<Link colName="sec_ncf" fieldIdRef="6"/>
<Link colName="ncf_inicial" fieldIdRef="7"/>
<Link colName="fecha_vencimiento" fieldIdRef="10"/>
</RecordView>
<RecordView tabName="undefined">
<Link colName="fecha" fieldIdRef="1"/>
<Link colName="codigo_dgii" fieldIdRef="2"/>
<Link colName="tipo_doc" fieldIdRef="5"/>
<Link colName="ncf_inicial" fieldIdRef="6"/>
<Link colName="ncf_final" fieldIdRef="7"/>
<Link colName="disponible" fieldIdRef="8"/>
<Link colName="us_crea" fieldIdRef="9"/>
<Link colName="us_mod" fieldIdRef="10"/>
<Link colName="fech_crea" fieldIdRef="11"/>
<Link colName="fech_mod" fieldIdRef="12"/>
<Link colName="ncf_inicial" fieldIdRef="7"/>
<Link colName="ncf_final" fieldIdRef="8"/>
<Link colName="disponible" fieldIdRef="9"/>
<Link colName="us_crea" fieldIdRef="11"/>
<Link colName="us_mod" fieldIdRef="12"/>
<Link colName="fech_crea" fieldIdRef="13"/>
<Link colName="fech_mod" fieldIdRef="14"/>
<Link colName="sucid" fieldIdRef="0"/>
<Link colName="itbis" fieldIdRef="3"/>
<Link colName="tipo_ncf" fieldIdRef="4"/>
<Link colName="fecha_vencimiento" fieldIdRef="10"/>
<Link colName="sec_ncf" fieldIdRef="6"/>
</RecordView>
</Form>
+22 -29
View File
@@ -1,7 +1,7 @@
<?xml version='1.0' encoding='windows-1252'?>
<Form name="vefmwd013.tmp" build="2.41.04-2081.43" sqlDbName="smarmotech" text="VOLANTE RECIBOS AL CONTADO" width="62" height="11">
<?xml version='1.0' encoding='UTF-8'?>
<Form name="vefmwd013.tmp" build="3.20.05" sqlDbName="decomarmol" text="VOLANTE RECIBOS AL CONTADO" width="62" height="12">
<LStr text="VOLANTE RECIBOS AL CONTADO"/>
<Grid name="grid1" width="62" height="11">
<Grid name="grid1" width="62" height="12">
<Label name="label1" width="14" text="No. Volante de Pago" posY="2" posX="3" gridWidth="14">
<LStr text="No. Volante de Pago"/>
</Label>
@@ -28,35 +28,28 @@
<FormField name="formonly.cheque_no" colName="cheque_no" fieldId="3" sqlTabName="formonly" tabIndex="4">
<Edit width="35" autoNext="1" posY="5" posX="25" gridWidth="35"/>
</FormField>
<Label name="label6" width="5" text="Banco" posY="6" posX="3" gridWidth="5">
<LStr text="Banco"/>
<Label name="label7" width="14" text="Cheque/Transf." posY="6" posX="3" gridWidth="14">
<LStr text="Cheque/Transf."/>
</Label>
<FormField name="formonly.banco" colName="banco" fieldId="4" sqlTabName="formonly" tabIndex="5">
<ComboBox width="33" posY="6" posX="25" gridWidth="35">
<Item name="POPULAR" text="POPULAR"/>
<Item name="RESERVAS" text="RESERVAS"/>
<Item name="BHD LEON" text="BHD LEON"/>
<Item name="BANESCO" text="BANESCO"/>
<Item name="SCOTIABANK" text="SCOTIABANK"/>
<Item name="PROGRESO" text="PROGRESO"/>
</ComboBox>
<FormField name="formonly.valor_cheque" colName="valor_cheque" fieldId="4" sqlTabName="formonly" tabIndex="6">
<Edit width="13" autoNext="1" posY="6" posX="25" gridWidth="13"/>
</FormField>
<Label name="label7" width="8" text="Otro Valor" posY="7" posX="3" gridWidth="8">
<LStr text="Otro Valor"/>
</Label>
<FormField name="formonly.valor_cheque" colName="valor_cheque" fieldId="5" sqlTabName="formonly" tabIndex="6">
<Edit width="13" autoNext="1" posY="7" posX="25" gridWidth="13"/>
</FormField>
<Label name="label8" width="14" text="Valor Efectivo" posY="8" posX="3" gridWidth="14">
<Label name="label8" width="14" text="Valor Efectivo" posY="7" posX="3" gridWidth="14">
<LStr text="Valor Efectivo"/>
</Label>
<FormField name="formonly.valor_efectivo" colName="valor_efectivo" sqlType="MONEY" fieldId="6" sqlTabName="formonly" tabIndex="7">
<FormField name="formonly.valor_efectivo" colName="valor_efectivo" sqlType="MONEY" fieldId="5" sqlTabName="formonly" tabIndex="7">
<Edit width="13" posY="7" posX="25" gridWidth="13"/>
</FormField>
<Label name="labeltar" width="14" text="Valor Tarjeta" posY="8" posX="3" gridWidth="14">
<LStr text="Valor Tarjeta"/>
</Label>
<FormField name="formonly.monto_cr" colName="monto_cr" fieldId="6" sqlTabName="formonly" tabIndex="8">
<Edit width="13" posY="8" posX="25" gridWidth="13"/>
</FormField>
<Label name="label5" width="13" text="Valor total" posY="9" posX="3" gridWidth="13">
<LStr text="Valor total"/>
</Label>
<FormField name="formonly.valor_total" colName="valor_total" fieldId="7" sqlTabName="formonly" tabIndex="8">
<FormField name="formonly.valor_total" colName="valor_total" fieldId="7" sqlTabName="formonly" tabIndex="10">
<Edit width="13" posY="9" posX="25" gridWidth="13"/>
</FormField>
</Grid>
@@ -65,9 +58,9 @@
<Link colName="detalle" fieldIdRef="1"/>
<Link colName="factura" fieldIdRef="2"/>
<Link colName="cheque_no" fieldIdRef="3"/>
<Link colName="banco" fieldIdRef="4"/>
<Link colName="valor_cheque" fieldIdRef="5"/>
<Link colName="valor_efectivo" fieldIdRef="6"/>
<Link colName="valor_cheque" fieldIdRef="4"/>
<Link colName="valor_efectivo" fieldIdRef="5"/>
<Link colName="monto_cr" fieldIdRef="6"/>
<Link colName="valor_total" fieldIdRef="7"/>
</RecordView>
<RecordView tabName="undefined">
@@ -75,9 +68,9 @@
<Link colName="detalle" fieldIdRef="1"/>
<Link colName="factura" fieldIdRef="2"/>
<Link colName="cheque_no" fieldIdRef="3"/>
<Link colName="banco" fieldIdRef="4"/>
<Link colName="valor_cheque" fieldIdRef="5"/>
<Link colName="valor_efectivo" fieldIdRef="6"/>
<Link colName="valor_cheque" fieldIdRef="4"/>
<Link colName="valor_efectivo" fieldIdRef="5"/>
<Link colName="valor_total" fieldIdRef="7"/>
<Link colName="monto_cr" fieldIdRef="6"/>
</RecordView>
</Form>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+172 -112
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="31405" version="6.00">
<report:Settings RWPageWidth="a4width" RWPageLength="a4length" RWLeftMargin="0.5cm" RWTopMargin="0.5cm" RWRightMargin="0.5cm" RWBottomMargin="0.5cm">
<report:Settings RWPageWidth="letterwidth" RWPageLength="letterlength" RWLeftMargin="0.5cm" RWTopMargin="0.5cm" RWRightMargin="0.5cm" RWBottomMargin="0.5cm">
<report:FormatList>
<report:Format-PDF/>
<report:Format-image/>
@@ -10,24 +10,30 @@
<report:Data RWDataLocation="../vedir/veprmt001.rdd" RWFglReportName="imp_fact"/>
<report:Conflicts>
<report:Conflict nodeName="MiniPage1" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="subtotal" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="final" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
</report:Conflicts>
<rtl:stylesheet>
<PXML>
<rtl:match name="Report" nameConstraint="Report">
<MINIPAGE name="MiniPage1" width="max" length="min" fontName="Arial">
<LAYOUTNODE name="Layout Node7" width="min" length="min" alignment="near" swapX="true" port="firstPageHeader">
<LAYOUTNODE name="LayoutNode35" width="min" length="max" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Encabezado" width="min" length="max" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode40" width="min" length="min" alignment="far" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="imagen" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageBox1_1_1" length="70" alignment="near" floatingBehavior="enclosed" url="{{&quot;./logo.jpg&quot;}}" intendedResolution="120"/>
</LAYOUTNODE>
<LAYOUTNODE name="infocia" width="min" length="min" anchorY="1" fontSize="12" floatingBehavior="enclosed">
<rtl:input-variable name="direccion_sucursal" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox5" width="width(&quot;M&quot;)*45" fontSize="9" floatingBehavior="enclosed" text="{{direccion_sucursal.trim()+&quot;, SAN CRISTOBAL&quot;}}"/>
<rtl:input-variable name="p_companias.direccion1" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBoxDir1" width="width(&quot;M&quot;)*45" fontSize="9" floatingBehavior="enclosed" text="{{p_companias.direccion1.trim()}}"/>
<LAYOUTNODE name="ourAdress" x="0" width="min" length="min" anchorX="0" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node11" y="1.5cm" width="min" length="min">
<LAYOUTNODE name="Layout Node11" width="min" length="min">
<WORDBOX name="WordBox11_1" alignment="near" fontSize="9" baselineType="leftleft" text="{{&quot;RNC:&quot;}}"/>
<WORDBOX name="WordBox12" alignment="baseline" fontSize="9" baselineType="leftleft" text="Telefono:"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node12" y="3cm" width="min" length="min">
<LAYOUTNODE name="Layout Node12" width="min" length="min">
<rtl:input-variable name="p_companias.rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox93" alignment="baseline" fontSize="9" floatingBehavior="enclosed" text="{{p_companias.rnc}}"/>
<rtl:input-variable name="p_companias.telefono" type="FGLString" expectedLocation="expectedAhead"/>
@@ -36,7 +42,7 @@
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="NCF" x="20" y="280" width="282" length="min" alignment="near" floatingBehavior="enclosed">
<LAYOUTNODE name="NCF" x="20" y="290" width="282.6" length="min" alignment="near" floatingBehavior="enclosed">
<rtl:input-variable name="descripcion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox31_1" width="max" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" textAlignment="right" text="{{descripcion.trim()}}"/>
<rtl:input-variable name="ch_ncf" type="FGLString" expectedLocation="expectedAhead"/>
@@ -44,69 +50,96 @@
<rtl:input-variable name="ncffechaVencimiento" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="ch_fecha" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="ch_fecha Value" rtl:condition="ncffechaVencimiento==1" width="max" alignment="near" floatingBehavior="enclosed" textAlignment="right" text="{{&quot;Vencimiento Secuencia: &quot;+ch_fecha}}"/>
<WORDBOX name="WordBoxFechaEsp" length="1.6cm" floatingBehavior="enclosed"/>
<WORDBOX name="WordBoxFechaEsp32" rtl:condition="ncffechaVencimiento!=1" length=".5cm" floatingBehavior="enclosed"/>
<rtl:input-variable name="x.fecha_factura" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox32_1_1" width="max" alignment="baseline" fontSize="12" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{&quot;Fecha Emisión: &quot;+x.fecha_factura.value}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<WORDBOX name="WordBox94" floatingBehavior="enclosed"/>
<MINIPAGE name="StripeLayouter13" width="min" layoutDirection="leftToRight">
<LAYOUTNODE name="customerAddress" x="0cm" width="min" length="min" anchorY="1" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node14" width=".2cm" length="min" swapX="true"/>
<MINIPAGE name="razonsolcial" width="min" length="max" alignment="far" layoutDirection="leftToRight" roundedCorners="true" borderWidth="1" borderStyle="solid" borderTopColor="#0087cb" borderRightColor="#ffffff" borderBottomColor="#0087cb" borderLeftColor="#ffffff">
<LAYOUTNODE name="customerAddress" x="0.5cm" width="min" length="min" anchorY="1" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node15" width="min" length="min" alignment="near" fontSize="9">
<LAYOUTNODE name="Layout Node16" width="0.2cm" length="1" layoutDirection="leftToRight"/>
<LAYOUTNODE name="Layout Node17" width="min" length="min" fontSize="10" fontItalic="true" layoutDirection="leftToRight">
<WORDBOX name="WordBox18" alignment="baseline" baselineType="leftleft" text="Codigo Cliente: "/>
<LAYOUTNODE name="codcliente" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxCodCli" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Código Cliente:"/>
<rtl:input-variable name="x.tipo_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.sec_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox19" alignment="near" baselineType="leftleft" text="{{x.tipo_cliente.format(&quot;&lt;&lt;&lt;&quot;)+&quot;-&quot;+x.sec_cliente.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
<WORDBOX name="WordBoxCodCliV" floatingBehavior="enclosed" text="{{x.tipo_cliente.format(&quot;&lt;&lt;&quot;)+&quot;-&quot;+x.sec_cliente.format(&quot;&lt;&lt;&lt;&lt;&lt;&lt;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node19" width="min" length="min" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node17" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox18" width="2.4cm" alignment="baseline" fontBold="true" baselineType="leftleft" text="Cliente:"/>
<rtl:input-variable name="x.tipo_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.sec_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.nombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox20" alignment="baseline" baselineType="leftleft" text="{{&quot;Cliente: &quot;+x.nombre.trim()}}"/>
<WORDBOX name="WordBox21" alignment="baseline" baselineType="leftleft" text=" "/>
<WORDBOX name="WordBox19" alignment="near" baselineType="leftleft" text="{{x.nombre.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="x.direccion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox" rtl:condition="x.direccion.length()&gt;0" width="width(&quot;M&quot;)*22" alignment="baseline" floatingBehavior="enclosed" text="{{x.direccion.trim()}}"/>
<rtl:input-variable name="cliente_bas.telex" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox24" alignment="near" baselineType="leftleft" text="{{&quot;Celular: &quot;+cliente_bas.telex.trim()}}"/>
<rtl:input-variable name="cliente_bas.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox78_1" width="2cm" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;Telefono: &quot;+cliente_bas.telefono.trim()}}"/>
<LAYOUTNODE name="Layout Node33" width="min" length="min">
<LAYOUTNODE name="Layout Node33" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox64" width="2.4cm" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{&quot;RNC/Cédula: &quot;}}"/>
<rtl:input-variable name="rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox64" alignment="baseline" fontSize="10" baselineType="leftleft" text="{{&quot;RNC o CEDULA: &quot;+rnc.trim()}}"/>
<WORDBOX name="WordBox105" floatingBehavior="enclosed" text="{{rnc.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node20" width="min" length="min" layoutDirection="leftToRight">
<LAYOUTNODE name="direccion" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox125" width="2.4cm" alignment="near" fontBold="true" floatingBehavior="enclosed" text="{{&quot;Dirección: &quot;}}"/>
<rtl:input-variable name="x.direccion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox6" width="6.5cm" floatingBehavior="enclosed" text="{{x.direccion}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="telefonoemail" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox126" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Teléfono:"/>
<rtl:input-variable name="cliente_bas.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox123" width="2.3cm" floatingBehavior="enclosed" text="{{cliente_bas.telefono}}"/>
<rtl:input-variable name="cemail" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox127" width="4cm" floatingBehavior="enclosed" text="{{&quot; Email:&quot;+cemail.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="representante" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox128" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Vendedor:"/>
<rtl:input-variable name="x.nombre_vend" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox25" alignment="baseline" baselineType="leftleft" text="{{&quot;Vendedor: &quot;+x.nombre_vend.trim()}}"/>
<WORDBOX name="WordBox124" width="4cm" floatingBehavior="enclosed" text="{{x.nombre_vend.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedAhead"/>
<LAYOUTNODE name="LayoutNode52" rtl:condition="x.prima_us&gt;1" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox121" floatingBehavior="enclosed" text="{{&quot;Tasa: &quot;+x.prima_us.format(&quot;##,##&amp;.&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="nofactura" y="290" width="min" length="min" fontSize="12" floatingBehavior="enclosed">
<rtl:input-variable name="x.factura" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox34_1" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{&quot;Factura No.: &quot;+x.factura.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
<rtl:input-variable name="condicion.descrip" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox74_2" alignment="baseline" baselineType="leftleft" text="{{&quot;Condiciones: &quot;+condicion.descrip.toLowerCase()}}"/>
<rtl:input-variable name="x.fecha_factura" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox32_1" alignment="baseline" baselineType="leftleft" text="{{&quot;Fecha Factura: &quot;+x.fecha_factura.value}}"/>
<rtl:input-variable name="x.orden" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox36_1" alignment="baseline" baselineType="leftleft" text="{{&quot;Orden: &quot;+x.orden.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
<rtl:input-variable name="x.conduce" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox" floatingBehavior="enclosed" text="{{&quot;Conduce: &quot;+x.conduce.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
<rtl:input-variable name="pcotizacion" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox96" floatingBehavior="enclosed" text="{{&quot;Cotizacion: &quot;+pcotizacion.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
<LAYOUTNODE name="datosfactura" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode53" x="14.1732" width="278.239" length="min" alignment="baseline" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode55" x="120" width="min" length="min" fontSize="12" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox129" width="3cm" floatingBehavior="enclosed" text="Factura No.:"/>
<rtl:input-variable name="x.factura" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox130" width="2cm" alignment="far" floatingBehavior="enclosed" text="{{x.factura.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode56" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox131" width="3cm" alignment="far" floatingBehavior="enclosed" text="Cotizacion No.:"/>
<rtl:input-variable name="pcotizacion" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox132" floatingBehavior="enclosed" text="{{pcotizacion.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNodeConduce" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxConduce" width="3cm" alignment="far" floatingBehavior="enclosed" text="Conduce No.:"/>
<rtl:input-variable name="x.conduce" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBoxConduceV" floatingBehavior="enclosed" text="{{x.conduce.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode57" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox133" width="3cm" floatingBehavior="enclosed" text="Orden No.:"/>
<rtl:input-variable name="x.orden" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox134" floatingBehavior="enclosed" text="{{x.orden.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode58" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="condicion.descrip" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox135" width="4cm" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;Condicion Cobros: &quot;+condicion.descrip.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
</MINIPAGE>
<MINIPAGE name="StripeLayouter17" width=".2cm" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox95" x="10cm" length="2cm" floatingBehavior="enclosed" text=""/>
<MINIPAGE name="StripeLayouter18" width=".1cm" bgColor="#cc" layoutDirection="leftToRight"/>
<MINIPAGE name="StripeLayouter19" width="min" length="max" bgColor="#cccccc" fontBold="true" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node25" width="min" length=".3cm" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox39" alignment="baseline" baselineType="leftleft" textAlignment="right" text="Codigo"/>
<WORDBOX name="WordBox58" width="45" alignment="baseline" baselineType="leftleft" text=""/>
<WORDWRAPBOX name="WordWrapBox1" width="5.8cm" alignment="baseline" baselineType="leftleft" floatingBehavior="free" text="Descripcion"/>
<WORDBOX name="WordBox40" width="max(width(&quot;000&quot;),width(&quot;Cantidad&quot;))" alignment="baseline" baselineType="leftleft" textAlignment="right" text="Cantidad"/>
<WORDBOX name="WordBox41" width="2cm" alignment="baseline" baselineType="rightright" textAlignment="right" text="Precio"/>
<WORDBOX name="WordBox44" y="max-.8cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" text="Total"/>
<LAYOUTNODE name="LayoutNode41" width="15" length="min" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox" alignment="baseline" floatingBehavior="enclosed"/>
</LAYOUTNODE>
<MINIPAGE name="StripeLayouter19" width="min" length="max" bgColor="#e5e5e5" fontBold="true" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<WORDBOX name="WordBox40" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="Cantidad"/>
<WORDWRAPBOX name="WordWrapBox1" textAlignment="center" width="7.5cm" alignment="baseline" baselineType="leftleft" floatingBehavior="free" text="Descripción"/>
<WORDWRAPBOX name="WordWrapBox" width="2.5cm" alignment="baseline" floatingBehavior="enclosed" text="Unidad de Medida" textAlignment="center"/>
<WORDBOX name="WordBox41" width="2.5cm" alignment="baseline" baselineType="rightright" textAlignment="center" text="Precio"/>
<WORDBOX name="WordBox98_1" width="4.4cm" floatingBehavior="enclosed" textAlignment="right" text="Total"/>
</MINIPAGE>
<MINIPAGE name="StripeLayouter20" width=".1cm" bgColor="#cc" layoutDirection="leftToRight"/>
<MINIPAGE name="StripeLayouter21" width=".2cm" layoutDirection="leftToRight"/>
</LAYOUTNODE>
<rtl:match name="Group factura" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
@@ -116,24 +149,20 @@
<rtl:match name="Group cod_tipo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_sec" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="PAGINADETALLE" width="max" length="max(rest,4cm)" lengthAdjustment="shrinkToChildren" swapX="true" hidePageFooterOnLastPage="true">
<MINIPAGE name="PAGINADETALLE" width="max" lengthAdjustment="shrinkToChildren" swapX="true" hidePageFooterOnLastPage="true" roundedCorners="true" borderWidth=".08" borderStyle="solid">
<MINIPAGE name="DETALLEFACTURA" width="min" length="max" layoutDirection="leftToRight">
<LAYOUTNODE name="LayoutNode31" width="min" length="max" fontSize="8" layoutDirection="leftToRight">
<rtl:input-variable name="z.cod_n" type="FGLNumeric" expectedLocation="expectedHere"/>
<rtl:input-variable name="z.cod_grupo" type="FGLNumeric" expectedLocation="expectedHere"/>
<rtl:input-variable name="z.cod_tipo" type="FGLNumeric" expectedLocation="expectedHere"/>
<rtl:input-variable name="z.cod_sec" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox63" y=".4cm" width="1.5cm" alignment="baseline" baselineType="rightleft" textAlignment="right" text="{{z.cod_n.format(&quot;&lt;&lt;&quot;)+&quot;-&quot;+z.cod_grupo.format(&quot;&lt;&lt;&quot;)+&quot;-&quot;+z.cod_tipo.format(&quot;&lt;&lt;&lt;&quot;)+&quot;-&quot;+z.cod_sec.format(&quot;&lt;&lt;&lt;&quot;)}}"/>
<rtl:input-variable name="z.descrip_esp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox3" y="2.8cm" width="6cm" alignment="baseline" baselineType="rightleft" text="{{z.descrip_esp.trim()}}"/>
<LAYOUTNODE name="LayoutNode31" width="min" length="max" fontSize="8" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<rtl:input-variable name="z.cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="cantidad" y="9.8cm" width="1cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{z.cantidad.format(&quot;###,###.####&quot;)}}"/>
<WORDBOX name="cantidad" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="{{z.cantidad.format(&quot;###,##&amp;.##&quot;)}}"/>
<rtl:input-variable name="z.descrip_esp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox3" width="7.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="{{z.descrip_esp.trim()}}"/>
<rtl:input-variable name="z.unidad_med" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox97" textAlignment="center" width="2.5cm" alignment="baseline" floatingBehavior="enclosed" text="{{z.unidad_med.trim()}}"/>
<rtl:input-variable name="z.precio" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="precio" y="11.9cm" width="1cm" length="16" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{z.precio.format(&quot;###,###.##&quot;)}}"/>
<WORDBOX name="precio" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="{{z.precio.format(&quot;###,###.##&quot;)}}"/>
<rtl:input-variable name="z.monto_fact" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="monto" y="20cm" width="2cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" text="{{z.monto_fact.format(&quot;###,###.##&quot;)}}"/>
<WORDBOX name="monto" width="4.5cm" anchorY="1" alignment="baseline" bgColor="#d3d3d3" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{z.monto_fact.format(&quot;##,###,###.##&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LINEA" width="0.5point" length="max" bgColor="#cc" layoutDirection="leftToRight"/>
</MINIPAGE>
</MINIPAGE>
</rtl:match>
@@ -143,62 +172,91 @@
</rtl:match>
</rtl:match>
</rtl:match>
<MINIPAGE name="ESPACIO DETALLE" width="min" length="max" layoutDirection="leftToRight">
<WORDBOX name="WordBox75_1" alignment="baseline" baselineType="leftleft"/>
</MINIPAGE>
<MINIPAGE name="SUBTOTAL" width="min" length="max" fontBold="true" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node40" y="max-1cm" width="min" length="min" anchorY="1" layoutDirection="rightToLeft" swapX="true" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.sub_total" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox77" width="3.3cm" alignment="baseline" baselineType="leftright" textAlignment="right" text="{{(x.prima_us&gt;1?&quot;USD$ &quot;:&quot;RD$ &quot;)+x.sub_total.format(&quot;###,###,###.##&quot;)}}"/>
<WORDBOX name="WordBox74_1" width="1.5cm" alignment="baseline" baselineType="leftleft" text=""/>
<WORDBOX name="WordBox76_1" width="3.3cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="SubTotal:"/>
<LAYOUTNODE name="final" width="min" length="min" layoutDirection="topToBottom" floatingBehavior="enclosed">
<MINIPAGE name="MiniPage2" width=".1cm" bgColor="#0087cb" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox106" length="1cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="selloRD" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="totales" y="max-5.9cm" width="min" length="min" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<LAYOUTNODE name="totSub" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totSubL" width="2.5cm" floatingBehavior="enclosed" text="Subtotal:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.sub_total" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totSubV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.sub_total.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totDesc" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totDescL" width="2.5cm" floatingBehavior="enclosed" text="Descuento:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.desc_valor" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totDescV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.desc_valor.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totNeto" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totNetoL" width="2.5cm" floatingBehavior="enclosed" text="Neto S/Imp.:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="neto_s_imp" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totNetoV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+neto_s_imp.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totItbis" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totItbisL" width="2.5cm" floatingBehavior="enclosed" text="ITBIS:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.itbi" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totItbisV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.itbi.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totTotal" width="min" length="min" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totTotalL" width="2.5cm" floatingBehavior="enclosed" text="Total:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.total_fact" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totTotalV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.total_fact.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</MINIPAGE>
<MINIPAGE name="DESCUENTO" width="min" length="max" fontBold="true" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node40_1" y="max-1cm" width="min" length="min" anchorY="1" layoutDirection="rightToLeft" swapX="true" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.desc_valor" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox77_1" width="3.3cm" alignment="baseline" baselineType="leftright" textAlignment="right" text="{{(x.prima_us&gt;1?&quot;USD$ &quot;:&quot;RD$ &quot;)+x.desc_valor.format(&quot;###,###,###.##&quot;)}}"/>
<WORDBOX name="WordBox75_2" width="1.5cm" alignment="baseline" baselineType="leftleft" text=""/>
<WORDBOX name="WordBox76_2" width="3.3cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="Descuento:"/>
</LAYOUTNODE>
</MINIPAGE>
<MINIPAGE name="ITBIS" width="min" length="max" fontBold="true" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node40_2" y="max-1cm" width="min" length="min" anchorY="1" layoutDirection="rightToLeft" swapX="true" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.itbi" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox77_2" width="3.3cm" alignment="baseline" baselineType="leftright" textAlignment="right" text="{{(x.prima_us&gt;1?&quot;USD$ &quot;:&quot;RD$ &quot;)+x.itbi.format(&quot;###,###,###.##&quot;)}}"/>
<WORDBOX name="WordBox76_3" width="1.5cm" alignment="baseline" baselineType="leftleft" text=""/>
<WORDBOX name="WordBox76_4" width="3.3cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="Itbis:"/>
<WORDBOX name="WordBoxFirmasEsp" length=".6cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="firmas" width="min" length="min" fontSize="9" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxPrep" width="2.3cm" fontBold="true" floatingBehavior="enclosed" text="Preparado por:"/>
<rtl:input-variable name="preparado_por" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBoxPrepNom" width="6cm" floatingBehavior="enclosed" textAlignment="center" text="{{preparado_por.trim()}}" borderWidth=".9" borderStyle="solid" borderTopColor="#ffffff" borderLeftColor="#ffffff" borderRightColor="#ffffff" borderBottomColor="#000000"/>
<WORDBOX name="WordBoxFirmaSep" width="1.5cm" floatingBehavior="enclosed"/>
<WORDBOX name="WordBoxRecib" width="2.2cm" fontBold="true" floatingBehavior="enclosed" text="Recibido por:"/>
<WORDBOX name="WordBoxRecibLin" width="6cm" floatingBehavior="enclosed" text=" " borderWidth=".9" borderStyle="solid" borderTopColor="#ffffff" borderLeftColor="#ffffff" borderRightColor="#ffffff" borderBottomColor="#000000"/>
</LAYOUTNODE>
</MINIPAGE>
<MINIPAGE name="TOTAL" width="min" length="max" fontBold="true" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node40_6" y="max-1cm" width="min" length="min" anchorY="1" layoutDirection="rightToLeft" swapX="true" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.total_fact" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox77_7" width="3.3cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{(x.prima_us&gt;1?&quot;USD$ &quot;:&quot;RD$ &quot;)+x.total_fact.format(&quot;###,###,###.##&quot;)}}"/>
<WORDBOX name="WordBox80" width="1.5cm" alignment="baseline" baselineType="leftleft" text=""/>
<WORDBOX name="WordBox76_8" width="3.3cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="Total factura:"/>
<WORDBOX name="WordBoxFirmasEsp2" length=".4cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="LayoutNode69" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="observacion" type="FGLString" expectedLocation="expectedBefore"/>
<WORDWRAPBOX name="WordWrapBox7" width="width(&quot;M&quot;)*60" length="1cm" floatingBehavior="enclosed" text="{{&quot;OBSERVACIONES: &quot;+observacion.trim()}}"/>
</LAYOUTNODE>
</MINIPAGE>
<MINIPAGE name="MiniPage" width="min" length="1cm"/>
<LAYOUTNODE name="ESPACIOOBS" width="min" length="min">
<MINIPAGE name="StripeLayouter18_1" width=".1cm" length="4.3cm" alignment="none" bgColor="#cc" layoutDirection="swapped"/>
<WORDBOX name="WordBox107_1" width="4cm" length="2cm" floatingBehavior="enclosed" text="{{&quot;FACTURADO POR &quot;}}"/>
<WORDBOX name="WordBox107_2" x="5cm" y="0.1cm" width="4cm" length="2cm" floatingBehavior="enclosed" text="{{&quot;RECIBIDO POR &quot;}}"/>
<LAYOUTNODE name="LayoutNode" x="5cm" y="0.01cm" width="0.1cm" length="4.3cm" bgColor="#0000cc" layoutDirection="leftToRight" floatingBehavior="enclosed"/>
</LAYOUTNODE>
<LAYOUTNODE name="OBSERVACIONES" width="min" length="min">
<rtl:input-variable name="observacion" type="FGLString" expectedLocation="expectedBefore"/>
<WORDWRAPBOX name="WordWrapBox3_1" width="width(&quot;M&quot;)*50" alignment="baseline" baselineType="leftleft" text="{{observacion.trim()}}"/>
<LAYOUTNODE name="qrRD" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<MINIPAGE name="MiniPage2" rtl:condition="muestraQR==1" width="min" length="max" layoutDirection="leftToRight">
<MINIPAGE name="MiniPage" rtl:condition="muestraQR==1" width="min" length="min" layoutDirection="leftToRight">
<rtl:input-variable name="dataqrcode" type="FGLString" expectedLocation="expectedBefore"/>
<BARCODEBOX name="BarCodeBox1" width="4cm" length="4cm" alignment="near" floatingBehavior="enclosed" codeType="qr-code" codeValue="{{dataqrcode.trim()}}"/>
</MINIPAGE>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="totalesmonedas" rtl:condition="x.prima_us&gt;1" y="5cm" width="min" length="min" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox148" width="6.2cm" length=".7cm" alignment="baseline" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="{{&quot;INFORMACION EN RD$&quot;}}"/>
<rtl:input-variable name="chsubtotal" type="FGLString" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="rdSub" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="rdSubL" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;SUBTOTAL:&quot;}}"/>
<WORDBOX name="rdSubV" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chsubtotal.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="x.desc_valor" type="FGLNumeric" expectedLocation="expectedBefore"/>
<rtl:input-variable name="chdescuento" type="FGLString" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="rdDesc" rtl:condition="x.desc_valor&gt;0" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="rdDescL" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;DESCUENTO:&quot;}}"/>
<WORDBOX name="rdDescV" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chdescuento.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode67" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox155" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;ITBIS:&quot;}}"/>
<rtl:input-variable name="chitbis" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox156" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chitbis.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode68" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox157" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;MONTO TOTAL:&quot;}}"/>
<rtl:input-variable name="chneto" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox158" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chneto.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="LayoutNode44_1" rtl:condition="muestraQR==1" width="min" length="min" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode44" rtl:condition="muestraQR==1" width="min" length="min" floatingBehavior="enclosed">
<rtl:input-variable name="xhash" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox108" floatingBehavior="enclosed" text="{{&quot;Codigo de Seguridad:&quot;+xhash.trim()}}"/>
<rtl:input-variable name="chfechafirmadigital" type="FGLString" expectedLocation="expectedBefore"/>
@@ -206,7 +264,9 @@
</LAYOUTNODE>
<WORDBOX name="WordBox81" length=".3inch" floatingBehavior="enclosed"/>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox82" rtl:condition="x.prima_us&gt;1" floatingBehavior="enclosed" text="Realizar el pago con la tasa del día"/>
<WORDBOX name="WordBox82" rtl:condition="x.prima_us&gt;1" floatingBehavior="enclosed" text="Pagos en RD$ a la tasa de venta del Banco Popular vigente el día del pago"/>
<WORDBOX name="WordBoxSelloEsp" length=".3cm" floatingBehavior="enclosed"/>
<IMAGEBOX name="ImageSello" alignment="near" floatingBehavior="enclosed" url="{{&quot;./sello_decomarmol.png&quot;}}" intendedResolution="800"/>
</LAYOUTNODE>
</MINIPAGE>
</rtl:match>
@@ -0,0 +1,241 @@
<?xml version="1.0" encoding="UTF-8"?>
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="31405" version="6.00">
<report:Settings RWPageWidth="letterwidth" RWPageLength="letterlength" RWLeftMargin="0.5cm" RWTopMargin="0.5cm" RWRightMargin="0.5cm" RWBottomMargin="0.5cm">
<report:FormatList>
<report:Format-PDF/>
<report:Format-image/>
<report:Format-SVG/>
</report:FormatList>
</report:Settings>
<report:Data RWDataLocation="../vedir/veprmt001.rdd" RWFglReportName="imp_fact"/>
<report:Conflicts>
<report:Conflict nodeName="MiniPage1" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="subtotal" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="final" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
</report:Conflicts>
<rtl:stylesheet>
<PXML>
<rtl:match name="Report" nameConstraint="Report">
<MINIPAGE name="MiniPage1" width="max" length="min" fontName="Arial">
<LAYOUTNODE name="Layout Node7" width="min" length="min" alignment="near" swapX="true" port="firstPageHeader">
<LAYOUTNODE name="Encabezado" width="min" length="max" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode40" width="min" length="min" alignment="far" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="imagen" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageBox1_1_1" length="70" alignment="near" floatingBehavior="enclosed" url="{{&quot;./logo.jpg&quot;}}" intendedResolution="120"/>
</LAYOUTNODE>
<LAYOUTNODE name="infocia" width="min" length="min" anchorY="1" fontSize="12" floatingBehavior="enclosed">
<rtl:input-variable name="sucnombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox9" alignment="near" fontBold="true" baselineType="leftleft" text="{{sucnombre.trim()}}"/>
<rtl:input-variable name="direccion_sucursal" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox5" width="width(&quot;M&quot;)*33" fontSize="9" floatingBehavior="enclosed" text="{{direccion_sucursal.trim()}}"/>
<LAYOUTNODE name="ourAdress" x="0" width="min" length="min" anchorX="0" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node11" width="min" length="min">
<WORDBOX name="WordBox11_1" alignment="near" fontSize="9" baselineType="leftleft" text="{{&quot;RNC:&quot;}}"/>
<WORDBOX name="WordBox12" alignment="baseline" fontSize="9" baselineType="leftleft" text="Telefono:"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node12" width="min" length="min">
<rtl:input-variable name="p_companias.rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox93" alignment="baseline" fontSize="9" floatingBehavior="enclosed" text="{{p_companias.rnc}}"/>
<rtl:input-variable name="p_companias.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox15" alignment="baseline" fontSize="9" baselineType="leftleft" text="{{p_companias.telefono}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="x.fecha_factura" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox32_1_1" alignment="baseline" baselineType="leftleft" text="{{&quot;Fecha Emision: &quot;+x.fecha_factura.value}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="NCF" x="20" y="290" width="282.6" length="min" alignment="near" floatingBehavior="enclosed">
<rtl:input-variable name="descripcion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox31_1" width="max" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" textAlignment="right" text="{{descripcion.trim()}}"/>
<rtl:input-variable name="ch_ncf" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox73_1" width="max" alignment="baseline" fontSize="12" baselineType="leftleft" textAlignment="right" text="{{ch_ncf.trim()}}"/>
<rtl:input-variable name="ncffechaVencimiento" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="ch_fecha" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="ch_fecha Value" rtl:condition="ncffechaVencimiento==1" width="max" alignment="near" floatingBehavior="enclosed" textAlignment="right" text="{{&quot;Vencimiento Secuencia: &quot;+ch_fecha}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<MINIPAGE name="razonsolcial" width="min" length="max" alignment="far" layoutDirection="leftToRight" roundedCorners="true" borderWidth="1" borderStyle="solid" borderTopColor="#0087cb" borderRightColor="#ffffff" borderBottomColor="#0087cb" borderLeftColor="#ffffff">
<LAYOUTNODE name="customerAddress" x="0.5cm" width="min" length="min" anchorY="1" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node15" width="min" length="min" alignment="near" fontSize="9">
<LAYOUTNODE name="Layout Node17" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox18" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{&quot;Cliente: &quot;}}"/>
<rtl:input-variable name="x.tipo_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.sec_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.nombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox19" alignment="near" baselineType="leftleft" text="{{&quot;(&quot;+x.tipo_cliente.format(&quot;&lt;&lt;&quot;)+&quot;-&quot;+x.sec_cliente.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)+&quot;)&quot;+x.nombre.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node33" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox64" width="2.4cm" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{&quot;RNC/Cédula: &quot;}}"/>
<rtl:input-variable name="rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox105" floatingBehavior="enclosed" text="{{rnc.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="direccion" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox125" width="2.4cm" alignment="near" fontBold="true" floatingBehavior="enclosed" text="{{&quot;Dirección: &quot;}}"/>
<rtl:input-variable name="x.direccion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox6" width="6.5cm" floatingBehavior="enclosed" text="{{x.direccion}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="telefonoemail" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox126" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Teléfono:"/>
<rtl:input-variable name="cliente_bas.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox123" width="2.3cm" floatingBehavior="enclosed" text="{{cliente_bas.telefono}}"/>
<rtl:input-variable name="cemail" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox127" width="4cm" floatingBehavior="enclosed" text="{{&quot; Email:&quot;+cemail.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="representante" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox128" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Vendedor:"/>
<rtl:input-variable name="x.nombre_vend" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox124" width="4cm" floatingBehavior="enclosed" text="{{x.nombre_vend.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedAhead"/>
<LAYOUTNODE name="LayoutNode52" rtl:condition="x.prima_us&gt;1" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox121" floatingBehavior="enclosed" text="{{&quot;Tasa: &quot;+x.prima_us.format(&quot;###,##0.00&quot;)}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="datosfactura" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode53" x="14.1732" width="278.239" length="min" alignment="baseline" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode55" x="120" width="min" length="min" fontSize="12" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox129" width="3cm" floatingBehavior="enclosed" text="Factura No.:"/>
<rtl:input-variable name="x.factura" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox130" width="2cm" alignment="far" floatingBehavior="enclosed" text="{{x.factura.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode56" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox131" width="3cm" alignment="far" floatingBehavior="enclosed" text="Cotizacion No.:"/>
<rtl:input-variable name="pcotizacion" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox132" floatingBehavior="enclosed" text="{{pcotizacion.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNodeConduce" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxConduce" width="3cm" alignment="far" floatingBehavior="enclosed" text="Conduce No.:"/>
<rtl:input-variable name="x.conduce" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBoxConduceV" floatingBehavior="enclosed" text="{{x.conduce.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode57" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox133" width="3cm" floatingBehavior="enclosed" text="Orden No.:"/>
<rtl:input-variable name="x.orden" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox134" floatingBehavior="enclosed" text="{{x.orden.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode58" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="condicion.descrip" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox135" width="4cm" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;Condicion Cobros: &quot;+condicion.descrip.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
</MINIPAGE>
<LAYOUTNODE name="LayoutNode41" width="15" length="min" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox" alignment="baseline" floatingBehavior="enclosed"/>
</LAYOUTNODE>
<MINIPAGE name="StripeLayouter19" width="min" length="max" bgColor="#e5e5e5" fontBold="true" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<WORDBOX name="WordBox40" width="2.7cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="Cantidad"/>
<WORDWRAPBOX name="WordWrapBox1" width="8cm" alignment="baseline" baselineType="leftleft" floatingBehavior="free" text="Descripcion"/>
<WORDWRAPBOX name="WordWrapBox" width="width(&quot;M&quot;)*6" alignment="baseline" floatingBehavior="enclosed" text="Unidad de Medida" textAlignment="center"/>
<WORDBOX name="WordBox41" width="2cm" alignment="baseline" baselineType="rightright" textAlignment="right" text="Precio"/>
<WORDBOX name="WordBox98_1" width="5.5cm" floatingBehavior="enclosed" textAlignment="right" text="Total"/>
</MINIPAGE>
<MINIPAGE name="StripeLayouter21" width=".2cm" layoutDirection="leftToRight"/>
</LAYOUTNODE>
<rtl:match name="Group factura" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group area" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_n" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_grupo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_tipo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_sec" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="PAGINADETALLE" width="max" lengthAdjustment="shrinkToChildren" swapX="true" hidePageFooterOnLastPage="true" roundedCorners="true" borderWidth=".08" borderStyle="solid">
<MINIPAGE name="DETALLEFACTURA" width="min" length="max" layoutDirection="leftToRight">
<LAYOUTNODE name="LayoutNode31" width="min" length="max" fontSize="8" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<rtl:input-variable name="z.cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="cantidad" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="left" text="{{z.cantidad.format(&quot;###,##&amp;.##&quot;)}}"/>
<rtl:input-variable name="z.descrip_esp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox3" width="8cm" alignment="baseline" baselineType="leftleft" text="{{z.descrip_esp.trim()}}"/>
<rtl:input-variable name="z.unidad_med" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox97" width="2cm" alignment="baseline" floatingBehavior="enclosed" text="{{z.unidad_med.trim()}}"/>
<rtl:input-variable name="z.precio" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="precio" width="2cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{z.precio.format(&quot;###,###.##&quot;)}}"/>
<rtl:input-variable name="z.monto_fact" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="monto" width="6cm" anchorY="1" alignment="baseline" bgColor="#d3d3d3" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{z.monto_fact.format(&quot;##,###,###.##&quot;)}}"/>
</LAYOUTNODE>
</MINIPAGE>
</MINIPAGE>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
<LAYOUTNODE name="subtotal" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox100" width="17.4cm" floatingBehavior="enclosed" text="Subtotal" borderStyle="none"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.sub_total" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox101" width="3.1cm" alignment="baseline" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+x.sub_total.format(&quot;###,###,###.##&quot;)}}" roundedCorners="true" borderWidth=".9" borderStyle="solid"/>
</LAYOUTNODE>
<LAYOUTNODE name="final" width="min" length="min" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode45" width="min" length="min" alignment="near" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox109" width="17.4cm" alignment="baseline" floatingBehavior="enclosed" text="Descuento"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.desc_valor" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox110" width="3.1cm" alignment="baseline" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+x.desc_valor.format(&quot;###,###,###.##&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode46" width="min" length="min" alignment="near" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox111" width="17.4cm" floatingBehavior="enclosed" text="{{&quot;Neto S/Impuesto&quot;}}"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="neto_s_imp" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox112" width="3.1cm" alignment="baseline" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+neto_s_imp.format(&quot;###,###,###.##&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="ITBIS" width="min" length="min" alignment="near" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="false">
<WORDBOX name="WordBox160" width="17.4cm" floatingBehavior="enclosed" text="{{&quot;Itbis&quot;}}"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.itbi" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox102_1" width="3.1cm" alignment="baseline" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+x.itbi.format(&quot;###,###,###.##&quot;)}}" roundedCorners="true" borderWidth=".9" borderStyle="solid"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode43" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox103" width="17.3cm" alignment="far" floatingBehavior="enclosed" text="Total" roundedCorners="true" borderWidth=".9" borderStyle="solid"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.total_fact" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox104" width="3.1cm" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+x.total_fact.format(&quot;###,###,###.##&quot;)}}" roundedCorners="true" borderWidth=".9" borderStyle="solid"/>
</LAYOUTNODE>
<MINIPAGE name="MiniPage2" width=".1cm" bgColor="#0087cb" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox106" length="1cm" floatingBehavior="enclosed"/>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="totalesmonedas" rtl:condition="x.prima_us&gt;1" x="max-5.3cm" width="min" length="min" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox148" width="4cm" length=".7cm" alignment="baseline" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="{{&quot;INFORMACION EN RD$&quot;}}"/>
<LAYOUTNODE name="LayoutNode67" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox155" width="2cm" floatingBehavior="enclosed" text="{{&quot;ITBIS:&quot;}}"/>
<rtl:input-variable name="chitbis" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox156" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{chitbis.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode68" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox157" width="2cm" floatingBehavior="enclosed" text="{{&quot;MONTO TOTAL:&quot;}}"/>
<rtl:input-variable name="chneto" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox158" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{chneto.trim()}}"/>
</LAYOUTNODE>
<WORDBOX name="WordBox159" length="1cm" floatingBehavior="enclosed"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode69" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="observacion" type="FGLString" expectedLocation="expectedBefore"/>
<WORDWRAPBOX name="WordWrapBox7" width="width(&quot;M&quot;)*60" length="1cm" floatingBehavior="enclosed" text="{{&quot;OBSERVACIONES: &quot;+observacion.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<MINIPAGE name="MiniPage" rtl:condition="muestraQR==1" width="min" length="max" layoutDirection="leftToRight">
<rtl:input-variable name="dataqrcode" type="FGLString" expectedLocation="expectedBefore"/>
<BARCODEBOX name="BarCodeBox1" width="4cm" length="4cm" alignment="near" floatingBehavior="enclosed" codeType="qr-code" codeValue="{{dataqrcode.trim()}}"/>
</MINIPAGE>
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="LayoutNode44" rtl:condition="muestraQR==1" width="min" length="min" floatingBehavior="enclosed">
<rtl:input-variable name="xhash" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox108" floatingBehavior="enclosed" text="{{&quot;Codigo de Seguridad:&quot;+xhash.trim()}}"/>
<rtl:input-variable name="chfechafirmadigital" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox107" floatingBehavior="enclosed" text="{{&quot;Fecha de Firma Digital: &quot;+chfechafirmadigital.trim()}}"/>
</LAYOUTNODE>
<WORDBOX name="WordBox81" length=".3inch" floatingBehavior="enclosed"/>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox82" rtl:condition="x.prima_us&gt;1" floatingBehavior="enclosed" text="Pagos en RD$ a la tasa de venta del Banco Popular vigente el día del pago"/>
</LAYOUTNODE>
</MINIPAGE>
</rtl:match>
</PXML>
</rtl:stylesheet>
</report:Report>
@@ -0,0 +1,277 @@
<?xml version="1.0" encoding="UTF-8"?>
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="31405" version="6.00">
<report:Settings RWPageWidth="letterwidth" RWPageLength="letterlength" RWLeftMargin="0.5cm" RWTopMargin="0.5cm" RWRightMargin="0.5cm" RWBottomMargin="0.5cm">
<report:FormatList>
<report:Format-PDF/>
<report:Format-image/>
<report:Format-SVG/>
</report:FormatList>
</report:Settings>
<report:Data RWDataLocation="../vedir/veprmt001.rdd" RWFglReportName="imp_fact"/>
<report:Conflicts>
<report:Conflict nodeName="MiniPage1" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="subtotal" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="final" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
</report:Conflicts>
<rtl:stylesheet>
<PXML>
<rtl:match name="Report" nameConstraint="Report">
<MINIPAGE name="MiniPage1" width="max" length="min" fontName="Arial">
<LAYOUTNODE name="Layout Node7" width="min" length="min" alignment="near" swapX="true" port="firstPageHeader">
<LAYOUTNODE name="Encabezado" width="min" length="max" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode40" width="min" length="min" alignment="far" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="imagen" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageBox1_1_1" length="70" alignment="near" floatingBehavior="enclosed" url="{{&quot;./logo.jpg&quot;}}" intendedResolution="120"/>
</LAYOUTNODE>
<LAYOUTNODE name="infocia" width="min" length="min" anchorY="1" fontSize="12" floatingBehavior="enclosed">
<rtl:input-variable name="sucnombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox9" fontSize="9" alignment="near" fontBold="true" baselineType="leftleft" text="{{sucnombre.trim()}}"/>
<rtl:input-variable name="direccion_sucursal" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox5" width="width(&quot;M&quot;)*33" fontSize="9" floatingBehavior="enclosed" text="{{direccion_sucursal.trim()}}"/>
<rtl:input-variable name="p_companias.direccion1" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBoxDir1" width="width(&quot;M&quot;)*33" fontSize="9" floatingBehavior="enclosed" text="{{p_companias.direccion1.trim()}}"/>
<LAYOUTNODE name="ourAdress" x="0" width="min" length="min" anchorX="0" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node11" width="min" length="min">
<WORDBOX name="WordBox11_1" alignment="near" fontSize="9" baselineType="leftleft" text="{{&quot;RNC:&quot;}}"/>
<WORDBOX name="WordBox12" alignment="baseline" fontSize="9" baselineType="leftleft" text="Telefono:"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node12" width="min" length="min">
<rtl:input-variable name="p_companias.rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox93" alignment="baseline" fontSize="9" floatingBehavior="enclosed" text="{{p_companias.rnc}}"/>
<rtl:input-variable name="p_companias.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox15" alignment="baseline" fontSize="9" baselineType="leftleft" text="{{p_companias.telefono}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="NCF" x="20" y="290" width="282.6" length="min" alignment="near" floatingBehavior="enclosed">
<rtl:input-variable name="descripcion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox31_1" width="max" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" textAlignment="right" text="{{descripcion.trim()}}"/>
<rtl:input-variable name="ch_ncf" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox73_1" width="max" alignment="baseline" fontSize="12" baselineType="leftleft" textAlignment="right" text="{{ch_ncf.trim()}}"/>
<rtl:input-variable name="ncffechaVencimiento" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="ch_fecha" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="ch_fecha Value" rtl:condition="ncffechaVencimiento==1" width="max" alignment="near" floatingBehavior="enclosed" textAlignment="right" text="{{&quot;Vencimiento Secuencia: &quot;+ch_fecha}}"/>
<WORDBOX name="WordBoxFechaEsp" length="1.6cm" floatingBehavior="enclosed"/>
<WORDBOX name="WordBoxFechaEsp32" rtl:condition="ncffechaVencimiento!=1" length=".5cm" floatingBehavior="enclosed"/>
<rtl:input-variable name="x.fecha_factura" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox32_1_1" width="max" alignment="baseline" fontSize="12" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{&quot;Fecha Emisión: &quot;+x.fecha_factura.value}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<MINIPAGE name="razonsolcial" width="min" length="max" alignment="far" layoutDirection="leftToRight" roundedCorners="true" borderWidth="1" borderStyle="solid" borderTopColor="#0087cb" borderRightColor="#ffffff" borderBottomColor="#0087cb" borderLeftColor="#ffffff">
<LAYOUTNODE name="customerAddress" x="0.5cm" width="min" length="min" anchorY="1" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node15" width="min" length="min" alignment="near" fontSize="9">
<LAYOUTNODE name="codcliente" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxCodCli" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Código Cliente:"/>
<rtl:input-variable name="x.tipo_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.sec_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBoxCodCliV" floatingBehavior="enclosed" text="{{x.tipo_cliente.format(&quot;&lt;&lt;&quot;)+&quot;-&quot;+x.sec_cliente.format(&quot;&lt;&lt;&lt;&lt;&lt;&lt;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node17" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox18" width="2.4cm" alignment="baseline" fontBold="true" baselineType="leftleft" text="Cliente:"/>
<rtl:input-variable name="x.tipo_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.sec_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.nombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox19" alignment="near" baselineType="leftleft" text="{{x.nombre.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node33" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox64" width="2.4cm" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{&quot;RNC/Cédula: &quot;}}"/>
<rtl:input-variable name="rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox105" floatingBehavior="enclosed" text="{{rnc.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="direccion" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox125" width="2.4cm" alignment="near" fontBold="true" floatingBehavior="enclosed" text="{{&quot;Dirección: &quot;}}"/>
<rtl:input-variable name="x.direccion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox6" width="6.5cm" floatingBehavior="enclosed" text="{{x.direccion}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="telefonoemail" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox126" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Teléfono:"/>
<rtl:input-variable name="cliente_bas.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox123" width="2.3cm" floatingBehavior="enclosed" text="{{cliente_bas.telefono}}"/>
<rtl:input-variable name="cemail" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox127" width="4cm" floatingBehavior="enclosed" text="{{&quot; Email:&quot;+cemail.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="representante" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox128" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Vendedor:"/>
<rtl:input-variable name="x.nombre_vend" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox124" width="4cm" floatingBehavior="enclosed" text="{{x.nombre_vend.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedAhead"/>
<LAYOUTNODE name="LayoutNode52" rtl:condition="x.prima_us&gt;1" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox121" floatingBehavior="enclosed" text="{{&quot;Tasa: &quot;+x.prima_us.format(&quot;##,##&amp;.&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="datosfactura" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode53" x="14.1732" width="278.239" length="min" alignment="baseline" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode55" x="120" width="min" length="min" fontSize="12" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox129" width="3cm" floatingBehavior="enclosed" text="Factura No.:"/>
<rtl:input-variable name="x.factura" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox130" width="2cm" alignment="far" floatingBehavior="enclosed" text="{{x.factura.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode56" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox131" width="3cm" alignment="far" floatingBehavior="enclosed" text="Cotizacion No.:"/>
<rtl:input-variable name="pcotizacion" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox132" floatingBehavior="enclosed" text="{{pcotizacion.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNodeConduce" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxConduce" width="3cm" alignment="far" floatingBehavior="enclosed" text="Conduce No.:"/>
<rtl:input-variable name="x.conduce" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBoxConduceV" floatingBehavior="enclosed" text="{{x.conduce.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode57" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox133" width="3cm" floatingBehavior="enclosed" text="Orden No.:"/>
<rtl:input-variable name="x.orden" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox134" floatingBehavior="enclosed" text="{{x.orden.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode58" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="condicion.descrip" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox135" width="4cm" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;Condicion Cobros: &quot;+condicion.descrip.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
</MINIPAGE>
<LAYOUTNODE name="LayoutNode41" width="15" length="min" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox" alignment="baseline" floatingBehavior="enclosed"/>
</LAYOUTNODE>
<MINIPAGE name="StripeLayouter19" width="min" length="max" bgColor="#e5e5e5" fontBold="true" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<WORDBOX name="WordBox40" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="Cantidad"/>
<WORDWRAPBOX name="WordWrapBox1" textAlignment="left" width="7.5cm" alignment="baseline" baselineType="leftleft" floatingBehavior="free" text="Descripción"/>
<WORDWRAPBOX name="WordWrapBox" width="2.5cm" alignment="baseline" floatingBehavior="enclosed" text="Unidad de Medida" textAlignment="center"/>
<WORDBOX name="WordBox41" width="2.5cm" alignment="baseline" baselineType="rightright" textAlignment="center" text="Precio"/>
<WORDBOX name="WordBox98_1" width="4.4cm" floatingBehavior="enclosed" textAlignment="right" text="Total"/>
</MINIPAGE>
<MINIPAGE name="StripeLayouter21" width=".2cm" layoutDirection="leftToRight"/>
</LAYOUTNODE>
<rtl:match name="Group factura" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group area" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_n" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_grupo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_tipo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_sec" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="PAGINADETALLE" width="max" lengthAdjustment="shrinkToChildren" swapX="true" hidePageFooterOnLastPage="true" roundedCorners="true" borderWidth=".08" borderStyle="solid">
<MINIPAGE name="DETALLEFACTURA" width="min" length="max" layoutDirection="leftToRight">
<LAYOUTNODE name="LayoutNode31" width="min" length="max" fontSize="8" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<rtl:input-variable name="z.cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="cantidad" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="{{z.cantidad.format(&quot;###,##&amp;.##&quot;)}}"/>
<rtl:input-variable name="z.descrip_esp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox3" width="7.5cm" alignment="baseline" baselineType="leftleft" text="{{z.descrip_esp.trim()}}"/>
<rtl:input-variable name="z.unidad_med" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox97" textAlignment="center" width="2.5cm" alignment="baseline" floatingBehavior="enclosed" text="{{z.unidad_med.trim()}}"/>
<rtl:input-variable name="z.precio" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="precio" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="{{z.precio.format(&quot;###,###.##&quot;)}}"/>
<rtl:input-variable name="z.monto_fact" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="monto" width="4.5cm" anchorY="1" alignment="baseline" bgColor="#d3d3d3" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{z.monto_fact.format(&quot;##,###,###.##&quot;)}}"/>
</LAYOUTNODE>
</MINIPAGE>
</MINIPAGE>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
<LAYOUTNODE name="final" width="min" length="min" layoutDirection="topToBottom" floatingBehavior="enclosed">
<MINIPAGE name="MiniPage2" width=".1cm" bgColor="#0087cb" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox106" length="1cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="selloRD" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="totales" y="max-5.9cm" width="min" length="min" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<LAYOUTNODE name="totSub" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totSubL" width="2.5cm" floatingBehavior="enclosed" text="Subtotal:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.sub_total" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totSubV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.sub_total.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totDesc" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totDescL" width="2.5cm" floatingBehavior="enclosed" text="Descuento:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.desc_valor" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totDescV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.desc_valor.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totNeto" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totNetoL" width="2.5cm" floatingBehavior="enclosed" text="Neto S/Imp.:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="neto_s_imp" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totNetoV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+neto_s_imp.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totItbis" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totItbisL" width="2.5cm" floatingBehavior="enclosed" text="ITBIS:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.itbi" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totItbisV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.itbi.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totTotal" width="min" length="min" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totTotalL" width="2.5cm" floatingBehavior="enclosed" text="Total:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.total_fact" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totTotalV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.total_fact.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<WORDBOX name="WordBoxFirmasEsp" length=".6cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="firmas" width="min" length="min" fontSize="9" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxPrep" width="2.3cm" fontBold="true" floatingBehavior="enclosed" text="Preparado por:"/>
<rtl:input-variable name="preparado_por" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBoxPrepNom" width="6cm" floatingBehavior="enclosed" textAlignment="center" text="{{preparado_por.trim()}}" borderWidth=".9" borderStyle="solid" borderTopColor="#ffffff" borderLeftColor="#ffffff" borderRightColor="#ffffff" borderBottomColor="#000000"/>
<WORDBOX name="WordBoxFirmaSep" width="1.5cm" floatingBehavior="enclosed"/>
<WORDBOX name="WordBoxRecib" width="2.2cm" fontBold="true" floatingBehavior="enclosed" text="Recibido por:"/>
<WORDBOX name="WordBoxRecibLin" width="6cm" floatingBehavior="enclosed" text=" " borderWidth=".9" borderStyle="solid" borderTopColor="#ffffff" borderLeftColor="#ffffff" borderRightColor="#ffffff" borderBottomColor="#000000"/>
</LAYOUTNODE>
<WORDBOX name="WordBoxFirmasEsp2" length=".4cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="LayoutNode69" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="observacion" type="FGLString" expectedLocation="expectedBefore"/>
<WORDWRAPBOX name="WordWrapBox7" width="width(&quot;M&quot;)*60" length="1cm" floatingBehavior="enclosed" text="{{&quot;OBSERVACIONES: &quot;+observacion.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="qrRD" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<MINIPAGE name="MiniPage" rtl:condition="muestraQR==1" width="min" length="min" layoutDirection="leftToRight">
<rtl:input-variable name="dataqrcode" type="FGLString" expectedLocation="expectedBefore"/>
<BARCODEBOX name="BarCodeBox1" width="4cm" length="4cm" alignment="near" floatingBehavior="enclosed" codeType="qr-code" codeValue="{{dataqrcode.trim()}}"/>
</MINIPAGE>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="totalesmonedas" rtl:condition="x.prima_us&gt;1" y="5cm" width="min" length="min" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox148" width="6.2cm" length=".7cm" alignment="baseline" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="{{&quot;INFORMACION EN RD$&quot;}}"/>
<rtl:input-variable name="chsubtotal" type="FGLString" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="rdSub" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="rdSubL" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;SUBTOTAL:&quot;}}"/>
<WORDBOX name="rdSubV" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chsubtotal.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="x.desc_valor" type="FGLNumeric" expectedLocation="expectedBefore"/>
<rtl:input-variable name="chdescuento" type="FGLString" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="rdDesc" rtl:condition="x.desc_valor&gt;0" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="rdDescL" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;DESCUENTO:&quot;}}"/>
<WORDBOX name="rdDescV" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chdescuento.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode67" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox155" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;ITBIS:&quot;}}"/>
<rtl:input-variable name="chitbis" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox156" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chitbis.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode68" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox157" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;MONTO TOTAL:&quot;}}"/>
<rtl:input-variable name="chneto" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox158" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chneto.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="LayoutNode44" rtl:condition="muestraQR==1" width="min" length="min" floatingBehavior="enclosed">
<rtl:input-variable name="xhash" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox108" floatingBehavior="enclosed" text="{{&quot;Codigo de Seguridad:&quot;+xhash.trim()}}"/>
<rtl:input-variable name="chfechafirmadigital" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox107" floatingBehavior="enclosed" text="{{&quot;Fecha de Firma Digital: &quot;+chfechafirmadigital.trim()}}"/>
</LAYOUTNODE>
<WORDBOX name="WordBox81" length=".3inch" floatingBehavior="enclosed"/>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox82" rtl:condition="x.prima_us&gt;1" floatingBehavior="enclosed" text="Pagos en RD$ a la tasa de venta del Banco Popular vigente el día del pago"/>
<WORDBOX name="WordBoxSelloEsp" length=".3cm" floatingBehavior="enclosed"/>
<IMAGEBOX name="ImageSello" alignment="near" floatingBehavior="enclosed" url="{{&quot;./sello_decomarmol.png&quot;}}" intendedResolution="800"/>
</LAYOUTNODE>
</MINIPAGE>
</rtl:match>
</PXML>
</rtl:stylesheet>
</report:Report>
@@ -0,0 +1,275 @@
<?xml version="1.0" encoding="UTF-8"?>
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="31405" version="6.00">
<report:Settings RWPageWidth="letterwidth" RWPageLength="letterlength" RWLeftMargin="0.5cm" RWTopMargin="0.5cm" RWRightMargin="0.5cm" RWBottomMargin="0.5cm">
<report:FormatList>
<report:Format-PDF/>
<report:Format-image/>
<report:Format-SVG/>
</report:FormatList>
</report:Settings>
<report:Data RWDataLocation="../vedir/veprmt001.rdd" RWFglReportName="imp_fact"/>
<report:Conflicts>
<report:Conflict nodeName="MiniPage1" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="subtotal" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="final" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
</report:Conflicts>
<rtl:stylesheet>
<PXML>
<rtl:match name="Report" nameConstraint="Report">
<MINIPAGE name="MiniPage1" width="max" length="min" fontName="Arial">
<LAYOUTNODE name="Layout Node7" width="min" length="min" alignment="near" swapX="true" port="firstPageHeader">
<LAYOUTNODE name="Encabezado" width="min" length="max" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode40" width="min" length="min" alignment="far" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="imagen" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageBox1_1_1" length="70" alignment="near" floatingBehavior="enclosed" url="{{&quot;./logo.jpg&quot;}}" intendedResolution="120"/>
</LAYOUTNODE>
<LAYOUTNODE name="infocia" width="min" length="min" anchorY="1" fontSize="12" floatingBehavior="enclosed">
<rtl:input-variable name="sucnombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox9" fontSize="10" alignment="near" fontBold="true" baselineType="leftleft" text="{{sucnombre.trim()}}"/>
<rtl:input-variable name="direccion_sucursal" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox5" width="width(&quot;M&quot;)*33" fontSize="9" floatingBehavior="enclosed" text="{{direccion_sucursal.trim()}}"/>
<LAYOUTNODE name="ourAdress" x="0" width="min" length="min" anchorX="0" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node11" width="min" length="min">
<WORDBOX name="WordBox11_1" alignment="near" fontSize="9" baselineType="leftleft" text="{{&quot;RNC:&quot;}}"/>
<WORDBOX name="WordBox12" alignment="baseline" fontSize="9" baselineType="leftleft" text="Telefono:"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node12" width="min" length="min">
<rtl:input-variable name="p_companias.rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox93" alignment="baseline" fontSize="9" floatingBehavior="enclosed" text="{{p_companias.rnc}}"/>
<rtl:input-variable name="p_companias.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox15" alignment="baseline" fontSize="9" baselineType="leftleft" text="{{p_companias.telefono}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="x.fecha_factura" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox32_1_1" alignment="baseline" baselineType="leftleft" text="{{&quot;Fecha Emision: &quot;+x.fecha_factura.value}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="NCF" x="20" y="290" width="282.6" length="min" alignment="near" floatingBehavior="enclosed">
<rtl:input-variable name="descripcion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox31_1" width="max" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" textAlignment="right" text="{{descripcion.trim()}}"/>
<rtl:input-variable name="ch_ncf" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox73_1" width="max" alignment="baseline" fontSize="12" baselineType="leftleft" textAlignment="right" text="{{ch_ncf.trim()}}"/>
<rtl:input-variable name="ncffechaVencimiento" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="ch_fecha" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="ch_fecha Value" rtl:condition="ncffechaVencimiento==1" width="max" alignment="near" floatingBehavior="enclosed" textAlignment="right" text="{{&quot;Vencimiento Secuencia: &quot;+ch_fecha}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<MINIPAGE name="razonsolcial" width="min" length="max" alignment="far" layoutDirection="leftToRight" roundedCorners="true" borderWidth="1" borderStyle="solid" borderTopColor="#0087cb" borderRightColor="#ffffff" borderBottomColor="#0087cb" borderLeftColor="#ffffff">
<LAYOUTNODE name="customerAddress" x="0.5cm" width="min" length="min" anchorY="1" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node15" width="min" length="min" alignment="near" fontSize="9">
<LAYOUTNODE name="codcliente" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxCodCli" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Código Cliente:"/>
<rtl:input-variable name="x.tipo_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.sec_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBoxCodCliV" floatingBehavior="enclosed" text="{{x.tipo_cliente.format(&quot;&lt;&lt;&quot;)+&quot;-&quot;+x.sec_cliente.format(&quot;&lt;&lt;&lt;&lt;&lt;&lt;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node17" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox18" width="2.4cm" alignment="baseline" fontBold="true" baselineType="leftleft" text="Cliente:"/>
<rtl:input-variable name="x.tipo_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.sec_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.nombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox19" alignment="near" baselineType="leftleft" text="{{x.nombre.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node33" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox64" width="2.4cm" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{&quot;RNC/Cédula: &quot;}}"/>
<rtl:input-variable name="rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox105" floatingBehavior="enclosed" text="{{rnc.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="direccion" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox125" width="2.4cm" alignment="near" fontBold="true" floatingBehavior="enclosed" text="{{&quot;Dirección: &quot;}}"/>
<rtl:input-variable name="x.direccion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox6" width="6.5cm" floatingBehavior="enclosed" text="{{x.direccion}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="telefonoemail" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox126" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Teléfono:"/>
<rtl:input-variable name="cliente_bas.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox123" width="2.3cm" floatingBehavior="enclosed" text="{{cliente_bas.telefono}}"/>
<rtl:input-variable name="cemail" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox127" width="4cm" floatingBehavior="enclosed" text="{{&quot; Email:&quot;+cemail.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="representante" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox128" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Vendedor:"/>
<rtl:input-variable name="x.nombre_vend" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox124" width="4cm" floatingBehavior="enclosed" text="{{x.nombre_vend.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedAhead"/>
<LAYOUTNODE name="LayoutNode52" rtl:condition="x.prima_us&gt;1" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox121" floatingBehavior="enclosed" text="{{&quot;Tasa: &quot;+x.prima_us.format(&quot;##,##&amp;.&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="datosfactura" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode53" x="14.1732" width="278.239" length="min" alignment="baseline" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode55" x="120" width="min" length="min" fontSize="12" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox129" width="3cm" floatingBehavior="enclosed" text="Factura No.:"/>
<rtl:input-variable name="x.factura" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox130" width="2cm" alignment="far" floatingBehavior="enclosed" text="{{x.factura.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode56" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox131" width="3cm" alignment="far" floatingBehavior="enclosed" text="Cotizacion No.:"/>
<rtl:input-variable name="pcotizacion" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox132" floatingBehavior="enclosed" text="{{pcotizacion.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNodeConduce" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxConduce" width="3cm" alignment="far" floatingBehavior="enclosed" text="Conduce No.:"/>
<rtl:input-variable name="x.conduce" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBoxConduceV" floatingBehavior="enclosed" text="{{x.conduce.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode57" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox133" width="3cm" floatingBehavior="enclosed" text="Orden No.:"/>
<rtl:input-variable name="x.orden" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox134" floatingBehavior="enclosed" text="{{x.orden.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode58" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="condicion.descrip" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox135" width="4cm" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;Condicion Cobros: &quot;+condicion.descrip.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
</MINIPAGE>
<LAYOUTNODE name="LayoutNode41" width="15" length="min" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox" alignment="baseline" floatingBehavior="enclosed"/>
</LAYOUTNODE>
<MINIPAGE name="StripeLayouter19" width="min" length="max" bgColor="#e5e5e5" fontBold="true" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<WORDBOX name="WordBox40" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="Cantidad"/>
<WORDWRAPBOX name="WordWrapBox1" textAlignment="center" width="7.5cm" alignment="baseline" baselineType="leftleft" floatingBehavior="free" text="Descripción"/>
<WORDWRAPBOX name="WordWrapBox" width="2.5cm" alignment="baseline" floatingBehavior="enclosed" text="Unidad de Medida" textAlignment="center"/>
<WORDBOX name="WordBox41" width="2.5cm" alignment="baseline" baselineType="rightright" textAlignment="center" text="Precio"/>
<WORDBOX name="WordBox98_1" width="4.4cm" floatingBehavior="enclosed" textAlignment="right" text="Total"/>
</MINIPAGE>
<MINIPAGE name="StripeLayouter21" width=".2cm" layoutDirection="leftToRight"/>
</LAYOUTNODE>
<rtl:match name="Group factura" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group area" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_n" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_grupo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_tipo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_sec" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="PAGINADETALLE" width="max" lengthAdjustment="shrinkToChildren" swapX="true" hidePageFooterOnLastPage="true" roundedCorners="true" borderWidth=".08" borderStyle="solid">
<MINIPAGE name="DETALLEFACTURA" width="min" length="max" layoutDirection="leftToRight">
<LAYOUTNODE name="LayoutNode31" width="min" length="max" fontSize="8" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<rtl:input-variable name="z.cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="cantidad" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="{{z.cantidad.format(&quot;###,##&amp;.##&quot;)}}"/>
<rtl:input-variable name="z.descrip_esp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox3" width="7.5cm" alignment="baseline" baselineType="leftleft" text="{{z.descrip_esp.trim()}}"/>
<rtl:input-variable name="z.unidad_med" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox97" textAlignment="center" width="2.5cm" alignment="baseline" floatingBehavior="enclosed" text="{{z.unidad_med.trim()}}"/>
<rtl:input-variable name="z.precio" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="precio" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="{{z.precio.format(&quot;###,###.##&quot;)}}"/>
<rtl:input-variable name="z.monto_fact" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="monto" width="4.5cm" anchorY="1" alignment="baseline" bgColor="#d3d3d3" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{z.monto_fact.format(&quot;##,###,###.##&quot;)}}"/>
</LAYOUTNODE>
</MINIPAGE>
</MINIPAGE>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
<LAYOUTNODE name="final" width="min" length="min" layoutDirection="topToBottom" floatingBehavior="enclosed">
<MINIPAGE name="MiniPage2" width=".1cm" bgColor="#0087cb" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox106" length="1cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="selloRD" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="totales" y="max-5.9cm" width="min" length="min" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<LAYOUTNODE name="totSub" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totSubL" width="2.5cm" floatingBehavior="enclosed" text="Subtotal:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.sub_total" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totSubV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.sub_total.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totDesc" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totDescL" width="2.5cm" floatingBehavior="enclosed" text="Descuento:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.desc_valor" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totDescV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.desc_valor.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totNeto" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totNetoL" width="2.5cm" floatingBehavior="enclosed" text="Neto S/Imp.:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="neto_s_imp" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totNetoV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+neto_s_imp.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totItbis" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totItbisL" width="2.5cm" floatingBehavior="enclosed" text="ITBIS:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.itbi" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totItbisV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.itbi.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totTotal" width="min" length="min" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totTotalL" width="2.5cm" floatingBehavior="enclosed" text="Total:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.total_fact" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totTotalV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.total_fact.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<WORDBOX name="WordBoxFirmasEsp" length=".6cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="firmas" width="min" length="min" fontSize="9" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxPrep" width="2.3cm" fontBold="true" floatingBehavior="enclosed" text="Preparado por:"/>
<rtl:input-variable name="preparado_por" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBoxPrepNom" width="6cm" floatingBehavior="enclosed" textAlignment="center" text="{{preparado_por.trim()}}" borderWidth=".9" borderStyle="solid" borderTopColor="#ffffff" borderLeftColor="#ffffff" borderRightColor="#ffffff" borderBottomColor="#000000"/>
<WORDBOX name="WordBoxFirmaSep" width="1.5cm" floatingBehavior="enclosed"/>
<WORDBOX name="WordBoxRecib" width="2.2cm" fontBold="true" floatingBehavior="enclosed" text="Recibido por:"/>
<WORDBOX name="WordBoxRecibLin" width="6cm" floatingBehavior="enclosed" text=" " borderWidth=".9" borderStyle="solid" borderTopColor="#ffffff" borderLeftColor="#ffffff" borderRightColor="#ffffff" borderBottomColor="#000000"/>
</LAYOUTNODE>
<WORDBOX name="WordBoxFirmasEsp2" length=".4cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="LayoutNode69" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="observacion" type="FGLString" expectedLocation="expectedBefore"/>
<WORDWRAPBOX name="WordWrapBox7" width="width(&quot;M&quot;)*60" length="1cm" floatingBehavior="enclosed" text="{{&quot;OBSERVACIONES: &quot;+observacion.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="qrRD" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<MINIPAGE name="MiniPage" rtl:condition="muestraQR==1" width="min" length="min" layoutDirection="leftToRight">
<rtl:input-variable name="dataqrcode" type="FGLString" expectedLocation="expectedBefore"/>
<BARCODEBOX name="BarCodeBox1" width="4cm" length="4cm" alignment="near" floatingBehavior="enclosed" codeType="qr-code" codeValue="{{dataqrcode.trim()}}"/>
</MINIPAGE>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="totalesmonedas" rtl:condition="x.prima_us&gt;1" y="5cm" width="min" length="min" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox148" width="6.2cm" length=".7cm" alignment="baseline" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="{{&quot;INFORMACION EN RD$&quot;}}"/>
<rtl:input-variable name="chsubtotal" type="FGLString" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="rdSub" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="rdSubL" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;SUBTOTAL:&quot;}}"/>
<WORDBOX name="rdSubV" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chsubtotal.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="x.desc_valor" type="FGLNumeric" expectedLocation="expectedBefore"/>
<rtl:input-variable name="chdescuento" type="FGLString" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="rdDesc" rtl:condition="x.desc_valor&gt;0" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="rdDescL" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;DESCUENTO:&quot;}}"/>
<WORDBOX name="rdDescV" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chdescuento.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode67" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox155" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;ITBIS:&quot;}}"/>
<rtl:input-variable name="chitbis" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox156" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chitbis.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode68" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox157" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;MONTO TOTAL:&quot;}}"/>
<rtl:input-variable name="chneto" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox158" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chneto.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="LayoutNode44" rtl:condition="muestraQR==1" width="min" length="min" floatingBehavior="enclosed">
<rtl:input-variable name="xhash" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox108" floatingBehavior="enclosed" text="{{&quot;Codigo de Seguridad:&quot;+xhash.trim()}}"/>
<rtl:input-variable name="chfechafirmadigital" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox107" floatingBehavior="enclosed" text="{{&quot;Fecha de Firma Digital: &quot;+chfechafirmadigital.trim()}}"/>
</LAYOUTNODE>
<WORDBOX name="WordBox81" length=".3inch" floatingBehavior="enclosed"/>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox82" rtl:condition="x.prima_us&gt;1" floatingBehavior="enclosed" text="Pagos en RD$ a la tasa de venta del Banco Popular vigente el día del pago"/>
<WORDBOX name="WordBoxSelloEsp" length=".3cm" floatingBehavior="enclosed"/>
<IMAGEBOX name="ImageSello" alignment="near" floatingBehavior="enclosed" url="{{&quot;./sello_decomarmol.png&quot;}}" intendedResolution="800"/>
</LAYOUTNODE>
</MINIPAGE>
</rtl:match>
</PXML>
</rtl:stylesheet>
</report:Report>
@@ -0,0 +1,220 @@
<?xml version="1.0" encoding="UTF-8"?>
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="3140a" version="6.00">
<report:Settings RWPageWidth="letterwidth" RWPageLength="letterlength" RWLeftMargin="0.5cm" RWTopMargin="0.5cm" RWRightMargin="0.5cm" RWBottomMargin="0.5cm">
<report:FormatList>
<report:Format-PDF/>
<report:Format-image/>
<report:Format-SVG/>
</report:FormatList>
</report:Settings>
<report:Data RWDataLocation="../vedir/veprmt022.rdd" RWFglReportName="imp_factura"/>
<report:Conflicts>
<report:Conflict nodeName="MiniPage1" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="subtotal" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="final" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
</report:Conflicts>
<rtl:stylesheet>
<PXML>
<rtl:match name="Report" nameConstraint="Report">
<MINIPAGE name="MiniPage1" width="max" length="min" fontName="Arial">
<LAYOUTNODE name="Layout Node7" width="min" length="min" alignment="near" swapX="true" port="firstPageHeader">
<LAYOUTNODE name="Encabezado" width="min" length="max" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode40" width="min" length="min" alignment="far" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="imagen" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageBox1_1_1" length="70" alignment="near" floatingBehavior="enclosed" url="{{&quot;file:///E:/MARMOTECHC/BIN320/IMAGENES/logo.png&quot;}}" intendedResolution="120"/>
</LAYOUTNODE>
<LAYOUTNODE name="infocia" width="min" length="min" anchorY="1" fontSize="12" floatingBehavior="enclosed">
<rtl:input-variable name="sucnombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox9" alignment="near" fontBold="true" baselineType="leftleft" text="{{sucnombre.trim()}}"/>
<rtl:input-variable name="direccion_sucursal" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox5" width="width(&quot;M&quot;)*33" fontSize="9" floatingBehavior="enclosed" text="{{direccion_sucursal.trim()}}"/>
<LAYOUTNODE name="ourAdress" x="0" width="min" length="min" anchorX="0" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node11" width="min" length="min">
<WORDBOX name="WordBox11_1" alignment="near" fontSize="9" baselineType="leftleft" text="{{&quot;RNC:&quot;}}"/>
<WORDBOX name="WordBox12" alignment="baseline" fontSize="9" baselineType="leftleft" text="Telefono:"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node12" width="min" length="min">
<rtl:input-variable name="p_companias.rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox93" alignment="baseline" fontSize="9" floatingBehavior="enclosed" text="{{p_companias.rnc}}"/>
<rtl:input-variable name="p_companias.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox15" alignment="baseline" fontSize="9" baselineType="leftleft" text="{{p_companias.telefono}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="x.fecha_factura" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox32_1_1" alignment="baseline" baselineType="leftleft" text="{{&quot;Fecha Emision: &quot;+x.fecha_factura.value}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="NCF" x="20" y="290" width="282.6" length="min" alignment="near" floatingBehavior="enclosed">
<rtl:input-variable name="descripcion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox31_1" width="max" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" textAlignment="right" text="{{descripcion.trim()}}"/>
<rtl:input-variable name="ch_ncf" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox73_1" width="max" alignment="baseline" fontSize="12" baselineType="leftleft" textAlignment="right" text="{{ch_ncf.trim()}}"/>
<rtl:input-variable name="ncffechaVencimiento" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="ch_fecha" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="ch_fecha Value" rtl:condition="ncffechaVencimiento==1" width="max" alignment="near" floatingBehavior="enclosed" textAlignment="right" text="{{&quot;Vencimiento Secuencia: &quot;+ch_fecha}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<MINIPAGE name="razonsolcial" width="min" length="max" alignment="far" layoutDirection="leftToRight" roundedCorners="true" borderWidth="1" borderStyle="solid" borderTopColor="#0087cb" borderRightColor="#ffffff" borderBottomColor="#0087cb" borderLeftColor="#ffffff">
<LAYOUTNODE name="customerAddress" x="0.5cm" width="min" length="min" anchorY="1" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node15" width="min" length="min" alignment="near" fontSize="8">
<LAYOUTNODE name="Layout Node17" width="min" length="min" fontItalic="true" layoutDirection="leftToRight">
<WORDBOX name="WordBox18" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{&quot;Razon Social Cliente: &quot;}}"/>
<rtl:input-variable name="x.tipo_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.sec_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.nombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox19" alignment="near" baselineType="leftleft" text="{{&quot;(&quot;+x.tipo_cliente.format(&quot;&lt;&lt;&quot;)+&quot;-&quot;+x.sec_cliente.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)+&quot;)&quot;+x.nombre.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node33" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox64" width="2.2cm" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{&quot;RNC o CEDULA: &quot;}}"/>
<rtl:input-variable name="rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox105" floatingBehavior="enclosed" text="{{rnc.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="direccion" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox125" width="2.2cm" alignment="near" fontBold="true" floatingBehavior="enclosed" text="{{&quot;Direccion: &quot;}}"/>
<rtl:input-variable name="x.direccion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox6" width="width(&quot;M&quot;)*34" floatingBehavior="enclosed" text="{{x.direccion}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="telefonoemail" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox126" width="2.2cm" floatingBehavior="enclosed" text="Telefono"/>
<rtl:input-variable name="cliente_bas.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox123" width="2.3cm" floatingBehavior="enclosed" text="{{cliente_bas.telefono}}"/>
<rtl:input-variable name="cemail" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox127" width="4cm" floatingBehavior="enclosed" text="{{&quot; Email:&quot;+cemail.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="representante" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox128" width="2.2cm" floatingBehavior="enclosed" text="Representante"/>
<rtl:input-variable name="x.nombre_vend" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox124" width="4cm" floatingBehavior="enclosed" text="{{x.nombre_vend.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode52" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox121" floatingBehavior="enclosed" text="{{&quot;TASA: &quot;+x.prima_us}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="datosfactura" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode53" x="14.1732" width="278.239" length="min" alignment="baseline" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode55" x="120" width="min" length="min" fontSize="12" fontBold="true" fontItalic="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox129" width="3cm" floatingBehavior="enclosed" text="Factura No.:"/>
<rtl:input-variable name="x.factura" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox130" width="2cm" alignment="far" floatingBehavior="enclosed" text="{{x.factura.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode56" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox131" width="3cm" alignment="far" floatingBehavior="enclosed" text="Cotizacion No.:"/>
<rtl:input-variable name="x.conduce" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox132" floatingBehavior="enclosed" text="{{x.conduce.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode57" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox133" width="3cm" floatingBehavior="enclosed" text="Orden No.:"/>
<rtl:input-variable name="x.orden" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox134" floatingBehavior="enclosed" text="{{x.orden.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode58" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="condicion.descrip" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox135" width="4cm" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;Condicion Cobros: &quot;+condicion.descrip.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
</MINIPAGE>
<LAYOUTNODE name="LayoutNode41" width="15" length="min" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox" alignment="baseline" floatingBehavior="enclosed"/>
</LAYOUTNODE>
<MINIPAGE name="StripeLayouter19" width="min" length="max" bgColor="#e5e5e5" fontBold="true" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<WORDBOX name="WordBox40" width="2.7cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="Cantidad"/>
<WORDWRAPBOX name="WordWrapBox1" width="8cm" alignment="baseline" baselineType="leftleft" floatingBehavior="free" text="Descripcion"/>
<WORDWRAPBOX name="WordWrapBox" width="width(&quot;M&quot;)*6" alignment="baseline" floatingBehavior="enclosed" text="Unidad de Medida" textAlignment="center"/>
<WORDBOX name="WordBox41" width="2cm" alignment="baseline" baselineType="rightright" textAlignment="right" text="Precio"/>
<WORDBOX name="WordBox98_1" width="5.5cm" floatingBehavior="enclosed" textAlignment="right" text="Total"/>
</MINIPAGE>
<MINIPAGE name="StripeLayouter21" width=".2cm" layoutDirection="leftToRight"/>
</LAYOUTNODE>
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="PAGINADETALLE" width="max" lengthAdjustment="shrinkToChildren" swapX="true" hidePageFooterOnLastPage="true" roundedCorners="true" borderWidth=".08" borderStyle="solid">
<MINIPAGE name="DETALLEFACTURA" width="min" length="max" layoutDirection="leftToRight">
<LAYOUTNODE name="LayoutNode31" width="min" length="max" fontSize="8" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<rtl:input-variable name="z.cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="cantidad" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="left" text="{{z.cantidad.format(&quot;###,##&amp;.##&quot;)}}"/>
<rtl:input-variable name="z.descrip_esp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox3" width="8cm" alignment="baseline" baselineType="leftleft" text="{{z.descrip_esp.trim()}}"/>
<rtl:input-variable name="z.unidad_med" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox97" width="2cm" alignment="baseline" floatingBehavior="enclosed" text="{{z.unidad_med.trim()}}"/>
<rtl:input-variable name="z.precio" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="precio" width="2cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{z.precio.format(&quot;###,###.##&quot;)}}"/>
<rtl:input-variable name="z.monto_fact" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="monto" width="6cm" anchorY="1" alignment="baseline" bgColor="#d3d3d3" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{z.monto_fact.format(&quot;##,###,###.##&quot;)}}"/>
</LAYOUTNODE>
</MINIPAGE>
</MINIPAGE>
</rtl:match>
<LAYOUTNODE name="subtotal" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox100" width="17.4cm" floatingBehavior="enclosed" text="Subtotal" borderStyle="none"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.sub_total" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox101" width="3.1cm" alignment="baseline" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+x.sub_total.format(&quot;###,###,###.##&quot;)}}" roundedCorners="true" borderWidth=".9" borderStyle="solid"/>
</LAYOUTNODE>
<LAYOUTNODE name="final" width="min" length="min" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode45" width="min" length="min" alignment="near" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox109" width="17.4cm" alignment="baseline" floatingBehavior="enclosed" text="Descuento"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.desc_valor" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox110" width="3.1cm" alignment="baseline" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+x.desc_valor.format(&quot;###,###,###.##&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode46" width="min" length="min" alignment="near" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox111" width="17.4cm" floatingBehavior="enclosed" text="{{&quot;Neto S/Impuesto&quot;}}"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="neto_s_imp" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox112" width="3.1cm" alignment="baseline" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+neto_s_imp.format(&quot;###,###,###.##&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="ITBIS" width="min" length="min" alignment="near" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="false">
<WORDBOX name="WordBox160" width="17.4cm" floatingBehavior="enclosed" text="{{&quot;Itbis&quot;}}"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.itbi" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox102_1" width="3.1cm" alignment="baseline" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+x.itbi.format(&quot;###,###,###.##&quot;)}}" roundedCorners="true" borderWidth=".9" borderStyle="solid"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode43" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox103" width="17.3cm" alignment="far" floatingBehavior="enclosed" text="Total" roundedCorners="true" borderWidth=".9" borderStyle="solid"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.total_fact" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox104" width="3.1cm" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+x.total_fact.format(&quot;###,###,###.##&quot;)}}" roundedCorners="true" borderWidth=".9" borderStyle="solid"/>
</LAYOUTNODE>
<MINIPAGE name="MiniPage2" width=".1cm" bgColor="#0087cb" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox106" length="1cm" floatingBehavior="enclosed"/>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="totalesmonedas" rtl:condition="x.prima_us&gt;1" x="max-5.3cm" width="min" length="min" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox148" width="4cm" length=".7cm" alignment="baseline" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="{{&quot;INFORMACION EN RD$&quot;}}"/>
<LAYOUTNODE name="LayoutNode67" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox155" width="2cm" floatingBehavior="enclosed" text="{{&quot;ITBIS:&quot;}}"/>
<rtl:input-variable name="chitbis" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox156" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{chitbis.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode68" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox157" width="2cm" floatingBehavior="enclosed" text="{{&quot;MONTO TOTAL:&quot;}}"/>
<rtl:input-variable name="chneto" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox158" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{chneto.trim()}}"/>
</LAYOUTNODE>
<WORDBOX name="WordBox159" length="1cm" floatingBehavior="enclosed"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode69" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="observacion" type="FGLString" expectedLocation="expectedBefore"/>
<WORDWRAPBOX name="WordWrapBox7" width="width(&quot;M&quot;)*60" length="1cm" floatingBehavior="enclosed" text="{{&quot;OBSERVACIONES: &quot;+observacion.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<MINIPAGE name="MiniPage" rtl:condition="muestraQR==1" width="min" length="max" layoutDirection="leftToRight">
<rtl:input-variable name="dataqrcode" type="FGLString" expectedLocation="expectedBefore"/>
<BARCODEBOX name="BarCodeBox1" width="4cm" length="4cm" alignment="near" floatingBehavior="enclosed" codeType="qr-code" codeValue="{{dataqrcode.trim()}}"/>
</MINIPAGE>
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="LayoutNode44" rtl:condition="muestraQR==1" width="min" length="min" floatingBehavior="enclosed">
<rtl:input-variable name="xhash" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox108" floatingBehavior="enclosed" text="{{&quot;Codigo de Seguridad:&quot;+xhash.trim()}}"/>
<rtl:input-variable name="chfechafirmadigital" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox107" floatingBehavior="enclosed" text="{{&quot;Fecha de Firma Digital: &quot;+chfechafirmadigital.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</MINIPAGE>
</rtl:match>
</PXML>
</rtl:stylesheet>
</report:Report>
@@ -0,0 +1,254 @@
<?xml version="1.0" encoding="UTF-8"?>
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="31405" version="6.00">
<report:Settings RWPageWidth="letterwidth" RWPageLength="letterlength" RWLeftMargin="0.5cm" RWTopMargin="0.5cm" RWRightMargin="0.5cm" RWBottomMargin="0.5cm">
<report:FormatList>
<report:Format-PDF/>
<report:Format-image/>
<report:Format-SVG/>
</report:FormatList>
</report:Settings>
<report:Data RWDataLocation="../vedir/veprmt001.rdd" RWFglReportName="imp_fact"/>
<report:Conflicts>
<report:Conflict nodeName="MiniPage1" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="subtotal" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="final" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
</report:Conflicts>
<rtl:stylesheet>
<PXML>
<rtl:match name="Report" nameConstraint="Report">
<MINIPAGE name="MiniPage1" width="max" length="min" fontName="Arial">
<LAYOUTNODE name="Layout Node7" width="min" length="min" alignment="near" swapX="true" port="firstPageHeader">
<LAYOUTNODE name="Encabezado" width="min" length="max" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode40" width="min" length="min" alignment="far" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="imagen" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageBox1_1_1" length="70" alignment="near" floatingBehavior="enclosed" url="{{&quot;./logo.jpg&quot;}}" intendedResolution="120"/>
</LAYOUTNODE>
<LAYOUTNODE name="infocia" width="min" length="min" anchorY="1" fontSize="12" floatingBehavior="enclosed">
<rtl:input-variable name="sucnombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox9" alignment="near" fontBold="true" baselineType="leftleft" text="{{sucnombre.trim()}}"/>
<rtl:input-variable name="direccion_sucursal" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox5" width="width(&quot;M&quot;)*33" fontSize="9" floatingBehavior="enclosed" text="{{direccion_sucursal.trim()}}"/>
<LAYOUTNODE name="ourAdress" x="0" width="min" length="min" anchorX="0" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node11" width="min" length="min">
<WORDBOX name="WordBox11_1" alignment="near" fontSize="9" baselineType="leftleft" text="{{&quot;RNC:&quot;}}"/>
<WORDBOX name="WordBox12" alignment="baseline" fontSize="9" baselineType="leftleft" text="Telefono:"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node12" width="min" length="min">
<rtl:input-variable name="p_companias.rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox93" alignment="baseline" fontSize="9" floatingBehavior="enclosed" text="{{p_companias.rnc}}"/>
<rtl:input-variable name="p_companias.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox15" alignment="baseline" fontSize="9" baselineType="leftleft" text="{{p_companias.telefono}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="x.fecha_factura" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox32_1_1" alignment="baseline" baselineType="leftleft" text="{{&quot;Fecha Emision: &quot;+x.fecha_factura.value}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="NCF" x="20" y="290" width="282.6" length="min" alignment="near" floatingBehavior="enclosed">
<rtl:input-variable name="descripcion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox31_1" width="max" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" textAlignment="right" text="{{descripcion.trim()}}"/>
<rtl:input-variable name="ch_ncf" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox73_1" width="max" alignment="baseline" fontSize="12" baselineType="leftleft" textAlignment="right" text="{{ch_ncf.trim()}}"/>
<rtl:input-variable name="ncffechaVencimiento" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="ch_fecha" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="ch_fecha Value" rtl:condition="ncffechaVencimiento==1" width="max" alignment="near" floatingBehavior="enclosed" textAlignment="right" text="{{&quot;Vencimiento Secuencia: &quot;+ch_fecha}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<MINIPAGE name="razonsolcial" width="min" length="max" alignment="far" layoutDirection="leftToRight" roundedCorners="true" borderWidth="1" borderStyle="solid" borderTopColor="#0087cb" borderRightColor="#ffffff" borderBottomColor="#0087cb" borderLeftColor="#ffffff">
<LAYOUTNODE name="customerAddress" x="0.5cm" width="min" length="min" anchorY="1" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node15" width="min" length="min" alignment="near" fontSize="9">
<LAYOUTNODE name="Layout Node17" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox18" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{&quot;Cliente: &quot;}}"/>
<rtl:input-variable name="x.tipo_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.sec_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.nombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox19" alignment="near" baselineType="leftleft" text="{{&quot;(&quot;+x.tipo_cliente.format(&quot;&lt;&lt;&quot;)+&quot;-&quot;+x.sec_cliente.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)+&quot;)&quot;+x.nombre.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node33" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox64" width="2.4cm" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{&quot;RNC/Cédula: &quot;}}"/>
<rtl:input-variable name="rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox105" floatingBehavior="enclosed" text="{{rnc.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="direccion" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox125" width="2.4cm" alignment="near" fontBold="true" floatingBehavior="enclosed" text="{{&quot;Dirección: &quot;}}"/>
<rtl:input-variable name="x.direccion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox6" width="6.5cm" floatingBehavior="enclosed" text="{{x.direccion}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="telefonoemail" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox126" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Teléfono:"/>
<rtl:input-variable name="cliente_bas.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox123" width="2.3cm" floatingBehavior="enclosed" text="{{cliente_bas.telefono}}"/>
<rtl:input-variable name="cemail" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox127" width="4cm" floatingBehavior="enclosed" text="{{&quot; Email:&quot;+cemail.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="representante" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox128" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Vendedor:"/>
<rtl:input-variable name="x.nombre_vend" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox124" width="4cm" floatingBehavior="enclosed" text="{{x.nombre_vend.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedAhead"/>
<LAYOUTNODE name="LayoutNode52" rtl:condition="x.prima_us&gt;1" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox121" floatingBehavior="enclosed" text="{{&quot;Tasa: &quot;+x.prima_us.format(&quot;##,##&amp;.&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="datosfactura" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode53" x="14.1732" width="278.239" length="min" alignment="baseline" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode55" x="120" width="min" length="min" fontSize="12" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox129" width="3cm" floatingBehavior="enclosed" text="Factura No.:"/>
<rtl:input-variable name="x.factura" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox130" width="2cm" alignment="far" floatingBehavior="enclosed" text="{{x.factura.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode56" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox131" width="3cm" alignment="far" floatingBehavior="enclosed" text="Cotizacion No.:"/>
<rtl:input-variable name="pcotizacion" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox132" floatingBehavior="enclosed" text="{{pcotizacion.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNodeConduce" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxConduce" width="3cm" alignment="far" floatingBehavior="enclosed" text="Conduce No.:"/>
<rtl:input-variable name="x.conduce" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBoxConduceV" floatingBehavior="enclosed" text="{{x.conduce.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode57" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox133" width="3cm" floatingBehavior="enclosed" text="Orden No.:"/>
<rtl:input-variable name="x.orden" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox134" floatingBehavior="enclosed" text="{{x.orden.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode58" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="condicion.descrip" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox135" width="4cm" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;Condicion Cobros: &quot;+condicion.descrip.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
</MINIPAGE>
<LAYOUTNODE name="LayoutNode41" width="15" length="min" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox" alignment="baseline" floatingBehavior="enclosed"/>
</LAYOUTNODE>
<MINIPAGE name="StripeLayouter19" width="min" length="max" bgColor="#e5e5e5" fontBold="true" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<WORDBOX name="WordBox40" width="2.7cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="Cantidad"/>
<WORDWRAPBOX name="WordWrapBox1" width="8cm" alignment="baseline" baselineType="leftleft" floatingBehavior="free" text="Descripcion"/>
<WORDWRAPBOX name="WordWrapBox" width="width(&quot;M&quot;)*6" alignment="baseline" floatingBehavior="enclosed" text="Unidad de Medida" textAlignment="center"/>
<WORDBOX name="WordBox41" width="2cm" alignment="baseline" baselineType="rightright" textAlignment="right" text="Precio"/>
<WORDBOX name="WordBox98_1" width="5.5cm" floatingBehavior="enclosed" textAlignment="right" text="Total"/>
</MINIPAGE>
<MINIPAGE name="StripeLayouter21" width=".2cm" layoutDirection="leftToRight"/>
</LAYOUTNODE>
<rtl:match name="Group factura" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group area" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_n" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_grupo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_tipo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_sec" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="PAGINADETALLE" width="max" lengthAdjustment="shrinkToChildren" swapX="true" hidePageFooterOnLastPage="true" roundedCorners="true" borderWidth=".08" borderStyle="solid">
<MINIPAGE name="DETALLEFACTURA" width="min" length="max" layoutDirection="leftToRight">
<LAYOUTNODE name="LayoutNode31" width="min" length="max" fontSize="8" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<rtl:input-variable name="z.cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="cantidad" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="left" text="{{z.cantidad.format(&quot;###,##&amp;.##&quot;)}}"/>
<rtl:input-variable name="z.descrip_esp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox3" width="8cm" alignment="baseline" baselineType="leftleft" text="{{z.descrip_esp.trim()}}"/>
<rtl:input-variable name="z.unidad_med" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox97" width="2cm" alignment="baseline" floatingBehavior="enclosed" text="{{z.unidad_med.trim()}}"/>
<rtl:input-variable name="z.precio" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="precio" width="2cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{z.precio.format(&quot;###,###.##&quot;)}}"/>
<rtl:input-variable name="z.monto_fact" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="monto" width="6cm" anchorY="1" alignment="baseline" bgColor="#d3d3d3" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{z.monto_fact.format(&quot;##,###,###.##&quot;)}}"/>
</LAYOUTNODE>
</MINIPAGE>
</MINIPAGE>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
<LAYOUTNODE name="subtotal" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox100" width="17.4cm" floatingBehavior="enclosed" text="Subtotal" borderStyle="none"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.sub_total" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox101" width="3.1cm" alignment="baseline" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+x.sub_total.format(&quot;###,###,###.##&quot;)}}" roundedCorners="true" borderWidth=".9" borderStyle="solid"/>
</LAYOUTNODE>
<LAYOUTNODE name="final" width="min" length="min" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode45" width="min" length="min" alignment="near" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox109" width="17.4cm" alignment="baseline" floatingBehavior="enclosed" text="Descuento"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.desc_valor" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox110" width="3.1cm" alignment="baseline" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+x.desc_valor.format(&quot;###,###,###.##&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode46" width="min" length="min" alignment="near" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox111" width="17.4cm" floatingBehavior="enclosed" text="{{&quot;Neto S/Impuesto&quot;}}"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="neto_s_imp" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox112" width="3.1cm" alignment="baseline" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+neto_s_imp.format(&quot;###,###,###.##&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="ITBIS" width="min" length="min" alignment="near" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed" roundedCorners="false">
<WORDBOX name="WordBox160" width="17.4cm" floatingBehavior="enclosed" text="{{&quot;Itbis&quot;}}"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.itbi" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox102_1" width="3.1cm" alignment="baseline" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+x.itbi.format(&quot;###,###,###.##&quot;)}}" roundedCorners="true" borderWidth=".9" borderStyle="solid"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode43" width="min" length="min" fontSize="8" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox103" width="17.3cm" alignment="far" floatingBehavior="enclosed" text="Total" roundedCorners="true" borderWidth=".9" borderStyle="solid"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.total_fact" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox104" width="3.1cm" bgColor="#d3d3d3" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+x.total_fact.format(&quot;###,###,###.##&quot;)}}" roundedCorners="true" borderWidth=".9" borderStyle="solid"/>
</LAYOUTNODE>
<MINIPAGE name="MiniPage2" width=".1cm" bgColor="#0087cb" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox106" length="1cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="selloRD" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageSello" alignment="near" floatingBehavior="enclosed" url="{{&quot;./sello_decomarmol.png&quot;}}" intendedResolution="610"/>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="totalesmonedas" rtl:condition="x.prima_us&gt;1" y="max-5.3cm" width="min" length="min" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox148" width="4cm" length=".7cm" alignment="baseline" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="{{&quot;INFORMACION EN RD$&quot;}}"/>
<LAYOUTNODE name="LayoutNode67" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox155" width="2cm" floatingBehavior="enclosed" text="{{&quot;ITBIS:&quot;}}"/>
<rtl:input-variable name="chitbis" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox156" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{chitbis.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode68" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox157" width="2cm" floatingBehavior="enclosed" text="{{&quot;MONTO TOTAL:&quot;}}"/>
<rtl:input-variable name="chneto" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox158" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{chneto.trim()}}"/>
</LAYOUTNODE>
<WORDBOX name="WordBox159" length="1cm" floatingBehavior="enclosed"/>
</LAYOUTNODE>
</LAYOUTNODE>
<WORDBOX name="WordBoxFirmasEsp" length=".6cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="firmas" width="min" length="min" fontSize="9" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxPrep" width="2.3cm" fontBold="true" floatingBehavior="enclosed" text="Preparado por:"/>
<rtl:input-variable name="preparado_por" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBoxPrepNom" width="6cm" floatingBehavior="enclosed" textAlignment="center" text="{{preparado_por.trim()}}" borderWidth=".9" borderStyle="solid" borderTopColor="#ffffff" borderLeftColor="#ffffff" borderRightColor="#ffffff" borderBottomColor="#000000"/>
<WORDBOX name="WordBoxFirmaSep" width="1.5cm" floatingBehavior="enclosed"/>
<WORDBOX name="WordBoxRecib" width="2.2cm" fontBold="true" floatingBehavior="enclosed" text="Recibido por:"/>
<WORDBOX name="WordBoxRecibLin" width="6cm" floatingBehavior="enclosed" text=" " borderWidth=".9" borderStyle="solid" borderTopColor="#ffffff" borderLeftColor="#ffffff" borderRightColor="#ffffff" borderBottomColor="#000000"/>
</LAYOUTNODE>
<WORDBOX name="WordBoxFirmasEsp2" length=".4cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="LayoutNode69" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="observacion" type="FGLString" expectedLocation="expectedBefore"/>
<WORDWRAPBOX name="WordWrapBox7" width="width(&quot;M&quot;)*60" length="1cm" floatingBehavior="enclosed" text="{{&quot;OBSERVACIONES: &quot;+observacion.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<MINIPAGE name="MiniPage" rtl:condition="muestraQR==1" width="min" length="max" layoutDirection="leftToRight">
<rtl:input-variable name="dataqrcode" type="FGLString" expectedLocation="expectedBefore"/>
<BARCODEBOX name="BarCodeBox1" width="4cm" length="4cm" alignment="near" floatingBehavior="enclosed" codeType="qr-code" codeValue="{{dataqrcode.trim()}}"/>
</MINIPAGE>
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="LayoutNode44" rtl:condition="muestraQR==1" width="min" length="min" floatingBehavior="enclosed">
<rtl:input-variable name="xhash" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox108" floatingBehavior="enclosed" text="{{&quot;Codigo de Seguridad:&quot;+xhash.trim()}}"/>
<rtl:input-variable name="chfechafirmadigital" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox107" floatingBehavior="enclosed" text="{{&quot;Fecha de Firma Digital: &quot;+chfechafirmadigital.trim()}}"/>
</LAYOUTNODE>
<WORDBOX name="WordBox81" length=".3inch" floatingBehavior="enclosed"/>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox82" rtl:condition="x.prima_us&gt;1" floatingBehavior="enclosed" text="Pagos en RD$ a la tasa de venta del Banco Popular vigente el día del pago"/>
</LAYOUTNODE>
</MINIPAGE>
</rtl:match>
</PXML>
</rtl:stylesheet>
</report:Report>
+215
View File
@@ -0,0 +1,215 @@
<?xml version="1.0" encoding="UTF-8"?>
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="31405" version="6.00">
<report:Settings RWPageWidth="a4width" RWPageLength="a4length" RWLeftMargin="0.5cm" RWTopMargin="0.5cm" RWRightMargin="0.5cm" RWBottomMargin="0.5cm">
<report:FormatList>
<report:Format-PDF/>
<report:Format-image/>
<report:Format-SVG/>
</report:FormatList>
</report:Settings>
<report:Data RWDataLocation="../vedir/veprmt001.rdd" RWFglReportName="imp_fact"/>
<report:Conflicts>
<report:Conflict nodeName="MiniPage1" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
</report:Conflicts>
<rtl:stylesheet>
<PXML>
<rtl:match name="Report" nameConstraint="Report">
<MINIPAGE name="MiniPage1" width="max" length="min" fontName="Arial">
<LAYOUTNODE name="Layout Node7" width="min" length="min" alignment="near" swapX="true" port="firstPageHeader">
<LAYOUTNODE name="LayoutNode35" width="min" length="max" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode40" width="min" length="min" alignment="far" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="imagen" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageBox1_1_1" length="70" alignment="near" floatingBehavior="enclosed" url="{{&quot;./logo.jpg&quot;}}" intendedResolution="120"/>
</LAYOUTNODE>
<LAYOUTNODE name="infocia" width="min" length="min" anchorY="1" fontSize="12" floatingBehavior="enclosed">
<LAYOUTNODE name="ourAdress" x="0" width="min" length="min" anchorX="0" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node11" y="1.5cm" width="min" length="min">
<WORDBOX name="WordBox11_1" alignment="near" fontSize="9" baselineType="leftleft" text="{{&quot;RNC:&quot;}}"/>
<WORDBOX name="WordBox12" alignment="baseline" fontSize="9" baselineType="leftleft" text="Telefono:"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node12" y="3cm" width="min" length="min">
<rtl:input-variable name="p_companias.rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox93" alignment="baseline" fontSize="9" floatingBehavior="enclosed" text="{{p_companias.rnc}}"/>
<rtl:input-variable name="p_companias.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox15" alignment="baseline" fontSize="9" baselineType="leftleft" text="{{p_companias.telefono}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="NCF" x="20" y="280" width="282" length="min" alignment="near" floatingBehavior="enclosed">
<rtl:input-variable name="descripcion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox31_1" width="max" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" textAlignment="right" text="{{descripcion.trim()}}"/>
<rtl:input-variable name="ch_ncf" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox73_1" width="max" alignment="baseline" fontSize="12" baselineType="leftleft" textAlignment="right" text="{{ch_ncf.trim()}}"/>
<rtl:input-variable name="ncffechaVencimiento" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="ch_fecha" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="ch_fecha Value" rtl:condition="ncffechaVencimiento==1" width="max" alignment="near" floatingBehavior="enclosed" textAlignment="right" text="{{&quot;Vencimiento Secuencia: &quot;+ch_fecha}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<WORDBOX name="WordBox94" floatingBehavior="enclosed"/>
<MINIPAGE name="StripeLayouter13" width="min" layoutDirection="leftToRight">
<LAYOUTNODE name="customerAddress" x="0cm" width="min" length="min" anchorY="1" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node14" width=".2cm" length="min" swapX="true"/>
<LAYOUTNODE name="Layout Node15" width="min" length="min" alignment="near" fontSize="9">
<LAYOUTNODE name="Layout Node16" width="0.2cm" length="1" layoutDirection="leftToRight"/>
<LAYOUTNODE name="Layout Node17" width="min" length="min" fontSize="10" fontItalic="true" layoutDirection="leftToRight">
<WORDBOX name="WordBox18" alignment="baseline" baselineType="leftleft" text="Codigo Cliente: "/>
<rtl:input-variable name="x.tipo_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.sec_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox19" alignment="near" baselineType="leftleft" text="{{x.tipo_cliente.format(&quot;&lt;&lt;&lt;&quot;)+&quot;-&quot;+x.sec_cliente.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node19" width="min" length="min" layoutDirection="leftToRight">
<rtl:input-variable name="x.nombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox20" alignment="baseline" baselineType="leftleft" text="{{&quot;Cliente: &quot;+x.nombre.trim()}}"/>
<WORDBOX name="WordBox21" alignment="baseline" baselineType="leftleft" text=" "/>
</LAYOUTNODE>
<rtl:input-variable name="x.direccion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox" rtl:condition="x.direccion.length()&gt;0" width="width(&quot;M&quot;)*22" alignment="baseline" floatingBehavior="enclosed" text="{{x.direccion.trim()}}"/>
<rtl:input-variable name="cliente_bas.telex" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox24" alignment="near" baselineType="leftleft" text="{{&quot;Celular: &quot;+cliente_bas.telex.trim()}}"/>
<rtl:input-variable name="cliente_bas.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox78_1" width="2cm" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;Telefono: &quot;+cliente_bas.telefono.trim()}}"/>
<LAYOUTNODE name="Layout Node33" width="min" length="min">
<rtl:input-variable name="rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox64" alignment="baseline" fontSize="10" baselineType="leftleft" text="{{&quot;RNC o CEDULA: &quot;+rnc.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node20" width="min" length="min" layoutDirection="leftToRight">
<rtl:input-variable name="x.nombre_vend" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox25" alignment="baseline" baselineType="leftleft" text="{{&quot;Vendedor: &quot;+x.nombre_vend.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="nofactura" y="290" width="min" length="min" fontSize="12" floatingBehavior="enclosed">
<rtl:input-variable name="x.factura" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox34_1" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{&quot;Factura No.: &quot;+x.factura.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
<rtl:input-variable name="condicion.descrip" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox74_2" alignment="baseline" baselineType="leftleft" text="{{&quot;Condiciones: &quot;+condicion.descrip.toLowerCase()}}"/>
<rtl:input-variable name="x.fecha_factura" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox32_1" alignment="baseline" baselineType="leftleft" text="{{&quot;Fecha Factura: &quot;+x.fecha_factura.value}}"/>
<rtl:input-variable name="x.orden" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox36_1" alignment="baseline" baselineType="leftleft" text="{{&quot;Orden: &quot;+x.orden.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
<rtl:input-variable name="x.conduce" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox" floatingBehavior="enclosed" text="{{&quot;Conduce: &quot;+x.conduce.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
<rtl:input-variable name="pcotizacion" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox96" floatingBehavior="enclosed" text="{{&quot;Cotizacion: &quot;+pcotizacion.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
</MINIPAGE>
<MINIPAGE name="StripeLayouter17" width=".2cm" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox95" x="10cm" length="2cm" floatingBehavior="enclosed" text=""/>
<MINIPAGE name="StripeLayouter18" width=".1cm" bgColor="#cc" layoutDirection="leftToRight"/>
<MINIPAGE name="StripeLayouter19" width="min" length="max" bgColor="#cccccc" fontBold="true" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node25" width="min" length=".3cm" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox39" alignment="baseline" baselineType="leftleft" textAlignment="right" text="Codigo"/>
<WORDBOX name="WordBox58" width="45" alignment="baseline" baselineType="leftleft" text=""/>
<WORDWRAPBOX name="WordWrapBox1" width="5.8cm" alignment="baseline" baselineType="leftleft" floatingBehavior="free" text="Descripcion"/>
<WORDBOX name="WordBox40" width="max(width(&quot;000&quot;),width(&quot;Cantidad&quot;))" alignment="baseline" baselineType="leftleft" textAlignment="right" text="Cantidad"/>
<WORDBOX name="WordBox41" width="2cm" alignment="baseline" baselineType="rightright" textAlignment="right" text="Precio"/>
<WORDBOX name="WordBox44" y="max-.8cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" text="Total"/>
</MINIPAGE>
<MINIPAGE name="StripeLayouter20" width=".1cm" bgColor="#cc" layoutDirection="leftToRight"/>
<MINIPAGE name="StripeLayouter21" width=".2cm" layoutDirection="leftToRight"/>
</LAYOUTNODE>
<rtl:match name="Group factura" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group area" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_n" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_grupo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_tipo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_sec" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="PAGINADETALLE" width="max" length="max(rest,4cm)" lengthAdjustment="shrinkToChildren" swapX="true" hidePageFooterOnLastPage="true">
<MINIPAGE name="DETALLEFACTURA" width="min" length="max" layoutDirection="leftToRight">
<LAYOUTNODE name="LayoutNode31" width="min" length="max" fontSize="8" layoutDirection="leftToRight">
<rtl:input-variable name="z.cod_n" type="FGLNumeric" expectedLocation="expectedHere"/>
<rtl:input-variable name="z.cod_grupo" type="FGLNumeric" expectedLocation="expectedHere"/>
<rtl:input-variable name="z.cod_tipo" type="FGLNumeric" expectedLocation="expectedHere"/>
<rtl:input-variable name="z.cod_sec" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox63" y=".4cm" width="1.5cm" alignment="baseline" baselineType="rightleft" textAlignment="right" text="{{z.cod_n.format(&quot;&lt;&lt;&quot;)+&quot;-&quot;+z.cod_grupo.format(&quot;&lt;&lt;&quot;)+&quot;-&quot;+z.cod_tipo.format(&quot;&lt;&lt;&lt;&quot;)+&quot;-&quot;+z.cod_sec.format(&quot;&lt;&lt;&lt;&quot;)}}"/>
<rtl:input-variable name="z.descrip_esp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox3" y="2.8cm" width="6cm" alignment="baseline" baselineType="rightleft" text="{{z.descrip_esp.trim()}}"/>
<rtl:input-variable name="z.cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="cantidad" y="9.8cm" width="1cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{z.cantidad.format(&quot;###,###.####&quot;)}}"/>
<rtl:input-variable name="z.precio" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="precio" y="11.9cm" width="1cm" length="16" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{z.precio.format(&quot;###,###.##&quot;)}}"/>
<rtl:input-variable name="z.monto_fact" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="monto" y="20cm" width="2cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" text="{{z.monto_fact.format(&quot;###,###.##&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LINEA" width="0.5point" length="max" bgColor="#cc" layoutDirection="leftToRight"/>
</MINIPAGE>
</MINIPAGE>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
<MINIPAGE name="ESPACIO DETALLE" width="min" length="max" layoutDirection="leftToRight">
<WORDBOX name="WordBox75_1" alignment="baseline" baselineType="leftleft"/>
</MINIPAGE>
<MINIPAGE name="SUBTOTAL" width="min" length="max" fontBold="true" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node40" y="max-1cm" width="min" length="min" anchorY="1" layoutDirection="rightToLeft" swapX="true" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.sub_total" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox77" width="3.3cm" alignment="baseline" baselineType="leftright" textAlignment="right" text="{{(x.prima_us&gt;1?&quot;USD$ &quot;:&quot;RD$ &quot;)+x.sub_total.format(&quot;###,###,###.##&quot;)}}"/>
<WORDBOX name="WordBox74_1" width="1.5cm" alignment="baseline" baselineType="leftleft" text=""/>
<WORDBOX name="WordBox76_1" width="3.3cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="SubTotal:"/>
</LAYOUTNODE>
</MINIPAGE>
<MINIPAGE name="DESCUENTO" width="min" length="max" fontBold="true" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node40_1" y="max-1cm" width="min" length="min" anchorY="1" layoutDirection="rightToLeft" swapX="true" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.desc_valor" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox77_1" width="3.3cm" alignment="baseline" baselineType="leftright" textAlignment="right" text="{{(x.prima_us&gt;1?&quot;USD$ &quot;:&quot;RD$ &quot;)+x.desc_valor.format(&quot;###,###,###.##&quot;)}}"/>
<WORDBOX name="WordBox75_2" width="1.5cm" alignment="baseline" baselineType="leftleft" text=""/>
<WORDBOX name="WordBox76_2" width="3.3cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="Descuento:"/>
</LAYOUTNODE>
</MINIPAGE>
<MINIPAGE name="ITBIS" width="min" length="max" fontBold="true" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node40_2" y="max-1cm" width="min" length="min" anchorY="1" layoutDirection="rightToLeft" swapX="true" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.itbi" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox77_2" width="3.3cm" alignment="baseline" baselineType="leftright" textAlignment="right" text="{{(x.prima_us&gt;1?&quot;USD$ &quot;:&quot;RD$ &quot;)+x.itbi.format(&quot;###,###,###.##&quot;)}}"/>
<WORDBOX name="WordBox76_3" width="1.5cm" alignment="baseline" baselineType="leftleft" text=""/>
<WORDBOX name="WordBox76_4" width="3.3cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="Itbis:"/>
</LAYOUTNODE>
</MINIPAGE>
<MINIPAGE name="TOTAL" width="min" length="max" fontBold="true" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node40_6" y="max-1cm" width="min" length="min" anchorY="1" layoutDirection="rightToLeft" swapX="true" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.total_fact" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox77_7" width="3.3cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{(x.prima_us&gt;1?&quot;USD$ &quot;:&quot;RD$ &quot;)+x.total_fact.format(&quot;###,###,###.##&quot;)}}"/>
<WORDBOX name="WordBox80" width="1.5cm" alignment="baseline" baselineType="leftleft" text=""/>
<WORDBOX name="WordBox76_8" width="3.3cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="Total factura:"/>
</LAYOUTNODE>
</MINIPAGE>
<MINIPAGE name="MiniPage" width="min" length="1cm"/>
<LAYOUTNODE name="ESPACIOOBS" width="min" length="min">
<MINIPAGE name="StripeLayouter18_1" width=".1cm" length="4.3cm" alignment="none" bgColor="#cc" layoutDirection="swapped"/>
<WORDBOX name="WordBox107_1" width="4cm" length="2cm" floatingBehavior="enclosed" text="{{&quot;FACTURADO POR &quot;}}"/>
<WORDBOX name="WordBox107_2" x="5cm" y="0.1cm" width="4cm" length="2cm" floatingBehavior="enclosed" text="{{&quot;RECIBIDO POR &quot;}}"/>
<LAYOUTNODE name="LayoutNode" x="5cm" y="0.01cm" width="0.1cm" length="4.3cm" bgColor="#0000cc" layoutDirection="leftToRight" floatingBehavior="enclosed"/>
</LAYOUTNODE>
<LAYOUTNODE name="OBSERVACIONES" width="min" length="min">
<rtl:input-variable name="observacion" type="FGLString" expectedLocation="expectedBefore"/>
<WORDWRAPBOX name="WordWrapBox3_1" width="width(&quot;M&quot;)*50" alignment="baseline" baselineType="leftleft" text="{{observacion.trim()}}"/>
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<MINIPAGE name="MiniPage2" rtl:condition="muestraQR==1" width="min" length="max" layoutDirection="leftToRight">
<rtl:input-variable name="dataqrcode" type="FGLString" expectedLocation="expectedBefore"/>
<BARCODEBOX name="BarCodeBox1" width="4cm" length="4cm" alignment="near" floatingBehavior="enclosed" codeType="qr-code" codeValue="{{dataqrcode.trim()}}"/>
</MINIPAGE>
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="LayoutNode44_1" rtl:condition="muestraQR==1" width="min" length="min" floatingBehavior="enclosed">
<rtl:input-variable name="xhash" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox108" floatingBehavior="enclosed" text="{{&quot;Codigo de Seguridad:&quot;+xhash.trim()}}"/>
<rtl:input-variable name="chfechafirmadigital" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox107" floatingBehavior="enclosed" text="{{&quot;Fecha de Firma Digital: &quot;+chfechafirmadigital.trim()}}"/>
</LAYOUTNODE>
<WORDBOX name="WordBox81" length=".3inch" floatingBehavior="enclosed"/>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox82" rtl:condition="x.prima_us&gt;1" floatingBehavior="enclosed" text="Realizar el pago con la tasa del día"/>
</LAYOUTNODE>
</MINIPAGE>
</rtl:match>
</PXML>
</rtl:stylesheet>
</report:Report>
@@ -0,0 +1,262 @@
<?xml version="1.0" encoding="UTF-8"?>
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="31405" version="6.00">
<report:Settings RWPageWidth="letterwidth" RWPageLength="letterlength" RWLeftMargin="0.5cm" RWTopMargin="0.5cm" RWRightMargin="0.5cm" RWBottomMargin="0.5cm">
<report:FormatList>
<report:Format-PDF/>
<report:Format-image/>
<report:Format-SVG/>
</report:FormatList>
</report:Settings>
<report:Data RWDataLocation="../vedir/veprmt001.rdd" RWFglReportName="imp_fact"/>
<report:Conflicts>
<report:Conflict nodeName="MiniPage1" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="subtotal" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="final" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
</report:Conflicts>
<rtl:stylesheet>
<PXML>
<rtl:match name="Report" nameConstraint="Report">
<MINIPAGE name="MiniPage1" width="max" length="min" fontName="Arial">
<LAYOUTNODE name="Layout Node7" width="min" length="min" alignment="near" swapX="true" port="firstPageHeader">
<LAYOUTNODE name="Encabezado" width="min" length="max" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode40" width="min" length="min" alignment="far" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="imagen" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageBox1_1_1" length="70" alignment="near" floatingBehavior="enclosed" url="{{&quot;./logo.jpg&quot;}}" intendedResolution="120"/>
</LAYOUTNODE>
<LAYOUTNODE name="infocia" width="min" length="min" anchorY="1" fontSize="12" floatingBehavior="enclosed">
<rtl:input-variable name="sucnombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox9" fontSize="10" alignment="near" fontBold="true" baselineType="leftleft" text="{{sucnombre.trim()}}"/>
<rtl:input-variable name="direccion_sucursal" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox5" width="width(&quot;M&quot;)*33" fontSize="9" floatingBehavior="enclosed" text="{{direccion_sucursal.trim()}}"/>
<LAYOUTNODE name="ourAdress" x="0" width="min" length="min" anchorX="0" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node11" width="min" length="min">
<WORDBOX name="WordBox11_1" alignment="near" fontSize="9" baselineType="leftleft" text="{{&quot;RNC:&quot;}}"/>
<WORDBOX name="WordBox12" alignment="baseline" fontSize="9" baselineType="leftleft" text="Telefono:"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node12" width="min" length="min">
<rtl:input-variable name="p_companias.rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox93" alignment="baseline" fontSize="9" floatingBehavior="enclosed" text="{{p_companias.rnc}}"/>
<rtl:input-variable name="p_companias.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox15" alignment="baseline" fontSize="9" baselineType="leftleft" text="{{p_companias.telefono}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="x.fecha_factura" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox32_1_1" alignment="baseline" baselineType="leftleft" text="{{&quot;Fecha Emision: &quot;+x.fecha_factura.value}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="NCF" x="20" y="290" width="282.6" length="min" alignment="near" floatingBehavior="enclosed">
<rtl:input-variable name="descripcion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox31_1" width="max" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" textAlignment="right" text="{{descripcion.trim()}}"/>
<rtl:input-variable name="ch_ncf" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox73_1" width="max" alignment="baseline" fontSize="12" baselineType="leftleft" textAlignment="right" text="{{ch_ncf.trim()}}"/>
<rtl:input-variable name="ncffechaVencimiento" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="ch_fecha" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="ch_fecha Value" rtl:condition="ncffechaVencimiento==1" width="max" alignment="near" floatingBehavior="enclosed" textAlignment="right" text="{{&quot;Vencimiento Secuencia: &quot;+ch_fecha}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<MINIPAGE name="razonsolcial" width="min" length="max" alignment="far" layoutDirection="leftToRight" roundedCorners="true" borderWidth="1" borderStyle="solid" borderTopColor="#0087cb" borderRightColor="#ffffff" borderBottomColor="#0087cb" borderLeftColor="#ffffff">
<LAYOUTNODE name="customerAddress" x="0.5cm" width="min" length="min" anchorY="1" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node15" width="min" length="min" alignment="near" fontSize="9">
<LAYOUTNODE name="codcliente" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxCodCli" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Código Cliente:"/>
<rtl:input-variable name="x.tipo_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.sec_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBoxCodCliV" floatingBehavior="enclosed" text="{{x.tipo_cliente.format(&quot;&lt;&lt;&quot;)+&quot;-&quot;+x.sec_cliente.format(&quot;&lt;&lt;&lt;&lt;&lt;&lt;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node17" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox18" width="2.4cm" alignment="baseline" fontBold="true" baselineType="leftleft" text="Cliente:"/>
<rtl:input-variable name="x.tipo_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.sec_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.nombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox19" alignment="near" baselineType="leftleft" text="{{x.nombre.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node33" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox64" width="2.4cm" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{&quot;RNC/Cédula: &quot;}}"/>
<rtl:input-variable name="rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox105" floatingBehavior="enclosed" text="{{rnc.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="direccion" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox125" width="2.4cm" alignment="near" fontBold="true" floatingBehavior="enclosed" text="{{&quot;Dirección: &quot;}}"/>
<rtl:input-variable name="x.direccion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox6" width="6.5cm" floatingBehavior="enclosed" text="{{x.direccion}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="telefonoemail" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox126" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Teléfono:"/>
<rtl:input-variable name="cliente_bas.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox123" width="2.3cm" floatingBehavior="enclosed" text="{{cliente_bas.telefono}}"/>
<rtl:input-variable name="cemail" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox127" width="4cm" floatingBehavior="enclosed" text="{{&quot; Email:&quot;+cemail.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="representante" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox128" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Vendedor:"/>
<rtl:input-variable name="x.nombre_vend" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox124" width="4cm" floatingBehavior="enclosed" text="{{x.nombre_vend.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedAhead"/>
<LAYOUTNODE name="LayoutNode52" rtl:condition="x.prima_us&gt;1" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox121" floatingBehavior="enclosed" text="{{&quot;Tasa: &quot;+x.prima_us.format(&quot;##,##&amp;.&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="datosfactura" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode53" x="14.1732" width="278.239" length="min" alignment="baseline" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode55" x="120" width="min" length="min" fontSize="12" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox129" width="3cm" floatingBehavior="enclosed" text="Factura No.:"/>
<rtl:input-variable name="x.factura" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox130" width="2cm" alignment="far" floatingBehavior="enclosed" text="{{x.factura.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode56" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox131" width="3cm" alignment="far" floatingBehavior="enclosed" text="Cotizacion No.:"/>
<rtl:input-variable name="pcotizacion" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox132" floatingBehavior="enclosed" text="{{pcotizacion.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNodeConduce" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxConduce" width="3cm" alignment="far" floatingBehavior="enclosed" text="Conduce No.:"/>
<rtl:input-variable name="x.conduce" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBoxConduceV" floatingBehavior="enclosed" text="{{x.conduce.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode57" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox133" width="3cm" floatingBehavior="enclosed" text="Orden No.:"/>
<rtl:input-variable name="x.orden" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox134" floatingBehavior="enclosed" text="{{x.orden.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode58" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="condicion.descrip" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox135" width="4cm" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;Condicion Cobros: &quot;+condicion.descrip.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
</MINIPAGE>
<LAYOUTNODE name="LayoutNode41" width="15" length="min" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox" alignment="baseline" floatingBehavior="enclosed"/>
</LAYOUTNODE>
<MINIPAGE name="StripeLayouter19" width="min" length="max" bgColor="#e5e5e5" fontBold="true" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<WORDBOX name="WordBox40" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="Cantidad"/>
<WORDWRAPBOX name="WordWrapBox1" textAlignment="center" width="7.5cm" alignment="baseline" baselineType="leftleft" floatingBehavior="free" text="Descripción"/>
<WORDWRAPBOX name="WordWrapBox" width="2.5cm" alignment="baseline" floatingBehavior="enclosed" text="Unidad de Medida" textAlignment="center"/>
<WORDBOX name="WordBox41" width="2.5cm" alignment="baseline" baselineType="rightright" textAlignment="center" text="Precio"/>
<WORDBOX name="WordBox98_1" width="4.4cm" floatingBehavior="enclosed" textAlignment="right" text="Total"/>
</MINIPAGE>
<MINIPAGE name="StripeLayouter21" width=".2cm" layoutDirection="leftToRight"/>
</LAYOUTNODE>
<rtl:match name="Group factura" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group area" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_n" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_grupo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_tipo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_sec" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="PAGINADETALLE" width="max" lengthAdjustment="shrinkToChildren" swapX="true" hidePageFooterOnLastPage="true" roundedCorners="true" borderWidth=".08" borderStyle="solid">
<MINIPAGE name="DETALLEFACTURA" width="min" length="max" layoutDirection="leftToRight">
<LAYOUTNODE name="LayoutNode31" width="min" length="max" fontSize="8" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<rtl:input-variable name="z.cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="cantidad" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="{{z.cantidad.format(&quot;###,##&amp;.##&quot;)}}"/>
<rtl:input-variable name="z.descrip_esp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox3" width="7.5cm" alignment="baseline" baselineType="leftleft" text="{{z.descrip_esp.trim()}}"/>
<rtl:input-variable name="z.unidad_med" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox97" textAlignment="center" width="2.5cm" alignment="baseline" floatingBehavior="enclosed" text="{{z.unidad_med.trim()}}"/>
<rtl:input-variable name="z.precio" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="precio" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="{{z.precio.format(&quot;###,###.##&quot;)}}"/>
<rtl:input-variable name="z.monto_fact" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="monto" width="4.5cm" anchorY="1" alignment="baseline" bgColor="#d3d3d3" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{z.monto_fact.format(&quot;##,###,###.##&quot;)}}"/>
</LAYOUTNODE>
</MINIPAGE>
</MINIPAGE>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
<LAYOUTNODE name="final" width="min" length="min" layoutDirection="topToBottom" floatingBehavior="enclosed">
<MINIPAGE name="MiniPage2" width=".1cm" bgColor="#0087cb" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox106" length="1cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="selloRD" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageSello" alignment="near" floatingBehavior="enclosed" url="{{&quot;./sello_decomarmol.png&quot;}}" intendedResolution="610"/>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="totalesmonedas" rtl:condition="x.prima_us&gt;1" y="7.3cm" width="min" length="min" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox148" width="4cm" length=".7cm" alignment="baseline" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="{{&quot;INFORMACION EN RD$&quot;}}"/>
<LAYOUTNODE name="LayoutNode67" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox155" width="2cm" floatingBehavior="enclosed" text="{{&quot;ITBIS:&quot;}}"/>
<rtl:input-variable name="chitbis" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox156" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{chitbis.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode68" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox157" width="2cm" floatingBehavior="enclosed" text="{{&quot;MONTO TOTAL:&quot;}}"/>
<rtl:input-variable name="chneto" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox158" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{chneto.trim()}}"/>
</LAYOUTNODE>
<WORDBOX name="WordBox159" length="1cm" floatingBehavior="enclosed"/>
</LAYOUTNODE>
<LAYOUTNODE name="totales" y="max-5.9cm" width="min" length="min" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<LAYOUTNODE name="totSub" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totSubL" width="2.5cm" floatingBehavior="enclosed" text="Subtotal:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.sub_total" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totSubV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.sub_total.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totDesc" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totDescL" width="2.5cm" floatingBehavior="enclosed" text="Descuento:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.desc_valor" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totDescV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.desc_valor.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totNeto" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totNetoL" width="2.5cm" floatingBehavior="enclosed" text="Neto S/Imp.:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="neto_s_imp" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totNetoV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+neto_s_imp.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totItbis" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totItbisL" width="2.5cm" floatingBehavior="enclosed" text="ITBIS:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.itbi" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totItbisV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.itbi.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totTotal" width="min" length="min" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totTotalL" width="2.5cm" floatingBehavior="enclosed" text="Total:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.total_fact" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totTotalV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.total_fact.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<WORDBOX name="WordBoxFirmasEsp" length=".6cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="firmas" width="min" length="min" fontSize="9" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxPrep" width="2.3cm" fontBold="true" floatingBehavior="enclosed" text="Preparado por:"/>
<rtl:input-variable name="preparado_por" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBoxPrepNom" width="6cm" floatingBehavior="enclosed" textAlignment="center" text="{{preparado_por.trim()}}" borderWidth=".9" borderStyle="solid" borderTopColor="#ffffff" borderLeftColor="#ffffff" borderRightColor="#ffffff" borderBottomColor="#000000"/>
<WORDBOX name="WordBoxFirmaSep" width="1.5cm" floatingBehavior="enclosed"/>
<WORDBOX name="WordBoxRecib" width="2.2cm" fontBold="true" floatingBehavior="enclosed" text="Recibido por:"/>
<WORDBOX name="WordBoxRecibLin" width="6cm" floatingBehavior="enclosed" text=" " borderWidth=".9" borderStyle="solid" borderTopColor="#ffffff" borderLeftColor="#ffffff" borderRightColor="#ffffff" borderBottomColor="#000000"/>
</LAYOUTNODE>
<WORDBOX name="WordBoxFirmasEsp2" length=".4cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="LayoutNode69" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="observacion" type="FGLString" expectedLocation="expectedBefore"/>
<WORDWRAPBOX name="WordWrapBox7" width="width(&quot;M&quot;)*60" length="1cm" floatingBehavior="enclosed" text="{{&quot;OBSERVACIONES: &quot;+observacion.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<MINIPAGE name="MiniPage" rtl:condition="muestraQR==1" width="min" length="max" layoutDirection="leftToRight">
<rtl:input-variable name="dataqrcode" type="FGLString" expectedLocation="expectedBefore"/>
<BARCODEBOX name="BarCodeBox1" width="4cm" length="4cm" alignment="near" floatingBehavior="enclosed" codeType="qr-code" codeValue="{{dataqrcode.trim()}}"/>
</MINIPAGE>
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="LayoutNode44" rtl:condition="muestraQR==1" width="min" length="min" floatingBehavior="enclosed">
<rtl:input-variable name="xhash" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox108" floatingBehavior="enclosed" text="{{&quot;Codigo de Seguridad:&quot;+xhash.trim()}}"/>
<rtl:input-variable name="chfechafirmadigital" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox107" floatingBehavior="enclosed" text="{{&quot;Fecha de Firma Digital: &quot;+chfechafirmadigital.trim()}}"/>
</LAYOUTNODE>
<WORDBOX name="WordBox81" length=".3inch" floatingBehavior="enclosed"/>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox82" rtl:condition="x.prima_us&gt;1" floatingBehavior="enclosed" text="Pagos en RD$ a la tasa de venta del Banco Popular vigente el día del pago"/>
</LAYOUTNODE>
</MINIPAGE>
</rtl:match>
</PXML>
</rtl:stylesheet>
</report:Report>
@@ -0,0 +1,277 @@
<?xml version="1.0" encoding="UTF-8"?>
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="31405" version="6.00">
<report:Settings RWPageWidth="letterwidth" RWPageLength="letterlength" RWLeftMargin="0.5cm" RWTopMargin="0.5cm" RWRightMargin="0.5cm" RWBottomMargin="0.5cm">
<report:FormatList>
<report:Format-PDF/>
<report:Format-image/>
<report:Format-SVG/>
</report:FormatList>
</report:Settings>
<report:Data RWDataLocation="../vedir/veprmt001.rdd" RWFglReportName="imp_fact"/>
<report:Conflicts>
<report:Conflict nodeName="MiniPage1" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="subtotal" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="final" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
</report:Conflicts>
<rtl:stylesheet>
<PXML>
<rtl:match name="Report" nameConstraint="Report">
<MINIPAGE name="MiniPage1" width="max" length="min" fontName="Arial">
<LAYOUTNODE name="Layout Node7" width="min" length="min" alignment="near" swapX="true" port="firstPageHeader">
<LAYOUTNODE name="Encabezado" width="min" length="max" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode40" width="min" length="min" alignment="far" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="imagen" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageBox1_1_1" length="70" alignment="near" floatingBehavior="enclosed" url="{{&quot;./logo.jpg&quot;}}" intendedResolution="120"/>
</LAYOUTNODE>
<LAYOUTNODE name="infocia" width="min" length="min" anchorY="1" fontSize="12" floatingBehavior="enclosed">
<rtl:input-variable name="sucnombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox9" fontSize="9" alignment="near" fontBold="true" baselineType="leftleft" text="{{sucnombre.trim()}}"/>
<rtl:input-variable name="direccion_sucursal" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox5" width="width(&quot;M&quot;)*33" fontSize="9" floatingBehavior="enclosed" text="{{direccion_sucursal.trim()}}"/>
<rtl:input-variable name="p_companias.direccion1" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBoxDir1" width="width(&quot;M&quot;)*33" fontSize="9" floatingBehavior="enclosed" text="{{p_companias.direccion1.trim()}}"/>
<LAYOUTNODE name="ourAdress" x="0" width="min" length="min" anchorX="0" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node11" width="min" length="min">
<WORDBOX name="WordBox11_1" alignment="near" fontSize="9" baselineType="leftleft" text="{{&quot;RNC:&quot;}}"/>
<WORDBOX name="WordBox12" alignment="baseline" fontSize="9" baselineType="leftleft" text="Telefono:"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node12" width="min" length="min">
<rtl:input-variable name="p_companias.rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox93" alignment="baseline" fontSize="9" floatingBehavior="enclosed" text="{{p_companias.rnc}}"/>
<rtl:input-variable name="p_companias.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox15" alignment="baseline" fontSize="9" baselineType="leftleft" text="{{p_companias.telefono}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="NCF" x="20" y="290" width="282.6" length="min" alignment="near" floatingBehavior="enclosed">
<rtl:input-variable name="descripcion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox31_1" width="max" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" textAlignment="right" text="{{descripcion.trim()}}"/>
<rtl:input-variable name="ch_ncf" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox73_1" width="max" alignment="baseline" fontSize="12" baselineType="leftleft" textAlignment="right" text="{{ch_ncf.trim()}}"/>
<rtl:input-variable name="ncffechaVencimiento" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="ch_fecha" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="ch_fecha Value" rtl:condition="ncffechaVencimiento==1" width="max" alignment="near" floatingBehavior="enclosed" textAlignment="right" text="{{&quot;Vencimiento Secuencia: &quot;+ch_fecha}}"/>
<WORDBOX name="WordBoxFechaEsp" length="1.6cm" floatingBehavior="enclosed"/>
<WORDBOX name="WordBoxFechaEsp32" rtl:condition="ncffechaVencimiento!=1" length=".5cm" floatingBehavior="enclosed"/>
<rtl:input-variable name="x.fecha_factura" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox32_1_1" width="max" alignment="baseline" fontSize="12" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{&quot;Fecha Emisión: &quot;+x.fecha_factura.value}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<MINIPAGE name="razonsolcial" width="min" length="max" alignment="far" layoutDirection="leftToRight" roundedCorners="true" borderWidth="1" borderStyle="solid" borderTopColor="#0087cb" borderRightColor="#ffffff" borderBottomColor="#0087cb" borderLeftColor="#ffffff">
<LAYOUTNODE name="customerAddress" x="0.5cm" width="min" length="min" anchorY="1" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node15" width="min" length="min" alignment="near" fontSize="9">
<LAYOUTNODE name="codcliente" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxCodCli" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Código Cliente:"/>
<rtl:input-variable name="x.tipo_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.sec_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBoxCodCliV" floatingBehavior="enclosed" text="{{x.tipo_cliente.format(&quot;&lt;&lt;&quot;)+&quot;-&quot;+x.sec_cliente.format(&quot;&lt;&lt;&lt;&lt;&lt;&lt;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node17" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox18" width="2.4cm" alignment="baseline" fontBold="true" baselineType="leftleft" text="Cliente:"/>
<rtl:input-variable name="x.tipo_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.sec_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.nombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox19" alignment="near" baselineType="leftleft" text="{{x.nombre.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node33" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox64" width="2.4cm" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{&quot;RNC/Cédula: &quot;}}"/>
<rtl:input-variable name="rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox105" floatingBehavior="enclosed" text="{{rnc.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="direccion" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox125" width="2.4cm" alignment="near" fontBold="true" floatingBehavior="enclosed" text="{{&quot;Dirección: &quot;}}"/>
<rtl:input-variable name="x.direccion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox6" width="6.5cm" floatingBehavior="enclosed" text="{{x.direccion}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="telefonoemail" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox126" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Teléfono:"/>
<rtl:input-variable name="cliente_bas.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox123" width="2.3cm" floatingBehavior="enclosed" text="{{cliente_bas.telefono}}"/>
<rtl:input-variable name="cemail" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox127" width="4cm" floatingBehavior="enclosed" text="{{&quot; Email:&quot;+cemail.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="representante" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox128" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Vendedor:"/>
<rtl:input-variable name="x.nombre_vend" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox124" width="4cm" floatingBehavior="enclosed" text="{{x.nombre_vend.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedAhead"/>
<LAYOUTNODE name="LayoutNode52" rtl:condition="x.prima_us&gt;1" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox121" floatingBehavior="enclosed" text="{{&quot;Tasa: &quot;+x.prima_us.format(&quot;##,##&amp;.&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="datosfactura" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode53" x="14.1732" width="278.239" length="min" alignment="baseline" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode55" x="120" width="min" length="min" fontSize="12" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox129" width="3cm" floatingBehavior="enclosed" text="Factura No.:"/>
<rtl:input-variable name="x.factura" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox130" width="2cm" alignment="far" floatingBehavior="enclosed" text="{{x.factura.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode56" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox131" width="3cm" alignment="far" floatingBehavior="enclosed" text="Cotizacion No.:"/>
<rtl:input-variable name="pcotizacion" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox132" floatingBehavior="enclosed" text="{{pcotizacion.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNodeConduce" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxConduce" width="3cm" alignment="far" floatingBehavior="enclosed" text="Conduce No.:"/>
<rtl:input-variable name="x.conduce" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBoxConduceV" floatingBehavior="enclosed" text="{{x.conduce.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode57" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox133" width="3cm" floatingBehavior="enclosed" text="Orden No.:"/>
<rtl:input-variable name="x.orden" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox134" floatingBehavior="enclosed" text="{{x.orden.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode58" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="condicion.descrip" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox135" width="4cm" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;Condicion Cobros: &quot;+condicion.descrip.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
</MINIPAGE>
<LAYOUTNODE name="LayoutNode41" width="15" length="min" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox" alignment="baseline" floatingBehavior="enclosed"/>
</LAYOUTNODE>
<MINIPAGE name="StripeLayouter19" width="min" length="max" bgColor="#e5e5e5" fontBold="true" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<WORDBOX name="WordBox40" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="Cantidad"/>
<WORDWRAPBOX name="WordWrapBox1" textAlignment="center" width="7.5cm" alignment="baseline" baselineType="leftleft" floatingBehavior="free" text="Descripción"/>
<WORDWRAPBOX name="WordWrapBox" width="2.5cm" alignment="baseline" floatingBehavior="enclosed" text="Unidad de Medida" textAlignment="center"/>
<WORDBOX name="WordBox41" width="2.5cm" alignment="baseline" baselineType="rightright" textAlignment="center" text="Precio"/>
<WORDBOX name="WordBox98_1" width="4.4cm" floatingBehavior="enclosed" textAlignment="right" text="Total"/>
</MINIPAGE>
<MINIPAGE name="StripeLayouter21" width=".2cm" layoutDirection="leftToRight"/>
</LAYOUTNODE>
<rtl:match name="Group factura" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group area" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_n" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_grupo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_tipo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_sec" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="PAGINADETALLE" width="max" lengthAdjustment="shrinkToChildren" swapX="true" hidePageFooterOnLastPage="true" roundedCorners="true" borderWidth=".08" borderStyle="solid">
<MINIPAGE name="DETALLEFACTURA" width="min" length="max" layoutDirection="leftToRight">
<LAYOUTNODE name="LayoutNode31" width="min" length="max" fontSize="8" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<rtl:input-variable name="z.cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="cantidad" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="{{z.cantidad.format(&quot;###,##&amp;.##&quot;)}}"/>
<rtl:input-variable name="z.descrip_esp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox3" width="7.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="{{z.descrip_esp.trim()}}"/>
<rtl:input-variable name="z.unidad_med" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox97" textAlignment="center" width="2.5cm" alignment="baseline" floatingBehavior="enclosed" text="{{z.unidad_med.trim()}}"/>
<rtl:input-variable name="z.precio" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="precio" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="{{z.precio.format(&quot;###,###.##&quot;)}}"/>
<rtl:input-variable name="z.monto_fact" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="monto" width="4.5cm" anchorY="1" alignment="baseline" bgColor="#d3d3d3" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{z.monto_fact.format(&quot;##,###,###.##&quot;)}}"/>
</LAYOUTNODE>
</MINIPAGE>
</MINIPAGE>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
<LAYOUTNODE name="final" width="min" length="min" layoutDirection="topToBottom" floatingBehavior="enclosed">
<MINIPAGE name="MiniPage2" width=".1cm" bgColor="#0087cb" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox106" length="1cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="selloRD" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="totales" y="max-5.9cm" width="min" length="min" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<LAYOUTNODE name="totSub" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totSubL" width="2.5cm" floatingBehavior="enclosed" text="Subtotal:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.sub_total" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totSubV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.sub_total.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totDesc" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totDescL" width="2.5cm" floatingBehavior="enclosed" text="Descuento:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.desc_valor" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totDescV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.desc_valor.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totNeto" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totNetoL" width="2.5cm" floatingBehavior="enclosed" text="Neto S/Imp.:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="neto_s_imp" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totNetoV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+neto_s_imp.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totItbis" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totItbisL" width="2.5cm" floatingBehavior="enclosed" text="ITBIS:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.itbi" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totItbisV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.itbi.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totTotal" width="min" length="min" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totTotalL" width="2.5cm" floatingBehavior="enclosed" text="Total:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.total_fact" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totTotalV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.total_fact.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<WORDBOX name="WordBoxFirmasEsp" length=".6cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="firmas" width="min" length="min" fontSize="9" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxPrep" width="2.3cm" fontBold="true" floatingBehavior="enclosed" text="Preparado por:"/>
<rtl:input-variable name="preparado_por" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBoxPrepNom" width="6cm" floatingBehavior="enclosed" textAlignment="center" text="{{preparado_por.trim()}}" borderWidth=".9" borderStyle="solid" borderTopColor="#ffffff" borderLeftColor="#ffffff" borderRightColor="#ffffff" borderBottomColor="#000000"/>
<WORDBOX name="WordBoxFirmaSep" width="1.5cm" floatingBehavior="enclosed"/>
<WORDBOX name="WordBoxRecib" width="2.2cm" fontBold="true" floatingBehavior="enclosed" text="Recibido por:"/>
<WORDBOX name="WordBoxRecibLin" width="6cm" floatingBehavior="enclosed" text=" " borderWidth=".9" borderStyle="solid" borderTopColor="#ffffff" borderLeftColor="#ffffff" borderRightColor="#ffffff" borderBottomColor="#000000"/>
</LAYOUTNODE>
<WORDBOX name="WordBoxFirmasEsp2" length=".4cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="LayoutNode69" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="observacion" type="FGLString" expectedLocation="expectedBefore"/>
<WORDWRAPBOX name="WordWrapBox7" width="width(&quot;M&quot;)*60" length="1cm" floatingBehavior="enclosed" text="{{&quot;OBSERVACIONES: &quot;+observacion.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="qrRD" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<MINIPAGE name="MiniPage" rtl:condition="muestraQR==1" width="min" length="min" layoutDirection="leftToRight">
<rtl:input-variable name="dataqrcode" type="FGLString" expectedLocation="expectedBefore"/>
<BARCODEBOX name="BarCodeBox1" width="4cm" length="4cm" alignment="near" floatingBehavior="enclosed" codeType="qr-code" codeValue="{{dataqrcode.trim()}}"/>
</MINIPAGE>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="totalesmonedas" rtl:condition="x.prima_us&gt;1" y="5cm" width="min" length="min" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox148" width="6.2cm" length=".7cm" alignment="baseline" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="{{&quot;INFORMACION EN RD$&quot;}}"/>
<rtl:input-variable name="chsubtotal" type="FGLString" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="rdSub" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="rdSubL" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;SUBTOTAL:&quot;}}"/>
<WORDBOX name="rdSubV" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chsubtotal.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="x.desc_valor" type="FGLNumeric" expectedLocation="expectedBefore"/>
<rtl:input-variable name="chdescuento" type="FGLString" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="rdDesc" rtl:condition="x.desc_valor&gt;0" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="rdDescL" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;DESCUENTO:&quot;}}"/>
<WORDBOX name="rdDescV" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chdescuento.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode67" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox155" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;ITBIS:&quot;}}"/>
<rtl:input-variable name="chitbis" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox156" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chitbis.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode68" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox157" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;MONTO TOTAL:&quot;}}"/>
<rtl:input-variable name="chneto" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox158" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chneto.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="LayoutNode44" rtl:condition="muestraQR==1" width="min" length="min" floatingBehavior="enclosed">
<rtl:input-variable name="xhash" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox108" floatingBehavior="enclosed" text="{{&quot;Codigo de Seguridad:&quot;+xhash.trim()}}"/>
<rtl:input-variable name="chfechafirmadigital" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox107" floatingBehavior="enclosed" text="{{&quot;Fecha de Firma Digital: &quot;+chfechafirmadigital.trim()}}"/>
</LAYOUTNODE>
<WORDBOX name="WordBox81" length=".3inch" floatingBehavior="enclosed"/>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox82" rtl:condition="x.prima_us&gt;1" floatingBehavior="enclosed" text="Pagos en RD$ a la tasa de venta del Banco Popular vigente el día del pago"/>
<WORDBOX name="WordBoxSelloEsp" length=".3cm" floatingBehavior="enclosed"/>
<IMAGEBOX name="ImageSello" alignment="near" floatingBehavior="enclosed" url="{{&quot;./sello_decomarmol.png&quot;}}" intendedResolution="800"/>
</LAYOUTNODE>
</MINIPAGE>
</rtl:match>
</PXML>
</rtl:stylesheet>
</report:Report>
@@ -0,0 +1,274 @@
<?xml version="1.0" encoding="UTF-8"?>
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="31405" version="6.00">
<report:Settings RWPageWidth="letterwidth" RWPageLength="letterlength" RWLeftMargin="0.5cm" RWTopMargin="0.5cm" RWRightMargin="0.5cm" RWBottomMargin="0.5cm">
<report:FormatList>
<report:Format-PDF/>
<report:Format-image/>
<report:Format-SVG/>
</report:FormatList>
</report:Settings>
<report:Data RWDataLocation="../vedir/veprmt001.rdd" RWFglReportName="imp_fact"/>
<report:Conflicts>
<report:Conflict nodeName="MiniPage1" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="subtotal" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
<report:Conflict nodeName="final" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
</report:Conflicts>
<rtl:stylesheet>
<PXML>
<rtl:match name="Report" nameConstraint="Report">
<MINIPAGE name="MiniPage1" width="max" length="min" fontName="Arial">
<LAYOUTNODE name="Layout Node7" width="min" length="min" alignment="near" swapX="true" port="firstPageHeader">
<LAYOUTNODE name="Encabezado" width="min" length="max" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode40" width="min" length="min" alignment="far" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="imagen" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageBox1_1_1" length="70" alignment="near" floatingBehavior="enclosed" url="{{&quot;./logo.jpg&quot;}}" intendedResolution="120"/>
</LAYOUTNODE>
<LAYOUTNODE name="infocia" width="min" length="min" anchorY="1" fontSize="12" floatingBehavior="enclosed">
<rtl:input-variable name="sucnombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox9" fontSize="10" alignment="near" fontBold="true" baselineType="leftleft" text="{{sucnombre.trim()}}"/>
<rtl:input-variable name="direccion_sucursal" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox5" width="width(&quot;M&quot;)*33" fontSize="9" floatingBehavior="enclosed" text="{{direccion_sucursal.trim()}}"/>
<LAYOUTNODE name="ourAdress" x="0" width="min" length="min" anchorX="0" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node11" width="min" length="min">
<WORDBOX name="WordBox11_1" alignment="near" fontSize="9" baselineType="leftleft" text="{{&quot;RNC:&quot;}}"/>
<WORDBOX name="WordBox12" alignment="baseline" fontSize="9" baselineType="leftleft" text="Telefono:"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node12" width="min" length="min">
<rtl:input-variable name="p_companias.rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox93" alignment="baseline" fontSize="9" floatingBehavior="enclosed" text="{{p_companias.rnc}}"/>
<rtl:input-variable name="p_companias.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox15" alignment="baseline" fontSize="9" baselineType="leftleft" text="{{p_companias.telefono}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="x.fecha_factura" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox32_1_1" alignment="baseline" baselineType="leftleft" text="{{&quot;Fecha Emision: &quot;+x.fecha_factura.value}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="NCF" x="20" y="290" width="282.6" length="min" alignment="near" floatingBehavior="enclosed">
<rtl:input-variable name="descripcion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox31_1" width="max" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" textAlignment="right" text="{{descripcion.trim()}}"/>
<rtl:input-variable name="ch_ncf" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox73_1" width="max" alignment="baseline" fontSize="12" baselineType="leftleft" textAlignment="right" text="{{ch_ncf.trim()}}"/>
<rtl:input-variable name="ncffechaVencimiento" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="ch_fecha" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="ch_fecha Value" rtl:condition="ncffechaVencimiento==1" width="max" alignment="near" floatingBehavior="enclosed" textAlignment="right" text="{{&quot;Vencimiento Secuencia: &quot;+ch_fecha}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<MINIPAGE name="razonsolcial" width="min" length="max" alignment="far" layoutDirection="leftToRight" roundedCorners="true" borderWidth="1" borderStyle="solid" borderTopColor="#0087cb" borderRightColor="#ffffff" borderBottomColor="#0087cb" borderLeftColor="#ffffff">
<LAYOUTNODE name="customerAddress" x="0.5cm" width="min" length="min" anchorY="1" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node15" width="min" length="min" alignment="near" fontSize="9">
<LAYOUTNODE name="codcliente" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxCodCli" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Código Cliente:"/>
<rtl:input-variable name="x.tipo_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.sec_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBoxCodCliV" floatingBehavior="enclosed" text="{{x.tipo_cliente.format(&quot;&lt;&lt;&quot;)+&quot;-&quot;+x.sec_cliente.format(&quot;&lt;&lt;&lt;&lt;&lt;&lt;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node17" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox18" width="2.4cm" alignment="baseline" fontBold="true" baselineType="leftleft" text="Cliente:"/>
<rtl:input-variable name="x.tipo_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.sec_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.nombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox19" alignment="near" baselineType="leftleft" text="{{x.nombre.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node33" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox64" width="2.4cm" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{&quot;RNC/Cédula: &quot;}}"/>
<rtl:input-variable name="rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox105" floatingBehavior="enclosed" text="{{rnc.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="direccion" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox125" width="2.4cm" alignment="near" fontBold="true" floatingBehavior="enclosed" text="{{&quot;Dirección: &quot;}}"/>
<rtl:input-variable name="x.direccion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox6" width="6.5cm" floatingBehavior="enclosed" text="{{x.direccion}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="telefonoemail" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox126" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Teléfono:"/>
<rtl:input-variable name="cliente_bas.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox123" width="2.3cm" floatingBehavior="enclosed" text="{{cliente_bas.telefono}}"/>
<rtl:input-variable name="cemail" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox127" width="4cm" floatingBehavior="enclosed" text="{{&quot; Email:&quot;+cemail.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="representante" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox128" width="2.4cm" fontBold="true" floatingBehavior="enclosed" text="Vendedor:"/>
<rtl:input-variable name="x.nombre_vend" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox124" width="4cm" floatingBehavior="enclosed" text="{{x.nombre_vend.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedAhead"/>
<LAYOUTNODE name="LayoutNode52" rtl:condition="x.prima_us&gt;1" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox121" floatingBehavior="enclosed" text="{{&quot;Tasa: &quot;+x.prima_us.format(&quot;##,##&amp;.&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="datosfactura" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode53" x="14.1732" width="278.239" length="min" alignment="baseline" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode55" x="120" width="min" length="min" fontSize="12" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox129" width="3cm" floatingBehavior="enclosed" text="Factura No.:"/>
<rtl:input-variable name="x.factura" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox130" width="2cm" alignment="far" floatingBehavior="enclosed" text="{{x.factura.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode56" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox131" width="3cm" alignment="far" floatingBehavior="enclosed" text="Cotizacion No.:"/>
<rtl:input-variable name="pcotizacion" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox132" floatingBehavior="enclosed" text="{{pcotizacion.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNodeConduce" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxConduce" width="3cm" alignment="far" floatingBehavior="enclosed" text="Conduce No.:"/>
<rtl:input-variable name="x.conduce" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBoxConduceV" floatingBehavior="enclosed" text="{{x.conduce.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode57" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox133" width="3cm" floatingBehavior="enclosed" text="Orden No.:"/>
<rtl:input-variable name="x.orden" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox134" floatingBehavior="enclosed" text="{{x.orden.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode58" x="120" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="condicion.descrip" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox135" width="4cm" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;Condicion Cobros: &quot;+condicion.descrip.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
</MINIPAGE>
<LAYOUTNODE name="LayoutNode41" width="15" length="min" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox" alignment="baseline" floatingBehavior="enclosed"/>
</LAYOUTNODE>
<MINIPAGE name="StripeLayouter19" width="min" length="max" bgColor="#e5e5e5" fontBold="true" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<WORDBOX name="WordBox40" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="Cantidad"/>
<WORDWRAPBOX name="WordWrapBox1" textAlignment="center" width="7.5cm" alignment="baseline" baselineType="leftleft" floatingBehavior="free" text="Descripción"/>
<WORDWRAPBOX name="WordWrapBox" width="2.5cm" alignment="baseline" floatingBehavior="enclosed" text="Unidad de Medida" textAlignment="center"/>
<WORDBOX name="WordBox41" width="2.5cm" alignment="baseline" baselineType="rightright" textAlignment="center" text="Precio"/>
<WORDBOX name="WordBox98_1" width="4.4cm" floatingBehavior="enclosed" textAlignment="right" text="Total"/>
</MINIPAGE>
<MINIPAGE name="StripeLayouter21" width=".2cm" layoutDirection="leftToRight"/>
</LAYOUTNODE>
<rtl:match name="Group factura" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group area" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_n" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_grupo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_tipo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_sec" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="PAGINADETALLE" width="max" lengthAdjustment="shrinkToChildren" swapX="true" hidePageFooterOnLastPage="true" roundedCorners="true" borderWidth=".08" borderStyle="solid">
<MINIPAGE name="DETALLEFACTURA" width="min" length="max" layoutDirection="leftToRight">
<LAYOUTNODE name="LayoutNode31" width="min" length="max" fontSize="8" layoutDirection="leftToRight" roundedCorners="true" borderWidth=".9" borderStyle="solid">
<rtl:input-variable name="z.cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="cantidad" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="{{z.cantidad.format(&quot;###,##&amp;.##&quot;)}}"/>
<rtl:input-variable name="z.descrip_esp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox3" width="7.5cm" alignment="baseline" baselineType="leftleft" text="{{z.descrip_esp.trim()}}"/>
<rtl:input-variable name="z.unidad_med" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox97" textAlignment="center" width="2.5cm" alignment="baseline" floatingBehavior="enclosed" text="{{z.unidad_med.trim()}}"/>
<rtl:input-variable name="z.precio" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="precio" width="2.5cm" alignment="baseline" baselineType="leftleft" textAlignment="center" text="{{z.precio.format(&quot;###,###.##&quot;)}}"/>
<rtl:input-variable name="z.monto_fact" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="monto" width="4.5cm" anchorY="1" alignment="baseline" bgColor="#d3d3d3" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="{{z.monto_fact.format(&quot;##,###,###.##&quot;)}}"/>
</LAYOUTNODE>
</MINIPAGE>
</MINIPAGE>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
<LAYOUTNODE name="final" width="min" length="min" layoutDirection="topToBottom" floatingBehavior="enclosed">
<MINIPAGE name="MiniPage2" width=".1cm" bgColor="#0087cb" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox106" length="1cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="selloRD" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageSello" alignment="near" floatingBehavior="enclosed" url="{{&quot;./sello_decomarmol.png&quot;}}" intendedResolution="610"/>
<LAYOUTNODE name="totales" y="max-5.9cm" width="min" length="min" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<LAYOUTNODE name="totSub" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totSubL" width="2.5cm" floatingBehavior="enclosed" text="Subtotal:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.sub_total" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totSubV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.sub_total.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totDesc" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totDescL" width="2.5cm" floatingBehavior="enclosed" text="Descuento:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.desc_valor" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totDescV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.desc_valor.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totNeto" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totNetoL" width="2.5cm" floatingBehavior="enclosed" text="Neto S/Imp.:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="neto_s_imp" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totNetoV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+neto_s_imp.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totItbis" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totItbisL" width="2.5cm" floatingBehavior="enclosed" text="ITBIS:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.itbi" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totItbisV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.itbi.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="totTotal" width="min" length="min" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="totTotalL" width="2.5cm" floatingBehavior="enclosed" text="Total:"/>
<rtl:input-variable name="simbolo" type="FGLString" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.total_fact" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="totTotalV" width="3cm" floatingBehavior="enclosed" textAlignment="right" text="{{simbolo.trim()+&quot; &quot;+x.total_fact.format(&quot;###,###,##&amp;.&amp;&amp;&quot;).trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<WORDBOX name="WordBoxFirmasEsp" length=".6cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="firmas" width="min" length="min" fontSize="9" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBoxPrep" width="2.3cm" fontBold="true" floatingBehavior="enclosed" text="Preparado por:"/>
<rtl:input-variable name="preparado_por" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBoxPrepNom" width="6cm" floatingBehavior="enclosed" textAlignment="center" text="{{preparado_por.trim()}}" borderWidth=".9" borderStyle="solid" borderTopColor="#ffffff" borderLeftColor="#ffffff" borderRightColor="#ffffff" borderBottomColor="#000000"/>
<WORDBOX name="WordBoxFirmaSep" width="1.5cm" floatingBehavior="enclosed"/>
<WORDBOX name="WordBoxRecib" width="2.2cm" fontBold="true" floatingBehavior="enclosed" text="Recibido por:"/>
<WORDBOX name="WordBoxRecibLin" width="6cm" floatingBehavior="enclosed" text=" " borderWidth=".9" borderStyle="solid" borderTopColor="#ffffff" borderLeftColor="#ffffff" borderRightColor="#ffffff" borderBottomColor="#000000"/>
</LAYOUTNODE>
<WORDBOX name="WordBoxFirmasEsp2" length=".4cm" floatingBehavior="enclosed"/>
<LAYOUTNODE name="LayoutNode69" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="observacion" type="FGLString" expectedLocation="expectedBefore"/>
<WORDWRAPBOX name="WordWrapBox7" width="width(&quot;M&quot;)*60" length="1cm" floatingBehavior="enclosed" text="{{&quot;OBSERVACIONES: &quot;+observacion.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="qrRD" width="min" length="max" layoutDirection="leftToRight" floatingBehavior="enclosed">
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<MINIPAGE name="MiniPage" rtl:condition="muestraQR==1" width="min" length="min" layoutDirection="leftToRight">
<rtl:input-variable name="dataqrcode" type="FGLString" expectedLocation="expectedBefore"/>
<BARCODEBOX name="BarCodeBox1" width="4cm" length="4cm" alignment="near" floatingBehavior="enclosed" codeType="qr-code" codeValue="{{dataqrcode.trim()}}"/>
</MINIPAGE>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="totalesmonedas" rtl:condition="x.prima_us&gt;1" y="5cm" width="min" length="min" fontSize="9" layoutDirection="topToBottom" floatingBehavior="enclosed" roundedCorners="true" borderWidth="1" borderStyle="solid">
<WORDBOX name="WordBox148" width="6.2cm" length=".7cm" alignment="baseline" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="{{&quot;INFORMACION EN RD$&quot;}}"/>
<rtl:input-variable name="chsubtotal" type="FGLString" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="rdSub" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="rdSubL" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;SUBTOTAL:&quot;}}"/>
<WORDBOX name="rdSubV" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chsubtotal.trim()}}"/>
</LAYOUTNODE>
<rtl:input-variable name="x.desc_valor" type="FGLNumeric" expectedLocation="expectedBefore"/>
<rtl:input-variable name="chdescuento" type="FGLString" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="rdDesc" rtl:condition="x.desc_valor&gt;0" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="rdDescL" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;DESCUENTO:&quot;}}"/>
<WORDBOX name="rdDescV" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chdescuento.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode67" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox155" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;ITBIS:&quot;}}"/>
<rtl:input-variable name="chitbis" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox156" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chitbis.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LayoutNode68" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<WORDBOX name="WordBox157" width="2.4cm" floatingBehavior="enclosed" text="{{&quot;MONTO TOTAL:&quot;}}"/>
<rtl:input-variable name="chneto" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox158" width="3.8cm" floatingBehavior="enclosed" textAlignment="right" text="{{chneto.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="LayoutNode44" rtl:condition="muestraQR==1" width="min" length="min" floatingBehavior="enclosed">
<rtl:input-variable name="xhash" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox108" floatingBehavior="enclosed" text="{{&quot;Codigo de Seguridad:&quot;+xhash.trim()}}"/>
<rtl:input-variable name="chfechafirmadigital" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox107" floatingBehavior="enclosed" text="{{&quot;Fecha de Firma Digital: &quot;+chfechafirmadigital.trim()}}"/>
</LAYOUTNODE>
<WORDBOX name="WordBox81" length=".3inch" floatingBehavior="enclosed"/>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox82" rtl:condition="x.prima_us&gt;1" floatingBehavior="enclosed" text="Pagos en RD$ a la tasa de venta del Banco Popular vigente el día del pago"/>
</LAYOUTNODE>
</MINIPAGE>
</rtl:match>
</PXML>
</rtl:stylesheet>
</report:Report>
+215
View File
@@ -0,0 +1,215 @@
<?xml version="1.0" encoding="UTF-8"?>
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="31405" version="6.00">
<report:Settings RWPageWidth="a4width" RWPageLength="a4length" RWLeftMargin="0.5cm" RWTopMargin="0.5cm" RWRightMargin="0.5cm" RWBottomMargin="0.5cm">
<report:FormatList>
<report:Format-PDF/>
<report:Format-image/>
<report:Format-SVG/>
</report:FormatList>
</report:Settings>
<report:Data RWDataLocation="../vedir/veprmt001.rdd" RWFglReportName="imp_fact"/>
<report:Conflicts>
<report:Conflict nodeName="MiniPage1" message="Node was in trigger &quot;Group factura [0; unbounded]&quot;, but trigger was removed during schema update"/>
</report:Conflicts>
<rtl:stylesheet>
<PXML>
<rtl:match name="Report" nameConstraint="Report">
<MINIPAGE name="MiniPage1" width="max" length="min" fontName="Arial">
<LAYOUTNODE name="Layout Node7" width="min" length="min" alignment="near" swapX="true" port="firstPageHeader">
<LAYOUTNODE name="LayoutNode35" width="min" length="max" alignment="near" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="LayoutNode40" width="min" length="min" alignment="far" layoutDirection="topToBottom" floatingBehavior="enclosed">
<LAYOUTNODE name="imagen" width="min" length="min" layoutDirection="leftToRight" floatingBehavior="enclosed">
<IMAGEBOX name="ImageBox1_1_1" length="70" alignment="near" floatingBehavior="enclosed" url="{{&quot;./logo.jpg&quot;}}" intendedResolution="120"/>
</LAYOUTNODE>
<LAYOUTNODE name="infocia" width="min" length="min" anchorY="1" fontSize="12" floatingBehavior="enclosed">
<LAYOUTNODE name="ourAdress" x="0" width="min" length="min" anchorX="0" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node11" y="1.5cm" width="min" length="min">
<WORDBOX name="WordBox11_1" alignment="near" fontSize="9" baselineType="leftleft" text="{{&quot;RNC:&quot;}}"/>
<WORDBOX name="WordBox12" alignment="baseline" fontSize="9" baselineType="leftleft" text="Telefono:"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node12" y="3cm" width="min" length="min">
<rtl:input-variable name="p_companias.rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox93" alignment="baseline" fontSize="9" floatingBehavior="enclosed" text="{{p_companias.rnc}}"/>
<rtl:input-variable name="p_companias.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox15" alignment="baseline" fontSize="9" baselineType="leftleft" text="{{p_companias.telefono}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="NCF" x="20" y="280" width="282" length="min" alignment="near" floatingBehavior="enclosed">
<rtl:input-variable name="descripcion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox31_1" width="max" alignment="baseline" fontSize="12" fontBold="true" baselineType="leftleft" textAlignment="right" text="{{descripcion.trim()}}"/>
<rtl:input-variable name="ch_ncf" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox73_1" width="max" alignment="baseline" fontSize="12" baselineType="leftleft" textAlignment="right" text="{{ch_ncf.trim()}}"/>
<rtl:input-variable name="ncffechaVencimiento" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="ch_fecha" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="ch_fecha Value" rtl:condition="ncffechaVencimiento==1" width="max" alignment="near" floatingBehavior="enclosed" textAlignment="right" text="{{&quot;Vencimiento Secuencia: &quot;+ch_fecha}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
<WORDBOX name="WordBox94" floatingBehavior="enclosed"/>
<MINIPAGE name="StripeLayouter13" width="min" layoutDirection="leftToRight">
<LAYOUTNODE name="customerAddress" x="0cm" width="min" length="min" anchorY="1" layoutDirection="leftToRight" floatingBehavior="enclosed">
<LAYOUTNODE name="Layout Node14" width=".2cm" length="min" swapX="true"/>
<LAYOUTNODE name="Layout Node15" width="min" length="min" alignment="near" fontSize="12">
<LAYOUTNODE name="Layout Node16" width="0.2cm" length="1" layoutDirection="leftToRight"/>
<LAYOUTNODE name="Layout Node17" width="min" length="min" layoutDirection="leftToRight">
<WORDBOX name="WordBox18" alignment="baseline" baselineType="leftleft" text="Codigo Cliente: "/>
<rtl:input-variable name="x.tipo_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<rtl:input-variable name="x.sec_cliente" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox19" alignment="near" baselineType="leftleft" text="{{x.tipo_cliente.format(&quot;&lt;&lt;&lt;&quot;)+&quot;-&quot;+x.sec_cliente.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node19" width="min" length="min" layoutDirection="leftToRight">
<rtl:input-variable name="x.nombre" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordBox20" width="9.5cm" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;Cliente: &quot;+x.nombre.trim()}}"/>
<WORDBOX name="WordBox21" alignment="baseline" baselineType="leftleft" text=" "/>
</LAYOUTNODE>
<rtl:input-variable name="x.direccion" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="WordWrapBox" rtl:condition="x.direccion.length()&gt;0" width="9.5cm" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;Dirección: &quot;+x.direccion.trim()}}"/>
<rtl:input-variable name="cliente_bas.telex" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox24" alignment="near" baselineType="leftleft" text="{{&quot;Celular: &quot;+cliente_bas.telex.trim()}}"/>
<rtl:input-variable name="cliente_bas.telefono" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox78_1" width="2cm" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;Telefono: &quot;+cliente_bas.telefono.trim()}}"/>
<LAYOUTNODE name="Layout Node33" width="min" length="min">
<rtl:input-variable name="rnc" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox64" alignment="baseline" baselineType="leftleft" text="{{&quot;RNC o CEDULA: &quot;+rnc.trim()}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="Layout Node20" width="min" length="min" layoutDirection="leftToRight">
<rtl:input-variable name="x.nombre_vend" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox25" alignment="baseline" baselineType="leftleft" text="{{&quot;Vendedor: &quot;+x.nombre_vend.trim()}}"/>
</LAYOUTNODE>
</LAYOUTNODE>
</LAYOUTNODE>
<LAYOUTNODE name="nofactura" y="290" width="min" length="min" fontSize="12" floatingBehavior="enclosed">
<rtl:input-variable name="x.factura" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox34_1" alignment="baseline" fontBold="true" baselineType="leftleft" text="{{&quot;Factura No.: &quot;+x.factura.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
<rtl:input-variable name="condicion.descrip" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox74_2" alignment="baseline" baselineType="leftleft" text="{{&quot;Condiciones: &quot;+condicion.descrip.toLowerCase()}}"/>
<rtl:input-variable name="x.fecha_factura" type="FGLString" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox32_1" alignment="baseline" baselineType="leftleft" text="{{&quot;Fecha Factura: &quot;+x.fecha_factura.value}}"/>
<rtl:input-variable name="x.orden" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox36_1" alignment="baseline" baselineType="leftleft" text="{{&quot;Orden: &quot;+x.orden.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
<rtl:input-variable name="x.conduce" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox" floatingBehavior="enclosed" text="{{&quot;Conduce: &quot;+x.conduce.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
<rtl:input-variable name="pcotizacion" type="FGLNumeric" expectedLocation="expectedAhead"/>
<WORDBOX name="WordBox96" floatingBehavior="enclosed" text="{{&quot;Cotizacion: &quot;+pcotizacion.format(&quot;&amp;&amp;&amp;&amp;&amp;&amp;&quot;)}}"/>
</LAYOUTNODE>
</MINIPAGE>
<MINIPAGE name="StripeLayouter17" width=".2cm" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox95" x="10cm" length="2cm" floatingBehavior="enclosed" text=""/>
<MINIPAGE name="StripeLayouter18" width=".1cm" bgColor="#cc" layoutDirection="leftToRight"/>
<MINIPAGE name="StripeLayouter19" width="min" length="max" bgColor="#cccccc" fontBold="true" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node25" width="min" length=".3cm" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox39" alignment="baseline" baselineType="leftleft" textAlignment="right" text="Codigo"/>
<WORDBOX name="WordBox58" width="45" alignment="baseline" baselineType="leftleft" text=""/>
<WORDWRAPBOX name="WordWrapBox1" width="5.8cm" alignment="baseline" baselineType="leftleft" floatingBehavior="free" text="Descripcion"/>
<WORDBOX name="WordBox40" width="max(width(&quot;000&quot;),width(&quot;Cantidad&quot;))" alignment="baseline" baselineType="leftleft" textAlignment="right" text="Cantidad"/>
<WORDBOX name="WordBox41" width="2cm" alignment="baseline" baselineType="rightright" textAlignment="right" text="Precio"/>
<WORDBOX name="WordBox44" y="max-.8cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" text="Total"/>
</MINIPAGE>
<MINIPAGE name="StripeLayouter20" width=".1cm" bgColor="#cc" layoutDirection="leftToRight"/>
<MINIPAGE name="StripeLayouter21" width=".2cm" layoutDirection="leftToRight"/>
</LAYOUTNODE>
<rtl:match name="Group factura" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group area" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_n" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_grupo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_tipo" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="Group cod_sec" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<MINIPAGE name="PAGINADETALLE" width="max" length="max(rest,4cm)" lengthAdjustment="shrinkToChildren" swapX="true" hidePageFooterOnLastPage="true">
<MINIPAGE name="DETALLEFACTURA" width="min" length="max" layoutDirection="leftToRight">
<LAYOUTNODE name="LayoutNode31" width="min" length="max" fontSize="8" layoutDirection="leftToRight">
<rtl:input-variable name="z.cod_n" type="FGLNumeric" expectedLocation="expectedHere"/>
<rtl:input-variable name="z.cod_grupo" type="FGLNumeric" expectedLocation="expectedHere"/>
<rtl:input-variable name="z.cod_tipo" type="FGLNumeric" expectedLocation="expectedHere"/>
<rtl:input-variable name="z.cod_sec" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="WordBox63" y=".4cm" width="1.5cm" alignment="baseline" baselineType="rightleft" textAlignment="right" text="{{z.cod_n.format(&quot;&lt;&lt;&quot;)+&quot;-&quot;+z.cod_grupo.format(&quot;&lt;&lt;&quot;)+&quot;-&quot;+z.cod_tipo.format(&quot;&lt;&lt;&lt;&quot;)+&quot;-&quot;+z.cod_sec.format(&quot;&lt;&lt;&lt;&quot;)}}"/>
<rtl:input-variable name="z.descrip_esp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox3" y="2.8cm" width="6cm" alignment="baseline" baselineType="rightleft" text="{{z.descrip_esp.trim()}}"/>
<rtl:input-variable name="z.cantidad" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="cantidad" y="9.8cm" width="1cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{z.cantidad.format(&quot;###,###.####&quot;)}}"/>
<rtl:input-variable name="z.precio" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="precio" y="11.9cm" width="1cm" length="16" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{z.precio.format(&quot;###,###.##&quot;)}}"/>
<rtl:input-variable name="z.monto_fact" type="FGLNumeric" expectedLocation="expectedHere"/>
<WORDBOX name="monto" y="20cm" width="2cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" text="{{z.monto_fact.format(&quot;###,###.##&quot;)}}"/>
</LAYOUTNODE>
<LAYOUTNODE name="LINEA" width="0.5point" length="max" bgColor="#cc" layoutDirection="leftToRight"/>
</MINIPAGE>
</MINIPAGE>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
</rtl:match>
<MINIPAGE name="ESPACIO DETALLE" width="min" length="max" layoutDirection="leftToRight">
<WORDBOX name="WordBox75_1" alignment="baseline" baselineType="leftleft"/>
</MINIPAGE>
<MINIPAGE name="SUBTOTAL" width="min" length="max" fontBold="true" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node40" y="max-1cm" width="min" length="min" anchorY="1" layoutDirection="rightToLeft" swapX="true" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.sub_total" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox77" width="3.3cm" alignment="baseline" baselineType="leftright" textAlignment="right" text="{{(x.prima_us&gt;1?&quot;USD$ &quot;:&quot;RD$ &quot;)+x.sub_total.format(&quot;###,###,###.##&quot;)}}"/>
<WORDBOX name="WordBox74_1" width="1.5cm" alignment="baseline" baselineType="leftleft" text=""/>
<WORDBOX name="WordBox76_1" width="3.3cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="SubTotal:"/>
</LAYOUTNODE>
</MINIPAGE>
<MINIPAGE name="DESCUENTO" width="min" length="max" fontBold="true" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node40_1" y="max-1cm" width="min" length="min" anchorY="1" layoutDirection="rightToLeft" swapX="true" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.desc_valor" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox77_1" width="3.3cm" alignment="baseline" baselineType="leftright" textAlignment="right" text="{{(x.prima_us&gt;1?&quot;USD$ &quot;:&quot;RD$ &quot;)+x.desc_valor.format(&quot;###,###,###.##&quot;)}}"/>
<WORDBOX name="WordBox75_2" width="1.5cm" alignment="baseline" baselineType="leftleft" text=""/>
<WORDBOX name="WordBox76_2" width="3.3cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="Descuento:"/>
</LAYOUTNODE>
</MINIPAGE>
<MINIPAGE name="ITBIS" width="min" length="max" fontBold="true" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node40_2" y="max-1cm" width="min" length="min" anchorY="1" layoutDirection="rightToLeft" swapX="true" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.itbi" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox77_2" width="3.3cm" alignment="baseline" baselineType="leftright" textAlignment="right" text="{{(x.prima_us&gt;1?&quot;USD$ &quot;:&quot;RD$ &quot;)+x.itbi.format(&quot;###,###,###.##&quot;)}}"/>
<WORDBOX name="WordBox76_3" width="1.5cm" alignment="baseline" baselineType="leftleft" text=""/>
<WORDBOX name="WordBox76_4" width="3.3cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="Itbis:"/>
</LAYOUTNODE>
</MINIPAGE>
<MINIPAGE name="TOTAL" width="min" length="max" fontBold="true" layoutDirection="leftToRight">
<LAYOUTNODE name="Layout Node40_6" y="max-1cm" width="min" length="min" anchorY="1" layoutDirection="rightToLeft" swapX="true" floatingBehavior="enclosed">
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<rtl:input-variable name="x.total_fact" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox77_7" width="3.3cm" alignment="baseline" baselineType="leftleft" textAlignment="right" text="{{(x.prima_us&gt;1?&quot;USD$ &quot;:&quot;RD$ &quot;)+x.total_fact.format(&quot;###,###,###.##&quot;)}}"/>
<WORDBOX name="WordBox80" width="1.5cm" alignment="baseline" baselineType="leftleft" text=""/>
<WORDBOX name="WordBox76_8" width="3.3cm" anchorY="1" alignment="baseline" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="right" text="Total factura:"/>
</LAYOUTNODE>
</MINIPAGE>
<MINIPAGE name="MiniPage" width="min" length="1cm"/>
<LAYOUTNODE name="ESPACIOOBS" width="min" length="min">
<MINIPAGE name="StripeLayouter18_1" width=".1cm" length="4.3cm" alignment="none" bgColor="#cc" layoutDirection="swapped"/>
<WORDBOX name="WordBox107_1" width="4cm" length="2cm" floatingBehavior="enclosed" text="{{&quot;FACTURADO POR &quot;}}"/>
<WORDBOX name="WordBox107_2" x="5cm" y="0.1cm" width="4cm" length="2cm" floatingBehavior="enclosed" text="{{&quot;RECIBIDO POR &quot;}}"/>
<LAYOUTNODE name="LayoutNode" x="5cm" y="0.01cm" width="0.1cm" length="4.3cm" bgColor="#0000cc" layoutDirection="leftToRight" floatingBehavior="enclosed"/>
</LAYOUTNODE>
<LAYOUTNODE name="OBSERVACIONES" width="min" length="min">
<rtl:input-variable name="observacion" type="FGLString" expectedLocation="expectedBefore"/>
<WORDWRAPBOX name="WordWrapBox3_1" width="width(&quot;M&quot;)*50" alignment="baseline" baselineType="leftleft" text="{{observacion.trim()}}"/>
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<MINIPAGE name="MiniPage2" rtl:condition="muestraQR==1" width="min" length="max" layoutDirection="leftToRight">
<rtl:input-variable name="dataqrcode" type="FGLString" expectedLocation="expectedBefore"/>
<BARCODEBOX name="BarCodeBox1" width="4cm" length="4cm" alignment="near" floatingBehavior="enclosed" codeType="qr-code" codeValue="{{dataqrcode.trim()}}"/>
</MINIPAGE>
<rtl:input-variable name="muestraQR" type="FGLNumeric" expectedLocation="expectedBefore"/>
<LAYOUTNODE name="LayoutNode44_1" rtl:condition="muestraQR==1" width="min" length="min" floatingBehavior="enclosed">
<rtl:input-variable name="xhash" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox108" floatingBehavior="enclosed" text="{{&quot;Codigo de Seguridad:&quot;+xhash.trim()}}"/>
<rtl:input-variable name="chfechafirmadigital" type="FGLString" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox107" floatingBehavior="enclosed" text="{{&quot;Fecha de Firma Digital: &quot;+chfechafirmadigital.trim()}}"/>
</LAYOUTNODE>
<WORDBOX name="WordBox81" length=".3inch" floatingBehavior="enclosed"/>
<rtl:input-variable name="x.prima_us" type="FGLNumeric" expectedLocation="expectedBefore"/>
<WORDBOX name="WordBox82" rtl:condition="x.prima_us&gt;1" floatingBehavior="enclosed" text="Pagos en RD$ a la tasa de venta del Banco Popular vigente el día del pago"/>
</LAYOUTNODE>
</MINIPAGE>
</rtl:match>
</PXML>
</rtl:stylesheet>
</report:Report>
Binary file not shown.
Binary file not shown.
+92 -4
View File
@@ -213,8 +213,34 @@ MAIN
EXIT PROGRAM
END IF
# Provincia/municipio del emisor (e-CF) salen de companias, no de vetb00020
CALL ubicacion_emisor_dgii(id_provincia_dgii, id_municipio_dgii)
RETURNING id_provincia_dgii, id_municipio_dgii
CALL ccprmt001()
END MAIN
# Provincia y municipio del EMISOR para el e-CF (codigos DGII de 6 digitos)
# tomados de companias.id_dgii / companias.id_municipio_dgii.
# vetb00020 queda solo para la ubicacion de los clientes.
# Si companias no los tiene, se dejan los valores recibidos.
FUNCTION ubicacion_emisor_dgii(pprovincia, pmunicipio)
DEFINE pprovincia, pmunicipio STRING
DEFINE vprovincia, vmunicipio INTEGER
LET vprovincia = NULL
LET vmunicipio = NULL
SELECT a.id_dgii, a.id_municipio_dgii
INTO vprovincia, vmunicipio
FROM companias a
IF vprovincia IS NOT NULL THEN
LET pprovincia = vprovincia USING "&&&&&&"
END IF
IF vmunicipio IS NOT NULL THEN
LET pmunicipio = vmunicipio USING "&&&&&&"
END IF
RETURN pprovincia, pmunicipio
END FUNCTION
####### Funcion para agregar un recibo de pago
FUNCTION ccprmt001()
@@ -280,6 +306,13 @@ FUNCTION ccpcad001()
LET idtipo = NULL
CALL tiposModificacion()
CALL localidades("1")
# Lista de la Localidad del encabezado (xsucid): antes no se llenaba
# y el campo quedaba vacio sin opciones; por defecto la del usuario
CALL localidades("2")
IF xsucid IS NULL THEN
LET xsucid = codigo_sucursal
DISPLAY BY NAME xsucid
END IF
LET recibo.fecha_orig = fecha1
LET valor_ctrl = NULL
LET tipo_ant = "RC"
@@ -871,7 +904,7 @@ FUNCTION ccpcad001()
WHERE kncf BETWEEN a.ncf_inicial AND a.ncf_final
AND a.tipo_doc = recibo.tipo_doc
AND a.codigo_dgii = codigodgii
AND a.disponible = "S"
AND UPPER(a.disponible) = "S"
IF STATUS = NOTFOUND THEN
LET numero_msg = 391
@@ -884,7 +917,9 @@ FUNCTION ccpcad001()
CALL msg(16)
NEXT FIELD idtipo
END IF
IF ptipo_nc IS NULL THEN
# El tipo de nota (devolucion / sin ITBIS / otros creditos) solo
# aplica a la nota de CREDITO; la de debito no lo lleva
IF recibo.tipo_doc = 'NC' AND ptipo_nc IS NULL THEN
CALL msg(16)
NEXT FIELD ptipo_nc
END IF
@@ -1800,6 +1835,14 @@ FUNCTION ccpcad001()
LET handler =
fgl_report_commitCurrentSettings() -- commit changes
ELSE
# No se encontro el diseno del reporte: avisar (antes salia del programa sin
# mensaje y, en NC/ND, sin generar ni enviar el e-CF, que va dentro del reporte)
CALL fgl_winmessage("REPORTE",
"No se encontro el diseno del reporte: " || r_filename ||
"
El documento quedo grabado pero NO se imprimio" ||
" (en notas de credito/debito tampoco se envio el e-CF a la DGII).",
"stop")
EXIT PROGRAM
END IF
--run the report
@@ -1865,6 +1908,14 @@ FUNCTION ccpcad001()
LET handler =
fgl_report_commitCurrentSettings() -- commit changes
ELSE
# No se encontro el diseno del reporte: avisar (antes salia del programa sin
# mensaje y, en NC/ND, sin generar ni enviar el e-CF, que va dentro del reporte)
CALL fgl_winmessage("REPORTE",
"No se encontro el diseno del reporte: " || r_filename ||
"
El documento quedo grabado pero NO se imprimio" ||
" (en notas de credito/debito tampoco se envio el e-CF a la DGII).",
"stop")
EXIT PROGRAM
END IF
--run the report
@@ -2277,6 +2328,14 @@ FUNCTION ccpcmf001()
LET handler =
fgl_report_commitCurrentSettings() -- commit changes
ELSE
# No se encontro el diseno del reporte: avisar (antes salia del programa sin
# mensaje y, en NC/ND, sin generar ni enviar el e-CF, que va dentro del reporte)
CALL fgl_winmessage("REPORTE",
"No se encontro el diseno del reporte: " || r_filename ||
"
El documento quedo grabado pero NO se imprimio" ||
" (en notas de credito/debito tampoco se envio el e-CF a la DGII).",
"stop")
EXIT PROGRAM
END IF
--run the report
@@ -2343,6 +2402,14 @@ FUNCTION ccpcmf001()
LET handler =
fgl_report_commitCurrentSettings() -- commit changes
ELSE
# No se encontro el diseno del reporte: avisar (antes salia del programa sin
# mensaje y, en NC/ND, sin generar ni enviar el e-CF, que va dentro del reporte)
CALL fgl_winmessage("REPORTE",
"No se encontro el diseno del reporte: " || r_filename ||
"
El documento quedo grabado pero NO se imprimio" ||
" (en notas de credito/debito tampoco se envio el e-CF a la DGII).",
"stop")
EXIT PROGRAM
END IF
--run the report
@@ -3362,6 +3429,14 @@ FUNCTION ccpcmf001()
LET handler =
fgl_report_commitCurrentSettings() -- commit changes
ELSE
# No se encontro el diseno del reporte: avisar (antes salia del programa sin
# mensaje y, en NC/ND, sin generar ni enviar el e-CF, que va dentro del reporte)
CALL fgl_winmessage("REPORTE",
"No se encontro el diseno del reporte: " || r_filename ||
"
El documento quedo grabado pero NO se imprimio" ||
" (en notas de credito/debito tampoco se envio el e-CF a la DGII).",
"stop")
EXIT PROGRAM
END IF
--run the report
@@ -3429,6 +3504,14 @@ FUNCTION ccpcmf001()
LET handler =
fgl_report_commitCurrentSettings() -- commit changes
ELSE
# No se encontro el diseno del reporte: avisar (antes salia del programa sin
# mensaje y, en NC/ND, sin generar ni enviar el e-CF, que va dentro del reporte)
CALL fgl_winmessage("REPORTE",
"No se encontro el diseno del reporte: " || r_filename ||
"
El documento quedo grabado pero NO se imprimio" ||
" (en notas de credito/debito tampoco se envio el e-CF a la DGII).",
"stop")
EXIT PROGRAM
END IF
--run the report
@@ -5913,7 +5996,7 @@ FUNCTION calculo_nc(documento_alm, pcodigo_mov, tasa, ptipo)
FROM iptb00002 a, vetb00003 b, vetb00002 c, iptb00006 d
WHERE b.factura = xfactura
AND b.factura = c.factura
AND b.sucid = c.sucid
AND ( b.sucid = c.sucid OR b.sucid IS NULL OR c.sucid IS NULL OR b.sucid = 0 OR c.sucid = 0 )
AND a.cod_n = b.cod_n
AND a.cod_grupo = b.cod_grupo
AND a.cod_tipo = b.cod_tipo
@@ -5967,7 +6050,7 @@ FUNCTION calculo_nc(documento_alm, pcodigo_mov, tasa, ptipo)
WHERE b.factura =",
xfactura,
" AND b.factura = c.factura AND
b.sucid = c.sucid AND
( b.sucid = c.sucid OR b.sucid IS NULL OR c.sucid IS NULL OR b.sucid = 0 OR c.sucid = 0 ) AND
a.cod_n = b.cod_n AND a.cod_grupo = b.cod_grupo AND a.cod_tipo = b.cod_tipo AND
a.cod_sec = b.cod_sec
"
@@ -5988,6 +6071,11 @@ FUNCTION calculo_nc(documento_alm, pcodigo_mov, tasa, ptipo)
END IF
END FOREACH
IF j = 1 THEN
CALL fgl_winmessage("NOTA",
"No se encontraron productos con precio en la factura indicada.\nVerifique el numero de factura y su localidad.",
"exclamation")
END IF
DISPLAY BY NAME tvalor_bruto, tdescuento, tsub_total, titbis, tneto
INPUT ARRAY arr_articulos
FROM sproductos.*
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+7352 -7304
View File
File diff suppressed because it is too large Load Diff
+440 -440
View File
@@ -105,443 +105,443 @@ codigo21,35992
codigos,36089
codigos22,36182
companias,36283
correos,36837
cotb00001,36937
cotb00002,37472
cotb00003,37755
cotb00004,37940
cotb00005,38257
cotb00006,38471
cotb00008,38847
cotb00010,39341
cotb00011,39393
cotb00012,39870
cotb00013,40235
cotb00014,40573
cotb00015,41332
cotb00017,41817
cotb00018,42154
cotb00019,42347
cotb00022,42617
cotb00024,42819
cotb00025,43034
cotb00027,43509
cotb00028,43699
cotb00029,43720
cotb00030,44318
cotb00031,44472
cotb00033,44712
cotb00034,45281
cotb00036,45697
cotb00038,45887
cotizacion,46305
cotizacion_detalle,47152
country,47752
cptb00001,47797
cptb00002,48303
cptb00003,48587
cptb00005,49039
cptb00006,49491
cptb00007,49944
cttb00001,50045
cttb00002,50318
cttb00003,50492
cttb00004,51088
cttb00006,51166
cttb00007,51500
cttb00008,51691
cttb00009,52026
cttb00010,52373
cttb00011,52583
cttb00012,52869
cttb00013,53232
cttb00014,53652
cttb00015,53877
cttb00016,54180
cttb00017,54256
cttb00018,54846
cttb00021,55029
cttb00022,55230
cttb00023,55517
cttb00026,55810
cttb00027,56065
cttb00028,56211
cttb00029,56546
cttb00032,56781
cttb00033,57572
cttb00034,57702
cttb00036,57938
cttb00038,58304
cttb00039,58569
cttb00041,58689
cttb00042,58975
cttb000log1,59213
cttb000log2,59326
dbocodigos20,59808
dgii_rnc,59900
dgii_rnc3,60227
diatable,60459
dstb00001,60508
dstb00002,60935
dstb00003,61223
dstb00004,61411
dstb00005,61641
empleados,62047
emventas,62755
inrp00002,62861
intb00001,63110
intb00002,63464
intb00003,63932
intb00004,64326
intb00005,64720
intb00006,65037
intb00007,65795
intb00008,66002
intb00009,66371
intb00010,66470
intb00011,66561
intb00012,66960
intb00013,67368
intb00014,67731
intb00015,68033
intb00018,68404
intb00019,68871
intb00020,69383
intb00022,70238
intb00023,70656
intb00026,70836
intb00040,71171
intb00041,71531
intb00042,71915
intb00043,72262
intb00043_,72387
intb00043a,72508
intb00044,72632
inventory,72785
iptb00001,72835
iptb00002,73163
iptb00003,73904
iptb00004,74165
iptb00005,74588
iptb00006,75073
iptb00007,76108
iptb00008,76314
iptb00010,77096
iptb00011,77529
iptb00012,77928
iptb00013,78422
iptb00014,78652
iptb00015,78965
iptb00017,79052
iptb00019,79830
iptb00020,80013
iptb00021,80247
iptb00022,80431
iptb00024,80645
iptb00025,80872
iptb00026,81378
iptb00027,81482
iptb00028,81583
iptb00029,81708
iptb00030,81903
iptb00031,82096
iptb00032,82151
iptb00033,82233
iptb00034,83083
iptb00040,83476
iptb00041,83836
iptb00042,84220
iptb00043,84567
iptb00044,84618
iptb00045,84891
iptb00046,84979
iptb00047,85065
iptb00048,85149
iptb00049,85203
iptb025,85608
iptbexistencia,86027
ircodigos,86304
irtb00001,86429
irtb00002,86759
irtb00005,87235
irtb00006,87552
irtb00007,88246
irtb00008,88729
irtb00009,89240
irtb00010,89549
irtb00011,89742
irtb00012,90145
irtb00013,90555
irtb00014,90912
irtb00016,91093
irtb00017,91395
irtb00018,91766
irtb00027,91818
irtb00029,92263
irtb00030,92460
irtb00040,92655
irtb00041,93015
irtb00042,93399
istb00002,93746
istb00005,94315
istb00006,94618
istb00013,95302
item,95647
lajas,95880
lajas14,95965
lajas2,96058
lajas2_,96147
lineitem,96240
listaprecio,96376
localizacion,96647
mallas9,96742
marzo_,96835
mestable,96916
molduras23,97110
msgtable,97218
nc,97366
notb00001,97851
notb00002,97931
notb00003,98497
notb00005,98822
notb00006,99033
notb00007,99373
notb00008,99800
notb00009,100231
notb00010,100439
notb00011,100812
notb00012,101184
notb00013,101333
notb00014,101513
notb00015,101590
notb00016,101966
notb00017,102397
notb00018,102554
notb00019,102742
notb00020,102985
notb00021,103335
notb00023,103578
notb00033,103971
notb0019,104622
notb03,104856
notbcuenta,105145
notbingresos,105227
ntb00005,105284
oportunidades,105590
orders,106194
orderstatus,106849
pda5,106965
permisos,107369
prdtable,107483
precios,107756
preciosc,107968
product,108091
prordenlog,108219
prordenstatus,108524
prtb00001,108723
prtb00002,108816
prtb00003,109103
prtb00004,109393
prtb00005,109547
prtb00006,109729
prtb00007,110016
prtb00008,110483
prtb00009,110750
prtb00010,111023
prtb00011,111369
prtb00012,111687
prtb00013,112570
prtb00014,113245
prtb00015,113438
prtb00016,113715
prtb00017,113901
prtb00018,114123
prtb00019,114430
prtb00020,114556
prtb00021,114633
prtb00022,115275
prtb00023,115754
prtb00024,116013
prtb00025,116063
prtb00026,116337
prtb00027,116720
prtb00028,116906
prtb00029,117163
prtb00031,117483
prtb00032,117820
prttb00001,117949
prttb00002,118106
ptordenesgral,118187
ptventasgral,119499
ptventasgralh,121354
query,123176
ranking,123543
repitecodigo,123857
repitecodigotmp,124039
seg0000,124104
seg0001,124447
seg0003,125086
seg0004,125411
seg0005,125510
seg0006,125681
seg0007,125757
seg0008,125863
seqreg,125913
sheet1_,125962
signon,126427
sucursales,126477
supplier,126834
svtb00001,127040
svtb00002,128191
svtb00003,128313
svtb00004,128566
svtb00005,129234
svtb00006,129640
svtb00007,129727
tetb00003,129864
tetb00006,130086
tmp2iptb00012,130290
tmp3iptb00012,130856
tmp_kit,131422
tmpactualiza,131667
tmpaumento,131883
tmpcam,132013
tmpcctb01,132138
tmpclase,132786
tmpclase1,132839
tmpclasificacion,132899
tmpclientes,133133
tmpcod11,133556
tmpcod12,133623
tmpcodigorepetido,133690
tmpcodigos,133888
tmpcodigos1,133993
tmpcodsec,134180
tmpcostos,134234
tmpcostos1,134557
tmpcostosferia,134740
tmpdetallefact,135037
tmpduplicados,135300
tmpempresas,135477
tmpexcel,135806
tmpfacturas,135863
tmpfempleados,136271
tmpferia2,136420
tmpferia3,136667
tmpferia5,136876
tmpgrupo,137048
tmpinventario,137105
tmpinventariofisico,137422
tmpinvm,137824
tmpiptb00002,138106
tmpiptb00006,139068
tmpiptb00012,139984
tmpiptb00027,140532
tmpiptb012,140645
tmpmatprima,141157
tmpmedida,141294
tmpofertas,141351
tmpordenes,141508
tmpplanchas,141639
tmppreciosferia,141829
tmppreciosg1,142168
tmppreciosg2,142403
tmppreciosm1,142638
tmppreciosm2,142871
tmpproductos,143104
tmptipo,143251
tmptipocuentas,143305
tmpventas,143428
tmpventas43,143540
tmpvetb00002,143793
tmpvetb00003,144768
travertino,145220
userinfo,145351
usuarios,146441
vacaciones,146527
ventas,146907
vetb00001,147522
vetb00002,147706
vetb00003,148759
vetb00004,149239
vetb00005,149931
vetb00006,150269
vetb00007,150800
vetb00008,151014
vetb00009,151196
vetb00010,151381
vetb00011,151632
vetb00012,151981
vetb00013,152214
vetb00014,152680
vetb00015,153043
vetb00016,153499
vetb00018,153727
vetb00019,153929
vetb00020,154242
vetb00022,154469
vetb00023,154959
vetb00024,155206
vetb00025,155662
vetb00025b,156166
vetb00025c,156612
vetb00026,157058
vetb00027,157111
vetb00028,157545
vetb00029,157806
vetb00030,158201
vetb00031,158422
vetb00042,158697
vetb00044,159003
vetb00045,159306
vetb00048,159702
vetb00049,159884
vetb00050,160145
vetb00051,161449
vetb00052,162235
vetb00053,162696
vetb00060,162754
vetb00061,163057
vetb00071,163234
vetb00072,163579
vetb00075,163740
vetb00076,163860
vetb00084,164047
vetb00085,164098
vetb00086,164381
vetb00087,164589
vetb00088,165015
vetb00090,165301
vetb00091,165477
vetb00092,165981
vetb00093,166349
vetb00094,166521
vetb00095,166767
vetb00096,167074
viejo1,167172
vwanalisisventas,167346
vwanalitico,168186
vwanaliticoh,168916
vwclientesnocompran,169676
vwcobros,170012
vwcodigosnuevos,170560
vwcomisiones,171217
vwcompras,172307
vwconduces,172771
vwcontactosclientes,173453
vwdevoluciones,173694
vwestado,174487
vwestadoordenes,174654
vwipconteopda,175474
vwipprodterm,175952
vwmatprima,176726
vwprecios,177422
vwproduccion,177679
vwproduccionf,178509
vwproductos,179716
vwprovincias,180098
vwrepuestos,180920
vwseguimientoclientes,181621
vwvacaciones,183104
vwventas,184001
vwventasvendedor,185420
correos,36871
cotb00001,36971
cotb00002,37506
cotb00003,37789
cotb00004,37974
cotb00005,38291
cotb00006,38505
cotb00008,38881
cotb00010,39375
cotb00011,39427
cotb00012,39904
cotb00013,40269
cotb00014,40607
cotb00015,41366
cotb00017,41851
cotb00018,42188
cotb00019,42381
cotb00022,42651
cotb00024,42853
cotb00025,43068
cotb00027,43543
cotb00028,43733
cotb00029,43754
cotb00030,44352
cotb00031,44506
cotb00033,44746
cotb00034,45315
cotb00036,45731
cotb00038,45921
cotizacion,46339
cotizacion_detalle,47186
country,47786
cptb00001,47831
cptb00002,48337
cptb00003,48621
cptb00005,49073
cptb00006,49525
cptb00007,49978
cttb00001,50079
cttb00002,50352
cttb00003,50526
cttb00004,51122
cttb00006,51200
cttb00007,51534
cttb00008,51725
cttb00009,52060
cttb00010,52407
cttb00011,52617
cttb00012,52903
cttb00013,53266
cttb00014,53686
cttb00015,53911
cttb00016,54214
cttb00017,54290
cttb00018,54880
cttb00021,55063
cttb00022,55264
cttb00023,55551
cttb00026,55844
cttb00027,56099
cttb00028,56245
cttb00029,56580
cttb00032,56815
cttb00033,57606
cttb00034,57736
cttb00036,57972
cttb00038,58338
cttb00039,58603
cttb00041,58723
cttb00042,59009
cttb000log1,59247
cttb000log2,59360
dbocodigos20,59842
dgii_rnc,59934
dgii_rnc3,60261
diatable,60493
dstb00001,60542
dstb00002,60969
dstb00003,61257
dstb00004,61445
dstb00005,61675
empleados,62081
emventas,62789
inrp00002,62895
intb00001,63144
intb00002,63498
intb00003,63966
intb00004,64360
intb00005,64754
intb00006,65071
intb00007,65829
intb00008,66036
intb00009,66405
intb00010,66504
intb00011,66595
intb00012,66994
intb00013,67402
intb00014,67765
intb00015,68067
intb00018,68438
intb00019,68905
intb00020,69417
intb00022,70272
intb00023,70690
intb00026,70870
intb00040,71205
intb00041,71565
intb00042,71949
intb00043,72296
intb00043_,72421
intb00043a,72542
intb00044,72666
inventory,72819
iptb00001,72869
iptb00002,73197
iptb00003,73938
iptb00004,74199
iptb00005,74622
iptb00006,75107
iptb00007,76142
iptb00008,76348
iptb00010,77130
iptb00011,77563
iptb00012,77962
iptb00013,78456
iptb00014,78686
iptb00015,78999
iptb00017,79086
iptb00019,79864
iptb00020,80047
iptb00021,80281
iptb00022,80465
iptb00024,80679
iptb00025,80906
iptb00026,81412
iptb00027,81516
iptb00028,81617
iptb00029,81742
iptb00030,81937
iptb00031,82130
iptb00032,82185
iptb00033,82267
iptb00034,83117
iptb00040,83510
iptb00041,83870
iptb00042,84254
iptb00043,84601
iptb00044,84652
iptb00045,84925
iptb00046,85013
iptb00047,85099
iptb00048,85183
iptb00049,85237
iptb025,85642
iptbexistencia,86061
ircodigos,86338
irtb00001,86463
irtb00002,86793
irtb00005,87269
irtb00006,87586
irtb00007,88280
irtb00008,88763
irtb00009,89274
irtb00010,89583
irtb00011,89776
irtb00012,90179
irtb00013,90589
irtb00014,90946
irtb00016,91127
irtb00017,91429
irtb00018,91800
irtb00027,91852
irtb00029,92297
irtb00030,92494
irtb00040,92689
irtb00041,93049
irtb00042,93433
istb00002,93780
istb00005,94349
istb00006,94652
istb00013,95336
item,95681
lajas,95914
lajas14,95999
lajas2,96092
lajas2_,96181
lineitem,96274
listaprecio,96410
localizacion,96681
mallas9,96776
marzo_,96869
mestable,96950
molduras23,97144
msgtable,97252
nc,97400
notb00001,97885
notb00002,97965
notb00003,98531
notb00005,98856
notb00006,99067
notb00007,99407
notb00008,99834
notb00009,100265
notb00010,100473
notb00011,100846
notb00012,101218
notb00013,101367
notb00014,101547
notb00015,101624
notb00016,102000
notb00017,102431
notb00018,102588
notb00019,102776
notb00020,103019
notb00021,103369
notb00023,103612
notb00033,104005
notb0019,104656
notb03,104890
notbcuenta,105179
notbingresos,105261
ntb00005,105318
oportunidades,105624
orders,106228
orderstatus,106883
pda5,106999
permisos,107403
prdtable,107517
precios,107790
preciosc,108002
product,108125
prordenlog,108253
prordenstatus,108558
prtb00001,108757
prtb00002,108850
prtb00003,109137
prtb00004,109427
prtb00005,109581
prtb00006,109763
prtb00007,110050
prtb00008,110517
prtb00009,110784
prtb00010,111057
prtb00011,111403
prtb00012,111721
prtb00013,112604
prtb00014,113279
prtb00015,113472
prtb00016,113749
prtb00017,113935
prtb00018,114157
prtb00019,114464
prtb00020,114590
prtb00021,114667
prtb00022,115309
prtb00023,115788
prtb00024,116047
prtb00025,116097
prtb00026,116371
prtb00027,116754
prtb00028,116940
prtb00029,117197
prtb00031,117517
prtb00032,117854
prttb00001,117983
prttb00002,118140
ptordenesgral,118221
ptventasgral,119533
ptventasgralh,121388
query,123210
ranking,123577
repitecodigo,123891
repitecodigotmp,124073
seg0000,124138
seg0001,124481
seg0003,125120
seg0004,125445
seg0005,125544
seg0006,125715
seg0007,125791
seg0008,125897
seqreg,125947
sheet1_,125996
signon,126461
sucursales,126511
supplier,126868
svtb00001,127074
svtb00002,128225
svtb00003,128347
svtb00004,128600
svtb00005,129268
svtb00006,129674
svtb00007,129761
tetb00003,129898
tetb00006,130120
tmp2iptb00012,130324
tmp3iptb00012,130890
tmp_kit,131456
tmpactualiza,131701
tmpaumento,131917
tmpcam,132047
tmpcctb01,132172
tmpclase,132820
tmpclase1,132873
tmpclasificacion,132933
tmpclientes,133167
tmpcod11,133590
tmpcod12,133657
tmpcodigorepetido,133724
tmpcodigos,133922
tmpcodigos1,134027
tmpcodsec,134214
tmpcostos,134268
tmpcostos1,134591
tmpcostosferia,134774
tmpdetallefact,135071
tmpduplicados,135334
tmpempresas,135511
tmpexcel,135840
tmpfacturas,135897
tmpfempleados,136305
tmpferia2,136454
tmpferia3,136701
tmpferia5,136910
tmpgrupo,137082
tmpinventario,137139
tmpinventariofisico,137456
tmpinvm,137858
tmpiptb00002,138140
tmpiptb00006,139102
tmpiptb00012,140018
tmpiptb00027,140566
tmpiptb012,140679
tmpmatprima,141191
tmpmedida,141328
tmpofertas,141385
tmpordenes,141542
tmpplanchas,141673
tmppreciosferia,141863
tmppreciosg1,142202
tmppreciosg2,142437
tmppreciosm1,142672
tmppreciosm2,142905
tmpproductos,143138
tmptipo,143285
tmptipocuentas,143339
tmpventas,143462
tmpventas43,143574
tmpvetb00002,143827
tmpvetb00003,144802
travertino,145254
userinfo,145385
usuarios,146475
vacaciones,146561
ventas,146941
vetb00001,147556
vetb00002,147740
vetb00003,148793
vetb00004,149273
vetb00005,149965
vetb00006,150303
vetb00007,150834
vetb00008,151048
vetb00009,151230
vetb00010,151415
vetb00011,151666
vetb00012,152015
vetb00013,152248
vetb00014,152714
vetb00015,153077
vetb00016,153533
vetb00018,153761
vetb00019,153963
vetb00020,154276
vetb00022,154503
vetb00023,154993
vetb00024,155240
vetb00025,155696
vetb00025b,156200
vetb00025c,156646
vetb00026,157092
vetb00027,157145
vetb00028,157579
vetb00029,157840
vetb00030,158235
vetb00031,158456
vetb00042,158731
vetb00044,159037
vetb00045,159340
vetb00048,159736
vetb00049,159918
vetb00050,160179
vetb00051,161483
vetb00052,162269
vetb00053,162730
vetb00060,162788
vetb00061,163091
vetb00071,163268
vetb00072,163613
vetb00075,163774
vetb00076,163894
vetb00084,164081
vetb00085,164132
vetb00086,164415
vetb00087,164623
vetb00088,165049
vetb00090,165335
vetb00091,165511
vetb00092,166015
vetb00093,166383
vetb00094,166555
vetb00095,166801
vetb00096,167108
viejo1,167206
vwanalisisventas,167380
vwanalitico,168220
vwanaliticoh,168950
vwclientesnocompran,169710
vwcobros,170046
vwcodigosnuevos,170594
vwcomisiones,171251
vwcompras,172341
vwconduces,172805
vwcontactosclientes,173487
vwdevoluciones,173728
vwestado,174521
vwestadoordenes,174688
vwipconteopda,175508
vwipprodterm,175986
vwmatprima,176760
vwprecios,177456
vwproduccion,177713
vwproduccionf,178543
vwproductos,179750
vwprovincias,180132
vwrepuestos,180954
vwseguimientoclientes,181655
vwvacaciones,183138
vwventas,184035
vwventasvendedor,185454
+1 -1
View File
@@ -1,4 +1,4 @@
database marmotech
SCHEMA decomarmol
screen size 24 by 80
{
+305 -183
View File
@@ -2,45 +2,46 @@
-------------------------------------------------------------------------------
PROGRAMA : COPRRP001
OBJETIVO : CATALOGO DE SUPLIDORES
PROGRAMADOR : JUAN SOTO
FECHA REALIZACION : AGOSTO 1997
PROGRAMADOR : JUAN SOTO
FECHA REALIZACION : AGOSTO 1997
DIRECTOR PROYECTO : JOSE ALFREDO PAULINO ALEJO
-------------------------------------------------------------------------------
}
GLOBALS "coprgb000.4gl"
MAIN
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CALL ARG_VAL(3) RETURNING impresor
CONNECT to "decomarmol" USER usuarios USING clave
SELECT a.* INTO p_companias.* FROM companias a
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CALL ARG_VAL(3) RETURNING impresor
CALL coprrp001()
CONNECT TO "decomarmol" USER usuarios USING clave
SELECT a.* INTO p_companias.* FROM companias a
CALL coprrp001()
END MAIN
FUNCTION coprrp001()
#### Registro que almacena la informacion requerida
DEFINE listado RECORD
cod_sp LIKE cotb00001.cod_sp,
cod_sp_sec LIKE cotb00001.cod_sp_sec,
nom_sp LIKE cotb00001.nom_sp,
dir_sp LIKE cotb00001.dir_sp,
area_sp LIKE cotb00001.area_sp,
tel_sp LIKE cotb00001.tel_sp,
fax_sp LIKE cotb00001.fax_sp,
cont_sp LIKE cotb00001.cont_sp,
descrip_term LIKE cotb00024.descrip_term
cod_sp LIKE cotb00001.cod_sp,
cod_sp_sec LIKE cotb00001.cod_sp_sec,
nom_sp LIKE cotb00001.nom_sp,
dir_sp LIKE cotb00001.dir_sp,
area_sp LIKE cotb00001.area_sp,
tel_sp LIKE cotb00001.tel_sp,
fax_sp LIKE cotb00001.fax_sp,
cont_sp LIKE cotb00001.cont_sp,
descrip_term LIKE cotb00024.descrip_term
END RECORD
DEFINE
r_filename STRING,
preview INT
# WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21
CLEAR SCREEN
@@ -48,221 +49,278 @@ FUNCTION coprrp001()
OPEN FORM cofmrp001 FROM "cofmrp001"
DISPLAY FORM cofmrp001
LET tipo_papel = 2
CALL msgrp000(tipo_papel)
##### Entrando el valor por el cual se ordenara la salida
INPUT BY NAME decide
AFTER FIELD decide
IF decide IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD decide
END IF
END INPUT
INPUT BY NAME decide
AFTER FIELD decide
IF decide IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD decide
END IF
END INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
CONSTRUCT criterio ON a.cod_sp,a.cod_sp_sec,a.nom_sp
FROM cod_sp,cod_sp_sec,nom_sp
CONSTRUCT criterio
ON a.cod_sp, a.cod_sp_sec, a.nom_sp
FROM cod_sp, cod_sp_sec, nom_sp
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
##### Selecionando la informacion ordenado alfabeticamente
IF decide = "A" THEN
LET SELEC =
"SELECT a.cod_sp,a.cod_sp_sec,a.nom_sp,a.dir_sp,a.area_sp,a.tel_sp, ",
" a.fax_sp,a.cont_sp,b.descrip_term ",
"FROM cotb00001 a, OUTER cotb00024 b ",
"WHERE a.term_sp = b.term_sp AND a.status_t is null AND ",
criterio clipped," ORDER BY a.cod_sp,a.cod_sp_sec"
LET SELEC =
"SELECT a.cod_sp,a.cod_sp_sec,a.nom_sp,a.dir_sp,a.area_sp,a.tel_sp, ",
" a.fax_sp,a.cont_sp,b.descrip_term ",
"FROM cotb00001 a, OUTER cotb00024 b ",
"WHERE a.term_sp = b.term_sp AND a.status_t is null AND ",
criterio CLIPPED,
" ORDER BY a.cod_sp,a.cod_sp_sec"
ELSE
##### Selecionando la informacion ordenado numericamente
ELSE
##### Selecionando la informacion ordenado numericamente
LET SELEC =
"SELECT a.cod_sp,a.cod_sp_sec,a.nom_sp,a.dir_sp,a.area_sp,a.tel_sp, ",
" a.fax_sp,a.cont_sp,b.descrip_term ",
"FROM cotb00001 a, OUTER cotb00024 b ",
"WHERE a.term_sp = b.term_sp AND a.status_t is null AND ",
criterio clipped," ORDER BY a.cod_sp,a.cod_sp_sec"
END IF
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
LET SELEC =
"SELECT a.cod_sp,a.cod_sp_sec,a.nom_sp,a.dir_sp,a.area_sp,a.tel_sp, ",
" a.fax_sp,a.cont_sp,b.descrip_term ",
"FROM cotb00001 a, OUTER cotb00024 b ",
"WHERE a.term_sp = b.term_sp AND a.status_t is null AND ",
criterio CLIPPED,
" ORDER BY a.cod_sp,a.cod_sp_sec"
END IF
DISPLAY "Buscando Informacion ... Espere Por Favor" AT 19,14
ATTRIBUTE (REVERSE,BOLD)
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
DISPLAY "Buscando Informacion ... Espere Por Favor"
AT 19, 14
ATTRIBUTE(REVERSE, BOLD)
PREPARE busca FROM selec
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
DECLARE accion CURSOR FOR busca
DISPLAY " " AT 19,14
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
CALL defecto(usuarios,clave,impresor) RETURNING imprime,negrilla_on,negrillas_of,
doble_on,doble_off,comp_on,comp_off,
doce,normal,archivo,copia
DISPLAY " " AT 19, 14
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19, 14
ATTRIBUTE(REVERSE)
CALL defecto(
usuarios, clave, impresor)
RETURNING imprime,
negrilla_on,
negrillas_of,
doble_on,
doble_off,
comp_on,
comp_off,
doce,
normal,
archivo,
copia
START REPORT catalogo TO archivo
#### Enviando la informacion al registro del reporte
LET r_filename = 'coprrp001.4rp'
CALL seleccionarSalida() RETURNING r_output
FOREACH accion INTO listado.*
LET preview = 1
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
IF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
CALL fgl_report_selectDevice(r_output) -- changing default
CALL fgl_report_selectPreview(preview) -- changing default
LET handler = fgl_report_commitCurrentSettings() -- commit changes
END IF
IF status = NOTFOUND THEN
EXIT FOREACH
ELSE
OUTPUT TO REPORT catalogo(listado.*)
END IF
START REPORT catalogo2 TO XML HANDLER handler
#### Enviando la informacion al registro del reporte
FOREACH accion INTO listado.*
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
IF status = NOTFOUND THEN
EXIT FOREACH
ELSE
OUTPUT TO REPORT catalogo2(listado.*)
END IF
END FOREACH
FINISH REPORT catalogo
FINISH REPORT catalogo2
CLEAR SCREEN
RUN imprime
END FUNCTION
#RUN imprime
END FUNCTION
##### Funcion que genera el reporte
REPORT catalogo(x)
DEFINE x RECORD
cod_sp LIKE cotb00001.cod_sp,
cod_sp_sec LIKE cotb00001.cod_sp_sec,
nom_sp LIKE cotb00001.nom_sp,
dir_sp LIKE cotb00001.dir_sp,
area_sp LIKE cotb00001.area_sp,
tel_sp LIKE cotb00001.tel_sp,
fax_sp LIKE cotb00001.fax_sp,
cont_sp LIKE cotb00001.cont_sp,
descrip_term LIKE cotb00024.descrip_term
END RECORD
REPORT catalogo(x)
DEFINE x RECORD
cod_sp LIKE cotb00001.cod_sp,
cod_sp_sec LIKE cotb00001.cod_sp_sec,
nom_sp LIKE cotb00001.nom_sp,
dir_sp LIKE cotb00001.dir_sp,
area_sp LIKE cotb00001.area_sp,
tel_sp LIKE cotb00001.tel_sp,
fax_sp LIKE cotb00001.fax_sp,
cont_sp LIKE cotb00001.cont_sp,
descrip_term LIKE cotb00024.descrip_term
END RECORD
DEFINE doble_on CHAR(2)
DEFINE doble_off CHAR(2)
DEFINE negrillas_on CHAR(2)
DEFINE negrillas_off CHAR(2)
DEFINE comp_on CHAR(2)
DEFINE comp_off CHAR(2)
DEFINE comp_off CHAR(2)
DEFINE doce CHAR(2)
DEFINE hora CHAR(5)
DEFINE l SMALLINT
DEFINE varia CHAR(10)
DEFINE vfhoy CHAR(8)
OUTPUT
TOP MARGIN 0
LEFT MARGIN 5
BOTTOM MARGIN 4
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 0
PAGE LENGTH 100
FORMAT
PAGE HEADER
LET doble_on = ASCII 14
LET doble_off = ASCII 20
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27, ASCII 77
LET hora = time
IF decide = "N" THEN
LET varia = "*Numerico*"
ELSE
LET varia = "Alfabetico"
END IF
LET l = (215 - LENGTH(p_companias.nombre))/2
PAGE HEADER
{ LET doble_on = ASCII 14
LET doble_off = ASCII 20
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27, ASCII 77
}
LET hora = TIME
IF decide = "N" THEN
LET varia = "*Numerico*"
ELSE
LET varia = "Alfabetico"
END IF
LET l = (215 - LENGTH(p_companias.nombre)) / 2
LET vfhoy = TODAY USING "dd/mm/yy"
PRINT COLUMN 1, comp_on,negrillas_on
PRINT COLUMN 1, "coprrp001",
COLUMN l, p_companias.nombre CLIPPED,
COLUMN 208, "Pag. ",pageno using "<<<"
PRINT COLUMN 99, "Sistema de Compras",
COLUMN 208, today using "dd/mm/yy"
PRINT COLUMN 1,
COLUMN 97, "Catalogo de Suplidores",
COLUMN 211, hora
LET l = (215 - LENGTH(varia))/2
PRINT COLUMN L, varia
PRINT COLUMN 1, comp_on, negrillas_on
PRINT COLUMN 1,
"coprrp001",
COLUMN l,
p_companias.nombre CLIPPED,
COLUMN 208,
"Pag. ",
PAGENO
PRINT COLUMN 99,
"Sistema de Compras",
COLUMN 208,
vfhoy
PRINT COLUMN 1,
COLUMN 97,
"Catalogo de Suplidores",
COLUMN 211,
hora
LET l = (215 - LENGTH(varia)) / 2
PRINT COLUMN L, varia
PRINT COLUMN 1, "----------------------------------------------------",
"----------------------------------------------------",
"----------------------------------------------------",
"----------------------------------------------------",
"-------"
PRINT COLUMN 1,
"----------------------------------------------------",
"----------------------------------------------------",
"----------------------------------------------------",
"----------------------------------------------------",
"-------"
PRINT COLUMN 113, "Codigo"
PRINT COLUMN 113, "Codigo"
PRINT COLUMN 2, "Codigo",
COLUMN 15, "Nombre Suplidor",
COLUMN 49, "Direccion",
COLUMN 114, "Area",
COLUMN 121, "Telefono",
COLUMN 132, "Fax",
COLUMN 143, "Persona de Contacto",
COLUMN 177, "Terminos de Pago"
PRINT COLUMN 2,
"Codigo",
COLUMN 15,
"Nombre Suplidor",
COLUMN 49,
"Direccion",
COLUMN 114,
"Area",
COLUMN 121,
"Telefono",
COLUMN 132,
"Fax",
COLUMN 143,
"Persona de Contacto",
COLUMN 177,
"Terminos de Pago"
PRINT COLUMN 1, "----------------------------------------------------",
"----------------------------------------------------",
"----------------------------------------------------",
"----------------------------------------------------",
"-------"
PRINT COLUMN 1,
"----------------------------------------------------",
"----------------------------------------------------",
"----------------------------------------------------",
"----------------------------------------------------",
"-------"
PRINT negrillas_off
BEFORE GROUP OF x.cod_sp
skip 1 line
LET idx = 0
ON EVERY ROW
PRINT COLUMN 2, x.cod_sp USING "&&","-",
COLUMN 5, x.cod_sp_sec USING "&&&&",
COLUMN 15, x.nom_sp,
COLUMN 49, x.dir_sp,
COLUMN 114, x.area_sp,
COLUMN 121, x.tel_sp,
COLUMN 132, x.fax_sp,
COLUMN 143, x.cont_sp,
COLUMN 177, x.descrip_term
LET idx = idx + 1
PRINT negrillas_off
BEFORE GROUP OF x.cod_sp
SKIP 1 LINE
LET idx = 0
AFTER GROUP OF x.cod_sp
SKIP 1 Line
IF x.cod_sp = 10 THEN
PRINT COLUMN 2, "Total Suplidores LOCALES .... ",idx
ELSE
PRINT COLUMN 2, "Total Suplidores del EXTRANJERO... ",idx
END IF
ON LAST ROW
PRINT ASCII 18
ON EVERY ROW
PRINT COLUMN 2,
x.cod_sp USING "&&",
"-",
COLUMN 5,
x.cod_sp_sec USING "&&&&",
COLUMN 15,
x.nom_sp,
COLUMN 49,
x.dir_sp,
COLUMN 114,
x.area_sp,
COLUMN 121,
x.tel_sp,
COLUMN 132,
x.fax_sp,
COLUMN 143,
x.cont_sp,
COLUMN 177,
x.descrip_term
LET idx = idx + 1
AFTER GROUP OF x.cod_sp
SKIP 1 LINE
IF x.cod_sp = 10 THEN
PRINT COLUMN 2, "Total Suplidores LOCALES .... ", idx
ELSE
PRINT COLUMN 2, "Total Suplidores del EXTRANJERO... ", idx
END IF
ON LAST ROW
PRINT ASCII 18
{ ON LAST ROW
SKIP 1 LINE
@@ -273,4 +331,68 @@ SKIP 1 Line
"====================================================",
"====================================================",
"=======" }
END REPORT
END REPORT
REPORT catalogo2(x)
DEFINE x RECORD
cod_sp LIKE cotb00001.cod_sp,
cod_sp_sec LIKE cotb00001.cod_sp_sec,
nom_sp LIKE cotb00001.nom_sp,
dir_sp LIKE cotb00001.dir_sp,
area_sp LIKE cotb00001.area_sp,
tel_sp LIKE cotb00001.tel_sp,
fax_sp LIKE cotb00001.fax_sp,
cont_sp LIKE cotb00001.cont_sp,
descrip_term LIKE cotb00024.descrip_term
END RECORD
DEFINE total_suplidores,tipo_reporte,total_registros STRING
DEFINE codigo_sp STRING
DEFINE l SMALLINT
DEFINE varia CHAR(10)
FORMAT
PAGE HEADER
BEFORE GROUP OF x.cod_sp
IF decide = "N" THEN
LET varia = "*Numerico*"
ELSE
LET varia = "Alfabetico"
END IF
LET tipo_reporte = varia
PRINTX tipo_reporte
LET idx = 0
ON EVERY ROW
LET codigo_sp = x.cod_sp CLIPPED,"-",x.cod_sp_sec CLIPPED
PRINTX codigo_sp,
x.nom_sp,
x.dir_sp,
x.area_sp,
x.tel_sp,
x.fax_sp,
x.cont_sp,
x.descrip_term
LET idx = idx + 1
AFTER GROUP OF x.cod_sp
IF x.cod_sp = 10 THEN
LET total_suplidores =
"Total Suplidores LOCALES .... ", idx
ELSE
LET total_suplidores =
"Total Suplidores del EXTRANJERO... ", idx
END IF
PRINTX total_suplidores
ON LAST ROW
LET total_registros =
"Total de Registros Impresos = ", COUNT(*) USING "####"
PRINTX total_registros
END REPORT
@@ -0,0 +1,396 @@
{
-------------------------------------------------------------------------------
PROGRAMA : COPRRP001
OBJETIVO : CATALOGO DE SUPLIDORES
PROGRAMADOR : JUAN SOTO
FECHA REALIZACION : AGOSTO 1997
DIRECTOR PROYECTO : JOSE ALFREDO PAULINO ALEJO
-------------------------------------------------------------------------------
}
GLOBALS "coprgb000.4gl"
MAIN
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CALL ARG_VAL(3) RETURNING impresor
CONNECT TO "decomarmol" USER usuarios USING clave
SELECT a.* INTO p_companias.* FROM companias a
CALL coprrp001()
END MAIN
FUNCTION coprrp001()
#### Registro que almacena la informacion requerida
DEFINE listado RECORD
cod_sp LIKE cotb00001.cod_sp,
cod_sp_sec LIKE cotb00001.cod_sp_sec,
nom_sp LIKE cotb00001.nom_sp,
dir_sp LIKE cotb00001.dir_sp,
area_sp LIKE cotb00001.area_sp,
tel_sp LIKE cotb00001.tel_sp,
fax_sp LIKE cotb00001.fax_sp,
cont_sp LIKE cotb00001.cont_sp,
descrip_term LIKE cotb00024.descrip_term
END RECORD
DEFINE
r_filename STRING,
preview INT
# WHENEVER ERROR CONTINUE
OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21
CLEAR SCREEN
##### Abriendo el formulario para captura de datos de la condicion de busqueda
OPEN FORM cofmrp001 FROM "cofmrp001"
DISPLAY FORM cofmrp001
LET tipo_papel = 2
CALL msgrp000(tipo_papel)
##### Entrando el valor por el cual se ordenara la salida
INPUT BY NAME decide
AFTER FIELD decide
IF decide IS NULL THEN
LET numero_msg = 16
CALL msg(numero_msg)
NEXT FIELD decide
END IF
END INPUT
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
CONSTRUCT criterio
ON a.cod_sp, a.cod_sp_sec, a.nom_sp
FROM cod_sp, cod_sp_sec, nom_sp
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
##### Selecionando la informacion ordenado alfabeticamente
IF decide = "A" THEN
LET SELEC =
"SELECT a.cod_sp,a.cod_sp_sec,a.nom_sp,a.dir_sp,a.area_sp,a.tel_sp, ",
" a.fax_sp,a.cont_sp,b.descrip_term ",
"FROM cotb00001 a, OUTER cotb00024 b ",
"WHERE a.term_sp = b.term_sp AND a.status_t is null AND ",
criterio CLIPPED,
" ORDER BY a.cod_sp,a.cod_sp_sec"
ELSE
##### Selecionando la informacion ordenado numericamente
LET SELEC =
"SELECT a.cod_sp,a.cod_sp_sec,a.nom_sp,a.dir_sp,a.area_sp,a.tel_sp, ",
" a.fax_sp,a.cont_sp,b.descrip_term ",
"FROM cotb00001 a, OUTER cotb00024 b ",
"WHERE a.term_sp = b.term_sp AND a.status_t is null AND ",
criterio CLIPPED,
" ORDER BY a.cod_sp,a.cod_sp_sec"
END IF
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
DISPLAY "Buscando Informacion ... Espere Por Favor"
AT 19, 14
ATTRIBUTE(REVERSE, BOLD)
PREPARE busca FROM selec
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
DECLARE accion CURSOR FOR busca
DISPLAY " " AT 19, 14
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19, 14
ATTRIBUTE(REVERSE)
CALL defecto(
usuarios, clave, impresor)
RETURNING imprime,
negrilla_on,
negrillas_of,
doble_on,
doble_off,
comp_on,
comp_off,
doce,
normal,
archivo,
copia
LET r_filename = 'coprrp001.4rp'
CALL seleccionarSalida() RETURNING r_output
LET preview = 1
IF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
CALL fgl_report_selectDevice(r_output) -- changing default
CALL fgl_report_selectPreview(preview) -- changing default
LET handler = fgl_report_commitCurrentSettings() -- commit changes
END IF
START REPORT catalogo2 TO XML HANDLER handler
#### Enviando la informacion al registro del reporte
FOREACH accion INTO listado.*
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
IF status = NOTFOUND THEN
EXIT FOREACH
ELSE
OUTPUT TO REPORT catalogo2(listado.*)
END IF
END FOREACH
FINISH REPORT catalogo2
#RUN imprime
END FUNCTION
##### Funcion que genera el reporte
REPORT catalogo(x)
DEFINE x RECORD
cod_sp LIKE cotb00001.cod_sp,
cod_sp_sec LIKE cotb00001.cod_sp_sec,
nom_sp LIKE cotb00001.nom_sp,
dir_sp LIKE cotb00001.dir_sp,
area_sp LIKE cotb00001.area_sp,
tel_sp LIKE cotb00001.tel_sp,
fax_sp LIKE cotb00001.fax_sp,
cont_sp LIKE cotb00001.cont_sp,
descrip_term LIKE cotb00024.descrip_term
END RECORD
DEFINE doble_on CHAR(2)
DEFINE doble_off CHAR(2)
DEFINE negrillas_on CHAR(2)
DEFINE negrillas_off CHAR(2)
DEFINE comp_on CHAR(2)
DEFINE comp_off CHAR(2)
DEFINE doce CHAR(2)
DEFINE hora CHAR(5)
DEFINE l SMALLINT
DEFINE varia CHAR(10)
OUTPUT
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 0
PAGE LENGTH 100
FORMAT
PAGE HEADER
{ LET doble_on = ASCII 14
LET doble_off = ASCII 20
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27, ASCII 77
}
LET hora = TIME
IF decide = "N" THEN
LET varia = "*Numerico*"
ELSE
LET varia = "Alfabetico"
END IF
LET l = (215 - LENGTH(p_companias.nombre)) / 2
PRINT COLUMN 1, comp_on, negrillas_on
PRINT COLUMN 1,
"coprrp001",
COLUMN l,
p_companias.nombre CLIPPED,
COLUMN 208,
"Pag. ",
PAGENO USING "<<<"
PRINT COLUMN 99,
"Sistema de Compras",
COLUMN 208,
TODAY USING "dd/mm/yy"
PRINT COLUMN 1,
COLUMN 97,
"Catalogo de Suplidores",
COLUMN 211,
hora
LET l = (215 - LENGTH(varia)) / 2
PRINT COLUMN L, varia
PRINT COLUMN 1,
"----------------------------------------------------",
"----------------------------------------------------",
"----------------------------------------------------",
"----------------------------------------------------",
"-------"
PRINT COLUMN 113, "Codigo"
PRINT COLUMN 2,
"Codigo",
COLUMN 15,
"Nombre Suplidor",
COLUMN 49,
"Direccion",
COLUMN 114,
"Area",
COLUMN 121,
"Telefono",
COLUMN 132,
"Fax",
COLUMN 143,
"Persona de Contacto",
COLUMN 177,
"Terminos de Pago"
PRINT COLUMN 1,
"----------------------------------------------------",
"----------------------------------------------------",
"----------------------------------------------------",
"----------------------------------------------------",
"-------"
PRINT negrillas_off
BEFORE GROUP OF x.cod_sp
SKIP 1 LINE
LET idx = 0
ON EVERY ROW
PRINT COLUMN 2,
x.cod_sp USING "&&",
"-",
COLUMN 5,
x.cod_sp_sec USING "&&&&",
COLUMN 15,
x.nom_sp,
COLUMN 49,
x.dir_sp,
COLUMN 114,
x.area_sp,
COLUMN 121,
x.tel_sp,
COLUMN 132,
x.fax_sp,
COLUMN 143,
x.cont_sp,
COLUMN 177,
x.descrip_term
LET idx = idx + 1
AFTER GROUP OF x.cod_sp
SKIP 1 LINE
IF x.cod_sp = 10 THEN
PRINT COLUMN 2, "Total Suplidores LOCALES .... ", idx
ELSE
PRINT COLUMN 2, "Total Suplidores del EXTRANJERO... ", idx
END IF
ON LAST ROW
PRINT ASCII 18
{ ON LAST ROW
SKIP 1 LINE
PRINT COLUMN 2, "Total de Registros Impresos = ", count(*) USING "####"
PRINT COLUMN 2, ASCII 27, ASCII 80
PRINT COLUMN 1, "====================================================",
"====================================================",
"====================================================",
"====================================================",
"=======" }
END REPORT
REPORT catalogo2(x)
DEFINE x RECORD
cod_sp LIKE cotb00001.cod_sp,
cod_sp_sec LIKE cotb00001.cod_sp_sec,
nom_sp LIKE cotb00001.nom_sp,
dir_sp LIKE cotb00001.dir_sp,
area_sp LIKE cotb00001.area_sp,
tel_sp LIKE cotb00001.tel_sp,
fax_sp LIKE cotb00001.fax_sp,
cont_sp LIKE cotb00001.cont_sp,
descrip_term LIKE cotb00024.descrip_term
END RECORD
DEFINE total_suplidores,tipo_reporte,total_registros STRING
DEFINE codigo_sp STRING
DEFINE l SMALLINT
DEFINE varia CHAR(10)
FORMAT
PAGE HEADER
BEFORE GROUP OF x.cod_sp
IF decide = "N" THEN
LET varia = "*Numerico*"
ELSE
LET varia = "Alfabetico"
END IF
LET tipo_reporte = varia
PRINTX tipo_reporte
LET idx = 0
ON EVERY ROW
LET codigo_sp = x.cod_sp CLIPPED,"-",x.cod_sp_sec CLIPPED
PRINTX codigo_sp,
x.nom_sp,
x.dir_sp,
x.area_sp,
x.tel_sp,
x.fax_sp,
x.cont_sp,
x.descrip_term
LET idx = idx + 1
AFTER GROUP OF x.cod_sp
IF x.cod_sp = 10 THEN
LET total_suplidores =
"Total Suplidores LOCALES .... ", idx
ELSE
LET total_suplidores =
"Total Suplidores del EXTRANJERO... ", idx
END IF
PRINTX total_suplidores
ON LAST ROW
LET total_registros =
"Total de Registros Impresos = ", COUNT(*) USING "####"
PRINTX total_registros
END REPORT
+89
View File
@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8"?>
<report:Report xmlns:rtl="http://www.4js.com/2004/RTL" xmlns:report="http://www.4js.com/2007/REPORT" xmlns="http://www.4js.com/2004/PXML" gstVersion="3140a" version="6.00">
<report:Settings RWPageWidth="28.00cm" RWPageLength="29.70cm" RWLeftMargin="1.30cm" RWTopMargin="1.30cm" RWRightMargin="1.30cm" RWBottomMargin="1.30cm">
<report:FormatList>
<report:Format-SVG/>
<report:Format-PDF/>
<report:Format-image/>
</report:FormatList>
</report:Settings>
<report:Data RWDataLocation="../codir/coprrp001.rdd" RWFglReportName="catalogo2"/>
<report:Conflicts>
<report:Conflict nodeName="Layout Node7" message="Node was in trigger &quot;FirstPageHeader [0; 1]&quot;, but trigger was removed during schema update"/>
</report:Conflicts>
<rtl:stylesheet>
<PXML>
<rtl:match name="Report" nameConstraint="Report" minOccurs="1" maxOccurs="1">
<MINIPAGE name="pageRoot" width="max" length="766.687" alignment="near" fontName="Arial">
<LAYOUTNODE name="Layout Node7" width="min" length="min" swapX="true" port="firstPageHeader">
<LAYOUTNODE name="Titulo" width="min" length="max" fontBold="true" layoutDirection="leftToRight" floatingBehavior="enclosed" borderWidth="0">
<WORDBOX name="WordBox159" width="66" alignment="baseline" floatingBehavior="enclosed" text="coprrp001"/>
<WORDWRAPBOX name="p_companias.nombre Value" width="584.749" alignment="baseline" floatingBehavior="enclosed" text="{{&quot;MARMOTECH S.A.&quot;}}" textAlignment="center"/>
</LAYOUTNODE>
<MINIPAGE name="Enc.Secundario" width="min" length="min" alignment="near" layoutDirection="leftToRight" borderWidth="0.2">
<WORDBOX name="WordBox2" width="719" alignment="near" fontBold="true" floatingBehavior="enclosed" textAlignment="center" text="Sistema de Compras" borderWidth="0"/>
</MINIPAGE>
<MINIPAGE name="StripeLayouter14" width="15.7303" length="max" alignment="center" layoutDirection="leftToRight">
<rtl:input-variable name="tipo_reporte" type="FGLString" expectedLocation="expectedAhead"/>
<WORDWRAPBOX name="tipo_reporte Value" class="grwStringValue" width="max" floatingBehavior="enclosed" text="{{tipo_reporte}}" textAlignment="center"/>
</MINIPAGE>
<MINIPAGE name="encabezadod1" width="max" length="min" swapX="true">
<MINIPAGE name="StripeLayouter23" width=".1cm" bgColor="#cc" layoutDirection="leftToRight"/>
<MINIPAGE name="encabezadodetalle" width="min" length="max" bgColor="#cccccc" fontBold="true" layoutDirection="leftToRight">
<WORDBOX name="WordBox44" width="55.7686" length="12.3906" alignment="near" fontSize="9" baselineType="leftleft" textAlignment="center" text="Codigo"/>
<WORDBOX name="WordBox46" width="101.52" alignment="center" fontSize="9" baselineType="leftleft" textAlignment="center" text="Suplidor"/>
<WORDBOX name="WordBox120_1_1" width="110.563" length="12.1628" alignment="center" fontSize="9" baselineType="leftleft" floatingBehavior="enclosed" textAlignment="center" text="Direccion"/>
<WORDBOX name="WordBox120_2" width="41.2111" alignment="center" fontSize="9" floatingBehavior="enclosed" textAlignment="center" text="Codigo Area"/>
<LAYOUTNODE name="espacio5_1_2_2" width="20" length="5" layoutDirection="leftToRight"/>
<WORDBOX name="WordBox120_1" width="92.3465" alignment="center" fontSize="9" floatingBehavior="enclosed" textAlignment="center" text="Telefono"/>
<WORDBOX name="WordBox120_3" width="90.3465" alignment="center" fontSize="9" floatingBehavior="enclosed" textAlignment="center" text="Fax"/>
<WORDBOX name="WordBox120" width="99.346" alignment="center" fontSize="9" floatingBehavior="enclosed" textAlignment="center" text="Persona de Contacto" trimText="both"/>
<WORDBOX name="WordBox120_4" width="107.346" alignment="center" fontSize="9" floatingBehavior="enclosed" textAlignment="center" text="Terminos de Pago" trimText="both"/>
</MINIPAGE>
<MINIPAGE name="StripeLayouter25" width=".1cm" bgColor="#cc" layoutDirection="leftToRight"/>
</MINIPAGE>
</LAYOUTNODE>
<rtl:match name="Group cod_sp" nameConstraint="Group" minOccurs="0" maxOccurs="unbounded">
<rtl:match name="OnEveryRow" nameConstraint="OnEveryRow" minOccurs="0" maxOccurs="unbounded">
<LAYOUTNODE name="LayoutNode31" width="40.4427" length="max" alignment="near" fontSize="9" layoutDirection="leftToRight" borderWidth="1" borderStyle="solid" borderColor="#dfdfdf">
<rtl:input-variable name="codigo_sp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox4" width="58.1964" length="24.3281" alignment="baseline" fontSize="8" floatingBehavior="enclosed" text="{{codigo_sp}}" trimText="both" textAlignment="center"/>
<LAYOUTNODE name="espacio" width="min" length="3.5197" layoutDirection="leftToRight"/>
<rtl:input-variable name="x.nom_sp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox5" width="97.197" length="24.2783" alignment="baseline" fontSize="8" baselineType="leftleft" text="{{x.nom_sp}}" trimText="both" textAlignment="center"/>
<LAYOUTNODE name="espacio5_1" width="21" length="5" layoutDirection="leftToRight"/>
<rtl:input-variable name="x.dir_sp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox4_1" width="104.576" length="24.3281" alignment="baseline" fontSize="8" floatingBehavior="enclosed" text="{{x.dir_sp}}" trimText="both" textAlignment="center"/>
<LAYOUTNODE name="espacio5_1_7" width="21" length="4" layoutDirection="leftToRight"/>
<rtl:input-variable name="x.area_sp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="karr_ordenes.valor Value1" class="grwNumericValue" width="35.9193" length="25.0469" anchorX="1" alignment="near" fontSize="8" floatingBehavior="enclosed" text="{{x.area_sp}}" trimText="both" textAlignment="center"/>
<LAYOUTNODE name="espacio5_1_1" width="20" length="5" layoutDirection="leftToRight"/>
<rtl:input-variable name="x.tel_sp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="arr_costos.codigo_bloque Value7" class="grwStringValue" width="88.9844" length="23.0469" floatingBehavior="enclosed" text="{{x.tel_sp}}" textAlignment="center"/>
<LAYOUTNODE name="espacio5_1_2" width="20" length="5" layoutDirection="leftToRight"/>
<rtl:input-variable name="x.fax_sp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="x.costo_lab4" class="grwStringValue" width="82.9531" length="24.0469" alignment="baseline" floatingBehavior="enclosed" text="{{x.fax_sp}}" textAlignment="center"/>
<LAYOUTNODE name="espacio5_1_2_1" width="22" length="5" layoutDirection="leftToRight"/>
<rtl:input-variable name="x.cont_sp" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="arr_costos.codigo_bloque Value8" class="grwStringValue" width="92.9531" length="24.0469" alignment="near" fontBold="false" floatingBehavior="enclosed" text="{{x.cont_sp}}" textAlignment="center"/>
<LAYOUTNODE name="espacio5_1_2_1_1" width="22" length="5" layoutDirection="leftToRight"/>
<rtl:input-variable name="x.descrip_term" type="FGLString" expectedLocation="expectedHere"/>
<WORDBOX name="x.descrip_term Value" class="grwStringValue" width="124.938" length="25.6032" floatingBehavior="enclosed" textAlignment="center" text="{{x.descrip_term}}"/>
</LAYOUTNODE>
</rtl:match>
<LAYOUTNODE name="LayoutNode31_1" width="33.7574" length="max" alignment="near" fontSize="9" layoutDirection="leftToRight" borderWidth="1" borderColor="#000000">
<rtl:input-variable name="total_suplidores" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox9" width="207.562" length="24.3281" alignment="baseline" fontBold="true" floatingBehavior="enclosed" text="{{total_suplidores}}" trimText="both" textAlignment="left"/>
</LAYOUTNODE>
</rtl:match>
<rtl:match name="OnLastRow" nameConstraint="OnLastRow" minOccurs="0" maxOccurs="1">
<LAYOUTNODE name="LayoutNode31_1_1" width="25.433" length="max" alignment="near" fontSize="9" layoutDirection="leftToRight" borderWidth="1" borderStyle="solid" borderColor="#000000">
<rtl:input-variable name="total_registros" type="FGLString" expectedLocation="expectedHere"/>
<WORDWRAPBOX name="WordWrapBox11" width="205.212" length="24.3281" alignment="center" fontBold="true" floatingBehavior="enclosed" text="{{total_registros}}" trimText="both" textAlignment="left"/>
</LAYOUTNODE>
</rtl:match>
</MINIPAGE>
</rtl:match>
</PXML>
</rtl:stylesheet>
</report:Report>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1
View File
@@ -39,6 +39,7 @@
<ToolBar name="ToolBar1">
<ToolBarItem comment="Nueva Factura" image="new" name="nuevo" text="Factura"/>
<ToolBarItem comment="Criterio de busqueda" image="find" name="buscar" text="Buscar Factura"/>
<ToolBarItem comment="Compra electronica e-CF 41" image="new" name="compra_e41" text="Compra Electronica"/>
<ToolBarSeparator name="ToolBarSeparator1"/>
<ToolBarItem image="quit" name="salir" text="Salir"/>
</ToolBar>
@@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8" ?>
<ManagedForm databaseName="decomarmol" fileVersion="31400" gstVersion="31409" name="ManagedForm" uid="{08a7c711-2d89-468e-b9f4-764799aa743d}">
<AGSettings>
<DynamicProperties version="2"/>
</AGSettings>
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="factura1" order="" uid="{39fb09f4-aef4-4621-aa87-ee1bf1d6ed74}" where="">
<RecordField colName="tipo" fieldIdRef="13" name="tipo" sqlTabName="formonly" sqlType="CHAR" table_alias_name="" uid="{8675d671-5ba1-4fcc-af87-4f9189474f5d}"/>
<RecordField colName="aplica_a" fieldIdRef="14" fieldType="TABLE_COLUMN" name="cptb00001.aplica_a" sqlTabName="cptb00001" sqlType="VARCHAR" table_alias_name="" uid="{01a0fe69-f7be-4b2b-99f8-1244037bf182}"/>
<RecordField colName="tipo_doc" fieldIdRef="15" fieldType="TABLE_COLUMN" name="cptb00001.tipo_doc" sqlTabName="cptb00001" sqlType="VARCHAR" table_alias_name="" uid="{03c73aae-e409-46c6-8c8c-daf00568d214}"/>
<RecordField colName="valor_prep" fieldIdRef="16" name="valor_prep" precisionDecimal="12" scaleDecimal="2" sqlTabName="formonly" sqlType="DECIMAL" table_alias_name="" uid="{16fc3f19-4a17-4f98-b65d-f99680ffd4bf}"/>
<RecordField colName="valor" fieldIdRef="17" fieldType="TABLE_COLUMN" name="cptb00001.valor" precisionDecimal="12" scaleDecimal="2" sqlTabName="cptb00001" sqlType="DECIMAL" table_alias_name="" uid="{31d5ca07-01cf-4ff6-9bae-ab6910c7769b}"/>
</Record>
<Record additionalTables="" joinLeft="" joinOperator="" joinRight="" name="Undefined" order="" uid="{be8d9ace-199a-422a-9989-91b037c8ff0e}" where="">
<RecordField colName="cod_sp" fieldIdRef="1" fieldType="TABLE_COLUMN" name="cptb00001.cod_sp" sqlTabName="cptb00001" sqlType="SMALLINT" table_alias_name="" uid="{79a32a91-c552-4836-8435-fa6b75aa5b92}"/>
<RecordField colName="cod_sp_sec" fieldIdRef="2" fieldType="TABLE_COLUMN" name="cptb00001.cod_sp_sec" sqlTabName="cptb00001" sqlType="SMALLINT" table_alias_name="" uid="{361cc52e-b268-44b0-812a-9a3e3011d41b}"/>
<RecordField colName="nom_sup" fieldIdRef="4" name="nom_sup" sqlTabName="formonly" table_alias_name="" uid="{faf29dec-beb5-4516-a229-a3a50f87957e}"/>
<RecordField colName="" fieldIdRef="3" fieldType="NON_DATABASE" length="13" name="num_doc" sqlTabName="" sqlType="VARCHAR" table_alias_name="" uid="{3d7ad781-ff93-4144-9169-0987a16c434d}"/>
<RecordField colName="fecha_orig" fieldIdRef="5" fieldType="TABLE_COLUMN" name="cptb00001.fecha_orig" sqlTabName="cptb00001" sqlType="DATE" table_alias_name="" uid="{1f5322d6-4718-4e8e-b1de-3dde7a102352}"/>
<RecordField colName="fecha_proc" fieldIdRef="6" fieldType="TABLE_COLUMN" name="cptb00001.fecha_proc" sqlTabName="cptb00001" sqlType="DATE" table_alias_name="" uid="{951b8bf4-22ce-4564-a80c-9439ea8d326f}"/>
<RecordField colName="valor_fac" fieldIdRef="7" name="valor_fac" precisionDecimal="12" scaleDecimal="2" sqlTabName="formonly" sqlType="DECIMAL" table_alias_name="" uid="{bbefcfee-d8fa-4421-b7dc-2bcfa42617a4}"/>
<RecordField colName="tipo_oc" fieldIdRef="19" name="tipo_oc" sqlTabName="formonly" sqlType="CHAR" table_alias_name="" uid="{72940478-4ff5-4e79-b96f-60ece0cdef69}"/>
<RecordField colName="orden_no" fieldIdRef="18" fieldType="TABLE_COLUMN" name="cptb00001.orden_no" sqlTabName="cptb00001" sqlType="INTEGER" table_alias_name="" uid="{d9b891d8-43da-453e-8e43-c55e6fff570d}"/>
<RecordField colName="itbis" fieldIdRef="8" name="itbis" precisionDecimal="12" scaleDecimal="2" sqlTabName="formonly" sqlType="DECIMAL" table_alias_name="" uid="{c3ccfaab-a860-49ac-bc15-f902384bccf9}"/>
<RecordField colName="detalle" fieldIdRef="12" fieldType="TABLE_COLUMN" name="cptb00001.detalle" sqlTabName="cptb00001" sqlType="VARCHAR" table_alias_name="" uid="{cb8f2ac7-c863-4663-8645-1a3c14da423a}"/>
<RecordField colName="cod_mon" fieldIdRef="0" name="cod_mon" sqlTabName="formonly" table_alias_name="" uid="{e201c547-e9a9-4447-a2b6-5336972a736f}"/>
<RecordField colName="tipo_ncf" fieldIdRef="9" name="tipo_ncf" sqlTabName="formonly" sqlType="SMALLINT" table_alias_name="" uid="{7c0d2f39-0664-452a-9e23-175a20225bf2}"/>
<RecordField colName="descripcion_ncf" fieldIdRef="10" name="descripcion_ncf" sqlTabName="formonly" table_alias_name="" uid="{c192ad61-595a-49e3-b4db-37ac01b2076e}"/>
<RecordField colName="ncf" fieldIdRef="11" name="ncf" sqlTabName="formonly" table_alias_name="" uid="{3bc49d1f-3069-4cad-893f-803b24a5732e}"/>
<RecordField colName="debito1" fieldIdRef="20" name="debito1" sqlTabName="formonly" table_alias_name="" uid="{a55476d1-a505-4e40-8fa1-fbd539b5910d}"/>
<RecordField colName="credito1" fieldIdRef="21" name="credito1" sqlTabName="formonly" table_alias_name="" uid="{690f5cdc-bcd0-4086-a526-7048a86989c8}"/>
<RecordField colName="" fieldIdRef="22" name="monto_orden" sqlTabName="" table_alias_name="" uid="{8b0b15c8-64f2-46e5-a932-cbdb1f84e950}"/>
<RecordField colName="" fieldIdRef="23" name="valor_recibido_b" sqlTabName="" table_alias_name="" uid="{c228bb73-0d1b-485b-8854-930629c3e3bf}"/>
<RecordField colName="" fieldIdRef="24" name="xservicios" sqlTabName="" table_alias_name="" uid="{e4605002-65a8-49f0-80df-8ef3a06868fd}"/>
<RecordField colName="" fieldIdRef="25" name="xbienes" sqlTabName="" table_alias_name="" uid="{afba16a3-e96a-4cff-9876-5d1be636b223}"/>
<RecordField colName="foto_producto" fieldIdRef="26" name="foto" sqlTabName="formonly" table_alias_name="" uid="{cdf6e75e-eeb1-4e1c-933e-abdbc744cee4}"/>
<RecordField fieldIdRef="27" name="nombre_file_foto" uid="{86cfd7e8-06aa-4431-9041-d8146403a7a5}"/>
</Record>
<Form gridHeight="27" gridWidth="121" name="cpfmmt001" style="basic" text="CREACION FACTURAS CUENTAS POR PAGAR">
<ToolBar name="ToolBar1">
<ToolBarItem comment="Nueva Factura" image="new" name="nuevo" text="Factura"/>
<ToolBarItem comment="Criterio de busqueda" image="find" name="buscar" text="Buscar Factura"/>
<ToolBarSeparator name="ToolBarSeparator1"/>
<ToolBarItem image="quit" name="salir" text="Salir"/>
</ToolBar>
<Grid gridHeight="26" gridWidth="121" name="Grid1" posX="0" posY="0">
<Group gridHeight="12" gridWidth="75" name="Group1" posX="1" posY="1">
<Label posX="2" posY="1" text="Codigo Suplidor"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="cod_sp" fieldId="1" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="2" name="cptb00001.cod_sp" posX="20" posY="1" sqlTabName="cptb00001" sqlType="SMALLINT" tabIndex="1" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="cod_sp_sec" comment="Presione Ctrl-W Para busca Suplidor" fieldId="2" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="4" name="cptb00001.cod_sp_sec" posX="25" posY="1" sqlTabName="cptb00001" sqlType="SMALLINT" tabIndex="2" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="nom_sup" color="yellow" fieldId="4" gridHeight="1" gridWidth="41" name="nom_sup" noEntry="true" posX="31" posY="1" sqlTabName="formonly" tabIndex="3" table_alias_name="" widget="Edit"/>
<Label posX="2" posY="2" text="Numero Factura"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="" fieldId="3" fieldType="NON_DATABASE" gridHeight="1" gridWidth="14" length="13" name="num_doc" posX="20" posY="2" sqlTabName="" sqlType="VARCHAR" tabIndex="4" table_alias_name="" widget="Edit"/>
<Label posX="41" posY="2" text="Fecha Factura"/>
<DateEdit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fecha_orig" fieldId="5" fieldType="TABLE_COLUMN" format="dd/mm/yyyy" gridHeight="1" gridWidth="10" name="cptb00001.fecha_orig" posX="62" posY="2" sqlTabName="cptb00001" sqlType="DATE" tabIndex="5" table_alias_name="" widget="DateEdit"/>
<Label posX="2" posY="3" text="Fecha Vencimento"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="fecha_proc" fieldId="6" fieldType="TABLE_COLUMN" format="dd/mm/yyyy" gridHeight="1" gridWidth="10" name="cptb00001.fecha_proc" posX="20" posY="3" sqlTabName="cptb00001" sqlType="DATE" tabIndex="6" table_alias_name="" widget="Edit"/>
<Label posX="41" posY="3" text="Monto Factura"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="valor_fac" comment="Digite el valor de la factura" fieldId="7" gridHeight="1" gridWidth="12" name="valor_fac" posX="60" posY="3" precisionDecimal="12" scaleDecimal="2" sqlTabName="formonly" sqlType="DECIMAL" tabIndex="7" table_alias_name="" widget="Edit"/>
<Label posX="2" posY="4" text="Orden"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoNext="true" colName="tipo_oc" comment="01-Generales 02-Rov.ltd 03-Locales 04-Miscelaneas" fieldId="19" gridHeight="1" gridWidth="3" name="tipo_oc" posX="20" posY="4" sqlTabName="formonly" sqlType="CHAR" tabIndex="8" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="orden_no" fieldId="18" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="6" name="cptb00001.orden_no" posX="24" posY="4" sqlTabName="cptb00001" sqlType="INTEGER" tabIndex="9" table_alias_name="" widget="Edit"/>
<Label posX="41" posY="4" text="Monto Impuesto"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="itbis" comment="Digite el valor del impuesto de la factura" fieldId="8" gridHeight="1" gridWidth="12" name="itbis" posX="60" posY="4" precisionDecimal="12" scaleDecimal="2" sqlTabName="formonly" sqlType="DECIMAL" tabIndex="10" table_alias_name="" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label3" posX="2" posY="5" text="Valor Orden"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="22" gridHeight="1" gridWidth="10" name="monto_orden" posX="20" posY="5" sqlTabName="" tabIndex="23" table_alias_name="" title="Edit1" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label4" posX="41" posY="5" text="Valor Recibido"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="23" gridHeight="1" gridWidth="12" name="valor_recibido_b" posX="60" posY="5" sqlTabName="" tabIndex="24" table_alias_name="" title="Edit1" widget="Edit"/>
<Label posX="2" posY="6" text="Moneda"/>
<ComboBox aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="cod_mon" fieldId="0" gridHeight="1" gridWidth="12" items="" name="cod_mon" noEntry="true" posX="20" posY="6" sqlTabName="formonly" tabIndex="12" table_alias_name="" widget="ComboBox"/>
<Label gridHeight="1" gridWidth="10" name="Label5" posX="41" posY="6" text="Servicios"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="24" gridHeight="1" gridWidth="12" name="xservicios" posX="60" posY="6" sqlTabName="" tabIndex="25" table_alias_name="" title="Edit1" widget="Edit"/>
<Label posX="2" posY="7" text="NCF"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="ncf" comment="Digite el numero del NCF de la factura" fieldId="11" gridHeight="1" gridWidth="19" name="ncf" posX="20" posY="7" sqlTabName="formonly" tabIndex="15" table_alias_name="" widget="Edit"/>
<Label gridHeight="1" gridWidth="10" name="Label6" posX="41" posY="7" text="Bienes"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="" fieldId="25" gridHeight="1" gridWidth="12" name="xbienes" posX="60" posY="7" sqlTabName="" tabIndex="26" table_alias_name="" title="Edit2" widget="Edit"/>
<Label posX="2" posY="9" text="Observacion"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="detalle" fieldId="12" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="32" name="cptb00001.detalle" posX="20" posY="9" required="true" sqlTabName="cptb00001" sqlType="VARCHAR" tabIndex="11" table_alias_name="" widget="Edit"/>
<Label posX="2" posY="10" text="Tipo Gasto"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="tipo_ncf" comment="Digite el tipo del NCF" fieldId="9" gridHeight="1" gridWidth="3" name="tipo_ncf" posX="20" posY="10" sqlTabName="formonly" sqlType="SMALLINT" tabIndex="13" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="descripcion_ncf" comment="Digite el tipo del NCF" fieldId="10" gridHeight="1" gridWidth="24" name="descripcion_ncf" posX="24" posY="10" sqlTabName="formonly" tabIndex="14" table_alias_name="" widget="Edit"/>
</Group>
<Group gridHeight="6" gridWidth="42" name="group4" posX="79" posY="1" text="Foto">
<FFImage aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" autoScale="true" colName="foto_producto" fieldId="26" gridHeight="3" gridWidth="36" name="foto" posX="2" posY="1" sqlTabName="formonly" stretch="both" table_alias_name="" unitWidth="characters" widget="FFImage" width="36"/>
</Group>
<Group gridHeight="11" gridWidth="27" name="group5" posX="79" posY="7">
<Button gridHeight="1" gridWidth="8" image="fa-picture-o" name="busca_foto" posX="2" posY="1" tabIndex="-1" text="Foto"/>
<Edit fieldId="27" gridHeight="1" gridWidth="24" name="nombre_file_foto" posX="2" posY="3" scroll="true" tabIndex="-1" title="edit1" widget="Edit"/>
</Group>
<Group gridHeight="6" gridWidth="75" name="Group2" posX="1" posY="14">
<Label posX="2" posY="1" text="Apl."/>
<Label posX="8" posY="1" text="Aplica a."/>
<Label posX="24" posY="1" text="Tipo"/>
<Label posX="36" posY="1" text="Monto Dcto."/>
<Label posX="56" posY="1" text="Valor Aplicado"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="tipo" columnCount="1" comment="Digite S = en caso de que desee aplica prepago, N = en caso contrario" fieldId="13" gridHeight="1" gridWidth="2" name="tipo" posX="3" posY="2" repeat="true" rowCount="3" sqlTabName="formonly" sqlType="CHAR" stepX="1" stepY="0" tabIndex="16" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" case="upper" colName="aplica_a" columnCount="1" comment="Digite el numero del prepago" fieldId="14" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="10" name="cptb00001.aplica_a" posX="9" posY="2" repeat="true" rowCount="3" sqlTabName="cptb00001" sqlType="VARCHAR" stepX="1" stepY="0" tabIndex="17" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="tipo_doc" columnCount="1" fieldId="15" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="2" name="cptb00001.tipo_doc" noEntry="true" posX="25" posY="2" repeat="true" rowCount="3" sqlTabName="cptb00001" sqlType="VARCHAR" stepX="1" stepY="0" tabIndex="18" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="valor_prep" columnCount="1" fieldId="16" gridHeight="1" gridWidth="12" name="valor_prep" noEntry="true" posX="36" posY="2" precisionDecimal="12" repeat="true" rowCount="3" scaleDecimal="2" sqlTabName="formonly" sqlType="DECIMAL" stepX="1" stepY="0" tabIndex="19" table_alias_name="" widget="Edit"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="valor" columnCount="1" comment="Digite el valor a aplicar" fieldId="17" fieldType="TABLE_COLUMN" gridHeight="1" gridWidth="12" name="cptb00001.valor" notNull="true" posX="58" posY="2" precisionDecimal="12" repeat="true" required="true" rowCount="3" scaleDecimal="2" sqlTabName="cptb00001" sqlType="DECIMAL" stepX="1" stepY="0" tabIndex="20" table_alias_name="" widget="Edit"/>
</Group>
<Group gridHeight="4" gridWidth="74" name="Group3" posX="1" posY="21">
<Label gridHeight="1" gridWidth="12" name="Label1" posX="2" posY="1" text="Total Debito"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="debito1" fieldId="20" gridHeight="1" gridWidth="12" name="debito1" posX="58" posY="1" sqlTabName="formonly" tabIndex="21" table_alias_name="" widget="Edit"/>
<Label gridHeight="1" gridWidth="13" name="Label2" posX="2" posY="2" text="Total Credito"/>
<Edit aggregateColName="" aggregateName="" aggregateTableAliasName="" aggregateTableName="" colName="credito1" fieldId="21" gridHeight="1" gridWidth="12" name="credito1" posX="58" posY="2" sqlTabName="formonly" tabIndex="22" table_alias_name="" widget="Edit"/>
</Group>
</Grid>
<ActionDefaultList name="ActionDefaultList1">
<ActionDefault name="busca_foto" text="Buscar Fotos"/>
</ActionDefaultList>
</Form>
<DiagramLayout>
<![CDATA[AAAAAgAAAEwAewAzADkAZgBiADAAOQBmADQALQBhAGUAZgA0AC0ANAA2ADIAMQAtAGEAYQA4ADcALQBlAGUAMQBiAGYAMQBkADYAZQBkADcANAB9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAEwAewBiAGUAOABkADkAYQBjAGUALQAxADkAOQBhAC0ANAAyADIAYQAtADkAOQA4ADkALQA5ADEAYgAwADMANwBjADgAZgBmADAAZQB9QCAAACAAABxAIAAAIAAAHAAAAAAAAAAAAQ==]]>
</DiagramLayout>
</ManagedForm>
+50
View File
@@ -0,0 +1,50 @@
{
==============================================================================
FORMULARIO : CPFMWD041
OBJETIVO : Compra electronica e-CF 41 (Comprobante de Compras).
Se digita el neto, el % de ISR, el tipo de retencion ISR
(formato 606), si lleva ITBIS y si es bien o servicio;
el resto se calcula solo.
PROGRAMA Q. USA : CPPRMT001 (modulo cpprmt001_ecf.4gl)
FECHA : Octubre 2026
==============================================================================
}
SCHEMA FORMONLY
LAYOUT (TEXT="Compra electronica (e-CF 41)")
GRID
{
e-NCF [f01 ]
Suplidor [f02 ]
Cedula/RNC [f03 ]
Neto a pagar [f04 ]
% ISR [f05 ]
Tipo retencion ISR [f06 ]
Lleva ITBIS 18% [f07 ]
Bien o servicio [f13 ]
Subtotal [f08 ]
ITBIS 18% [f09 ]
ISR retenido [f10 ]
ITBIS retenido [f11 ]
Total comprobante [f12 ]
}
END
END
ATTRIBUTES
EDIT f01 = FORMONLY.ncf41 TYPE CHAR, NOENTRY;
EDIT f02 = FORMONLY.nom41 TYPE CHAR, NOENTRY;
EDIT f03 = FORMONLY.rnc41 TYPE CHAR, NOENTRY;
EDIT f04 = FORMONLY.neto41 TYPE DECIMAL(12,2), FORMAT="--,---,--&.&&",
COMMENT="Lo que recibe el proveedor";
COMBOBOX f05 = FORMONLY.porc41 TYPE DECIMAL(5,2),
ITEMS=((0,"0% - Exento"),(3,"3% - Servicios tecnicos"),(15,"15% - Honorarios / alquileres"));
COMBOBOX f06 = FORMONLY.cisr41 TYPE SMALLINT;
CHECKBOX f07 = FORMONLY.itbis41 TYPE CHAR, VALUECHECKED="S", VALUEUNCHECKED="N", TEXT="";
COMBOBOX f13 = FORMONLY.bs41 TYPE CHAR, ITEMS=(("1","Bien"),("2","Servicio"));
EDIT f08 = FORMONLY.sub41 TYPE DECIMAL(12,2), FORMAT="--,---,--&.&&", NOENTRY;
EDIT f09 = FORMONLY.itb41 TYPE DECIMAL(12,2), FORMAT="--,---,--&.&&", NOENTRY;
EDIT f10 = FORMONLY.isr41 TYPE DECIMAL(12,2), FORMAT="--,---,--&.&&", NOENTRY;
EDIT f11 = FORMONLY.itbret41 TYPE DECIMAL(12,2), FORMAT="--,---,--&.&&", NOENTRY;
EDIT f12 = FORMONLY.total41 TYPE DECIMAL(12,2), FORMAT="--,---,--&.&&", NOENTRY;
END
+76 -1
View File
@@ -192,6 +192,7 @@ LET tipo_ncf=NULL
LET descripcion_ncf=NULL
LET itbis =NULL
LET ncf = NULL
CALL e41_reset() -- compra electronica 41 (cpprmt001_ecf.4gl)
@@ -228,6 +229,29 @@ INPUT BY NAME factura.*,ITBIS,TIPO_NCF,cod_mon,NCF WITHOUT DEFAULTS
END IF
ON ACTION compra_e41 ATTRIBUTE(TEXT="Compra Electronica",IMAGE="new")
-- e-CF 41: trae el proximo e-NCF y calcula montos desde el neto
IF factura.cod_sp IS NULL OR factura.cod_sp_sec IS NULL THEN
CALL fgl_winmessage("COMPRA ELECTRONICA","Primero elija el suplidor.","exclamation")
NEXT FIELD cod_sp
END IF
IF e41_captura(factura.cod_sp, factura.cod_sp_sec) THEN
LET tipo_ncf = 41
SELECT a.descripcion INTO descripcion_ncf FROM cgtb00074 a
WHERE a.codigo_fiscal = 41
LET ncf = e41_ncf()
LET factura.num_doc = e41_ncf()
LET factura.valor_fac = e41_neto() -- CxP queda por el neto
LET itbis = e41_itbis()
DISPLAY BY NAME factura.num_doc, factura.valor_fac, itbis, tipo_ncf, ncf, descripcion_ncf
-- lo llena el sistema: no se digita
CALL DIALOG.setFieldActive("num_doc", FALSE)
CALL DIALOG.setFieldActive("valor_fac", FALSE)
CALL DIALOG.setFieldActive("itbis", FALSE)
CALL DIALOG.setFieldActive("tipo_ncf", FALSE)
CALL DIALOG.setFieldActive("ncf", FALSE)
END IF
AFTER FIELD itbis
IF itbis IS NULL THEN
CALL msg(16)
@@ -1306,7 +1330,9 @@ CLOSE WINDOW busca_sp
END FUNCTION
FUNCTION contab()
DEFINE tdebito,tcredito,diferencia DEC(12,2)
DEFINE tdebito,tcredito,diferencia DEC(12,2),
isr_ctas DEC(12,2),
ncf41 VARCHAR(13)
LET int_flag = FALSE
OPEN WINDOW cpfmwd007 AT 10,3 WITH FORM "cpfmwd007"
ATTRIBUTE(BORDER,FORM LINE FIRST + 2,COMMENT LINE LAST)
@@ -1380,6 +1406,16 @@ END CASE
END IF
DISPLAY BY NAME descripcion ATTRIBUTE(BLUE)
-- compra electronica 41: cuenta marcada como retencion -> ISR retenido
IF e41_activo() THEN
IF e41_cuenta_isr(cuentas[curr].cuenta_no) THEN
IF NVL(cuentas[curr].debito,0) = 0 AND NVL(cuentas[curr].credito,0) = 0 THEN
LET cuentas[curr].credito = e41_isr()
DISPLAY cuentas[curr].credito TO cuentas1[curr1].credito
END IF
END IF
END IF
IF cuentas[curr].cuenta_no = cuenta_mayor THEN
CALL msg(192)
@@ -1510,7 +1546,36 @@ END CASE
NEXT FIELD cuenta_no
END IF
-- compra electronica 41: el ISR de las cuentas de retencion debe ser el calculado
IF e41_activo() THEN
LET isr_ctas = 0
FOR idx = 1 TO arr_count()
IF cuentas[idx].cuenta_no IS NOT NULL THEN
IF e41_cuenta_isr(cuentas[idx].cuenta_no) THEN
LET isr_ctas = isr_ctas + NVL(cuentas[idx].credito,0) - NVL(cuentas[idx].debito,0)
END IF
END IF
END FOR
IF isr_ctas <> e41_isr() THEN
CALL fgl_winmessage("COMPRA ELECTRONICA",
"La retencion de ISR en las cuentas ("||isr_ctas||") no es igual a la calculada ("||e41_isr()||").\n"||
"Use una cuenta marcada como retencion en el catalogo.","stop")
NEXT FIELD cuenta_no
END IF
END IF
BEGIN WORK
-- compra electronica 41: se reserva el e-NCF ahora (si se cancela no se pierde)
IF e41_activo() THEN
LET ncf41 = e41_reserva_ncf()
IF ncf41 IS NULL THEN
ROLLBACK WORK
NEXT FIELD cuenta_no
END IF
LET factura.num_doc = ncf41
LET ncf = ncf41
END IF
###### Insertando registros en la Maestra de cuentas por Pagar ####
LET cod_sp1 = factura.cod_sp
@@ -1668,8 +1733,18 @@ LET credito=factura.valor_fac
END IF
END FOR
CALL cuadrada(factura.cod_sp,factura.cod_sp_sec,factura.num_doc) RETURNING cuadradatrx
IF cuadradatrx AND e41_activo() THEN
IF NOT e41_guarda(factura.cod_sp,factura.cod_sp_sec,factura.num_doc,factura.fecha_orig) THEN
LET cuadradatrx = FALSE
END IF
END IF
IF cuadradatrx THEN
COMMIT WORK
-- compra electronica 41: envio a la DGII
IF e41_activo() THEN
CALL e41_envia(factura.cod_sp,factura.cod_sp_sec,factura.num_doc,
factura.fecha_orig,factura.fecha_proc,factura.detalle)
END IF
ELSE
ROLLBACK WORK
File diff suppressed because it is too large Load Diff
+83
View File
@@ -0,0 +1,83 @@
/* ============================================================
DECOMARMOL - Compra electronica e-CF 41 en cpprmt001
Idempotente: se puede correr varias veces; solo agrega lo que falta.
============================================================ */
SET NOCOUNT ON;
GO
/* ---------------- 1) cptb00041: e-CF 41 emitidos desde cpprmt001 ---------------- */
IF OBJECT_ID('dbo.cptb00041', 'U') IS NULL
BEGIN
CREATE TABLE dbo.cptb00041 (
cod_sp SMALLINT NOT NULL,
cod_sp_sec SMALLINT NOT NULL,
num_doc CHAR(13) NOT NULL, -- = e-NCF (E41xxxxxxxxxx), igual que cptb00001.num_doc
ncf VARCHAR(13) NULL,
fecha DATE NULL,
rnc VARCHAR(11) NULL, -- cedula/RNC del proveedor (va como Comprador en el XML)
neto DECIMAL(18,2) NULL, -- lo que recibe el proveedor (= valor_fac en CxP)
porc_isr DECIMAL(5,2) NULL, -- 0, 3 o 15
codigo_isr SMALLINT NULL, -- tipo de retencion ISR del 606 (cgtb00077)
lleva_itbis CHAR(1) NULL, -- S/N
bien_servicio CHAR(1) NULL, -- 1 bien / 2 servicio
subtotal DECIMAL(18,2) NULL,
itbis DECIMAL(18,2) NULL,
isr_retenido DECIMAL(18,2) NULL,
itbis_retenido DECIMAL(18,2) NULL, -- 100% del ITBIS
total DECIMAL(18,2) NULL, -- subtotal + ITBIS (MontoTotal del XML)
-- rastreo DGII
hash VARCHAR(10) NULL,
ultima_respuesta VARCHAR(MAX) NULL,
fechafirmadigital DATETIME NULL,
trackid VARCHAR(100) NULL,
estado_dgii VARCHAR(50) NULL,
mensaje VARCHAR(2000) NULL,
status_t CHAR(1) NULL,
us_crea VARCHAR(50) NULL,
fech_crea DATETIME NULL CONSTRAINT df_cptb00041_fc DEFAULT GETDATE(),
us_mod VARCHAR(50) NULL,
fech_mod DATETIME NULL,
CONSTRAINT pk_cptb00041 PRIMARY KEY (cod_sp, cod_sp_sec, num_doc)
);
PRINT 'cptb00041 creada';
END
ELSE PRINT 'cptb00041 ya existe';
GO
/* ---------------- 2) Tipo NCF 41 en la lista de cpprmt001 ---------------- */
IF NOT EXISTS (SELECT 1 FROM cgtb00074 WHERE codigo_fiscal = 41)
INSERT INTO cgtb00074 (codigo_fiscal, descripcion) VALUES (41, 'COMPRAS ELECTRONICO');
GO
/* ---------------- 3) Tipos de retencion ISR del 606 (cgtb00077) ---------------- */
INSERT INTO cgtb00077 (codigo_isr, descripcion)
SELECT v.codigo_isr, v.descripcion
FROM (VALUES
(1, 'ALQUILERES'),
(2, 'HONORARIOS POR SERVICIOS'),
(3, 'OTRAS RENTAS'),
(4, 'OTRAS RENTAS (RENTAS PRESUNTAS)'),
(5, 'INTERESES PAGADOS A PERSONAS JURIDICAS RESIDENTES'),
(6, 'INTERESES PAGADOS A PERSONAS FISICAS RESIDENTES'),
(7, 'RETENCION POR PROVEEDORES DEL ESTADO'),
(8, 'JUEGOS TELEFONICOS'),
(9, 'RETENCIONES SUBSECTOR GANADERIA DE CARNE BOVINA')
) AS v(codigo_isr, descripcion)
WHERE NOT EXISTS (SELECT 1 FROM cgtb00077 x WHERE x.codigo_isr = v.codigo_isr);
GO
/* ---------------- 4) REVISION (no cambia nada) ---------------- */
-- a) rango del 41: debe existir con tipo_doc='FT', codigo_dgii='41', disponible='S'
-- (se crea en el mantenimiento de NCF, veprmt020, con los datos de la DGII)
SELECT tipo_doc, codigo_dgii, ncf_inicial, ncf_final, disponible, fecha_vencimiento, sucid
FROM vetb00071 WHERE codigo_dgii = '41';
SELECT * FROM vetb00073 WHERE codigo_dgii = '41';
-- b) cuenta(s) de ISR retenido: deben estar en el catalogo con retencion='SI' y su codigo_isr
-- (se marcan en el mantenimiento del catalogo, cgprmt001). La de ITBIS retenido se deja en NO.
SELECT cuenta_no, descripcion, retencion, codigo_isr
FROM cgtb00001 WHERE retencion = 'SI' OR descripcion LIKE '%RETEN%';
-- c) ambiente DGII de la empresa (test / certificacion / produccion)
SELECT nombre, rnc, ambienteDgii, id_dgii, id_municipio_dgii FROM companias;
GO
+817
View File
@@ -0,0 +1,817 @@
{
-----------------------------------------------------------------------------
MODULO : CPPRMT001_ECF
OBJETIVO : Compra electronica e-CF 41 (Comprobante de Compras) desde
cpprmt001 (Facturas de proveedores).
- Boton "Compra Electronica": trae el proximo e-NCF 41 del rango
(vetb00071/vetb00073, tipo_doc 'FT', codigo_dgii '41') y abre la
ventana cpfmwd041 donde se digita el NETO, el % de ISR, el tipo
de retencion ISR (606) y si lleva ITBIS. El resto se calcula solo:
subtotal = neto / (1 - %ISR)
ISR retenido = subtotal - neto
ITBIS (18%) = subtotal * 18% (si lleva ITBIS)
ITBIS retenido = 100% del ITBIS
total = subtotal + ITBIS
- El e-NCF se RESERVA al grabar (dentro de la transaccion), asi no
se pierden secuencias si cancelan.
- La retencion de ISR de la distribucion contable debe estar en una
cuenta marcada como retencion en el catalogo (cgtb00001.retencion).
- Al grabar: guarda el rastreo en cptb00041 y envia el XML del 41.
FECHA : Octubre 2026
-----------------------------------------------------------------------------
}
IMPORT util
GLOBALS "cpprgb000.4gl"
DEFINE wcp om.SaxDocumentHandler
-- estado de la compra electronica en curso
DEFINE e41 RECORD
activo BOOLEAN,
ncf41 VARCHAR(13),
nom41 VARCHAR(90),
rnc41 VARCHAR(11),
neto41 DECIMAL(12,2),
porc41 DECIMAL(5,2),
cisr41 SMALLINT,
itbis41 CHAR(1),
bs41 CHAR(1),
sub41 DECIMAL(12,2),
itb41 DECIMAL(12,2),
isr41 DECIMAL(12,2),
itbret41 DECIMAL(12,2),
total41 DECIMAL(12,2)
END RECORD
#-----------------------------------------------------------------------------
FUNCTION e41_reset()
INITIALIZE e41.* TO NULL
LET e41.activo = FALSE
END FUNCTION
FUNCTION e41_activo() RETURNS BOOLEAN
RETURN NVL(e41.activo, FALSE)
END FUNCTION
FUNCTION e41_ncf() RETURNS VARCHAR(13)
RETURN e41.ncf41
END FUNCTION
FUNCTION e41_neto() RETURNS DECIMAL(12,2)
RETURN e41.neto41
END FUNCTION
FUNCTION e41_itbis() RETURNS DECIMAL(12,2)
RETURN e41.itb41
END FUNCTION
FUNCTION e41_isr() RETURNS DECIMAL(12,2)
RETURN NVL(e41.isr41, 0)
END FUNCTION
#-----------------------------------------------------------------------------
# % de ISR permitidos: 0 = exento, 3 = servicios tecnicos,
# 15 = honorarios / profesionales / alquileres
#-----------------------------------------------------------------------------
FUNCTION porc_isr_valido41(pporc)
DEFINE pporc DECIMAL(5,2)
IF pporc IS NULL THEN
RETURN FALSE
END IF
RETURN (pporc = 0 OR pporc = 3 OR pporc = 15)
END FUNCTION
#-----------------------------------------------------------------------------
# Calcula los montos del 41 a partir del neto (lo que recibe el proveedor).
# El ISR se saca por diferencia para que el neto cuadre exacto al centavo.
#-----------------------------------------------------------------------------
FUNCTION calcula41(pneto, pporc_isr, plleva_itbis)
DEFINE pneto DECIMAL(12,2),
pporc_isr DECIMAL(5,2),
plleva_itbis CHAR(1),
xsubtotal, xitbis, xisr, xitbis_ret, xtotal DECIMAL(12,2)
LET pneto = NVL(pneto, 0)
LET pporc_isr = NVL(pporc_isr, 0)
LET xsubtotal = pneto / (1 - pporc_isr / 100) -- se redondea a 2 decimales
LET xisr = xsubtotal - pneto
IF plleva_itbis = 'S' THEN
LET xitbis = xsubtotal * 18 / 100
ELSE
LET xitbis = 0
END IF
LET xitbis_ret = xitbis -- se retiene el 100%
LET xtotal = xsubtotal + xitbis
RETURN xsubtotal, xitbis, xisr, xitbis_ret, xtotal
END FUNCTION
#-----------------------------------------------------------------------------
# Deja solo los digitos (cedula/RNC sin guiones ni espacios)
#-----------------------------------------------------------------------------
FUNCTION e41_solo_digitos(ptexto)
DEFINE ptexto, xres STRING,
i INT
LET xres = ""
FOR i = 1 TO ptexto.getLength()
IF ptexto.getCharAt(i) MATCHES "[0-9]" THEN
LET xres = xres.append(ptexto.getCharAt(i))
END IF
END FOR
IF xres.getLength() = 0 THEN
RETURN NULL
END IF
RETURN xres
END FUNCTION
#-----------------------------------------------------------------------------
# Proximo e-NCF 41 SIN reservarlo (solo para mostrarlo).
# Retorna NULL si no hay rango o se agoto.
#-----------------------------------------------------------------------------
FUNCTION e41_proximo_ncf() RETURNS VARCHAR(13)
DEFINE xinicial, xfinal, xult, xnuevo INT
SELECT MIN(a.ncf_inicial), MAX(a.ncf_final) INTO xinicial, xfinal
FROM vetb00071 a
WHERE a.tipo_doc = 'FT' AND a.codigo_dgii = '41' AND a.disponible = 'S'
IF xfinal IS NULL THEN
CALL fgl_winmessage("COMPRA ELECTRONICA",
"No hay rango disponible para el e-NCF 41 (vetb00071 tipo_doc FT, codigo 41).\nLlame a finanzas.","stop")
RETURN NULL
END IF
SELECT MAX(a.ncf) INTO xult FROM vetb00073 a
WHERE a.tipo_doc = 'FT' AND a.codigo_dgii = '41'
IF xult IS NULL OR xult < NVL(xinicial, 1) - 1 THEN
LET xult = NVL(xinicial, 1) - 1
END IF
LET xnuevo = xult + 1
IF xnuevo > xfinal THEN
CALL fgl_winmessage("COMPRA ELECTRONICA","Se agoto el rango del e-NCF 41. Llame a finanzas.","stop")
RETURN NULL
END IF
RETURN "E41" || (xnuevo USING "&&&&&&&&&&")
END FUNCTION
#-----------------------------------------------------------------------------
# Reserva el e-NCF 41 (se llama DENTRO de la transaccion de grabado).
# Si vetb00073 no tiene la fila FT/41 la crea desde ncf_inicial.
# Retorna NULL si no hay rango o se agoto.
#-----------------------------------------------------------------------------
FUNCTION e41_reserva_ncf() RETURNS VARCHAR(13)
DEFINE xinicial, xfinal, xnuevo INT
SELECT MIN(a.ncf_inicial), MAX(a.ncf_final) INTO xinicial, xfinal
FROM vetb00071 a
WHERE a.tipo_doc = 'FT' AND a.codigo_dgii = '41' AND a.disponible = 'S'
IF xfinal IS NULL THEN
CALL fgl_winmessage("COMPRA ELECTRONICA","No hay rango disponible para el e-NCF 41.","stop")
RETURN NULL
END IF
UPDATE vetb00073 SET ncf = ncf + 1, us_crea = usuarios, fech_crea = getdate()
WHERE tipo_doc = 'FT' AND codigo_dgii = '41'
IF STATUS < 0 THEN
CALL fgl_winmessage("COMPRA ELECTRONICA","Error reservando el e-NCF 41: "||SQLCA.sqlcode,"stop")
RETURN NULL
END IF
IF SQLCA.sqlerrd[3] = 0 THEN
LET xnuevo = NVL(xinicial, 1)
INSERT INTO vetb00073 (codigo_dgii, tipo_doc, ncf, sucid, us_crea, fech_crea)
VALUES ('41', 'FT', xnuevo, 1, usuarios, getdate())
IF STATUS < 0 THEN
CALL fgl_winmessage("COMPRA ELECTRONICA","Error creando el contador del e-NCF 41: "||SQLCA.sqlcode,"stop")
RETURN NULL
END IF
ELSE
SELECT MAX(a.ncf) INTO xnuevo FROM vetb00073 a
WHERE a.tipo_doc = 'FT' AND a.codigo_dgii = '41'
END IF
IF xnuevo > xfinal THEN
CALL fgl_winmessage("COMPRA ELECTRONICA","Se agoto el rango del e-NCF 41. Llame a finanzas.","stop")
RETURN NULL
END IF
LET e41.ncf41 = "E41" || (xnuevo USING "&&&&&&&&&&")
RETURN e41.ncf41
END FUNCTION
#-----------------------------------------------------------------------------
# TRUE si la cuenta esta marcada como retencion en el catalogo.
# Si tiene codigo de ISR y en la ventana no se escogio, se toma de la cuenta.
#-----------------------------------------------------------------------------
FUNCTION e41_cuenta_isr(pcuenta)
DEFINE pcuenta CHAR(8),
xret CHAR(2),
xcod SMALLINT
LET xret = NULL
LET xcod = NULL
SELECT a.retencion, a.codigo_isr INTO xret, xcod
FROM cgtb00001 a
WHERE a.cuenta_no = pcuenta
IF xret IS NULL OR UPSHIFT(xret) <> "SI" THEN
RETURN FALSE
END IF
IF e41.cisr41 IS NULL AND xcod IS NOT NULL THEN
LET e41.cisr41 = xcod
END IF
RETURN TRUE
END FUNCTION
#-----------------------------------------------------------------------------
# Llena el combo de tipos de retencion ISR (cgtb00077) de la ventana del 41
#-----------------------------------------------------------------------------
FUNCTION e41_carga_cisr()
DEFINE cb ui.ComboBox,
xcod SMALLINT,
xdes CHAR(50)
LET cb = ui.ComboBox.forName("formonly.cisr41")
IF cb IS NULL THEN
RETURN
END IF
CALL cb.clear()
DECLARE c_cisr41 CURSOR FOR
SELECT a.codigo_isr, a.descripcion FROM cgtb00077 a ORDER BY a.codigo_isr
FOREACH c_cisr41 INTO xcod, xdes
CALL cb.addItem(xcod, (xcod USING "<&") || " - " || xdes CLIPPED)
END FOREACH
END FUNCTION
#-----------------------------------------------------------------------------
FUNCTION e41_recalcula()
CALL calcula41(e41.neto41, e41.porc41, e41.itbis41)
RETURNING e41.sub41, e41.itb41, e41.isr41, e41.itbret41, e41.total41
DISPLAY e41.sub41, e41.itb41, e41.isr41, e41.itbret41, e41.total41
TO sub41, itb41, isr41, itbret41, total41
END FUNCTION
#-----------------------------------------------------------------------------
# Boton "Compra Electronica": valida el suplidor, muestra el proximo e-NCF
# y captura neto / % ISR / tipo ISR / ITBIS. Retorna TRUE si se acepto.
#-----------------------------------------------------------------------------
FUNCTION e41_captura(pcod_sp, pcod_sp_sec)
DEFINE pcod_sp, pcod_sp_sec SMALLINT,
xnom VARCHAR(90),
xrnc STRING,
xproximo VARCHAR(13),
xcodigo SMALLINT
-- tipo fiscal 41 en la lista de tipos NCF
LET xcodigo = NULL
SELECT a.codigo_fiscal INTO xcodigo FROM cgtb00074 a WHERE a.codigo_fiscal = 41
IF xcodigo IS NULL THEN
CALL fgl_winmessage("COMPRA ELECTRONICA",
"No existe el tipo NCF 41 en cgtb00074. Agreguelo antes de emitir.","stop")
RETURN FALSE
END IF
-- el proveedor va en el bloque Comprador: cedula (11) o RNC (9) obligatorio
SELECT a.nom_sp, a.rnc INTO xnom, xrnc FROM cotb00001 a
WHERE a.cod_sp = pcod_sp AND a.cod_sp_sec = pcod_sp_sec
LET xrnc = e41_solo_digitos(xrnc)
IF xrnc IS NULL OR (xrnc.getLength() <> 9 AND xrnc.getLength() <> 11) THEN
CALL fgl_winmessage("COMPRA ELECTRONICA",
"El suplidor "||pcod_sp||"-"||pcod_sp_sec||" no tiene cedula (11) o RNC (9) valido en el maestro de suplidores.\nCorrijalo antes de emitir el 41.","stop")
RETURN FALSE
END IF
LET xproximo = e41_proximo_ncf()
IF xproximo IS NULL THEN
RETURN FALSE
END IF
-- valores por defecto (si ya se habia capturado, se conservan)
IF NOT NVL(e41.activo, FALSE) THEN
INITIALIZE e41.* TO NULL
LET e41.porc41 = 3
LET e41.cisr41 = 3
LET e41.itbis41 = 'S'
LET e41.bs41 = '2'
END IF
LET e41.ncf41 = xproximo
LET e41.nom41 = xnom CLIPPED
LET e41.rnc41 = xrnc
OPEN WINDOW w_e41 WITH FORM "cpfmwd041"
ATTRIBUTES(STYLE="dialog", TEXT="Compra electronica (e-CF 41)")
CALL e41_carga_cisr()
LET int_flag = FALSE
INPUT BY NAME e41.neto41, e41.porc41, e41.cisr41, e41.itbis41, e41.bs41
WITHOUT DEFAULTS ATTRIBUTES(UNBUFFERED)
BEFORE INPUT
DISPLAY e41.ncf41, e41.nom41, e41.rnc41 TO ncf41, nom41, rnc41
CALL e41_recalcula()
ON CHANGE porc41
-- tipo de retencion sugerido segun el %
CASE e41.porc41
WHEN 3 LET e41.cisr41 = 3 -- otras rentas (servicios tecnicos)
WHEN 15 LET e41.cisr41 = 2 -- honorarios (alquiler = 1, escoger a mano)
WHEN 0 LET e41.cisr41 = NULL
END CASE
CALL e41_recalcula()
ON CHANGE itbis41
CALL e41_recalcula()
AFTER FIELD neto41
CALL e41_recalcula()
AFTER INPUT
IF NOT int_flag THEN
IF e41.neto41 IS NULL OR e41.neto41 <= 0 THEN
CALL fgl_winmessage("COMPRA ELECTRONICA","Digite el neto a pagar.","exclamation")
NEXT FIELD neto41
END IF
IF NOT porc_isr_valido41(e41.porc41) THEN
CALL fgl_winmessage("COMPRA ELECTRONICA","El % de ISR debe ser 0, 3 o 15.","exclamation")
NEXT FIELD porc41
END IF
IF e41.porc41 > 0 AND e41.cisr41 IS NULL THEN
CALL fgl_winmessage("COMPRA ELECTRONICA","Escoja el tipo de retencion ISR (formato 606).","exclamation")
NEXT FIELD cisr41
END IF
CALL e41_recalcula()
END IF
END INPUT
CLOSE WINDOW w_e41
IF int_flag THEN
LET int_flag = FALSE
RETURN FALSE
END IF
LET e41.activo = TRUE
RETURN TRUE
END FUNCTION
#-----------------------------------------------------------------------------
# Guarda el 41 en cptb00041 (dentro de la transaccion de grabado)
#-----------------------------------------------------------------------------
FUNCTION e41_guarda(pcod_sp, pcod_sp_sec, pnum_doc, pfecha)
DEFINE pcod_sp, pcod_sp_sec SMALLINT,
pnum_doc CHAR(13),
pfecha DATE
INSERT INTO cptb00041 (cod_sp, cod_sp_sec, num_doc, ncf, fecha, rnc, neto, porc_isr,
codigo_isr, lleva_itbis, bien_servicio, subtotal, itbis,
isr_retenido, itbis_retenido, total, us_crea, fech_crea)
VALUES (pcod_sp, pcod_sp_sec, pnum_doc, e41.ncf41, pfecha, e41.rnc41, e41.neto41,
e41.porc41, e41.cisr41, e41.itbis41, e41.bs41, e41.sub41, e41.itb41,
e41.isr41, e41.itbret41, e41.total41, usuarios, getdate())
IF STATUS < 0 THEN
CALL fgl_winmessage("COMPRA ELECTRONICA","Error guardando el e-CF 41 (cptb00041): "||SQLCA.sqlcode,"stop")
RETURN FALSE
END IF
RETURN TRUE
END FUNCTION
#-----------------------------------------------------------------------------
# Arma y envia el XML del 41 a la DGII (despues del COMMIT) y guarda la
# respuesta en cptb00041. Muestra el estado al usuario.
#-----------------------------------------------------------------------------
FUNCTION e41_envia(pcod_sp, pcod_sp_sec, pnum_doc, pfecha_orig, pfecha_proc, pdetalle)
DEFINE pcod_sp, pcod_sp_sec SMALLINT,
pnum_doc CHAR(13),
pfecha_orig, pfecha_proc DATE,
pdetalle CHAR(30)
DEFINE documento_encabezado RECORD
tipoEcf, eNcf, indicadorMontoGravado, tipoPago, fechaLimitePago, FormadePAgo, montoPago, FechaVencimientoSecuencia,
rncEmisor, razonSocialEmisor, direccionEmisor, Municipio, Provincia, telefonoEmisor,
correoEmisor, webSite, codigoVendedor, numeroFacturaInterna, numeroPedidoInterno,
fechaEmision, rncComprador, razonSocialComprador, montoGravadoTotal, montoGravadoI1,
montoGravadoI2, montoGravadoI3, montoExento, itbis1, itbis2, itbis3, totalItbis, totalItbis1,
totalItbis2, totalItbis3, montoTotal, tipoIngreso, terminoPago, TipoCuentaPago, NumeroCuentaPago, IdentificadorExtranjero,
contactoComprador, CorreoComprador, DireccionComprador, MunicipioComprador, ProvinciaComprador, FechaEntrega, FechaOrdenCompra,
NumeroOrdenCompra, CodigoInternoComprador,
nombreFile, IndicadorNotaCredito, NCFmodificado, codigoModificacion, fechaNCFmodificado STRING
END RECORD,
documento_Detalle DYNAMIC ARRAY OF RECORD
indicadorFacturacion, nombreItem, indicadorBienoServicio, cantidadItem, precioUnitarioItem,
montoItem STRING,
DescripcionItem VARCHAR(1000),
NumeroLinea INT
END RECORD,
ret41 DYNAMIC ARRAY OF RECORD
itbisRetenido DECIMAL(12,2),
isrRetenido DECIMAL(12,2)
END RECORD
DEFINE xrnc, xnombre, xdireccion VARCHAR(150),
xprov, xmuni VARCHAR(20),
xvence DATE,
xamb STRING,
phash, respuesta, xrespuesta, codigo, xhash STRING,
fechafirma DATETIME YEAR TO SECOND,
mensaje_trunc VARCHAR(2000),
idx INT
DEFINE Pok RECORD
trackId, ERROR, mensaje STRING
END RECORD
DEFINE p RECORD
trackid STRING,
codigo, estado, rnc, encf, secuenciaUtilizada, fechaRecepcion STRING,
mensajes DYNAMIC ARRAY OF RECORD
valor, codigo STRING
END RECORD
END RECORD
-- emisor
SELECT a.rnc, a.nombre, a.direccion, a.id_dgii, a.id_municipio_dgii
INTO xrnc, xnombre, xdireccion, xprov, xmuni
FROM companias a
SELECT MAX(a.fecha_vencimiento) INTO xvence FROM vetb00071 a
WHERE a.tipo_doc = 'FT' AND a.codigo_dgii = '41'
LET documento_encabezado.tipoEcf = "41"
LET documento_encabezado.eNcf = e41.ncf41
LET documento_encabezado.nombreFile = xrnc CLIPPED, e41.ncf41 CLIPPED, ".xml"
LET documento_encabezado.FechaVencimientoSecuencia = xvence USING "dd-mm-yyyy"
LET documento_encabezado.rncEmisor = xrnc CLIPPED
LET documento_encabezado.razonSocialEmisor = xnombre CLIPPED
LET documento_encabezado.direccionEmisor = xdireccion CLIPPED
LET documento_encabezado.Provincia = xprov CLIPPED
LET documento_encabezado.Municipio = xmuni CLIPPED
LET documento_encabezado.fechaEmision = pfecha_orig USING "dd-mm-yyyy"
-- va a cuentas por pagar: credito, vence en la fecha de proceso
LET documento_encabezado.tipoPago = '2'
LET documento_encabezado.fechaLimitePago = NVL(pfecha_proc, pfecha_orig) USING "dd-mm-yyyy"
LET documento_encabezado.FormadePAgo = '4'
-- Comprador = el proveedor
LET documento_encabezado.rncComprador = e41.rnc41
LET documento_encabezado.razonSocialComprador = e41.nom41
-- precios SIN ITBIS
LET documento_encabezado.indicadorMontoGravado = '0'
IF NVL(e41.itb41, 0) > 0 THEN
LET documento_encabezado.montoGravadoTotal = e41.sub41 USING "<<<<<<<<<<<<<&.&&"
LET documento_encabezado.montoGravadoI1 = e41.sub41 USING "<<<<<<<<<<<<<&.&&"
LET documento_encabezado.itbis1 = '18'
LET documento_encabezado.totalItbis = e41.itb41 USING "<<<<<<<<<<<<<&.&&"
LET documento_encabezado.totalItbis1 = e41.itb41 USING "<<<<<<<<<<<<<&.&&"
ELSE
LET documento_encabezado.montoExento = e41.sub41 USING "<<<<<<<<<<<<<&.&&"
END IF
LET documento_encabezado.montoTotal = e41.total41 USING "<<<<<<<<<<<<<&.&&"
LET documento_encabezado.montoPago = documento_encabezado.montoTotal
-- una linea con el concepto de la factura
IF NVL(e41.itb41, 0) > 0 THEN
LET documento_Detalle[1].indicadorFacturacion = 1
ELSE
LET documento_Detalle[1].indicadorFacturacion = 4
END IF
LET documento_Detalle[1].nombreItem = NVL(pdetalle CLIPPED, "COMPRA A PROVEEDOR INFORMAL")
LET documento_Detalle[1].indicadorBienoServicio = NVL(e41.bs41, '2')
LET documento_Detalle[1].cantidadItem = "1.00"
LET documento_Detalle[1].precioUnitarioItem = e41.sub41 USING "<<<<<<<<<<<<<&.&&"
LET documento_Detalle[1].montoItem = e41.sub41 USING "<<<<<<<<<<<<<&.&&"
LET ret41[1].itbisRetenido = NVL(e41.itbret41, 0)
LET ret41[1].isrRetenido = NVL(e41.isr41, 0)
CALL generafile41(documento_encabezado.*, documento_Detalle, ret41, 1, 1, 'adicionar')
RETURNING phash, respuesta, fechafirma, codigo
LET mensaje_trunc = respuesta
UPDATE cptb00041 SET hash = phash, ultima_respuesta = respuesta, fechafirmadigital = fechafirma
WHERE cod_sp = pcod_sp AND cod_sp_sec = pcod_sp_sec AND num_doc = pnum_doc
-- respuesta del envio
IF codigo = '200' THEN
TRY
CALL util.JSON.parse(respuesta, Pok)
CATCH
LET Pok.trackId = NULL
LET Pok.mensaje = 'ERROR EN PARSE'
END TRY
ELSE
LET Pok.trackId = NULL
LET Pok.mensaje = respuesta
END IF
-- estado en la DGII
LET p.estado = NULL
LET p.trackid = NULL
CALL p.mensajes.clear()
IF codigo = '200' THEN
LET xamb = ambiente()
CALL procesoEncf(' ', xamb.trim(), ' ', 0, 0, 'consultatrackid', respuesta)
RETURNING xhash, xrespuesta, codigo
TRY
CALL util.JSON.parse(xrespuesta, p)
CATCH
LET p.estado = 'SIN CONEXION'
LET p.mensajes[1].valor = 'NO SE PUDO CONSULTAR EL ESTADO EN LA DGII'
END TRY
END IF
IF p.estado = ' ' OR p.estado IS NULL THEN
LET p.estado = 'ERROR'
END IF
IF p.trackid IS NULL THEN
LET p.trackid = Pok.trackId
END IF
LET mensaje_trunc = NVL(Pok.mensaje, mensaje_trunc)
IF p.mensajes.getLength() > 0 THEN
LET mensaje_trunc = NULL
FOR idx = 1 TO p.mensajes.getLength()
IF p.mensajes[idx].valor IS NOT NULL THEN
IF mensaje_trunc IS NULL THEN
LET mensaje_trunc = p.mensajes[idx].valor
ELSE
LET mensaje_trunc = mensaje_trunc CLIPPED, " | ", p.mensajes[idx].valor
END IF
END IF
END FOR
END IF
UPDATE cptb00041 SET trackid = p.trackid, estado_dgii = p.estado, mensaje = mensaje_trunc
WHERE cod_sp = pcod_sp AND cod_sp_sec = pcod_sp_sec AND num_doc = pnum_doc
IF UPSHIFT(p.estado) MATCHES "*RECHAZ*" THEN
CALL fgl_winmessage("COMPRA ELECTRONICA RECHAZADA POR LA DGII",
"e-NCF "||e41.ncf41 CLIPPED||"\n\nMotivo: "||NVL(mensaje_trunc,"(sin mensaje)"),"stop")
ELSE
CALL fgl_winmessage("COMPRA ELECTRONICA",
"e-NCF "||e41.ncf41 CLIPPED||"\nEstado DGII: "||p.estado||"\n"||NVL(mensaje_trunc,""),"info")
END IF
END FUNCTION
#-----------------------------------------------------------------------------
# e-CF 41 COMPRAS: la empresa le compra a una persona sin RNC / sin NCF.
# Diferencias con el 43:
# - Lleva bloque Comprador = datos del PROVEEDOR (cedula y nombre),
# se pasan en documento_encabezado.rncComprador / razonSocialComprador.
# - Puede llevar ITBIS (IndicadorFacturacion 1/2/3 por linea, 4 = exento).
# - Lleva retenciones por linea y totales (ITBIS retenido e ISR retenido).
# ret41 va alineado por indice con documento_Detalle (linea k <-> ret41[k]).
# Los totales gravado/exento/ITBIS se toman de documento_encabezado tal como
# cpprmt006 ya los llena para generafile. MontoTotal = antes de retenciones.
# Confirmar orden/obligatoriedad de tags contra el XSD e-CF 41 en TesteCF.
#-----------------------------------------------------------------------------
FUNCTION generafile41(documento_encabezado, documento_Detalle, ret41, xsucid, xbodega, xoperacion)
DEFINE documento_encabezado RECORD
tipoEcf, eNcf, indicadorMontoGravado, tipoPago, fechaLimitePago, FormadePAgo, montoPago, FechaVencimientoSecuencia,
rncEmisor, razonSocialEmisor, direccionEmisor, Municipio, Provincia, telefonoEmisor,
correoEmisor, webSite, codigoVendedor, numeroFacturaInterna, numeroPedidoInterno,
fechaEmision, rncComprador, razonSocialComprador, montoGravadoTotal, montoGravadoI1,
montoGravadoI2, montoGravadoI3, montoExento, itbis1, itbis2, itbis3, totalItbis, totalItbis1,
totalItbis2, totalItbis3, montoTotal, tipoIngreso, terminoPago, TipoCuentaPago, NumeroCuentaPago, IdentificadorExtranjero,
contactoComprador, CorreoComprador, DireccionComprador, MunicipioComprador, ProvinciaComprador, FechaEntrega, FechaOrdenCompra,
NumeroOrdenCompra, CodigoInternoComprador,
nombreFile, IndicadorNotaCredito, NCFmodificado, codigoModificacion, fechaNCFmodificado STRING
END RECORD,
documento_Detalle DYNAMIC ARRAY OF RECORD
indicadorFacturacion, nombreItem, indicadorBienoServicio, cantidadItem, precioUnitarioItem,
montoItem STRING,
DescripcionItem VARCHAR(1000),
NumeroLinea INT
END RECORD,
ret41 DYNAMIC ARRAY OF RECORD
itbisRetenido DECIMAL(12,2),
isrRetenido DECIMAL(12,2)
END RECORD,
xoperacion VARCHAR(30),
xsucid, xbodega INT
DEFINE archivo, respuesta, codigo, phash, chFirma STRING,
a om.SaxAttributes,
fechaFirma DATETIME YEAR TO SECOND,
k, linea INTEGER,
itbisRet, isrRet, totItbisRet, totIsrRet DECIMAL(14,2),
xamb STRING
-- En el 41 el proveedor (cedula y nombre) es obligatorio
IF documento_encabezado.rncComprador IS NULL
OR documento_encabezado.razonSocialComprador IS NULL THEN
RETURN NULL, "El 41 requiere cedula y nombre del proveedor", NULL, "0"
END IF
LET archivo = fgl_getenv("RUTA_XML_ORIGINALES"), documento_encabezado.nombreFile
TRY
LET wcp = om.XmlWriter.createFileWriter(archivo)
CATCH
RETURN NULL, "No se pudo crear el XML del 41 (RUTA_XML_ORIGINALES)", NULL, "0"
END TRY
IF wcp IS NULL THEN
RETURN NULL, "No se pudo crear el XML del 41 (RUTA_XML_ORIGINALES)", NULL, "0"
END IF
LET a = om.SaxAttributes.create()
CALL wcp.startDocument()
CALL a.addAttribute("xmlns:xs", "http://www.w3.org/2001/XMLSchema")
CALL wcp.startElement("ECF", a)
CALL a.clear()
#-------------------- Encabezado --------------------
CALL wcp.startElement("Encabezado", NULL)
CALL tagcp("Version", "1.0")
-- IdDoc (el 41 NO lleva TipoIngresos)
CALL wcp.startElement("IdDoc", NULL)
CALL tagcp("TipoeCF", "41")
CALL tagcp("eNCF", documento_encabezado.eNcf CLIPPED)
IF documento_encabezado.FechaVencimientoSecuencia IS NOT NULL THEN
CALL tagcp("FechaVencimientoSecuencia", documento_encabezado.FechaVencimientoSecuencia)
END IF
IF montocp(documento_encabezado.montoGravadoTotal) > 0 THEN
CALL tagcp("IndicadorMontoGravado", NVL(documento_encabezado.indicadorMontoGravado, "0"))
END IF
CALL tagcp("TipoPago", NVL(documento_encabezado.tipoPago, "1"))
IF documento_encabezado.tipoPago = "2" AND documento_encabezado.fechaLimitePago IS NOT NULL THEN
CALL tagcp("FechaLimitePago", documento_encabezado.fechaLimitePago)
END IF
CALL wcp.startElement("TablaFormasPago", NULL)
CALL wcp.startElement("FormaDePago", NULL)
CALL tagcp("FormaPago", NVL(documento_encabezado.FormadePAgo, "1"))
CALL tagcp("MontoPago", documento_encabezado.montoTotal)
CALL wcp.endElement("FormaDePago")
CALL wcp.endElement("TablaFormasPago")
CALL wcp.endElement("IdDoc")
-- Emisor (igual que el 43)
CALL wcp.startElement("Emisor", NULL)
CALL tagcp("RNCEmisor", documento_encabezado.rncEmisor)
CALL tagcp("RazonSocialEmisor", cortacp(documento_encabezado.razonSocialEmisor, 150))
CALL tagcp("NombreComercial", cortacp(documento_encabezado.razonSocialEmisor, 150))
CALL tagcp("DireccionEmisor", cortacp(documento_encabezado.direccionEmisor, 100))
IF codigo6cp(documento_encabezado.Municipio) IS NOT NULL THEN
CALL tagcp("Municipio", codigo6cp(documento_encabezado.Municipio))
END IF
IF codigo6cp(documento_encabezado.Provincia) IS NOT NULL THEN
CALL tagcp("Provincia", codigo6cp(documento_encabezado.Provincia))
END IF
IF documento_encabezado.correoEmisor IS NOT NULL THEN
CALL tagcp("CorreoEmisor", documento_encabezado.correoEmisor)
END IF
IF documento_encabezado.numeroFacturaInterna IS NOT NULL THEN
CALL tagcp("NumeroFacturaInterna", documento_encabezado.numeroFacturaInterna)
END IF
CALL tagcp("FechaEmision", documento_encabezado.fechaEmision)
CALL wcp.endElement("Emisor")
-- Comprador = el PROVEEDOR al que se le compra
CALL wcp.startElement("Comprador", NULL)
CALL tagcp("RNCComprador", documento_encabezado.rncComprador CLIPPED)
CALL tagcp("RazonSocialComprador", cortacp(documento_encabezado.razonSocialComprador, 150))
CALL wcp.endElement("Comprador")
-- Totales de retencion (se suman de las lineas que se van a enviar)
LET totItbisRet = 0
LET totIsrRet = 0
FOR k = 1 TO documento_Detalle.getLength()
IF documento_Detalle[k].nombreItem IS NULL
AND documento_Detalle[k].DescripcionItem IS NULL THEN
CONTINUE FOR
END IF
IF k <= ret41.getLength() THEN
LET totItbisRet = totItbisRet + NVL(ret41[k].itbisRetenido, 0)
LET totIsrRet = totIsrRet + NVL(ret41[k].isrRetenido, 0)
END IF
END FOR
-- Totales (solo se escriben los montos que aplican)
CALL wcp.startElement("Totales", NULL)
CALL tagcpmonto("MontoGravadoTotal", documento_encabezado.montoGravadoTotal)
CALL tagcpmonto("MontoGravadoI1", documento_encabezado.montoGravadoI1)
CALL tagcpmonto("MontoGravadoI2", documento_encabezado.montoGravadoI2)
CALL tagcpmonto("MontoGravadoI3", documento_encabezado.montoGravadoI3)
CALL tagcpmonto("MontoExento", documento_encabezado.montoExento)
IF montocp(documento_encabezado.montoGravadoI1) > 0 THEN
CALL tagcp("ITBIS1", NVL(documento_encabezado.itbis1, "18"))
END IF
IF montocp(documento_encabezado.montoGravadoI2) > 0 THEN
CALL tagcp("ITBIS2", NVL(documento_encabezado.itbis2, "16"))
END IF
IF montocp(documento_encabezado.montoGravadoI3) > 0 THEN
CALL tagcp("ITBIS3", "0")
END IF
IF montocp(documento_encabezado.montoGravadoTotal) > 0 THEN
CALL tagcp("TotalITBIS", NVL(documento_encabezado.totalItbis, "0.00"))
CALL tagcpmonto("TotalITBIS1", documento_encabezado.totalItbis1)
CALL tagcpmonto("TotalITBIS2", documento_encabezado.totalItbis2)
IF montocp(documento_encabezado.montoGravadoI3) > 0 THEN
CALL tagcp("TotalITBIS3", "0.00")
END IF
END IF
CALL tagcp("MontoTotal", documento_encabezado.montoTotal)
CALL tagcp("TotalITBISRetenido", totItbisRet USING "<<<<<<<<<<<<&.&&")
CALL tagcp("TotalISRRetencion", totIsrRet USING "<<<<<<<<<<<<&.&&")
CALL wcp.endElement("Totales")
CALL wcp.endElement("Encabezado")
#-------------------- DetallesItems --------------------
CALL wcp.startElement("DetallesItems", NULL)
LET linea = 0
FOR k = 1 TO documento_Detalle.getLength()
IF documento_Detalle[k].nombreItem IS NULL
AND documento_Detalle[k].DescripcionItem IS NULL THEN
CONTINUE FOR
END IF
LET linea = linea + 1
LET itbisRet = 0
LET isrRet = 0
IF k <= ret41.getLength() THEN
LET itbisRet = NVL(ret41[k].itbisRetenido, 0)
LET isrRet = NVL(ret41[k].isrRetenido, 0)
END IF
CALL wcp.startElement("Item", NULL)
CALL tagcp("NumeroLinea", linea USING "<<<<")
CALL tagcp("IndicadorFacturacion", NVL(documento_Detalle[k].indicadorFacturacion, "4"))
-- Retencion: en el 41 la empresa actua como agente de retencion
CALL wcp.startElement("Retencion", NULL)
CALL tagcp("IndicadorAgenteRetencionoPercepcion", "1")
CALL tagcp("MontoITBISRetenido", itbisRet USING "<<<<<<<<<<<<&.&&")
CALL tagcp("MontoISRRetenido", isrRet USING "<<<<<<<<<<<<&.&&")
CALL wcp.endElement("Retencion")
CALL tagcp("NombreItem",
NVL(documento_Detalle[k].nombreItem, documento_Detalle[k].DescripcionItem))
CALL tagcp("IndicadorBienoServicio", NVL(documento_Detalle[k].indicadorBienoServicio, "2"))
CALL tagcp("CantidadItem", NVL(documento_Detalle[k].cantidadItem, "1"))
CALL tagcp("PrecioUnitarioItem", documento_Detalle[k].precioUnitarioItem)
CALL tagcp("MontoItem", documento_Detalle[k].montoItem)
CALL wcp.endElement("Item")
END FOR
CALL wcp.endElement("DetallesItems")
#-------------------- Firma --------------------
LET fechaFirma = CURRENT
LET chFirma = util.Datetime.format(fechaFirma, "%d-%m-%Y %H:%M:%S")
CALL tagcp("FechaHoraFirma", chFirma)
CALL wcp.endElement("ECF")
CALL wcp.endDocument()
#-------------------- Firmar y enviar (igual que el 43) --------------------
-- ambiente DGII de la empresa (companias.ambienteDgii, funcion ambiente())
LET xamb = ambiente()
LET xamb = xamb.trim()
IF xamb IS NULL OR (xamb <> "test" AND xamb <> "certificacion" AND xamb <> "produccion") THEN
RETURN NULL, "companias.ambienteDgii debe ser test, certificacion o produccion. No se envio a la DGII.", fechaFirma, "0"
END IF
CALL procesoEncf(archivo, xamb, "normal", xsucid, xbodega, xoperacion, ' ')
RETURNING phash, respuesta, codigo
RETURN phash, respuesta, fechaFirma, codigo
END FUNCTION
#-----------------------------------------------------------------------------
# Convierte un monto STRING a decimal (NULL o vacio = 0)
FUNCTION montocp(valor STRING) RETURNS DECIMAL(14,2)
DEFINE n DECIMAL(14,2)
LET n = NULL
TRY
LET n = valor
CATCH
LET n = NULL
END TRY
RETURN NVL(n, 0)
END FUNCTION
#-----------------------------------------------------------------------------
# Recorta un texto al largo maximo que permite el XSD
FUNCTION cortacp(valor STRING, largo INTEGER) RETURNS STRING
LET valor = valor.trim()
IF valor.getLength() > largo THEN
LET valor = valor.subString(1, largo)
END IF
RETURN valor.trim()
END FUNCTION
#-----------------------------------------------------------------------------
# Provincia / Municipio DGII: codigo de 6 digitos con ceros a la izquierda
# (10100 -> 010100). NULL o 0 = no se envia.
FUNCTION codigo6cp(valor STRING) RETURNS STRING
DEFINE n INTEGER
LET n = NULL
TRY
LET n = valor
CATCH
LET n = NULL
END TRY
IF n IS NULL OR n = 0 THEN
RETURN NULL
END IF
RETURN n USING "&&&&&&"
END FUNCTION
#-----------------------------------------------------------------------------
# Escribe el tag solo si el monto es mayor que cero
FUNCTION tagcpmonto(nombre STRING, valor STRING)
IF montocp(valor) > 0 THEN
CALL tagcp(nombre, valor)
END IF
END FUNCTION
#-----------------------------------------------------------------------------
FUNCTION tagcp(nombre STRING, valor STRING)
CALL wcp.startElement(nombre, NULL)
CALL wcp.characters(valor)
CALL wcp.endElement(nombre)
END FUNCTION
+440 -440
View File
@@ -105,443 +105,443 @@ codigo21,35992
codigos,36089
codigos22,36182
companias,36283
correos,36838
cotb00001,36938
cotb00002,37473
cotb00003,37756
cotb00004,37941
cotb00005,38258
cotb00006,38472
cotb00008,38848
cotb00010,39342
cotb00011,39394
cotb00012,39871
cotb00013,40236
cotb00014,40574
cotb00015,41333
cotb00017,41818
cotb00018,42155
cotb00019,42348
cotb00022,42618
cotb00024,42820
cotb00025,43035
cotb00027,43510
cotb00028,43700
cotb00029,43721
cotb00030,44319
cotb00031,44473
cotb00033,44713
cotb00034,45282
cotb00036,45698
cotb00038,45888
cotizacion,46306
cotizacion_detalle,47153
country,47753
cptb00001,47798
cptb00002,48304
cptb00003,48588
cptb00005,49040
cptb00006,49492
cptb00007,49945
cttb00001,50046
cttb00002,50319
cttb00003,50493
cttb00004,51089
cttb00006,51167
cttb00007,51501
cttb00008,51692
cttb00009,52027
cttb00010,52374
cttb00011,52584
cttb00012,52870
cttb00013,53233
cttb00014,53653
cttb00015,53878
cttb00016,54181
cttb00017,54257
cttb00018,54847
cttb00021,55030
cttb00022,55231
cttb00023,55518
cttb00026,55811
cttb00027,56066
cttb00028,56212
cttb00029,56547
cttb00032,56782
cttb00033,57573
cttb00034,57703
cttb00036,57939
cttb00038,58305
cttb00039,58570
cttb00041,58690
cttb00042,58976
cttb000log1,59214
cttb000log2,59327
dbocodigos20,59809
dgii_rnc,59901
dgii_rnc3,60228
diatable,60460
dstb00001,60509
dstb00002,60936
dstb00003,61224
dstb00004,61412
dstb00005,61642
empleados,62048
emventas,62756
inrp00002,62862
intb00001,63111
intb00002,63465
intb00003,63933
intb00004,64327
intb00005,64721
intb00006,65038
intb00007,65796
intb00008,66003
intb00009,66372
intb00010,66471
intb00011,66562
intb00012,66961
intb00013,67369
intb00014,67732
intb00015,68034
intb00018,68405
intb00019,68872
intb00020,69384
intb00022,70239
intb00023,70657
intb00026,70837
intb00040,71172
intb00041,71532
intb00042,71916
intb00043,72263
intb00043_,72388
intb00043a,72509
intb00044,72633
inventory,72786
iptb00001,72836
iptb00002,73164
iptb00003,73905
iptb00004,74166
iptb00005,74589
iptb00006,75074
iptb00007,76109
iptb00008,76315
iptb00010,77097
iptb00011,77530
iptb00012,77929
iptb00013,78423
iptb00014,78653
iptb00015,78966
iptb00017,79053
iptb00019,79831
iptb00020,80014
iptb00021,80248
iptb00022,80432
iptb00024,80646
iptb00025,80873
iptb00026,81379
iptb00027,81483
iptb00028,81584
iptb00029,81709
iptb00030,81904
iptb00031,82097
iptb00032,82152
iptb00033,82234
iptb00034,83084
iptb00040,83477
iptb00041,83837
iptb00042,84221
iptb00043,84568
iptb00044,84619
iptb00045,84892
iptb00046,84980
iptb00047,85066
iptb00048,85150
iptb00049,85204
iptb025,85609
iptbexistencia,86028
ircodigos,86305
irtb00001,86430
irtb00002,86760
irtb00005,87236
irtb00006,87553
irtb00007,88247
irtb00008,88730
irtb00009,89241
irtb00010,89550
irtb00011,89743
irtb00012,90146
irtb00013,90556
irtb00014,90913
irtb00016,91094
irtb00017,91396
irtb00018,91767
irtb00027,91819
irtb00029,92264
irtb00030,92461
irtb00040,92656
irtb00041,93016
irtb00042,93400
istb00002,93747
istb00005,94316
istb00006,94619
istb00013,95303
item,95648
lajas,95881
lajas14,95966
lajas2,96059
lajas2_,96148
lineitem,96241
listaprecio,96377
localizacion,96648
mallas9,96743
marzo_,96836
mestable,96917
molduras23,97111
msgtable,97219
nc,97367
notb00001,97852
notb00002,97932
notb00003,98498
notb00005,98823
notb00006,99034
notb00007,99374
notb00008,99801
notb00009,100232
notb00010,100440
notb00011,100813
notb00012,101185
notb00013,101334
notb00014,101514
notb00015,101591
notb00016,101967
notb00017,102398
notb00018,102555
notb00019,102743
notb00020,102986
notb00021,103336
notb00023,103579
notb00033,103972
notb0019,104623
notb03,104857
notbcuenta,105146
notbingresos,105228
ntb00005,105285
oportunidades,105591
orders,106195
orderstatus,106850
pda5,106966
permisos,107370
prdtable,107484
precios,107757
preciosc,107969
product,108092
prordenlog,108220
prordenstatus,108525
prtb00001,108724
prtb00002,108817
prtb00003,109104
prtb00004,109394
prtb00005,109548
prtb00006,109730
prtb00007,110017
prtb00008,110484
prtb00009,110751
prtb00010,111024
prtb00011,111370
prtb00012,111688
prtb00013,112571
prtb00014,113246
prtb00015,113439
prtb00016,113716
prtb00017,113902
prtb00018,114124
prtb00019,114431
prtb00020,114557
prtb00021,114634
prtb00022,115276
prtb00023,115755
prtb00024,116014
prtb00025,116064
prtb00026,116338
prtb00027,116721
prtb00028,116907
prtb00029,117164
prtb00031,117484
prtb00032,117821
prttb00001,117950
prttb00002,118107
ptordenesgral,118188
ptventasgral,119500
ptventasgralh,121355
query,123177
ranking,123544
repitecodigo,123858
repitecodigotmp,124040
seg0000,124105
seg0001,124448
seg0003,125087
seg0004,125412
seg0005,125511
seg0006,125682
seg0007,125758
seg0008,125864
seqreg,125914
sheet1_,125963
signon,126428
sucursales,126478
supplier,126835
svtb00001,127041
svtb00002,128192
svtb00003,128314
svtb00004,128567
svtb00005,129235
svtb00006,129641
svtb00007,129728
tetb00003,129865
tetb00006,130087
tmp2iptb00012,130291
tmp3iptb00012,130857
tmp_kit,131423
tmpactualiza,131668
tmpaumento,131884
tmpcam,132014
tmpcctb01,132139
tmpclase,132787
tmpclase1,132840
tmpclasificacion,132900
tmpclientes,133134
tmpcod11,133557
tmpcod12,133624
tmpcodigorepetido,133691
tmpcodigos,133889
tmpcodigos1,133994
tmpcodsec,134181
tmpcostos,134235
tmpcostos1,134558
tmpcostosferia,134741
tmpdetallefact,135038
tmpduplicados,135301
tmpempresas,135478
tmpexcel,135807
tmpfacturas,135864
tmpfempleados,136272
tmpferia2,136421
tmpferia3,136668
tmpferia5,136877
tmpgrupo,137049
tmpinventario,137106
tmpinventariofisico,137423
tmpinvm,137825
tmpiptb00002,138107
tmpiptb00006,139069
tmpiptb00012,139985
tmpiptb00027,140533
tmpiptb012,140646
tmpmatprima,141158
tmpmedida,141295
tmpofertas,141352
tmpordenes,141509
tmpplanchas,141640
tmppreciosferia,141830
tmppreciosg1,142169
tmppreciosg2,142404
tmppreciosm1,142639
tmppreciosm2,142872
tmpproductos,143105
tmptipo,143252
tmptipocuentas,143306
tmpventas,143429
tmpventas43,143541
tmpvetb00002,143794
tmpvetb00003,144769
travertino,145221
userinfo,145352
usuarios,146442
vacaciones,146528
ventas,146908
vetb00001,147523
vetb00002,147707
vetb00003,148760
vetb00004,149240
vetb00005,149932
vetb00006,150270
vetb00007,150801
vetb00008,151015
vetb00009,151197
vetb00010,151382
vetb00011,151633
vetb00012,151982
vetb00013,152215
vetb00014,152681
vetb00015,153044
vetb00016,153500
vetb00018,153728
vetb00019,153930
vetb00020,154243
vetb00022,154470
vetb00023,154960
vetb00024,155207
vetb00025,155663
vetb00025b,156167
vetb00025c,156613
vetb00026,157059
vetb00027,157112
vetb00028,157546
vetb00029,157807
vetb00030,158202
vetb00031,158423
vetb00042,158698
vetb00044,159004
vetb00045,159307
vetb00048,159703
vetb00049,159885
vetb00050,160146
vetb00051,161450
vetb00052,162236
vetb00053,162697
vetb00060,162755
vetb00061,163058
vetb00071,163235
vetb00072,163580
vetb00075,163741
vetb00076,163861
vetb00084,164048
vetb00085,164099
vetb00086,164382
vetb00087,164590
vetb00088,165016
vetb00090,165302
vetb00091,165478
vetb00092,165982
vetb00093,166350
vetb00094,166522
vetb00095,166768
vetb00096,167075
viejo1,167173
vwanalisisventas,167347
vwanalitico,168187
vwanaliticoh,168917
vwclientesnocompran,169677
vwcobros,170013
vwcodigosnuevos,170561
vwcomisiones,171218
vwcompras,172308
vwconduces,172772
vwcontactosclientes,173454
vwdevoluciones,173695
vwestado,174488
vwestadoordenes,174655
vwipconteopda,175475
vwipprodterm,175953
vwmatprima,176727
vwprecios,177423
vwproduccion,177680
vwproduccionf,178510
vwproductos,179717
vwprovincias,180099
vwrepuestos,180921
vwseguimientoclientes,181622
vwvacaciones,183105
vwventas,184002
vwventasvendedor,185421
correos,36872
cotb00001,36972
cotb00002,37507
cotb00003,37790
cotb00004,37975
cotb00005,38292
cotb00006,38506
cotb00008,38882
cotb00010,39376
cotb00011,39428
cotb00012,39905
cotb00013,40270
cotb00014,40608
cotb00015,41367
cotb00017,41852
cotb00018,42189
cotb00019,42382
cotb00022,42652
cotb00024,42854
cotb00025,43069
cotb00027,43544
cotb00028,43734
cotb00029,43755
cotb00030,44353
cotb00031,44507
cotb00033,44747
cotb00034,45316
cotb00036,45732
cotb00038,45922
cotizacion,46340
cotizacion_detalle,47187
country,47787
cptb00001,47832
cptb00002,48338
cptb00003,48622
cptb00005,49074
cptb00006,49526
cptb00007,49979
cttb00001,50080
cttb00002,50353
cttb00003,50527
cttb00004,51123
cttb00006,51201
cttb00007,51535
cttb00008,51726
cttb00009,52061
cttb00010,52408
cttb00011,52618
cttb00012,52904
cttb00013,53267
cttb00014,53687
cttb00015,53912
cttb00016,54215
cttb00017,54291
cttb00018,54881
cttb00021,55064
cttb00022,55265
cttb00023,55552
cttb00026,55845
cttb00027,56100
cttb00028,56246
cttb00029,56581
cttb00032,56816
cttb00033,57607
cttb00034,57737
cttb00036,57973
cttb00038,58339
cttb00039,58604
cttb00041,58724
cttb00042,59010
cttb000log1,59248
cttb000log2,59361
dbocodigos20,59843
dgii_rnc,59935
dgii_rnc3,60262
diatable,60494
dstb00001,60543
dstb00002,60970
dstb00003,61258
dstb00004,61446
dstb00005,61676
empleados,62082
emventas,62790
inrp00002,62896
intb00001,63145
intb00002,63499
intb00003,63967
intb00004,64361
intb00005,64755
intb00006,65072
intb00007,65830
intb00008,66037
intb00009,66406
intb00010,66505
intb00011,66596
intb00012,66995
intb00013,67403
intb00014,67766
intb00015,68068
intb00018,68439
intb00019,68906
intb00020,69418
intb00022,70273
intb00023,70691
intb00026,70871
intb00040,71206
intb00041,71566
intb00042,71950
intb00043,72297
intb00043_,72422
intb00043a,72543
intb00044,72667
inventory,72820
iptb00001,72870
iptb00002,73198
iptb00003,73939
iptb00004,74200
iptb00005,74623
iptb00006,75108
iptb00007,76143
iptb00008,76349
iptb00010,77131
iptb00011,77564
iptb00012,77963
iptb00013,78457
iptb00014,78687
iptb00015,79000
iptb00017,79087
iptb00019,79865
iptb00020,80048
iptb00021,80282
iptb00022,80466
iptb00024,80680
iptb00025,80907
iptb00026,81413
iptb00027,81517
iptb00028,81618
iptb00029,81743
iptb00030,81938
iptb00031,82131
iptb00032,82186
iptb00033,82268
iptb00034,83118
iptb00040,83511
iptb00041,83871
iptb00042,84255
iptb00043,84602
iptb00044,84653
iptb00045,84926
iptb00046,85014
iptb00047,85100
iptb00048,85184
iptb00049,85238
iptb025,85643
iptbexistencia,86062
ircodigos,86339
irtb00001,86464
irtb00002,86794
irtb00005,87270
irtb00006,87587
irtb00007,88281
irtb00008,88764
irtb00009,89275
irtb00010,89584
irtb00011,89777
irtb00012,90180
irtb00013,90590
irtb00014,90947
irtb00016,91128
irtb00017,91430
irtb00018,91801
irtb00027,91853
irtb00029,92298
irtb00030,92495
irtb00040,92690
irtb00041,93050
irtb00042,93434
istb00002,93781
istb00005,94350
istb00006,94653
istb00013,95337
item,95682
lajas,95915
lajas14,96000
lajas2,96093
lajas2_,96182
lineitem,96275
listaprecio,96411
localizacion,96682
mallas9,96777
marzo_,96870
mestable,96951
molduras23,97145
msgtable,97253
nc,97401
notb00001,97886
notb00002,97966
notb00003,98532
notb00005,98857
notb00006,99068
notb00007,99408
notb00008,99835
notb00009,100266
notb00010,100474
notb00011,100847
notb00012,101219
notb00013,101368
notb00014,101548
notb00015,101625
notb00016,102001
notb00017,102432
notb00018,102589
notb00019,102777
notb00020,103020
notb00021,103370
notb00023,103613
notb00033,104006
notb0019,104657
notb03,104891
notbcuenta,105180
notbingresos,105262
ntb00005,105319
oportunidades,105625
orders,106229
orderstatus,106884
pda5,107000
permisos,107404
prdtable,107518
precios,107791
preciosc,108003
product,108126
prordenlog,108254
prordenstatus,108559
prtb00001,108758
prtb00002,108851
prtb00003,109138
prtb00004,109428
prtb00005,109582
prtb00006,109764
prtb00007,110051
prtb00008,110518
prtb00009,110785
prtb00010,111058
prtb00011,111404
prtb00012,111722
prtb00013,112605
prtb00014,113280
prtb00015,113473
prtb00016,113750
prtb00017,113936
prtb00018,114158
prtb00019,114465
prtb00020,114591
prtb00021,114668
prtb00022,115310
prtb00023,115789
prtb00024,116048
prtb00025,116098
prtb00026,116372
prtb00027,116755
prtb00028,116941
prtb00029,117198
prtb00031,117518
prtb00032,117855
prttb00001,117984
prttb00002,118141
ptordenesgral,118222
ptventasgral,119534
ptventasgralh,121389
query,123211
ranking,123578
repitecodigo,123892
repitecodigotmp,124074
seg0000,124139
seg0001,124482
seg0003,125121
seg0004,125446
seg0005,125545
seg0006,125716
seg0007,125792
seg0008,125898
seqreg,125948
sheet1_,125997
signon,126462
sucursales,126512
supplier,126869
svtb00001,127075
svtb00002,128226
svtb00003,128348
svtb00004,128601
svtb00005,129269
svtb00006,129675
svtb00007,129762
tetb00003,129899
tetb00006,130121
tmp2iptb00012,130325
tmp3iptb00012,130891
tmp_kit,131457
tmpactualiza,131702
tmpaumento,131918
tmpcam,132048
tmpcctb01,132173
tmpclase,132821
tmpclase1,132874
tmpclasificacion,132934
tmpclientes,133168
tmpcod11,133591
tmpcod12,133658
tmpcodigorepetido,133725
tmpcodigos,133923
tmpcodigos1,134028
tmpcodsec,134215
tmpcostos,134269
tmpcostos1,134592
tmpcostosferia,134775
tmpdetallefact,135072
tmpduplicados,135335
tmpempresas,135512
tmpexcel,135841
tmpfacturas,135898
tmpfempleados,136306
tmpferia2,136455
tmpferia3,136702
tmpferia5,136911
tmpgrupo,137083
tmpinventario,137140
tmpinventariofisico,137457
tmpinvm,137859
tmpiptb00002,138141
tmpiptb00006,139103
tmpiptb00012,140019
tmpiptb00027,140567
tmpiptb012,140680
tmpmatprima,141192
tmpmedida,141329
tmpofertas,141386
tmpordenes,141543
tmpplanchas,141674
tmppreciosferia,141864
tmppreciosg1,142203
tmppreciosg2,142438
tmppreciosm1,142673
tmppreciosm2,142906
tmpproductos,143139
tmptipo,143286
tmptipocuentas,143340
tmpventas,143463
tmpventas43,143575
tmpvetb00002,143828
tmpvetb00003,144803
travertino,145255
userinfo,145386
usuarios,146476
vacaciones,146562
ventas,146942
vetb00001,147557
vetb00002,147741
vetb00003,148794
vetb00004,149274
vetb00005,149966
vetb00006,150304
vetb00007,150835
vetb00008,151049
vetb00009,151231
vetb00010,151416
vetb00011,151667
vetb00012,152016
vetb00013,152249
vetb00014,152715
vetb00015,153078
vetb00016,153534
vetb00018,153762
vetb00019,153964
vetb00020,154277
vetb00022,154504
vetb00023,154994
vetb00024,155241
vetb00025,155697
vetb00025b,156201
vetb00025c,156647
vetb00026,157093
vetb00027,157146
vetb00028,157580
vetb00029,157841
vetb00030,158236
vetb00031,158457
vetb00042,158732
vetb00044,159038
vetb00045,159341
vetb00048,159737
vetb00049,159919
vetb00050,160180
vetb00051,161484
vetb00052,162270
vetb00053,162731
vetb00060,162789
vetb00061,163092
vetb00071,163269
vetb00072,163614
vetb00075,163775
vetb00076,163895
vetb00084,164082
vetb00085,164133
vetb00086,164416
vetb00087,164624
vetb00088,165050
vetb00090,165336
vetb00091,165512
vetb00092,166016
vetb00093,166384
vetb00094,166556
vetb00095,166802
vetb00096,167109
viejo1,167207
vwanalisisventas,167381
vwanalitico,168221
vwanaliticoh,168951
vwclientesnocompran,169711
vwcobros,170047
vwcodigosnuevos,170595
vwcomisiones,171252
vwcompras,172342
vwconduces,172806
vwcontactosclientes,173488
vwdevoluciones,173729
vwestado,174522
vwestadoordenes,174689
vwipconteopda,175509
vwipprodterm,175987
vwmatprima,176761
vwprecios,177457
vwproduccion,177714
vwproduccionf,178544
vwproductos,179751
vwprovincias,180133
vwrepuestos,180955
vwseguimientoclientes,181656
vwvacaciones,183139
vwventas,184036
vwventasvendedor,185455
+88 -41
View File
@@ -37,6 +37,53 @@ import xml
END RECORD ,
hasr varchar(10)
# Tabla de formas de pago (pago mixto) que carga el programa llamador via set_formaspago()
DEFINE m_formaspago DYNAMIC ARRAY OF RECORD
formapago STRING,
montopago STRING
END RECORD
# El programa llamador (veprmt001) carga aqui las formas de pago antes de generafile()
FUNCTION set_formaspago(p_arr)
DEFINE p_arr DYNAMIC ARRAY OF RECORD
formapago STRING,
montopago STRING
END RECORD
DEFINE j INT
CALL m_formaspago.clear()
FOR j = 1 TO p_arr.getLength()
LET m_formaspago[j].formapago = p_arr[j].formapago
LET m_formaspago[j].montopago = p_arr[j].montopago
END FOR
END FUNCTION
# Emite uno o varios <FormaDePago>. Si hay pago mixto (m_formaspago) los recorre;
# si no, usa la forma unica del encabezado (comportamiento anterior).
FUNCTION emite_formasdepago()
DEFINE j INT
IF m_formaspago.getLength() > 0 THEN
FOR j = 1 TO m_formaspago.getLength()
CALL out.startElement("FormaDePago",NULL)
CALL out.startElement("FormaPago",NULL)
CALL out.characters(m_formaspago[j].formapago CLIPPED)
CALL out.endElement("FormaPago")
CALL out.startElement("MontoPago",NULL)
CALL out.characters(m_formaspago[j].montopago CLIPPED)
CALL out.endElement("MontoPago")
CALL out.endElement("FormaDePago")
END FOR
ELSE
CALL out.startElement("FormaDePago",NULL)
CALL out.startElement("FormaPago",NULL)
CALL out.characters(r_documento_encabezado.FormadePAgo CLIPPED)
CALL out.endElement("FormaPago")
CALL out.startElement("MontoPago",NULL)
CALL out.characters(r_documento_encabezado.montoPago)
CALL out.endElement("MontoPago")
CALL out.endElement("FormaDePago")
END IF
END FUNCTION
FUNCTION generafile(documento_encabezado,documento_Detalle,xsucid,xbodega,xoperacion)
@@ -63,8 +110,17 @@ FUNCTION generafile(documento_encabezado,documento_Detalle,xsucid,xbodega,xopera
NumeroLinea int
END RECORD,
respuesta,codigo STRING,
phash,ohash VARCHAR(10)
phash,ohash VARCHAR(10),
vmover,vfc STRING
LET ohash = NULL
# Comando y subcarpeta FC segun el sistema: Linux (server) mv + FC/, Windows move + FC\
IF os.Path.separator() = "/" THEN
LET vmover = "mv "
LET vfc = "FC/"
ELSE
LET vmover = "move "
LET vfc = "FC\\"
END IF
LET ruta_originales= fgl_getenv("RUTA_XML_ORIGINALES")
#LET ruta_originales = '.\\filesXML\\ncf31\\'
@@ -77,6 +133,14 @@ FUNCTION generafile(documento_encabezado,documento_Detalle,xsucid,xbodega,xopera
LET out=om.XmlWriter.createFileWriter(nombreFile)
IF out IS NULL THEN
# No se pudo crear el XML (RUTA_XML_ORIGINALES vacia, carpeta inexistente,
# sin "/" al final o sin permiso de escritura): avisa en vez de caerse
LET respuesta = "No se pudo crear el XML en: ", nombreFile,
" -- revise la variable RUTA_XML_ORIGINALES (carpeta existe, termina en / y tiene permiso de escritura)"
CALL fgl_winmessage("e-CF",respuesta,"stop")
RETURN NULL,respuesta,NULL,"500"
END IF
LET a=om.SaxAttributes.create()
CALL out.startDocument()
@@ -144,7 +208,7 @@ FUNCTION generafile(documento_encabezado,documento_Detalle,xsucid,xbodega,xopera
CALL out.endElement("ECF")
END IF
IF r_documento_encabezado.tipoEcf = '32' AND montoFactura > 250000 THEN
IF r_documento_encabezado.tipoEcf = '32' AND montoFactura >= 250000 THEN
LET tipoRecepcion = "normal"
CALL out.endElement("ECF")
END IF
@@ -165,7 +229,7 @@ FUNCTION generafile(documento_encabezado,documento_Detalle,xsucid,xbodega,xopera
CALL gethash(filexml) RETURNING ohash,fechaFirma,xfacturainterna
LET nombrefile2=ruta_firmados,documento_encabezado.nombreFile
LET comando2 = "move ",nombrefile2 CLIPPED," ",ruta_firmados CLIPPED,"FC\\",documento_encabezado.nombreFile clipped
LET comando2 = vmover,nombrefile2 CLIPPED," ",ruta_firmados CLIPPED,vfc,documento_encabezado.nombreFile clipped
DISPLAY "comando 2 ",ohash
RUN comando2
LET fechaFirma = CURRENT
@@ -176,7 +240,7 @@ END IF
IF r_documento_encabezado.tipoEcf = '32' AND montoFactura < 250000 THEN
LET comando = "move ",nombrefile CLIPPED," ",ruta_originales CLIPPED,"FC\\",documento_encabezado.nombreFile clipped
LET comando = vmover,nombrefile CLIPPED," ",ruta_originales CLIPPED,vfc,documento_encabezado.nombreFile clipped
DISPLAY "comando ",comando
RUN comando
@@ -187,6 +251,14 @@ END IF
LET tipoRecepcion = "normal32"
LET out=om.XmlWriter.createFileWriter(nombreFile)
IF out IS NULL THEN
# No se pudo crear el XML (RUTA_XML_ORIGINALES vacia, carpeta inexistente,
# sin "/" al final o sin permiso de escritura): avisa en vez de caerse
LET respuesta = "No se pudo crear el XML en: ", nombreFile,
" -- revise la variable RUTA_XML_ORIGINALES (carpeta existe, termina en / y tiene permiso de escritura)"
CALL fgl_winmessage("e-CF",respuesta,"stop")
RETURN NULL,respuesta,NULL,"500"
END IF
LET a=om.SaxAttributes.create()
CALL out.startDocument()
@@ -229,6 +301,14 @@ END IF
LET tipoRecepcion = "normal32"
LET out=om.XmlWriter.createFileWriter(nombreFile)
IF out IS NULL THEN
# No se pudo crear el XML (RUTA_XML_ORIGINALES vacia, carpeta inexistente,
# sin "/" al final o sin permiso de escritura): avisa en vez de caerse
LET respuesta = "No se pudo crear el XML en: ", nombreFile,
" -- revise la variable RUTA_XML_ORIGINALES (carpeta existe, termina en / y tiene permiso de escritura)"
CALL fgl_winmessage("e-CF",respuesta,"stop")
RETURN NULL,respuesta,NULL,"500"
END IF
LET a=om.SaxAttributes.create()
CALL out.startDocument()
@@ -245,7 +325,7 @@ END IF
LET tipoRecepcion = "normal32"
END IF
CALL procesoEncf(nombrefile,"test",tipoRecepcion,xsucid,xbodega,xoperacion,' ')
CALL procesoEncf(nombrefile,ambiente() CLIPPED,tipoRecepcion,xsucid,xbodega,xoperacion,' ')
RETURNING phash,respuesta,codigo
{ LET inserta_log = "INSERT INTO exterior.dbo.ncf_log
@@ -335,18 +415,7 @@ DISPLAY "qui en el genera ",r_documento_encabezado.tipoPago
CALL out.startElement("TablaFormasPago",NULL)
CALL out.startElement("FormaDePago",NULL)
CALL out.startElement("FormaPago",null)
CALL out.characters(r_documento_encabezado.FormadePAgo clipped)
CALL out.endElement("FormaPago")
CALL out.startElement("MontoPago",null)
CALL out.characters(r_documento_encabezado.montoPago)
CALL out.endElement("MontoPago")
CALL out.endElement("FormaDePago")
CALL emite_formasdepago()
CALL out.endElement("TablaFormasPago")
@@ -647,18 +716,7 @@ CALL out.startElement("Encabezado",a)
CALL out.startElement("TablaFormasPago",NULL)
CALL out.startElement("FormaDePago",NULL)
CALL out.startElement("FormaPago",null)
CALL out.characters(r_documento_encabezado.FormadePAgo clipped)
CALL out.endElement("FormaPago")
CALL out.startElement("MontoPago",null)
CALL out.characters(r_documento_encabezado.montoPago)
CALL out.endElement("MontoPago")
CALL out.endElement("FormaDePago")
CALL emite_formasdepago()
CALL out.endElement("TablaFormasPago")
END IF
@@ -800,18 +858,7 @@ FUNCTION resumen32()
CALL out.endElement("TipoPago")
CALL out.startElement("TablaFormasPago",NULL)
CALL out.startElement("FormaDePago",NULL)
CALL out.startElement("FormaPago",null)
CALL out.characters(r_documento_encabezado.FormadePAgo clipped)
CALL out.endElement("FormaPago")
CALL out.startElement("MontoPago",null)
CALL out.characters(r_documento_encabezado.montoPago)
CALL out.endElement("MontoPago")
CALL out.endElement("FormaDePago")
CALL emite_formasdepago()
CALL out.endElement("TablaFormasPago")
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+3 -4
View File
@@ -59,11 +59,10 @@ FUNCTION procesoEncf(fileporfirmar,ambiente,tiporecepcion,xsucid,xbodega,xoperac
LET rutaCert = fgl_getenv("RUTA_CERT")
IF ambiente <> "certificacion" THEN
IF ambiente <> "test" THEN
LET respuesta = "no llego bien ",ambiente
# ambientes validos: test (TesteCF), certificacion (CerteCF), produccion (eCF)
IF ambiente <> "certificacion" AND ambiente <> "test" AND ambiente <> "produccion" THEN
LET respuesta = "Ambiente DGII no valido (companias.ambientedgii): ",ambiente
RETURN ' ',respuesta,'400'
END IF
END IF
# LET xambiente = ambiente
@@ -0,0 +1,862 @@
import os
import com
import xml
import util
TYPE tMensaje RECORD
codigo STRING,
valor STRING
END RECORD
TYPE tRespDGII RECORD
codigo INTEGER, -- 1=OK, 2=Rechazado, etc. (cuando venga)
estado STRING, -- "Aceptado" | "Rechazado" | etc.
encf STRING,
secuenciaUtilizada BOOLEAN,
hash STRING,
fechaFirmaDigital STRING,
qrcodeurl STRING,
trackId STRING,
mensajes DYNAMIC ARRAY OF tMensaje
END RECORD
TYPE consultaRespuesta RECORD
trackid,
codigo,
estado,
rnc,
encf,
secuenciaUtilizada,
fechaRecepcion STRING,
mensajes DYNAMIC ARRAY OF tmensaje
END RECORD
TYPE dgiimensaje RECORD
codigo,estado,ecf,secuenciaUtilizada STRING,
mensajes DYNAMIC ARRAY OF tmensaje
END RECORD
DEFINE url_semilla, url_validasemilla,url_anulacion,
url_recepcion,url_consulta,url_consulta_timbre STRING
DEFINE codigo,tokenxml,nombreFile,filexml,token,respuesta,ruta_firmados,rutaSemilla,rutaCert STRING
DEFINE doc xml.DomDocument,
xfacturainterna,gsucid,gbodega INT,
goperacion VARCHAR(30)
FUNCTION procesoEncf(fileporfirmar,ambiente,tiporecepcion,xsucid,xbodega,xoperacion,krespuesta)
DEFINE fileporfirmar,rtoken,ambiente,tiporecepcion,krespuesta STRING,
xhash VARCHAR(6),xfechafirmadigital VARCHAR(50),
xsucid,xbodega INT,
xoperacion CHAR(30)
DEFINE dtrackid RECORD
trackId,error,mensaje STRING
END RECORD,
xfecha DATETIME YEAR TO minute
CALL STARTLOG("procesoencf.txt")
# LET ptipoRecepcion = tiporecepcion
LET ruta_firmados = fgl_getenv("RUTA_XML_FIRMADOS")
LET rutaSemilla = fgl_getenv("RUTA_SEMILLA")
LET rutaCert = fgl_getenv("RUTA_CERT")
IF ambiente <> "certificacion" THEN
IF ambiente <> "test" THEN
LET respuesta = "no llego bien ",ambiente
RETURN ' ',respuesta,'400'
END IF
END IF
# LET xambiente = ambiente
CALL urls(ambiente,tiporecepcion)
{
SELECT a.valor,a.fecha INTO rtoken,xfecha
FROM token a
DISPLAY "tiempos: ",xfecha," ",CURRENT HOUR TO MINUTE}
# IF CURRENT HOUR TO MINUTE- xfecha > "0:44" THEN
CALL buscatoken(url_semilla) RETURNING codigo, tokenxml
IF codigo <> "200" THEN
LET respuesta = "respuesta buscatoken: ",tokenxml," ",codigo
RETURN ' ',respuesta,'400'
END IF
LET gsucid = xsucid
LET gbodega = xbodega
LET goperacion = xoperacion
# Create DomDocument object
LET doc = xml.DomDocument.Create()
# Notice that whitespaces are significant in cryptography,
# therefore it is recommended to remove unnecessary ones
CALL doc.setFeature("whitespace-in-element-content",FALSE)
CALL doc.loadFromString(tokenxml)
# CALL doc.save(".\\filesXML\\marmotech\\mtechTokenString.xml")
CALL doc.save(rutaSemilla||"/TokenString.xml")
#FIRMA SEMILLA
IF os.Path.exists(rutaSemilla||"/TokenString.xml") THEN
CALL firmasemilla()
ELSE
LET respuesta = "NO PUDE CREAR SEMILLA"
RETURN ' ',respuesta,'400'
END IF
IF os.Path.exists(rutaSemilla||"/Signature.xml") THEN
CALL validasemilla(url_validasemilla) RETURNING codigo,respuesta
IF codigo = 400 THEN
RETURN ' ',respuesta,'400'
END IF
ELSE
LET respuesta = "NO ENCONTRE LA SEMILLA FIRMADA"
RETURN ' ',respuesta,'400'
END IF
IF respuesta IS NOT NULL THEN
LET doc = xml.DomDocument.Create()
CALL doc.loadFromString(respuesta)
CALL doc.save(rutaSemilla||"/RespuestaValida.xml")
CALL gettoken() RETURNING rtoken
LET token = rtoken
# UPDATE token SET valor = rtoken,fecha=getdate()
ELSE
LET respuesta = "NO TENEMOS RESPUESTA DE VALIDA SEMILLA"
RETURN ' ',respuesta,'400'
END IF
# ELSE
# DISPLAY "en validar semilla"
# CALL validasemilla() RETURNING codigo,respuesta
# IF codigo = 400 THEN
# RETURN ' ',respuesta,'400'
# END IF
# END IF
DISPLAY "xoperacion: ",xoperacion
# CUANDO EL PROCESO NO ES FIRMAR EL DOCUMENTO
IF xoperacion <> 'consultatrackid' AND xoperacion <> 'consultastatus' THEN
LET filexml = fileporfirmar
CALL firmadocumento(fileporfirmar)
LET filexml = ruta_firmados CLIPPED,os.Path.baseName(fileporfirmar)
CALL enviafiles(token,filexml) RETURNING codigo,respuesta
CALL gethash(filexml) RETURNING xhash,xfechafirmadigital,xfacturainterna
# UPDATE vetb00002 SET hash = xhash WHERE factura = xfacturainterna AND sucid = xsucid
ELSE
IF xoperacion = 'consultatrackid' THEN
LET token = " Bearer ",token
CALL consultaResultado(token,krespuesta) RETURNING codigo, respuesta
END IF
IF xoperacion = 'consultastatus' THEN
LET token = " ApiKey ",token
CALL obtenerStatus(token)
END IF
END IF
RETURN xhash,respuesta,codigo
END FUNCTION
FUNCTION firmadocumento(fileafirmar)
DEFINE doc xml.DomDocument
DEFINE doc2 xml.DomDocument
DEFINE root xml.DomNode
DEFINE node xml.DomNode
DEFINE signNode xml.DomNode
DEFINE sig xml.Signature
DEFINE key xml.CryptoKey
DEFINE cert xml.CryptoX509
DEFINE index INTEGER,
fileafirmar STRING
LET rutaCert = fgl_getenv("RUTA_CERT")
LET ruta_firmados = fgl_getenv("RUTA_XML_FIRMADOS")
# Create DomDocument object
LET doc = xml.DomDocument.Create()
# Notice that whitespaces are significant in cryptography,
# therefore it is recommended to remove unnecessary ones
CALL doc.setFeature("whitespace-in-element-content",FALSE)
DISPLAY "file ",fileafirmar
LET filexml = fileafirmar
CALL doc.load(fileafirmar)
TRY
# Create rsa key
LET key = xml.CryptoKey.Create("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256")
#CALL key.loadPEM(".\\cert\\marmotech\\onlyRSA.pem")
CALL key.loadPEM(rutaCert clipped||"/onlyRSA.pem")
# Create an X509 certificate with the constructor of the CryptoX509 class.
LET cert = xml.CryptoX509.Create()
CALL cert.setFeature("X509Certificate",TRUE)
# Load the X509 certificate associated to the RSA or DSA private key into the CryptoKey object.
# CALL cert.loadPEM("cert509.crt")
CALL cert.loadPEM(rutaCert clipped||"/onlyCert.pem")
# Create signature object with the key to use
LET sig = xml.Signature.Create()
# Assign the CryptoKey object to the Signature object.
CALL sig.setKey(KEY)
# Assign the CryptoX509 object to the Signature object.
CALL sig.setCertificate(cert)
# Set XML node to be signed. In our case, the entire document
# LET index = sig.createReference("",
# "http://www.w3.org/2001/04/xmlenc#sha256")
LET index = sig.createReference('""',
"http://www.w3.org/2001/04/xmlenc#sha256")
# Add enveloped method to not take the XML signature node into account
# when computing the entire document.
CALL sig.appendReferenceTransformation(index,
"http://www.w3.org/2000/09/xmldsig#enveloped-signature",doc.getDocumentElement())
# Set canonicalization method on the XML fragment to be signed.
# Compute enveloped signature
CALL sig.compute(doc)
# Retrieve signature document
LET doc2=sig.getDocument()
# Append the signature node to the original document to get
# a valid enveloped signature
# Notice that the enveloped signature can be added anywhere in the
# original document
LET signNode = doc2.getDocumentElement() # Get Signature node
# Import it into the original document
LET node = doc.importNode(signNode,true)
# Retrieve the original document root node
LET root = doc.getDocumentElement()
# Append the signature node as last child of the original document
CALL root.appendChild(node)
# Save document with enveloped signature back to disk
CALL doc.setFeature("format-pretty-print",TRUE)
LET fileafirmar = ruta_firmados CLIPPED,os.Path.baseName(fileafirmar)
CALL doc.save(fileafirmar)
DISPLAY "file firmado", fileafirmar
CATCH
DISPLAY "Unable to create an enveloped signature :",status," ",sqlca.sqlerrm
DISPLAY "aqui"
END TRY
END FUNCTION
FUNCTION firmasemilla()
DEFINE doc xml.DomDocument
DEFINE doc2 xml.DomDocument
DEFINE root xml.DomNode
DEFINE node xml.DomNode
DEFINE signNode xml.DomNode
DEFINE sig xml.Signature
DEFINE key xml.CryptoKey
DEFINE cert xml.CryptoX509
DEFINE index INTEGER
LET rutaSemilla = fgl_getenv("RUTA_SEMILLA")
LET rutaCert = fgl_getenv("RUTA_CERT")
# Create DomDocument object
LET doc = xml.DomDocument.Create()
# Notice that whitespaces are significant in cryptography,
# therefore it is recommended to remove unnecessary ones
CALL doc.setFeature("whitespace-in-element-content",FALSE)
LET filexml = rutaSemilla||"/TokenString.xml"
IF os.Path.exists(filexml) THEN
CALL doc.load(filexml)
ELSE
DISPLAY "NO LO ENCONTRE"
RETURN
END IF
TRY
# Create rsa key
LET key = xml.CryptoKey.Create("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256")
CALL key.loadPEM(rutaCert||"/onlyRSA.pem")
# Create an X509 certificate with the constructor of the CryptoX509 class.
LET cert = xml.CryptoX509.Create()
CALL cert.setFeature("X509Certificate",TRUE)
# Load the X509 certificate associated to the RSA or DSA private key into the CryptoKey object.
# CALL cert.loadPEM("cert509.crt")
CALL cert.loadPEM(rutaCert||"/onlyCert.pem")
# Create signature object with the key to use
LET sig = xml.Signature.Create()
# Assign the CryptoKey object to the Signature object.
CALL sig.setKey(KEY)
# Assign the CryptoX509 object to the Signature object.
CALL sig.setCertificate(cert)
# Set XML node to be signed. In our case, the entire document
# LET index = sig.createReference("",
# "http://www.w3.org/2001/04/xmlenc#sha256")
LET index = sig.createReference('""',
"http://www.w3.org/2001/04/xmlenc#sha256")
# Add enveloped method to not take the XML signature node into account
# when computing the entire document.
CALL sig.appendReferenceTransformation(index,
"http://www.w3.org/2000/09/xmldsig#enveloped-signature",doc.getDocumentElement())
# Set canonicalization method on the XML fragment to be signed.
# CALL sig.appendReferenceTransformation(index,
# "http://www.w3.org/2001/10/xml-exc-c14n#")
# Compute enveloped signature
CALL sig.compute(doc)
# Retrieve signature document
LET doc2=sig.getDocument()
# Append the signature node to the original document to get
# a valid enveloped signature
# Notice that the enveloped signature can be added anywhere in the
# original document
LET signNode = doc2.getDocumentElement() # Get Signature node
# Import it into the original document
LET node = doc.importNode(signNode,true)
# Retrieve the original document root node
LET root = doc.getDocumentElement()
# Append the signature node as last child of the original document
CALL root.appendChild(node)
# Save document with enveloped signature back to disk
CALL doc.setFeature("format-pretty-print",TRUE)
CALL doc.save(rutaSemilla||"/Signature.xml")
CATCH
DISPLAY "Unable to create an enveloped signature :",status," ",sqlca.sqlerrm
END TRY
END FUNCTION
FUNCTION validasemilla(url_validasemilla1)
DEFINE respuesta,codigo,url_validasemilla1 STRING,
http_req com.HttpRequest,
http_resp com.HTTPResponse
LET rutaSemilla = fgl_getenv("RUTA_SEMILLA")
LET http_req = com.HTTPRequest.Create(url_validasemilla1)
CALL http_req.setMethod("POST")
CALL http_req.setCharset("UTF-8")
CALL http_req.setHeader("accept","application/xml")
CALL http_req.setMultipartType("form-data",NULL,NULL)
CALL http_req.setConnectionTimeOut(10)
IF os.Path.exists(rutaSemilla||"/Signature.xml") THEN
# CALL http_req.setHeader("Content-Disposition", "form-data; name=\"xml\"; filename=\"naceSignature.xml\"")
CALL http_req.setHeader("Content-Disposition", "form-data; name=\"xml\"; filename=\"Signature.xml\"")
# TRY
CALL http_req.doFileRequest(rutaSemilla||"/Signature.xml")
# CATCH
-- Intentar obtener la
# RETURN 400, "NO OBTUVE RESPUESTA DEL SERICIO AL VALIDAR SEMILLA"
# END TRY
-- Continuar con la ejecución normal si no se produjo una excepción
LET http_resp = http_req.getResponse()
LET codigo = http_resp.getStatusCode()
LET respuesta = http_resp.getTextResponse()
ELSE
LET codigo=400
LET respuesta='NO ENCONTRE EL FILE PARA VALIDAR SEMILLA'
END IF
RETURN codigo, respuesta
END FUNCTION
FUNCTION enviafiles(btoken,archivo)
DEFINE respuesta,btoken,codigo,archivo,contenido,consultaResp,body STRING,
http_req com.HttpRequest,
http_resp com.HTTPResponse,
xresp RECORD
codigo,estado,mensajes,encf,secuenciaUtilizada STRING
END RECORD
DEFINE api tRespDGII
DEFINE r RECORD
codigo INTEGER,
estado STRING,
mensajes DYNAMIC ARRAY OF RECORD
codigo STRING,
valor STRING
END RECORD,
encf STRING,
secuenciaUtilizada BOOLEAN,
hash STRING,
fechaFirmaDigital STRING,
qrcodeurl STRING,
trackId STRING
END RECORD
DEFINE dummy INTEGER
DEFINE drespuesta consultaRespuesta
DEFINE otrosMensajes dgiimensaje
LET btoken =" Bearer ",btoken
LET http_req = com.HTTPRequest.Create(url_recepcion)
CALL http_req.setMethod("POST")
CALL http_req.setCharset("UTF-8")
CALL http_req.setHeader("accept","application/json")
CALL http_req.setHeader("Authorization",btoken)
CALL http_req.setConnectionTimeOut(10)
CALL http_req.setMultipartType("form-data",NULL,NULL)
# "form-data; name=\"xml\"; filename=\"naceSignature.xml\""
IF os.Path.exists(archivo) THEN
LET contenido = "form-data; name=\"xml\"; filename=",os.path.basename(archivo)
# DISPLAY "contenido: ",contenido
# CALL http_req.setHeader("Content-Disposition", "form-data; name=\"xml\"; filename=\"131880681E310000000001.xml\"")
CALL http_req.setHeader("Content-Disposition", contenido CLIPPED)
CALL http_req.doFileRequest(archivo)
LET http_resp= http_req.getResponse()
LET body = http_resp.getTextResponse()
LET codigo = http_resp.getStatusCode()
CALL parse_dgii_response(body) RETURNING api.*
IF api.estado IS NULL OR api.estado = "" THEN
IF api.mensajes[1].codigo IS NOT NULL AND api.mensajes.getLength() > 0 THEN
LET api.estado = "Rechazado"
IF api.codigo IS NULL THEN LET api.codigo = 2 END IF
# ELSE
# LET api.estado = "Procesando"
END IF
END IF
IF http_resp.getStatusCode() != 200 THEN
DISPLAY "error: ",http_resp.getStatusCode()," ", util.JSON.stringify(api)
RETURN http_resp.getStatusCode(), util.JSON.stringify(api)
END IF
IF (api.hash IS NULL OR api.hash = "") OR (api.qrcodeurl IS NULL OR api.qrcodeurl = "") THEN
TRY
CALL util.JSON.parse(body,otrosMensajes)
LET api.codigo = otrosmensajes.codigo
LET api.encf = otrosmensajes.ecf
LET api.estado = otrosmensajes.estado
LET api.secuenciaUtilizada = otrosmensajes.secuenciaUtilizada
LET api.mensajes = otrosmensajes.mensajes
CATCH
CALL consultaResultado(btoken, util.JSON.stringify(api))
RETURNING dummy, consultaResp
TRY
CALL UTIL.JSON.parse(consultaResp,drespuesta)
CATCH
END TRY
LET api.codigo = drespuesta.codigo
LET api.encf = drespuesta.encf
LET api.estado = drespuesta.estado
LET api.fechaFirmaDigital = drespuesta.fechaRecepcion
LET api.trackId = drespuesta.trackid
LET api.secuenciaUtilizada = drespuesta.secuenciaUtilizada
IF dummy = 200 AND consultaResp <> "" THEN
RETURN 200, util.JSON.stringify(api)
END IF
END TRY
END IF
ELSE
LET api.codigo=401
LET api.estado = "INPROG"
LET api.mensajes[1].valor='NO ENCOENTRE EL FILE A ENVIAR'
RETURN 401, util.JSON.stringify(api)
END IF
RETURN http_resp.getStatusCode(), util.JSON.stringify(api)
END FUNCTION
FUNCTION consultaResultado(ctoken,data)
DEFINE data,ctoken,mensaje_dgii,message_err STRING
DEFINE crespuesta STRING,
http_req com.HttpRequest,
http_resp com.HTTPResponse
DEFINE dtrackid RECORD
trackId,error,mensaje STRING
END RECORD
TRY
CALL util.JSON.parse(data,dtrackid)
CATCH
LET message_Err ='Error EN JSON CONSULTA RESULTADO: ',STATUS
CALL errorlog(message_Err)
END TRY
LET url_consulta = url_consulta CLIPPED,"?TrackId=",dtrackid.trackid CLIPPED
LET http_req = com.HTTPRequest.Create(url_consulta)
CALL http_req.setMethod("GET")
CALL http_req.setCharset("UTF-8")
CALL http_req.setConnectionTimeOut(10)
CALL http_req.setHeader("accept","application/json")
CALL http_req.setHeader("Authorization",ctoken)
TRY
CALL http_req.doRequest()
LET http_resp= http_req.getResponse()
LET crespuesta = http_resp.getTextResponse()
LET mensaje_dgii = "Trackid: ", dtrackid.trackid CLIPPED," respuesta: ",crespuesta, " code: ",http_resp.getStatusCode()
CATCH
LET crespuesta = 'Servicio no responde, no consulta'
RETURN 400,crespuesta
END TRY
RETURN http_resp.getStatusCode(),crespuesta
END FUNCTION
FUNCTION gettoken()
DEFINE i, l INTEGER
DEFINE r om.XmlReader
DEFINE e,tok String
DEFINE a om.SaxAttributes
# DISPLAY "filexml: ",filexml
LET r = om.XmlReader.createFileReader(rutaSemilla||"/RespuestaValida.xml")
LET l = 0
LET e = r.read()
WHILE e IS NOT NULL
CASE e
WHEN "StartDocument"
# DISPLAY "StartDocument:"
WHEN "StartElement"
LET l=l+1
# DISPLAY l SPACES, "StartElement:", r.getTagName()
LET a = r.getAttributes()
FOR i=1 to a.getLength()
IF a.getName(i) = "token" THEN
# DISPLAY l SPACES," ",
# a.getName(i)," = ",
# a.getValueByIndex(i)
END IF
END FOR
WHEN "Characters"
IF r.getTagName() = "token" THEN
LET tok = r.getCharacters()
# DISPLAY "token dentro de gettoken: ",tok
EXIT CASE
END IF
WHEN "SkippedEntity"
# DISPLAY "Entity:'",r.skippedEntity(),"'"
WHEN "EndElement"
# DISPLAY l SPACES, "EndElement:", r.getTagName()
LET l=l-1
WHEN "EndDocument"
# DISPLAY "EndDocument:"
OTHERWISE
# DISPLAY "Invalid event: ",e
END CASE
LET e=r.read()
END WHILE
RETURN tok
END FUNCTION
FUNCTION gethash(envfile)
DEFINE i, l INTEGER
DEFINE r om.XmlReader
DEFINE e,envfile STRING,
phash VARCHAR(6),
pfechafirmadigital VARCHAR(50),
facturainterna INT
DEFINE a om.SaxAttributes
DISPLAY "filexml: ",envfile
LET r = om.XmlReader.createFileReader(envfile)
LET l = 0
LET e = r.read()
WHILE e IS NOT NULL
CASE e
WHEN "StartDocument"
# DISPLAY "StartDocument:"
WHEN "StartElement"
LET l=l+1
#DISPLAY l SPACES, "StartElement:", r.getTagName()
LET a = r.getAttributes()
FOR i=1 to a.getLength()
IF a.getName(i) = "SignatureValue" THEN
LET phash = r.getCharacters()
# DISPLAY l SPACES," ",
# a.getName(i)," = ",
# a.getValueByIndex(i)
END IF
END FOR
WHEN "Characters"
IF r.getTagName() = "SignatureValue" THEN
LET phash = r.getCharacters()
# DISPLAY "token dentro de gettoken: ",tok
EXIT CASE
END IF
IF r.getTagName() = "FechaHoraFirma" THEN
LET pfechafirmadigital = r.getCharacters()
# DISPLAY "token dentro de gettoken: ",tok
EXIT CASE
END IF
IF r.getTagName() = "NumeroFacturaInterna" THEN
LET facturainterna = r.getCharacters()
DISPLAY "factura interna: ",facturainterna
EXIT CASE
END IF
WHEN "SkippedEntity"
# DISPLAY "Entity:'",r.skippedEntity(),"'"
WHEN "EndElement"
# DISPLAY l SPACES, "EndElement:", r.getTagName()
LET l=l-1
WHEN "EndDocument"
# DISPLAY "EndDocument:"
OTHERWISE
# DISPLAY "Invalid event: ",e
END CASE
LET e=r.read()
END WHILE
RETURN phash,pfechafirmadigital,facturainterna
END FUNCTION
FUNCTION buscatoken(url_semilla1)
DEFINE respuesta,url_semilla1 STRING,
http_req com.HttpRequest,
http_resp com.HTTPResponse
#SELECT a.urltoken INTO url FROM companias a
#"https://ecf.dgii.gov.do/testecf/autenticacion/api/autenticacion/semilla"
#"https://ecf.dgii.gov.do/CerteCF/Autenticacion/api/Autenticacion/Semilla"
DISPLAY "url semilla: ",url_semilla1
LET http_req = com.HTTPRequest.Create(url_semilla1)
CALL http_req.setMethod("GET")
CALL http_req.setCharset("UTF-8")
CALL http_req.setHeader("accept","application/xml")
# CALL http_req.setConnectionTimeOut(10)
# TRY
CALL http_req.doRequest()
LET http_resp= http_req.getResponse()
LET respuesta = http_resp.getTextResponse()
# CATCH
# LET respuesta = 'No pude conseguir el token'
# RETURN 400,respuesta
# END TRY
#DISPLAY "cod token ",http_resp.getTextResponse()," ",http_resp.getStatusCode()
# IF http_resp.getStatusCode() != 200 THEN
# RETURN http_resp.getStatusCode(), http_resp.getTextResponse()
# END IF
DISPLAY "busca token: ",respuesta
RETURN http_resp.getStatusCode(),respuesta
END FUNCTION
FUNCTION urls(xambiente,ptipoRecepcion)
DEFINE xambiente,ptipoRecepcion STRING
IF xambiente = "produccion" THEN
IF ptipoRecepcion = "normal" THEN
LET url_recepcion ="https://ecf.dgii.gov.do/ecf/Recepcion/api/FacturasElectronicas"
ELSE
IF ptipoRecepcion = 'consumo' THEN
LET url_recepcion ="https://ecf.dgii.gov.do/ecf/Recepcion/api/FacturasElectronicas"
END IF
END IF
IF ptipoRecepcion = 'normal32' THEN
LET url_recepcion ="https://fc.dgii.gov.do/ecf/RecepcionFC/api/Recepcion/ecf"
END IF
LET url_semilla ="https://ecf.dgii.gov.do/ecf/autenticacion/api/autenticacion/semilla"
LET url_validasemilla ="https://ecf.dgii.gov.do/ecf/Autenticacion/api/Autenticacion/ValidarSemilla"
LET url_consulta = "https://ecf.dgii.gov.do/ecf/ConsultaResultado/api/consultas/estado"
LET url_anulacion = "https://ecf.dgii.gov.do/eCF/anulacionrangos/api/operaciones/anularRango"
END IF
IF xambiente = "certificacion" THEN
IF ptipoRecepcion = "normal" THEN
LET url_recepcion ="https://ecf.dgii.gov.do/CerteCF/Recepcion/api/FacturasElectronicas"
ELSE
IF ptipoRecepcion = 'consumo' THEN
LET url_recepcion ="https://ecf.dgii.gov.do/CerteCF/Recepcion/api/FacturasElectronicas"
END IF
END IF
IF ptipoRecepcion = 'normal32' THEN
LET url_recepcion ="https://fc.dgii.gov.do/CerteCF/RecepcionFC/api/Recepcion/ecf"
END IF
LET url_semilla ="https://ecf.dgii.gov.do/CerteCF/autenticacion/api/autenticacion/semilla"
LET url_validasemilla ="https://ecf.dgii.gov.do/CerteCF/Autenticacion/api/Autenticacion/ValidarSemilla"
LET url_consulta = "https://ecf.dgii.gov.do/CerteCF/ConsultaResultado/api/consultas/estado"
END IF
IF xambiente = "test" THEN
IF ptipoRecepcion = "normal" THEN
LET url_recepcion ="https://ecf.dgii.gov.do/TesteCF/Recepcion/api/FacturasElectronicas"
ELSE
IF ptipoRecepcion = 'consumo' THEN
LET url_recepcion ="https://fc.dgii.gov.do/TesteCF/RecepcionFC/api/Recepcion/ecf"
END IF
END IF
IF ptipoRecepcion = 'normal32' THEN
LET url_recepcion ="https://fc.dgii.gov.do/TesteCF/RecepcionFC/api/Recepcion/ecf"
END IF
LET url_semilla ="https://ecf.dgii.gov.do/TesteCF/autenticacion/api/autenticacion/semilla"
LET url_validasemilla ="https://ecf.dgii.gov.do/TesteCF/Autenticacion/api/Autenticacion/ValidarSemilla"
LET url_consulta = "https://ecf.dgii.gov.do/TesteCF/ConsultaResultado/api/consultas/estado"
LET url_anulacion = "https://ecf.dgii.gov.do/TesteCF/anulacionrangos/api/operaciones/anularRango"
END IF
LET url_consulta_timbre ="https://ecf.dgii.gov.do/TesteCF/consultatimbre"
# DISPLAY url_recepcion TO act_url
END FUNCTION
FUNCTION obtenerStatus(ctoken)
DEFINE respuesta,btoken,codigo,archivo,contenido,consultaResp,ctoken STRING,
http_req com.HttpRequest,
http_resp com.HTTPResponse,
xresp RECORD
codigo,estado,mensajes,encf,secuenciaUtilizada STRING
END RECORD
LET http_req = com.HttpRequest.Create("https://statusecf.dgii.gov.do/api/estatusservicios/obtenerestatus")
DISPLAY "ctoken: ",ctoken
CALL http_req.setMethod("GET")
CALL http_req.setCharset("UTF-8")
CALL http_req.setConnectionTimeOut(10)
CALL http_req.setHeader("accept","application/json")
CALL http_req.setHeader("Authorization",ctoken)
CALL http_req.doRequest()
LET http_resp= http_req.getResponse()
LET respuesta = http_resp.getTextResponse()
LET codigo = http_resp.getStatusCode()
DISPLAY "respuesta: ",respuesta ,"codigo ",codigo
END FUNCTION
FUNCTION parse_dgii_response(raw STRING)
DEFINE s STRING,
resp tRespDGII
DEFINE w RECORD
data1 tRespDGII
END RECORD
-- Último intento: levantar sólo los campos conocidos si vienen sueltos
DEFINE m RECORD
codigo INTEGER,
estado STRING,
encf STRING,
hash STRING,
qrcodeurl STRING,
fechaFirmaDigital STRING
END RECORD
LET s = raw.trim()
DISPLAY "cero display: ",s
IF s IS NULL OR s = "" THEN
RETURN resp.*
END IF
DISPLAY "primer display: ",s
-- Si la raíz es un arreglo, envuélvelo para mapearlo a RESP.mensajes
IF s.subString(1,1) = "[" THEN
LET s = '{"mensajes":' || s || '}'
END IF
TRY
CALL util.JSON.parse(s, resp)
DISPLAY "en primer try: ",resp.*
RETURN resp.*
CATCH
-- Algunos endpoints devuelven dentro de "data1" u otro contenedor.
TRY
CALL util.JSON.parse(s, w)
LET resp = w.data1
DISPLAY "en segundo try: ",resp.*
RETURN resp.*
CATCH
TRY
CALL util.JSON.parse(s, m)
LET resp.codigo = m.codigo
LET resp.estado = m.estado
LET resp.encf = m.encf
LET resp.hash = m.hash
LET resp.qrcodeurl = m.qrcodeurl
LET resp.fechaFirmaDigital = m.fechaFirmaDigital
DISPLAY "en tercer try: ",resp.*," en adicion: ",m.*
RETURN resp.*
CATCH
-- Si nada funcionó, deja 'resp' vacío: que el llamador trate el raw
RETURN resp.*
END TRY
END TRY
END TRY
END FUNCTION
+1 -1
View File
@@ -6,7 +6,7 @@ FUNCTION sus_caracter(cadena STRING)
CALL buf.append(cadena)
CALL buf.replace(" ", "%20;", 0)
CALL buf.replace(" ", "%20", 0)
CALL buf.replace("!", "%21", 0)
CALL buf.replace("#", "%23", 0)
CALL buf.replace("$", "%24", 0)
@@ -0,0 +1,26 @@
FUNCTION sus_caracter(cadena STRING)
DEFINE buf base.StringBuffer
LET buf = base.StringBuffer.create()
CALL buf.append(cadena)
CALL buf.replace(" ", "%20;", 0)
CALL buf.replace("!", "%21", 0)
CALL buf.replace("#", "%23", 0)
CALL buf.replace("$", "%24", 0)
CALL buf.replace("&", "%26", 0)
CALL buf.replace("'", "%27", 0)
CALL buf.replace("(", "%28", 0)
CALL buf.replace(")", "%29", 0)
CALL buf.replace("*", "%2A", 0)
CALL buf.replace("+", "%2B", 0)
CALL buf.replace(",", "%2C", 0)
CALL buf.replace("/", "%2F", 0)
CALL buf.replace(":", "%3A", 0)
CALL buf.replace(";", "%3B", 0)
RETURN buf.toString()
END FUNCTION
+1 -1
View File
@@ -10,7 +10,7 @@ FUNCTION ambiente()
DEFINE qcompania STRING,
ambiente VARCHAR(50)
LET qcompania = "select a.ambienteDgii FROM ndeco.dbo.companias a"
LET qcompania = "select a.ambienteDgii FROM companias a"
PREPARE bcompania FROM qcompania
EXECUTE bcompania INTO ambiente
@@ -0,0 +1,20 @@
{
FUNCION : ambienteFacturacion
OBETIVO : Identificar el ambiente a enviar los XML a la dgii
DESARROLLADO POR: Ing. Juan Soto
FECHA : 14/02/2026
}
FUNCTION ambiente()
DEFINE qcompania STRING,
ambiente VARCHAR(50)
LET qcompania = "select a.ambienteDgii FROM ndeco.dbo.companias a"
PREPARE bcompania FROM qcompania
EXECUTE bcompania INTO ambiente
RETURN ambiente
END FUNCTION
+18 -4
View File
@@ -9,19 +9,33 @@ FUNCTION btipo_fact(ptipo_doc)
codigodgii CHAR(16),
descripcion CHAR(30),
idx,curr1,numero_msg SMALLINT,
fecha_vencimiento DATE
fecha_vencimiento DATE,
vmensaje STRING
OPEN WINDOW tipofactura AT 7,12 WITH FORM "ccfmwd018"
ATTRIBUTE (BORDER,FORM LINE FIRST + 2,COMMENT LINE LAST,MESSAGE LINE LAST)
# fecha_vencimiento se lee como fecha (no como texto dd/mm/aaaa, que dependia
# del formato de fecha del servidor) y disponible sin importar mayuscula/minuscula
DECLARE busca_tipo CURSOR FOR
SELECT a.codigo_dgii,a.tipo_ncf,CONVERT(CHAR(20),ISNULL(a.fecha_vencimiento,''),103) FROM vetb00071 a
WHERE a.tipo_doc = ptipo_doc and a.disponible = "S"
SELECT a.codigo_dgii,a.tipo_ncf,a.fecha_vencimiento FROM vetb00071 a
WHERE a.tipo_doc = ptipo_doc and UPPER(a.disponible) = "S"
LET idx = 1
FOREACH busca_tipo INTO arrtipofact[idx].*
LET idx = idx + 1
END FOREACH
# Sin comprobantes: avisa en vez de mostrar la ventana en blanco
IF idx = 1 THEN
LET vmensaje = "No hay comprobantes disponibles para el tipo de documento ",
ptipo_doc CLIPPED, ".\nRegistrelo en el administrador de NCF (veprmt020)",
" con Disponible = SI."
CALL fgl_winmessage("NCF",vmensaje,"exclamation")
CLOSE WINDOW tipofactura
LET int_flag = TRUE
RETURN NULL,NULL
END IF
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
@@ -35,7 +49,7 @@ FUNCTION btipo_fact(ptipo_doc)
LET curr1 = arr_curr()
LET codigodgii = arrtipofact[curr1].codigodgii
LET descripcion = arrtipofact[curr1].descripcion
IF arrtipofact[curr1].fecha_vencimiento > '01/05/2018' THEN
IF arrtipofact[curr1].fecha_vencimiento > MDY(5,1,2018) THEN
LET fecha_vencimiento =arrtipofact[curr1].fecha_vencimiento
ELSE
LET fecha_vencimiento = NULL
+45
View File
@@ -0,0 +1,45 @@
FUNCTION btipo_fact(ptipo_doc)
DEFINE arrtipofact ARRAY[50] OF RECORD
codigodgii CHAR(16),
descripcion CHAR(80),
fecha_vencimiento DATE
END RECORD,
ptipo_doc CHAR(2),
codigodgii CHAR(16),
descripcion CHAR(30),
idx,curr1,numero_msg SMALLINT,
fecha_vencimiento DATE
OPEN WINDOW tipofactura AT 7,12 WITH FORM "ccfmwd018"
ATTRIBUTE (BORDER,FORM LINE FIRST + 2,COMMENT LINE LAST,MESSAGE LINE LAST)
DECLARE busca_tipo CURSOR FOR
SELECT a.codigo_dgii,a.tipo_ncf,CONVERT(CHAR(20),ISNULL(a.fecha_vencimiento,''),103) FROM vetb00071 a
WHERE a.tipo_doc = ptipo_doc and a.disponible = "S"
LET idx = 1
FOREACH busca_tipo INTO arrtipofact[idx].*
LET idx = idx + 1
END FOREACH
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
CLOSE WINDOW tipofactura
END IF
CALL set_count(idx-1)
DISPLAY ARRAY arrtipofact TO s_tipo.*
LET curr1 = arr_curr()
LET codigodgii = arrtipofact[curr1].codigodgii
LET descripcion = arrtipofact[curr1].descripcion
IF arrtipofact[curr1].fecha_vencimiento > '01/05/2018' THEN
LET fecha_vencimiento =arrtipofact[curr1].fecha_vencimiento
ELSE
LET fecha_vencimiento = NULL
END IF
CLOSE WINDOW tipofactura
RETURN codigodgii,fecha_vencimiento
END FUNCTION
+60 -48
View File
@@ -1,21 +1,22 @@
S^1^0^M^ncf^MODULE^^
S^2^1^F^btipo_fact^^^public
F^0^C:\Users\luis_\Documents\fuentes\decomarmol\PROYECTO\otrodir\ncf.4gl
D^2^1^45^10^0^0
D^2^1^59^10^0^0
X^2^D^1^10^0^
S^3^2^P^ptipo_doc^CHAR(2)^^
D^3^8^8^6^0^0
X^3^r^19^25^0^
X^3^r^32^21^0^
X^3^r^22^25^0^
X^3^l^1^21^0^
X^3^D^8^6^0^
S^4^2^V^arrtipofact^ARRAY[50] OF RECORD^^
D^4^3^7^9^0^0
X^4^r^39^27^0^
X^4^r^38^7^0^
X^4^r^37^22^0^
X^4^r^36^21^0^
X^4^r^33^18^0^
X^4^r^22^27^0^
X^4^r^53^27^0^
X^4^r^52^7^0^
X^4^r^51^22^0^
X^4^r^50^21^0^
X^4^r^47^18^0^
X^4^r^25^27^0^
X^4^D^3^9^0^
S^5^4^V^codigodgii^CHAR(16)^^
D^5^4^4^10^0^0
@@ -28,62 +29,73 @@ D^7^6^6^10^0^0
X^7^D^6^10^0^
S^8^2^V^codigodgii^CHAR(16)^^
D^8^9^9^6^0^0
X^8^r^44^11^0^
X^8^l^36^8^0^
X^8^r^58^11^0^
X^8^l^50^8^0^
X^8^D^9^6^0^
S^9^2^V^descripcion^CHAR(30)^^
D^9^10^10^6^0^0
X^9^l^37^8^0^
X^9^l^51^8^0^
X^9^D^10^6^0^
S^10^2^V^idx^SMALLINT^^
D^10^11^11^6^0^0
X^10^r^32^19^0^
X^10^r^23^14^0^
X^10^l^23^8^0^
X^10^r^22^39^0^
X^10^l^21^7^0^
X^10^r^46^19^0^
X^10^r^30^6^0^
X^10^r^26^14^0^
X^10^l^26^8^0^
X^10^r^25^39^0^
X^10^l^24^7^0^
X^10^D^11^6^0^
S^11^2^V^curr1^SMALLINT^^
D^11^11^11^10^0^0
X^11^r^39^39^0^
X^11^r^38^19^0^
X^11^r^37^34^0^
X^11^r^36^33^0^
X^11^l^35^8^0^
X^11^r^53^39^0^
X^11^r^52^19^0^
X^11^r^51^34^0^
X^11^r^50^33^0^
X^11^l^49^8^0^
X^11^D^11^10^0^
S^12^2^V^numero_msg^SMALLINT^^
D^12^11^11^16^0^0
X^12^r^27^15^0^
X^12^l^26^10^0^
X^12^r^41^15^0^
X^12^l^40^10^0^
X^12^D^11^16^0^
S^13^2^V^fecha_vencimiento^DATE^^
D^13^12^12^6^0^0
X^13^r^44^22^0^
X^13^l^41^8^0^
X^13^l^39^8^0^
X^13^r^58^22^0^
X^13^l^55^8^0^
X^13^l^53^8^0^
X^13^D^12^6^0^
S^14^1^C^busca_tipo^base.SqlHandle^^private
D^14^17^17^11^0^0
X^14^u^22^11^0^
X^14^D^17^11^0^
S^15^0^V^status^INTEGER^^builtin
S^14^2^V^vmensaje^STRING^^
D^14^13^13^6^0^0
X^14^r^34^32^0^
X^14^l^31^10^0^
X^14^D^13^6^0^
S^15^1^C^busca_tipo^base.SqlHandle^^private
D^15^20^20^11^0^0
X^15^u^25^11^0^
X^15^D^20^11^0^
S^16^0^V^status^INTEGER^^builtin
F^1^C:\Program Files\FourJs\Genero Studio\fgl\lib/fgl.4gl
D^15^15^15^9^1^1
X^15^D^15^9^1^
S^16^0^V^int_flag^INTEGER^^builtin
D^16^15^15^17^1^1
X^16^l^28^10^0^
X^16^r^25^7^0^
X^16^D^15^17^1^
S^17^0^F^msg^^^extern
X^17^c^27^11^0^
D^16^15^15^9^1^1
X^16^D^15^9^1^
S^17^0^V^int_flag^INTEGER^^builtin
D^17^15^15^17^1^1
X^17^l^42^10^0^
X^17^r^39^7^0^
X^17^l^36^10^0^
X^17^D^15^17^1^
S^18^0^F^msg^^^extern
X^18^c^41^11^0^
S^19^0^F^fgl_winmessage^^^extern
X^19^c^34^11^0^
T^1^1^d^0^0^DEFINE
T^1^45^f^0^0^FUNCTION
T^3^12^d^0^0^DEFINE
T^1^59^f^0^0^FUNCTION
T^3^13^d^0^0^DEFINE
T^3^7^d^0^0^RECORD
T^22^24^l^0^0^FOREACH
T^25^30^c^0^0^IF
T^26^29^c^0^0^THEN
T^38^42^c^0^0^IF
T^39^39^c^0^0^THEN
T^40^41^c^0^0^ELSE
T^25^27^l^0^0^FOREACH
T^30^38^c^0^0^IF
T^31^37^c^0^0^THEN
T^39^44^c^0^0^IF
T^40^43^c^0^0^THEN
T^52^56^c^0^0^IF
T^53^53^c^0^0^THEN
T^54^55^c^0^0^ELSE
+1 -1
View File
@@ -6,7 +6,7 @@ FUNCTION sus_caracter(cadena STRING)
CALL buf.append(cadena)
CALL buf.replace(" ", "%20;", 0)
CALL buf.replace(" ", "%20", 0)
CALL buf.replace("!", "%21", 0)
CALL buf.replace("#", "%23", 0)
CALL buf.replace("$", "%24", 0)
@@ -0,0 +1,26 @@
FUNCTION sus_caracter(cadena STRING)
DEFINE buf base.StringBuffer
LET buf = base.StringBuffer.create()
CALL buf.append(cadena)
CALL buf.replace(" ", "%20;", 0)
CALL buf.replace("!", "%21", 0)
CALL buf.replace("#", "%23", 0)
CALL buf.replace("$", "%24", 0)
CALL buf.replace("&", "%26", 0)
CALL buf.replace("'", "%27", 0)
CALL buf.replace("(", "%28", 0)
CALL buf.replace(")", "%29", 0)
CALL buf.replace("*", "%2A", 0)
CALL buf.replace("+", "%2B", 0)
CALL buf.replace(",", "%2C", 0)
CALL buf.replace("/", "%2F", 0)
CALL buf.replace(":", "%3A", 0)
CALL buf.replace(";", "%3B", 0)
RETURN buf.toString()
END FUNCTION

Some files were not shown because too many files have changed in this diff Show More