Árvore de páginas

01. DATOS GENERALES


Producto

TOTVS Backoffice

Línea de producto: 

Línea Protheus

Segmento:

Backoffice

Módulo:SIGAFAT - Facturación
Función:
RutinaNombre TécnicoFecha
LOCXNFNotas Fiscales29/03/2022
País:Ecuador (EQU)
Ticket:13312109
Requisito/Story/Issue (informe el requisito vinculado):DMINA-14786


02. SITUACIÓN/REQUISITO

Al guardar simultáneamente dos Facturas de Venta (NF) con la misma Serie y Número de Documento, una manual desde la rutina de Facturaciones (MATA468N) y otras por generación automática desde la rutinas de Generación de Notas (MATA468N) se presenta el siguiente error.log:

THREAD ERROR ([7256], aurelio, VMMI6745) 18/02/2022 22:41:21
SE1990: DB error (Update): -29 File: SE1990 - Error : 1 - ORA-00001: unique constraint (AURELIOEC18A1.SE1990_UNQ) violated
( From tISAMFile::Update )
Thread ID [648] User [r2] IO [3841] Tables [95] MaxTables [95] Comment [MATA468N - TCPIP - ThreadID(7256)] SP [ ] Traced [No] SQLReplay [No] InTran [Yes] DBEnv [ORACLE/AURELIOEC18A1] DBThread [(SID 32,1605,1)] Started [19/02/2022 01:40:17] IP [10.0.0.4:10800] IDLE [ ] InTransact [3 s.] Memory [0] Running [ROP_UPDATE for 0 s.] RCV [124266] SND [536955] TCBuild [20210202-20210610] TCVersion [21.1.1.0_rc6] ARCH [64] OS [LINUX] BUILD [RELEASE] 
UPDATE SE1990 SET E1_PREFIXO = :1,E1_NATUREZ = :2,E1_VENCREA = :3,E1_BAIXA = :4,E1_PEDIDO = :5,E1_VLCRUZ = :6,E1_SERIE = :7,E1_STATUS = :8,E1_ORIGEM = :9,E1_FILORIG = :10,E1_TXMOEDA = :11,E1_SDOC = :12,D_E_L_E_T_ = :13,R_E_C_D_E_L_ = :14 WHERE R_E_C_N_O_ = :15
-- Binded Parameters List --
#1 [C] [FAC]
#2 [C] [000001 ]
#3 [D] [20220218]
#4 [D] [ ]
#5 [C] [000004]
#6 [N] [336.000000]
#7 [C] [FAC]
#8 [C] [A]
#9 [C] [MATA460 ]
#10 [C] [01]
#11 [N] [1.000000]
#12 [C] [FAC]
#13 [C] [ ]
#14 [R] [0]
#15 [N] [13.000000]
on A040DUPREC(FINXFIN.PRX) 10/02/2022 15:18:02 line : 10493

En ocasiones se presentan los siguientes error.log, dependiendo del tiempo de ejecución del guardado simultaneo:

THREAD ERROR ([4896], aurelio, VMMI6745)   26/03/2022 20:46:31
SF2990: DB error (Update): -29 File: SF2990 - Error : 1 - ORA-00001: unique constraint (AURELIOEC18A1.SF2990_UNQ) violated
 ( From tISAMFile::Update )
