Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > General/Noticias
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo Hace 3 Semanas
rci rci is offline
Miembro
 
Registrado: nov 2020
Posts: 416
Poder: 5
rci Va por buen camino
Cita:
Empezado por xamminf Ver Mensaje
La confusion posterior, al menos para mi, vino cuando un compañero comentó:
"""hay que crear un "registro de facturación", que es un objeto XML""" y ciertamente el registro de facturacion NO tiene por qué ser un objeto xml, ni siquiera una parte del xml en formato texto: Se puede grabar los datos necesario para la formacion del registro en tablas siguiendo el paradigma de la inalterabilidad, supongo
Ahora entiendo la confusión que dices. Pido disculpas.
En nuestro caso (c#) tenemos objetos de los tipos de las clases generadas al importar el wsdl y al generar el registro de facturación, creamos objetos y los rellenamos. Para guardarlos, serializamos esos objetos a XML y guardamos en una tabla el XML comprimido pero también otros datos que forman parte del XML.
Supongo que podríamos no serializar el objeto y no utilizar XML, porque de hecho para enviar cogemos el XML de la tabla y lo deserializamos para volver a obtener el objeto y enviarlo.
Pero tendríamos que guardar toda la información en varios campos de la tabla de registros de facturación y supongo que también tendríamos que crear tablas relacionadas para guardar por ejemplo los datos de los desgloses de cada registro de facturación... Imagino que es posible pero lo veo mas complicado.
Supongo que en ese caso también podríamos crear el objeto para enviar (RegFactuSistemaFacturacion) en el momento del envío, con los datos de uno o varios registros de facturación (RegistroFactura) guardados al emitir la factura.

De momento nosotros lo hacemos así pero supongo que hay varias posibilidades, mientras se cumplan los requisitos de la ley

Saludos

Última edición por rci fecha: Hace 3 Semanas a las 09:43:09.
Responder Con Cita
  #2  
Antiguo Hace 3 Semanas
xamminf xamminf is offline
Miembro
 
Registrado: ene 2017
Posts: 187
Poder: 9
xamminf Va por buen camino
Cita:
Empezado por rci Ver Mensaje
Ahora entiendo la confusión que dices. Pido disculpas.
En nuestro caso (c#) tenemos objetos de los tipos de las clases generadas al importar el wsdl y al generar el registro de facturación, creamos objetos y los rellenamos. Para guardarlos, serializamos esos objetos a XML y guardamos en una tabla el XML comprimido pero también otros datos que forman parte del XML.
Supongo que podríamos no serializar el objeto y no utilizar XML, porque de hecho para enviar cogemos el XML de la tabla y lo deserializamos para volver a obtener el objeto y enviarlo.
Pero tendríamos que guardar toda la información en varios campos de la tabla de registros de facturación y supongo que también tendríamos que crear tablas relacionadas para guardar por ejemplo los datos de los desgloses de cada registro de facturación... Imagino que es posible pero lo veo mas complicado.
Supongo que en ese caso también podríamos crear el objeto para enviar (RegFactuSistemaFacturacion) en el momento del envío, con los datos de uno o varios registros de facturación (RegistroFactura) guardados al emitir la factura.

De momento nosotros lo hacemos así pero supongo que hay varias posibilidades, mientras se cumplan los requisitos de la ley

Saludos
Compañero, ninguna disculpa era necesaria
Muchas gracias nuevamente por otra fenomenal respuesta que me ayuda a comprender mejor el sistema
Responder Con Cita
  #3  
Antiguo Hace 3 Semanas
Jarogo08 Jarogo08 is offline
Miembro
 
Registrado: ene 2025
Posts: 78
Poder: 1
Jarogo08 Va por buen camino
Cita:
Empezado por rci Ver Mensaje
Ahora entiendo la confusión que dices. Pido disculpas.
En nuestro caso (c#) tenemos objetos de los tipos de las clases generadas al importar el wsdl y al generar el registro de facturación, creamos objetos y los rellenamos. Para guardarlos, serializamos esos objetos a XML y guardamos en una tabla el XML comprimido pero también otros datos que forman parte del XML.
Supongo que podríamos no serializar el objeto y no utilizar XML, porque de hecho para enviar cogemos el XML de la tabla y lo deserializamos para volver a obtener el objeto y enviarlo.
Pero tendríamos que guardar toda la información en varios campos de la tabla de registros de facturación y supongo que también tendríamos que crear tablas relacionadas para guardar por ejemplo los datos de los desgloses de cada registro de facturación... Imagino que es posible pero lo veo mas complicado.
Supongo que en ese caso también podríamos crear el objeto para enviar (RegFactuSistemaFacturacion) en el momento del envío, con los datos de uno o varios registros de facturación (RegistroFactura) guardados al emitir la factura.

De momento nosotros lo hacemos así pero supongo que hay varias posibilidades, mientras se cumplan los requisitos de la ley

Saludos

Buenas rci


Nosotros hacemos más o menos lo que comentas... creamos el objeto a enviar (RegFactuSistemaFacturacion) en el momento del envío, y se alimenta de una tabla creada para los envíos que tiene todos los datos necesarios. Una vez creado el objeto a enviar lo serializamos y guardamos el XML en una ruta. Pero realmente ese XML no lo usamos para nada, de hecho hasta nos planteamos no guardarlo.


Saludos
Responder Con Cita
  #4  
Antiguo Hace 3 Semanas
rci rci is offline
Miembro
 
Registrado: nov 2020
Posts: 416
Poder: 5
rci Va por buen camino
Cita:
Empezado por Jarogo08 Ver Mensaje
Buenas rci
Nosotros hacemos más o menos lo que comentas... creamos el objeto a enviar (RegFactuSistemaFacturacion) en el momento del envío, y se alimenta de una tabla creada para los envíos que tiene todos los datos necesarios. Una vez creado el objeto a enviar lo serializamos y guardamos el XML en una ruta. Pero realmente ese XML no lo usamos para nada, de hecho hasta nos planteamos no guardarlo.
Saludos
Gracias Jarogo08, después de escribir el post también me he planteado si hacia falta guardar el XML. De momento lo guardamos.
Si realmente el XML no lo usas, cuando dices que "se alimenta de UNA tabla", imagino que debe ser mas de una, porque a parte de que la tabla debe tener unas 100 columnas para guardar toda la información posible de un registro de facturación, los datos que pueden tener múltiples ocurrencias como por ejemplo los bloques de desglose, no puedes representarlos en UNA sola tabla, por ejemplo registros_facturacion, sino que tendrías que tener una segunda relacionada (por ejemplo registros_facturacion_desglose) que tenga todos los desgloses de cada RF.

Lo tenéis así?

Gracias
Responder Con Cita
  #5  
Antiguo Hace 3 Semanas
Faneka Faneka is offline
Miembro
 
Registrado: nov 2024
Posts: 137
Poder: 1
Faneka Va por buen camino
Yo guardo tanto el XML completo que se envia (con los diferentes RF) como el RF de la factura. Luego en el programa estando en una factura doy la opción de abrir esos XML si se quieren ver.
Responder Con Cita
  #6  
Antiguo Hace 3 Semanas
rci rci is offline
Miembro
 
Registrado: nov 2020
Posts: 416
Poder: 5
rci Va por buen camino
Cita:
Empezado por Faneka Ver Mensaje
Yo guardo tanto el XML completo que se envia (con los diferentes RF) como el RF de la factura. Luego en el programa estando en una factura doy la opción de abrir esos XML si se quieren ver.
Gracias Faneka.
Nosotros el XML completo que se envía no lo guardamos.
Esta opción del programa para ver los distintos registros de facturación también la tenemos en mente, pero de momento no la hemos desarrollado.
Que haces? abres directamente un fichero XML con el visor de textos que tenga el PC del usuario o has creado una pantalla con los datos puestos de forma mas legible?

Saludos
Responder Con Cita
  #7  
Antiguo Hace 3 Semanas
Jarogo08 Jarogo08 is offline
Miembro
 
Registrado: ene 2025
Posts: 78
Poder: 1
Jarogo08 Va por buen camino
Cita:
Empezado por rci Ver Mensaje
Gracias Jarogo08, después de escribir el post también me he planteado si hacia falta guardar el XML. De momento lo guardamos.
Si realmente el XML no lo usas, cuando dices que "se alimenta de UNA tabla", imagino que debe ser mas de una, porque a parte de que la tabla debe tener unas 100 columnas para guardar toda la información posible de un registro de facturación, los datos que pueden tener múltiples ocurrencias como por ejemplo los bloques de desglose, no puedes representarlos en UNA sola tabla, por ejemplo registros_facturacion, sino que tendrías que tener una segunda relacionada (por ejemplo registros_facturacion_desglose) que tenga todos los desgloses de cada RF.

Lo tenéis así?

Gracias

Buenas de nuevo rci

Es una única tabla que ahora mismo tiene 127 columnas (cremo que ya no crecerá más porque estamos con los últimos retoques y pruebas). En lo que se refiere a desglose, tenemos un máximo de 6 ivas por documento. Es una restricción que ya teníamos de antes, y por tanto en esta tabla tenemos los campos:

BaseImponible1,BaseImponible2,BaseImponible3,BaseImponible4,BaseImponible5,BaseImponible6
CuotaIva1,CuotaIva2,CuotaIva3,CuotaIva4,CuotaIva5,CuotaIva6
CuotaRecargo1,CuotaRecargo2,CuotaRecargo3,CuotaRecargo4,CuotaRecargo5,CuotaRecargo6
etc.

Y sólo le damos valores a los registros que correspondan. No me digas que no está muy bien planteado porque ya lo sé

Y en cuanto a los XML los guardamos en una carpeta del PC, en la base de datos sólo guardamos su ruta para poder abrirlos desde la pantalla correspondiente del programa

Saludos
Responder Con Cita
  #8  
Antiguo Hace 3 Semanas
rci rci is offline
Miembro
 
Registrado: nov 2020
Posts: 416
Poder: 5
rci Va por buen camino
Cita:
Empezado por Jarogo08 Ver Mensaje
Buenas de nuevo rci

Es una única tabla que ahora mismo tiene 127 columnas (cremo que ya no crecerá más porque estamos con los últimos retoques y pruebas). En lo que se refiere a desglose, tenemos un máximo de 6 ivas por documento. Es una restricción que ya teníamos de antes, y por tanto en esta tabla tenemos los campos:

BaseImponible1,BaseImponible2,BaseImponible3,BaseImponible4,BaseImponible5,BaseImponible6
CuotaIva1,CuotaIva2,CuotaIva3,CuotaIva4,CuotaIva5,CuotaIva6
CuotaRecargo1,CuotaRecargo2,CuotaRecargo3,CuotaRecargo4,CuotaRecargo5,CuotaRecargo6
etc.

Y sólo le damos valores a los registros que correspondan. No me digas que no está muy bien planteado porque ya lo sé

Y en cuanto a los XML los guardamos en una carpeta del PC, en la base de datos sólo guardamos su ruta para poder abrirlos desde la pantalla correspondiente del programa

Saludos
Muchas gracias por la respuesta Jarogo08. Claro hecho de esta forma si es posible.

Saludos
Responder Con Cita
Respuesta



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
Repetir una accion lmpadron C++ Builder 5 29-07-2010 20:21:31
Repetir datos con un clik aanil SQL 11 20-02-2010 21:40:10
No repetir datos en una columna edusus Conexión con bases de datos 3 23-04-2006 18:24:51
Es sano repetir? Johnny Q OOP 4 12-07-2005 21:09:51
Repetir datos en Rave Reports Tecnic2 Impresión 1 05-11-2004 12:20:11


La franja horaria es GMT +2. Ahora son las 19:32:02.


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