Tabla NNM1 en SAP Business One (Series de numeración de documentos)
NNM1 es la tabla de SAP Business One de series de numeración: una fila por serie de un documento u objeto de datos maestros, con el código de objeto, número de serie, nombre, siguiente número, último número permitido, prefijo, sufijo e indicador de período. Los documentos guardan la serie en Series, así que NNM1 explica de dónde viene un DocNum y con qué prefijo se imprime.
Campos clave de NNM1
| Campo | Qué contiene |
|---|---|
ObjectCode | Objeto al que pertenece la serie, por ejemplo 13 para facturas de clientes y 17 para pedidos de cliente. |
Series | Número de serie, la clave. OINV.Series y ORDR.Series apuntan a él. |
SeriesName | Nombre de la serie. |
InitialNum | Número inicial. |
NextNumber | Siguiente número disponible. |
LastNum | Último número permitido. |
BeginStr / EndStr | Cadenas de prefijo y sufijo. |
Indicator | Indicador de período (OPID). |
Locked | Y = bloqueada, N = no bloqueada. |
SeriesType | D = documento, B = socio de negocios, I = artículo, R = recurso, W = certificados de retención. |
IsManual | Y = serie manual. |
BPLId | Sucursal asignada (OBPL). |
DocSubType | Subtipo de documento. |
Cómo se relaciona NNM1 con otras tablas
NNM1 guarda las filas de series de cada objeto listado en ONNM. Las cabeceras de documentos (OINV.Series, ORDR.Series y las demás) y los socios de negocios (OCRD.Series) apuntan a NNM1.Series. El par ObjectCode más Series identifica la serie, y DocNum es único dentro de una serie, no entre series.
Joins habituales
OINV T0 INNER JOIN NNM1 T1 ON T1.Series = T0.Series (serie de la factura)ORDR T2 INNER JOIN NNM1 T1 ON T1.Series = T2.Series (serie del pedido)NNM1 T1 WHERE T1.ObjectCode = '13' (todas las series de facturas de clientes)
Cuándo se usa la tabla NNM1
Use NNM1 para imprimir números de documento con su prefijo, ver qué serie está cerca de su último número antes del cierre del año y listar las series por indicador de período o sucursal.
Consulta de ejemplo: números de factura con nombre de serie y prefijo
SQL Server
SELECT T1.SeriesName, ISNULL(T1.BeginStr, '') + CAST(T0.DocNum AS varchar(20)) + ISNULL(T1.EndStr, '') AS PrintedNumber, T0.DocDate, T0.CardCode, T0.DocTotal FROM OINV T0 INNER JOIN NNM1 T1 ON T1.Series = T0.Series WHERE T0.DocDate >= DATEADD(day, -30, GETDATE()) ORDER BY T1.SeriesName, T0.DocNum
SAP HANA (nombres de columna entre comillas dobles)
SELECT T1."SeriesName", IFNULL(T1."BeginStr", '') + CAST(T0."DocNum" AS varchar(20)) + IFNULL(T1."EndStr", '') AS "PrintedNumber", T0."DocDate", T0."CardCode", T0."DocTotal" FROM OINV T0 INNER JOIN NNM1 T1 ON T1."Series" = T0."Series" WHERE T0."DocDate" >= ADD_DAYS(CURRENT_TIMESTAMP, -30) ORDER BY T1."SeriesName", T0."DocNum"
Pegue cualquiera de las dos versiones en Herramientas → Consultas → Generador de consultas. ¿Necesita el otro dialecto para su propia consulta? Use el conversor de SQL a HANA.
Error frecuente: Tratar DocNum como único
Con varias series de numeración (por año, por sucursal o por tipo de documento) dos facturas pueden tener el mismo DocNum en series distintas. Use DocEntry como clave, o DocNum junto con Series. Compare también NextNumber con LastNum antes de que termine el año, o la contabilización se detiene cuando una serie se agota. Vea Tabla OINV (cabecera de facturas de clientes).
Consultas listas que usan NNM1
- Facturas creadas por usuario hoy: Cuántas facturas de clientes creó hoy cada usuario de SAP B1, con el valor total.
Preguntas sobre la tabla NNM1
¿Qué tabla guarda el siguiente número de documento en SAP Business One?
NNM1.NextNumber, por serie. El documento guarda su serie en Series.
¿DocNum es único en SAP Business One?
Solo dentro de una serie de numeración. DocEntry es la clave única de un documento.
¿Dónde está el prefijo de un número de documento?
En NNM1.BeginStr (prefijo) y NNM1.EndStr (sufijo).
Tablas relacionadas
OINV (Factura de clientes (cabecera)) · ORDR (Pedido de cliente (cabecera)) · OCRD (Socios de negocios) · buscar todas las tablas de SAP Business One
¿Listo para empezar?
Cuéntenos lo que necesita. Recibirá una respuesta técnica clara, un alcance definido y un precio fijo, normalmente en 24 horas.
