Crear Orden Fabricacion SDK DI API SAP B1

Buenas tardes compañeros.

Estoy realizando un servicio en net core(c# puede ser compatible) para creacion de documentos, estoy utilizando SAP DI API Version 9.0, actualmente ya puedo crear Ordenes de Venta, Remisiones, pero tengo la necesidad de crear Ordenes de Fabricacion.
Con los anteriores documentos únicamente tengo que declarar una variable documento y asignarle el tipo OV o REM y posteriormente capturo la información necesaria.

private SAPbobsCOM.Documents Documento;
Documento = company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders).

Ahora al declarar la orden de fabricacion oProductionOrders según la documentación es necesario los campos ItemNo que tengo entendido es el producto a crear sin embargo me marca error.
Si alguien tiene algún ejemplo de creación de una orden de fabricación se lo agradecería.
De igual manera si alguien necesita apoyo para crear OV o REM con gusto puedo apoyar.

Saludos.

Si solo mandas el campo ItemNo, el sistema necesita que tengas creada la lista de materiales (receta) de ese producto
Si es un producto sin receta y se arma en tiempo de ejecucion debes cambiar la propiedad ProductionOrderType a especial

var OWOR = sbo_company.GetBusinessObject(BoObjectTypes.oProductionOrders) as SAPbobsCOM.ProductionOrders;
OWOR.ItemNo = "A00001";
OWOR.ProductionOrderType = BoProductionOrderTypeEnum.bopotStandard;
OWOR.DueDate = DateTime.Now.AddDays(1);
OWOR.PostingDate = DateTime.Now;
OWOR.PlannedQuantity = 2;
OWOR.Warehouse = "CD";

Ese caso sería para un producto con receta en el caso que sea una OF especial debes enviar las lineas

var OWOR = sbo_company.GetBusinessObject(BoObjectTypes.oProductionOrders) as SAPbobsCOM.ProductionOrders;
OWOR.ItemNo = "A00001";
OWOR.ProductionOrderType = BoProductionOrderTypeEnum.bopotSpecial;
OWOR.DueDate = DateTime.Now.AddDays(1);
OWOR.PostingDate = DateTime.Now;
OWOR.PlannedQuantity = 2;
OWOR.Warehouse = "CD";

OWOR.Lines.ItemNo = "COMPONENTE1";
OWOR.Lines.PlannedQuantity = 1;
OWOR.Lines.Warehouse = "CD";
OWOR.Lines.Add();

OWOR.Lines.ItemNo = "COMPONENTE2";
OWOR.Lines.PlannedQuantity = 3;
OWOR.Lines.Warehouse = "CD";

Atte.

1 me gusta

Muchas gracias por el apoyo!

Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.