Correlativos en facturación o Ducumentos Fiscales

Hola chicos
En la tabla de InvoiceHeader tengo un campo que es el ID y otro que es el numero de factura, este debe ser un correlativo al guardar cada factura, claramente sin que se repita si varios usuarios crean una factura, Ejemplo 002-002-01-00100001, 002-002-01-00100002, 002-002-01-00100003

El asunto es que el gobierno autoriza una numeración cada cierto tiempo, es decir que al finalizar la fecha que el goierno estable este entrega una nueva numeracion, claromente la facturacion que ya se venia en la facturas no se puede eliminar,  aqui debe entrar las siguientes facturas con la siguiente numeración, para esto yo he creado una tablas, algo como Documents, (DocumentID, RangoInicial, RangoFInal, Vencimiento)

Aqui por supuesto se van creando los registros de cada temporada de numeracion, ahora la pregunta que tengo es como hago para que en las facturas me tome la correlación del ultimo registro o fecha correspondiente y que siga con la nueva correlacion

Alguna idea estare muy agradecido o sugerencias

0 3 200
3 REPLIES 3

La idea sera de comparar la fecha de la factura con la fecha del vencimiento del rango, así puedes el rango correcto a utilizar. 

Lo que puedes hacer por ejemplo con un SELECT():

  1. Seleccionar las fechas de vencimiento que son iguales o mayores de la fecha de la factura. 
  2. Elegir la fecha mínima (más antigua) entre las fechas que cumplen la primera condición.

 Y así puedes identificar el rango a utilizar.

Gracias, no me queda claro lo que tengo que hacer y no tengo idea como hacerlo, solo se que hay que hacerlo

Seria algo asi, el numero correlativo se va a generar en la tabla "Invoiceheader" columna "InvoiceNo" del numero encontrado en la tabla "Documents" columna "NoInicial" y que no sea mayor que la columna "NoFinal" pero que este tambien este entre "Fecha" y "FechaLimite"

Lo he intentado con esta formula, pero me devuel error
CONCATENATE("002-002-01-", RIGHT("00000000" &
MAX(SELECT(Documents[NoInicial],
AND([_THISROW].[Fecha] >= [Fecha], [_THISROW].[Fecha] <= [FechaLimite], [NoInicial] <= [NoFinal])
)), 😎
)
********
Arithmetic expression '([NoInicial] <= [NoFinal])' does not have valid input types
******

Por ejemplo en este caso cual se tomaria?
DocumentID--Fecha--NoInicial--NoFinal--FechaLimite
fd95b8f8-- 4/1/2023--00100001-- 00150000--4/30/2023
fd95j8y8 -- 5/1/2023--00200001--00200000--5/31/2023

Por la fecha actual seria fd95b8f8

Top Labels in this Space