Crea documentos XML anidados con VFP 7.0

495 views
Skip to first unread message

Zen Tes

unread,
Aug 3, 2017, 3:46:40 PM8/3/17
to Comunidad de Visual Foxpro en Español
Estimado Colegas.

Su apoyo para correr en VFP9 el ejemplo publicado en:

https://comunidadvfp.blogspot.com/2001/09/crea-documentos-xml-anidados-con-vfp-70.html

Intento ejecutarlo pero sale un error en un objeto.

Gracias.

Zen


Andres Naranjo Robledo

unread,
Aug 4, 2017, 5:12:02 PM8/4/17
to Comunidad de Visual Foxpro en Español
Amigo que deseas hacer con XML , crear una hoja(archivo) XML o que , yo estoy haciendo algo con XML puede que te apoye

Jean Pierre Adonis De La Cruz Garcia

unread,
Aug 4, 2017, 5:54:59 PM8/4/17
to Comunidad de Visual Foxpro en Español
envia lo que tienes de esa manera compartiras con todos y veremos si es lo que necesita.

Zen Tes

unread,
Aug 4, 2017, 10:41:33 PM8/4/17
to Comunidad de Visual Foxpro en Español
Estimado Andres.

Intento experimentar con XML, deseo crear los XML dinamicamente para la facturación electrónica de mi país PERU.

saludos.

Zen



El viernes, 4 de agosto de 2017, 16:12:02 (UTC-5), Andres Naranjo Robledo escribió:

Jean Pierre Adonis De La Cruz Garcia

unread,
Aug 5, 2017, 10:34:07 AM8/5/17
to Comunidad de Visual Foxpro en Español
Yo armo mis XM de esta manera 
un solo XML guarda todos los datos de los comprobantes, FE, BE, NC, ND, GE, CR, CP.
Si es que te refieres a eso.
aquie un ejemplo
***********
TEXT TO Mxml NOSHOW TEXTMERGE
<?xml version="1.0" encoding="ISO-8859-1"?>
<<xnvar1>> xmlns="urn:oasis:names:specification:ubl:schema:xsd:<<SUBSTR(xnvar1,2)>>-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:ccts="urn:un:unece:uncefact:documentation:2" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2" xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2" xmlns:sac="urn:sunat:names:specification:ubl:peru:schema:xsd:SunatAggregateComponents-1" xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ext:UBLExtensions>
      <ext:UBLExtension>
          <ext:ExtensionContent>
              <sac:AdditionalInformation>
ENDTEXT

CREATE CURSOR tmp_codcabecera(xcod1 c(5),lxvalventa n(10,2))
INSERT INTO tmp_codcabecera (xcod1,lxvalventa) VALUES ("1001",vcafecto)
INSERT INTO tmp_codcabecera (xcod1,lxvalventa) VALUES ("1002",vcnafecto)
INSERT INTO tmp_codcabecera (xcod1,lxvalventa) VALUES ("1003",vcexonera)
INSERT INTO tmp_codcabecera (xcod1,lxvalventa) VALUES ("1004",vcgratis)
INSERT INTO tmp_codcabecera (xcod1,lxvalventa) VALUES ("2005",vcdscto)
DELETE FOR lxvalventa=0
SELECT tmp_codcabecera
SCAN
TEXT TO Mxml1 NOSHOW ADDITIVE TEXTMERGE
                  <sac:AdditionalMonetaryTotal>
                      <cbc:ID><<ALLTRIM(xcod1)>></cbc:ID>
                      <cbc:PayableAmount currencyID="<<vcmoneda>>"><<lxvalventa>></cbc:PayableAmount>
                  </sac:AdditionalMonetaryTotal><<CRLF>>
ENDTEXT
ENDSCAN
*** Verifica si NO es Gratuito
IF ventas_cab.gratis=0
*** Valor del Total en Letras
CREATE CURSOR tmp_codcabecera1(xcod1 c(5),lxtventa c(200))
*INSERT INTO tmp_codcabecera1 (xcod1,lxtventa) VALUES ("1000",WX1_3)
INSERT INTO tmp_codcabecera1 (xcod1,lxtventa) VALUES ("1000",mival)
SELECT tmp_codcabecera1
SCAN
TEXT TO Mxml2 NOSHOW ADDITIVE TEXTMERGE
                  <sac:AdditionalProperty>
                      <cbc:ID><<ALLTRIM(xcod1)>></cbc:ID>
                      <cbc:Value><<ALLTRIM(lxtventa)>></cbc:Value>
                 </sac:AdditionalProperty><<CRLF>>
ENDTEXT
ENDSCAN
ELSE && Si es gratuito
TEXT TO Mxml2 NOSHOW ADDITIVE TEXTMERGE
         <sac:AdditionalProperty>
           <cbc:ID>1002</cbc:ID>
           <cbc:Value><<LEYEND01>></cbc:Value>
         </sac:AdditionalProperty><<CRLF>>
ENDTEXT 
ENDIF 
*** Placa de Auto ***
IF LEN(ALLTRIM(ventas_cab.placa))>0
TEXT TO Mxml2 TEXTMERGE NOSHOW ADDITIVE PRETEXT 7 
<sac:SUNATCosts>
<cac:RoadTransport>
<cbc:LicensePlateID><<ALLTRIM(ventas_cab.placa)>></cbc:LicensePlateID>
</cac:RoadTransport>
</sac:SUNATCosts><<CRLF>>
ENDTEXT 
ENDIF 
*** TAG para la Firma Digital
TEXT TO Mxml3 NOSHOW TEXTMERGE
              </sac:AdditionalInformation>
          </ext:ExtensionContent>
      </ext:UBLExtension>
      <ext:UBLExtension>
          <ext:ExtensionContent></ext:ExtensionContent>
      </ext:UBLExtension>
  </ext:UBLExtensions><<CRLF>>
ENDTEXT
TEXT TO Mxml4 NOSHOW TEXTMERGE
  <cbc:UBLVersionID>2.0</cbc:UBLVersionID>
  <cbc:CustomizationID>1.0</cbc:CustomizationID>
  <cbc:ID><<vcsernum>></cbc:ID>
  <cbc:IssueDate><<vcfecha>></cbc:IssueDate><<CRLF>>
ENDTEXT  
...
************
Message has been deleted

Andres Naranjo Robledo

unread,
Aug 7, 2017, 2:50:10 PM8/7/17
to Comunidad de Visual Foxpro en Español
Amigo mira si te sirve esta pagina que habla de XML , Vvisual Fox Pro Y .NET

Intercambiando Datos entre VFP 8.0 y .Net mediante XML Web Services



https://comunidadvfp.blogspot.com/2004/03/intercambiando-datos-entre-vfp-80-y-net.html


El viernes, 4 de agosto de 2017, 21:41:33 (UTC-5), Zen Tes escribió:

FredyKR

unread,
Oct 11, 2017, 10:58:50 PM10/11/17
to Comunidad de Visual Foxpro en Español
jean Pierre , este xml lo armas desde VFP, podrias ampliar tu trabajo como por ejemplo XML, firmado del XML , enviar y recibir respuesta,que es mas factible usar el software de SUNAT o desarrollar la aplicación. conexion a los web services , etc

Jean Pierre Adonis De La Cruz Garcia

unread,
Oct 12, 2017, 11:14:05 AM10/12/17
to Comunidad de Visual Foxpro en Español
ya te envie un email al respecto, saludos.
Reply all
Reply to author
Forward
0 new messages