Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-03-2020
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
o al menos explicame por favor como identifico

Raíz, Nodo, Atributo, DATO y asi sucesivamente
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #2  
Antiguo 08-03-2020
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 297
Poder: 10
manelb Va por buen camino
Smile

Pues supongo que alguien habrá que pueda contestarte con más criterio que yo, o por lo menos constatar que mis argumentos son correctos, pero intentaré razonarte mi código.

El caso es que si te fijas como están declaradas las dos variables del ejemplo:
Código Delphi [-]
AccountID: IXMLAdditionalAccountIDType_cbc;
PartyName: IXMLPartyNameType_cac;

y te fijas en el tipo de la propiedad que queremos asignar:
Código Delphi [-]
property AdditionalAccountID: IXMLAdditionalAccountIDType_cbcList read Get_AdditionalAccountID;
property PartyName: IXMLPartyNameType_cacList read Get_PartyName;

pues te das cuenta que son propiedades tipo lista:
Código Delphi [-]
IXMLAdditionalAccountIDType_cbcList = interface(IXMLNodeCollection)
IXMLPartyNameType_cacList = interface(IXMLNodeCollection)

Por lo tanto, tenemos que crear una instancia de la clase que se espera en esa lista para poder asignarla a la propiedad.

En cuanto a lo de identificar Raíz, Nodo, Atributo…, etc., con este sistema, a mi entender, no lo necesitas.
Tu trabajas con la estructura del xml como si se tratara de cualquier otra clase, y te olvidas de los nombres de cada nodo, ya que la interface creada te permite trabajar con los nombres como propiedades.

Imagina la de errores sintácticos que se pueden cometer creando un xml complejo a pelo…
o incluso creando los nodos a mano, tipo AddChild('cacigitalSignatureAttachment'),
i lo que puede costar después depurar y encontrar un fallo de este tipo.

Supongo que, como todo, es cuestión de gustos, pero creo que las ventajas de hacerlo así son considerables.


Par cualquier cosa que necesites, pongo mis modestos conocimientos a tu disposición

Saludos
Responder Con Cita
  #3  
Antiguo 08-03-2020
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
hola buenos dias

yo estoy aprendiendo Delphi de manera autodidacta y hay temas que aun son desconocidos para mi
sobre todo esta parte de utilizar librerias externas y/o creacion lectura de XML

agradezco la paciencia

pero crees que podrias generarme un ejemplo?


de otro lado estuve "generando" un xml con el xsd, lo que no estoy entendiendo bien es que en los archivos XML de ejemplo (adjunto)
existen "claves" que cuando se generan con xl XSD no aparecen

[TEXT] <cbc:PriceAmount currencyID="PEN">38.00</cbc:PriceAmount>[/TEXT]
O TAMBIEN

<cbc:PriceTypeCode listName="SUNAT:Indicador de Tipo de Precio"
listAgencyName="PE:SUNAT"
listURI="urne:gob:sunat:cpe:see:gem:catalogos:catalogo16">01</cbc:PriceTypeCode>

creo que con un ejemplo lo entenderia mejor

gracias
Archivos Adjuntos
Tipo de Archivo: rar 20553510661-01-F001-1.rar (3,5 KB, 6 visitas)
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 14-03-2020
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 297
Poder: 10
manelb Va por buen camino
Buenos días a todos…

Hola Oscarrac, perdona el retraso en contestar….

No comprendo a que te refieres cuando dices que
Cita:
en los archivos XML de ejemplo (adjunto)
existen "claves" que cuando se generan con xl XSD no aparecen
El fixhero xml resultante contendrá todas y cada una de las líneas que tú le añadas.
Es verdad que estas líneas que me muestras de ejemplo, las cuales hacen referencia a precios, además del propio valor de la etiqueta tienen atributos.
Para asignarlos, deberás conocer los diferentes valores que pueden tomar, y la forma de asignarlos a cada etiqueta.
No recuerdo yo ahora que el formato Facturae en España tenga etiquetas con atributos, pero buscando un poco he encontrado que probablemente se pueda hacer de la siguiente e forma.
He ampliado un poco el ejemplo anterior que puse para insertar un nodo con algunas etiquetas de una línea de factura

