I am trying to create a shipment in Sage v6.0. I did a recording first and feel like I have replicated in C#. the issue is that I get an error when trying to update the shipment detail after I add the lot numbers to an item.
shipments.Init(); shipmentFields.FieldByName["PROCESSCMD"].PutWithoutVerification("1"); shipments.Process(); shipments.Order = 1; _ = shipments.Exists; shipments.Order = 0; shipmentFields.FieldByName["CUSTOMER"].set_Value(order.CustomerNumber); shipmentFields.FieldByName["PROCESSCMD"].PutWithoutVerification("1"); shipments.Process(); shipmentFields.FieldByName["ORDNUMBER"].set_Value(order.OrderNumber); shipmentFields.FieldByName["SHIP1ORDER"].set_Value("1"); shipments.Process(); foreach (ShipmentOrderItem soi in order.OrderItems) { shipmentDetailFields.FieldByName["LINENUM"].PutWithoutVerification(-soi.LineNumber); shipmentDetails.Read(); shipmentDetailFields.FieldByName["QTYSHIPPED"].set_Value(soi.QtyShipped); shipmentDetailFields.FieldByName["PROCESSCMD"].PutWithoutVerification("29"); shipmentDetails.Process(); foreach (ShipmentOrderItemLot soil in soi.Lots) { shipmentDetailLotNumbers.RecordClear(); shipmentDetailLotNumbers.RecordCreate(tagViewRecordCreateEnum.VIEW_RECORD_CREATE_NOINSERT); shipmentDetailLotNumberFields.FieldByName["LOTNUMF"].set_Value(soil.LotNumber); shipmentDetailLotNumberFields.FieldByName["QTY"].PutWithoutVerification(soil.Quantity); try { shipmentDetailLotNumbers.Insert(); } catch { return ("", ConsolidateAccPacErrors($"shipmentDetailLotNumbers.Insert ({soi.Item}) ")); } shipmentDetailLotNumberFields.FieldByName["LOTNUMF"].PutWithoutVerification(soil.LotNumber); shipmentDetailLotNumbers.Read(); } try { shipmentDetails.Update(); } catch { return ("", ConsolidateAccPacErrors("shipmentDetails.Update")); } shipmentDetails.Read(); } shipmentFields.FieldByName["PROCESSCMD"].PutWithoutVerification("4"); shipments.Process(); try { shipments.Insert(); } catch { return ("", ConsolidateAccPacErrors("shipments.Insert")); } return (shipmentFields.FieldByName["SHINUMBER"].get_Value(), ""); }