Thread ID [1668]    User [Administrador]    IO [3547]    Tables [94]    MaxTables [94]    Comment [MATA468N - TCPIP - ThreadID(4896)]    SP [ ]    Traced [No]    SQLReplay [No]    InTran [Yes]    DBEnv [ORACLE/AURELIOEC18A1]    DBThread [(SID 284,41343,1)]    Started [26/03/2022 23:42:00]    IP [10.0.0.4:10800]    IDLE [ ]    InTransact [1 s.]    Memory [0]    Running [ROP_UPDATE for 0 s.]    RCV [116224]    SND [416884]    TCBuild [20210202-20210610]    TCVersion [21.1.1.0_rc6]    ARCH [64]    OS [LINUX]    BUILD [RELEASE]    
UPDATE SF2990 SET F2_CLIENTE = :1,F2_LOJA = :2,F2_COND = :3,F2_EMISSAO = :4,F2_EST = :5,F2_TIPOCLI = :6,F2_TIPO = :7,F2_ESPECIE = :8,F2_MOEDA = :9,F2_NATUREZ = :10,F2_TXMOEDA = :11,F2_FORMUL = :12,F2_TIPODOC = :13,F2_TIPOREM = :14,F2_APROFOL = :15,F2_LIQPROD = :16,F2_NUMAUT = :17,F2_CERTFOL = :18,F2_DTDIGIT = :19,F2_PTOEMIS = :20,F2_ESTABL = :21,D_E_L_E_T_ = :22,R_E_C_D_E_L_ = :23 WHERE R_E_C_N_O_ = :24
-- Binded Parameters List --
#1 [C] [000010]
#2 [C] [01]
#3 [C] [001]
#4 [D] [20220326]
#5 [C] [17]
#6 [C] [1]
#7 [C] [N]
#8 [C] [NF   ]
#9 [N] [1.000000]
#10 [C] [000001    ]
#11 [N] [1.000000]
#12 [C] [S]
#13 [C] [01]
#14 [C] [0]
#15 [C] [8         ]
#16 [C] [2]
#17 [C] [01                                              ]
#18 [C] [5555555555          ]
#19 [D] [20220326]
#20 [C] [01 ]
#21 [C] [01 ]
#22 [C] [ ]
#23 [R] [0]
#24 [N] [103.000000]
 on MSSEEK(APLIB070.PRW) 11/02/2022 19:35:24 line : 2280

[TOTVS build: 7.00.191205P-20211019]
Called from SETSD2SF2(MATA468N.PRX) 26/03/2022 16:45:26 line : 8770

03. SOLUCIÓN

En la rutina de Notas Fiscales (LOCXNF), se realiza ajuste en la función que Verifica si el número de documento ya está siendo usado (aNumNaoExiste), para realizar el bloqueo del documento haciendo uso de la función LockByName().

IMPORTANTE

Para realizar el bloque del documento se toma en cuenta la siguiente nomenclatura sin eliminar espacios: "SF2" + Filial en Tabla SF2 + Serie del Documento + Número del Documento + "S".



  1. Realizar un respaldo del repositorio del ambiente (archivo .rpo).
  2. Aplicar el parche generado para la issue DMINA-14786.
  3. Validar que se haya realizado la actualización de las rutinas de acuerdo a lo mencionado en la sección 01. DATOS GENERALES.
  4. En el módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Archivos | Cliente.
  5. Configurar un Cliente para las Factura de Venta (NF).
  6. En el módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Archivos | Productos.
  7. Configurar un o varios Productos paras la Factura de Venta (NF).

Pasos para inclusión de Factura de Venta Manual:

  1. En el módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Facturación | Facturaciones (MATA467N).
    • Incluir una Factura de Venta (NF) utilizando el Cliente y los Productos configurados previamente.
    • Aguardar para realizar el guardado de la Factura de Venta (NF).

Pasos para generación Factura de Venta automática:

  1. En el módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Pedidos | Pedidos de Venta (MATA410).
    • Incluir un Pedido de Venta utilizando el Cliente y los Productos configurados previamente.
  2. En el módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Pedidos Liberación de Crédito y Stock (MATA456).
    • Realizar la liberación del Pedido de Venta en caso de ser necesario.
  3. En el módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Facturación | Generación de Notas(MATA467N).
    • Seleccionar los ítem del Pedido de Venta y desde Otras acciones ejecutar la acción Genera Fact.
    • En la pantalla Facturas que se generaran, informar la columna de la Serie (Validar que se visualice en la columna Factura el mismo folio que se visualiza en la Factura de Venta manual)
    • Esperar para presionar el botón Ok.

De manera simultanea guardar la Factura de Venta manual y la generación de la Factura de Venta automática, validando que para la Factura automática se incremente de manera automática, que no se muestre error.log y que los datos de ambos documentos correspondan a lo informado para cada uno.


04. INFORMACIÓN ADICIONAL

No aplica.


¡IMPORTANTE!

La solución aplica para versión 12.1.27 o Superior.


05. ASUNTOS RELACIONADOS

  • No aplica.