Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > Envío de registros y sus respuestas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo 18-02-2025
Avatar de seccion_31
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 472
Poder: 10
seccion_31 Va por buen camino
Cita:
Empezado por ramherfer Ver Mensaje
Hola buenas tardes.
Al procesar la respuesta resultado.facturas[j].tipoOperacion me está devolviendo "SistemaFac" cuando la factura contiene algún error y es rechazada.
Si la factura es correcta y es admitida resultado.facturas[j].tipoOperacion devuelve "Alta".
Solo proceso una factura y utilizo este dato para identificar en el registroFacturación la operación de la factura a la que se refiere y actualizar su estado, movimiento.

En operaciones Baja declaradas en el registroFacturación obtengo un Access Violation en el módulo msgVerifactu.exe. He probado como fecha de factura la fecha actual y la propia fecha de la factura que se da de baja, pero no se, obtengo el mismo resultado. Voy a darle un vistazo a ver si soy capaz de encontrar el problema.

Al final creo que entiendo el sistema y tengo todo el tema de comunicaciones en una tabla independiente llamada RegistroSIF con las operaciones de cada una de las facturas (Alta, baja, modificacion, etc) que se relaciona con la tabla de cabeceras de facturas. Si genero una baja entra en RegistroSIF como baja y la cabecera de factura tambien la pone como baja. De esta forma puede tener una factura distintos movimientos o estados FR250056 ALTA y FR250056 BAJA. Gracias a los que me aclarasteis mi monumental lio mental.

Un saludo,
Aun asi puedes (y deberias) procesar la factura con

resultado.facturas[j].OK
y una vez OK entonces mirar tambien: resultado.facturas[j].aceptadoConErrores

tipoOperacion: Probablemente cuando es procesada la factura delphi interpretara ese valor dentro de los enum de tipo de operacion, muy probablemente en el campo XML no venga indicado si quiera. Si quieres postea el XML de resultado cuando ocurre eso. Ya adeverti que hace cosas raras cuando no hay valor un campo enum. quizas sea el caso.

Ver ejemplo en la demo:


Código:
            if resultado.facturas[j].OK then   // Es correcto ó aceptado con errores
            begin
                // colocar el csv y huella en la factura
                if facturasEnviadas.locate('emisor;NumSerieFactura',vararrayof([emisor, factura ]),[]) then
                begin
                    FacturasEnviadas.edit;
                    FacturasEnviadas.fieldbyName('csv').text      :=resultado.CSV;
                    FacturasEnviadas.FieldByName('huella').text   :=resultado.facturas[j].huellaFactura;
                    FacturasEnviadas.fieldbyName('situacion').text:=estado;
                    FacturasEnviadas.post;
                end;
                if resultado.facturas[j].aceptadoConErrores then inc(_oke) else inc(_ok);
            end
            else
                inc(_err);                            // Es erronea
 



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
Verifactu o por requerimiento (no-verifactu) ¿decisión del usuario? Maska10 Temas legales 2 07-12-2024 12:34:47
Demo de una applicación para una estación de enfermera con RAD Studio AgustinOrtu La Taberna 1 21-07-2015 17:41:35
Demo Delphi, EMail Caral Internet 1 19-12-2006 00:37:56
Demo de delphi 2005 mazinger Varios 2 18-12-2004 09:23:09
El Rave que viene con Delphi es una Demo? apicito Impresión 0 04-06-2003 11:33:36


La franja horaria es GMT +2. Ahora son las 09:26:59.


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