Código Delphi [-]
var
  factura: IXMLInvoiceType;
  AccountID: IXMLAdditionalAccountIDType_cbc;
  PartyName: IXMLPartyNameType_cac;
  unaLinea: IXMLInvoiceLineType_cac;
begin
  factura:= GetInvoice(XMLDocument1);
  factura.IssueDate.NodeValue:='2011-06-28';
  factura.AccountingSupplierParty.CustomerAssignedAccountID.NodeValue:= '20100113612';

  AccountID:= factura.AccountingSupplierParty.AdditionalAccountID.Add;
  AccountID.nodevalue:='6';

  PartyName:= factura.AccountingSupplierParty.Party.PartyName.Add;
  PartyName.Name.NodeValue:='K&G Laboratorios';

  //******

  unaLinea:= factura.InvoiceLine.Add;
  unalinea.id.NodeValue:=1;

  unaLinea.InvoicedQuantity.SetAttributeNS('unitCode','', 'BX');
  unaLinea.InvoicedQuantity.SetAttributeNS('unitCodeListID','', 'UN/ECE rec 20');
  unaLinea.InvoicedQuantity.SetAttributeNS('unitCodeListAgencyName','', 'United Nations Economic Commission forEurope');
  unaLinea.InvoicedQuantity.NodeValue:=2000;

  unaLinea.LineExtensionAmount.SetAttributeNS('currencyID','','PEN');
  unaLinea.LineExtensionAmount.NodeValue:= '43840.00';


  //*****

  memoxml.lines.Text:= XMLDocument1.XML.Text;

end;

Espero te sirva...

Saludos
Responder Con Cita
  #5  
Antiguo 23-03-2020
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.015
Poder: 22
oscarac Va por buen camino
estoy avanzando con esto

pero se me han presentado algunos problemas

como generar los nodos internos

por ejemplo los que estan dentro de

SIGNATURE

Código:
<cac:Signature>
    <cbc:ID>IDSignCF</cbc:ID>
    <cac:SignatoyParty>    <---------
      <cac:PartyIdentification>  <---------
        <cbd:ID>RUC del Emisor</cbd:ID> <-------
      </cac:PartyIdentification>
      <cac:PartyName>
        <cbd:Name>Nombre del Emisor</cbd:Name>
      </cac:PartyName>
    </cac:SignatoyParty>
    <cac:DigitalSignatureAttachment>
      <cac:ExternalReference>
        <cbc:URI>#SignatureCF</cbc:URI>
      </cac:ExternalReference>
    </cac:DigitalSignatureAttachment>
  </cac:Signature>
alguien tiene una idea

OJO estoy usando el archivo importado por el XML Data Binding UBLPEInvoice10
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #6  
Antiguo 25-03-2020
manelb manelb is offline
Miembro
 
Registrado: mar 2017
Posts: 297
Poder: 10
manelb Va por buen camino
La factura electrónica española también tiene un formato similar, con una rama específica que contiene la firma.
De todas formas, al construir el xml, nosotros no nos preocupamos de construir esta rama.
Dejamos el xml sin ella.

El proceso de firma lo realizamos a través de un programa externo que facilita la administración, y es este proceso de firma el que añade al fichero xml toda la información referente a la firma con los nodos necesarios.
Este programa lo ejecutamos en modo línea de comando, de forma que para el usuario es totalmente transparente.

De todas formas, creo que hay compañeros por aquí, que sí firman directamente el fichero des de Delphi.
Tal vez ellos puedan aportarte algo más de información si necesitas firmar des de Delphi.

Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Facturación electrónica Perú SUNAT wilcg Internet 5 29-10-2018 18:46:01
Facturacion Electrónica México kapcomx Varios 3 15-09-2017 18:23:18
Qué se sabe de la facturación electrónica en Colombia ? rolandoj Varios 9 11-01-2017 22:30:58
facturacion electronica anubis Debates 5 09-11-2010 06:33:59
facturacion electronica pmfras Internet 1 04-11-2008 14:09:35


La franja horaria es GMT +2. Ahora son las 15:16:07.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi