Generar xml de una factura

Esquema xml de la factura
Hola a todos, Recientemente hemos realizado una conversión de la base de datos del entorno PROD a TEST y nos hemos dado cuenta de que ya no podemos generar archivos xml para las facturas en TEST. Hemos comprobado la configuración de:No hemos encontrado nada que pueda ir mal, pero los archivos xml no se crean. ¿Tienes alguna sugerencia sobre qué más deberíamos mirar? Saludos, Hazel
Hola @Manoj Ruwanhewa, Esos parámetros del sistema están funcionando como deberían. Las rutas de los directorios también son correctas. Esto es algo realmente específico de INVOICE supongo, ya que tenemos ORDER y ORDRSP están trabajando bien. /Hazel
Factura Xml
Este es un módulo técnico necesario para garantizar la compatibilidad entre los dos módulos de generación de facturas electrónicas: account_invoice_ubl y account_invoice_factur-x. Estos 2 módulos son capaces de incrustar un archivo XML en la factura PDF, pero por el momento sólo se puede incrustar un archivo XML en el PDF. Y puede ser útil tener ambos módulos instalados, porque, por ejemplo, puedes necesitar generar facturas PDF de Factur-X para algunos clientes y archivos XML de UBL para otros clientes. Así que añade un parámetro de configuración para decidir qué formato XML se incrusta en el PDF.
Ejemplo de factura Xml
SELECT * FROM [FacturaDemo].[dbo].[Ventas] El script SQL crea tres tablas; Vendedor, Cliente y Ventas. Genera el XML... El siguiente script SQL fue utilizado para crear la factura XML anterior para el Cliente #1, Jiffee Stop Gas, a partir de los datos anteriores.
Dts.Variables("client_id").Value = data Haga clic con el botón derecho del ratón en el panel de gestores de conexión y seleccione Nueva conexión OLE DB... Haga clic en el botón Nuevo en el cuadro de diálogo Configurar gestor de conexión OLE DB. Introduzca el nombre del servidor y de la base de datos donde se crearon los datos de la demostración y haga clic en el botón Aceptar. Confirme que se ha creado la conexión de datos y haga clic en el botón Aceptar. Cambie el nombre del gestor de conexiones por algo significativo si lo desea, y luego haga doble clic en la Tarea SQL de Creación de Contenido de Factura XML. Haga clic en la línea de la Sentencia SQL para que aparezca el botón. Haga clic en el botón... ...para que aparezca el cuadro Introducir consulta SQL... ...y pegue este código SQL en él.
SELECT @xml AS text Haz clic en el botón OK del cuadro de texto Introducir consulta SQL. Haga clic en el botón OK del Editor de Tareas de Ejecución de SQL. Haga doble clic en el componente de tarea de script Escribir factura XML en un archivo. Haga clic en la línea ReadOnlyVariables, luego en el botón para que aparezca el cuadro de diálogo Select Variables, seleccione la casilla User::xml_doc y luego haga clic en el botón Edit Script. Introduzca el siguiente código...
Formato xml de la factura E
Al igual que HTML, XML se almacena en documentos ASCII planos. En consecuencia, podemos utilizar el conjunto de herramientas PL/SQL para generar casi cualquier documento XML. En esta sección escribiremos un paquete llamado XML_INVOICE_PKG para generar la factura XML de la que hemos hablado.
Empezaremos, como siempre, con la especificación del paquete. Para esta aplicación en particular, sólo necesitaremos un procedimiento: print_invoice. El procedimiento aceptará el número de factura de una determinada factura y generará la correspondiente factura XML. Este es el código:
Además del procedimiento print_invoice definido en la especificación, necesitaremos una función privada, get_attribute, y dos procedimientos privados, print_xml_tags e print_items. Los dos primeros elementos son necesarios para dar formato a la salida según la especificación XML, ya que el conjunto de herramientas PL/SQL no dispone de funciones o procedimientos específicos para XML. El otro procedimiento local obtiene los elementos de la factura de la base de datos y los imprime en el navegador web.
El procedimiento print_xml_tag tiene un propósito similar. Acepta un nombre de etiqueta, un valor de etiqueta y una cadena opcional para los atributos de la etiqueta. El procedimiento formatea estos parámetros en un elemento XML bien formado. El procedimiento HTP.PRINT envía este elemento de vuelta al navegador. Este es el procedimiento: