Как я могу вставить примечание в примечания к заказу на продажу при вставке заказа на продажу с помощью API?

Я использую Acumatica 4.2 и вставляю заказы на продажу через api из другой системы. Появился запрос на добавление примечаний к заказу на продажу, и я не вижу ничего полезного о том, как это сделать. заранее спасибо. Вот мой код для вставки SalesOrder с помощью Acumatica WebAPI. Работает очень хорошо.

На экране заказа на продажу также есть индикатор примечаний в правом верхнем углу, где примечания могут быть добавлены к заказу на продажу. Как мне добавить заметку с помощью веб-API acumatica? или я просто использую возвращенный SONumber и вставляю примечание, используя SONumber в качестве ссылки. Раньше мне не приходилось иметь дело с заметками.

    try
    {
        cmds.AddRange(
            new SO301000_509.Command[]
        {
            so301000.Actions.Insert,
                    new SO301000_509.Value { Value = "SO", LinkedCommand = so301000.OrderSummary.OrderType },
                    new SO301000_509.Value { Value = "='new'", LinkedCommand = so301000.OrderSummary.OrderNbr },
                    new SO301000_509.Value { Value = dealerOrder.accountCode, LinkedCommand = so301000.OrderSummary.Customer },
                    //new SO301000_509.Value { Value = ((DateTime)dealerOrder.orderDateTime).ToShortDateString(), LinkedCommand = so301000.OrderSummary.Date },
                    new SO301000_509.Value { Value = (dealerOrder.orderDateTime), LinkedCommand = so301000.OrderSummary.Date },
                    new SO301000_509.Value { Value = "Hubsoft Order Nbr: " + dealerOrder.hubsoftOrderNumber, LinkedCommand = so301000.OrderSummary.Description },
                    new SO301000_509.Value { Value = dealerOrder.hubsoftOrderNumber, LinkedCommand = so301000.OrderSummary.CustomerRef },
                    new SO301000_509.Value { Value = "HS-" + dealerOrder.purchaseOrderNumber, LinkedCommand = so301000.OrderSummary.CustomerOrder },
                    //new SO301000_509.Value { Value = dealerOrder.hubsoftOrderNumber, LinkedCommand = so301000.OrderSummary.ControlTotal },
        }
        );
        //create the sales order lines in loop
        for (var idx = 0; idx < SalesOrderLine.Length; idx++)
        {
            cmds.AddRange(
                new SO301000_509.Command[]
            {
                so301000.DocumentDetails.ServiceCommands.NewRow,
                    //simple line adding
                    so301000.DocumentDetails.ServiceCommands.NewRow,
                    new SO301000_509.Value { Value = SalesOrderLine[idx].inventoryCD, LinkedCommand = so301000.DocumentDetails.InventoryID },
                    new SO301000_509.Value { Value = SalesOrderLine[idx].UOM, LinkedCommand = so301000.DocumentDetails.UOM },
                    new SO301000_509.Value { Value = SalesOrderLine[idx].Qty, LinkedCommand = so301000.DocumentDetails.Quantity },
                    new SO301000_509.Value { Value = "MAIN", LinkedCommand = so301000.DocumentDetails.Warehouse},                        
                    new SO301000_509.Value { Value = SalesOrderLine[idx].UnitPrice, LinkedCommand = so301000.DocumentDetails.UnitPrice, Commit = true },
            }
            );
        }
        cmds.Add(so301000.Actions.Save);                                                //save all
        cmds.Add(so301000.OrderSummary.OrderNbr);                                       //return Order #

        SO301000_509.Content[] SO301000Content = context.Submit(cmds.ToArray());            //submit
        PXTrace.WriteInformation(SO301000Content[0].OrderSummary.OrderNbr.Value);
        acumaticaSONbr = SO301000Content[0].OrderSummary.OrderNbr.Value;
    }
    catch (Exception ex)
    {
        PXTrace.WriteError("Error adding Sales Order - " + ex.Message);
    }
    return acumaticaSONbr;

person xDJR1875    schedule 03.10.2014    source источник
comment
Ваш вопрос очень низкого качества .. Можно подробнее?   -  person Miki    schedule 04.10.2014
comment
Я понимаю вопрос, однако предоставление образца кода, показывающего проблему и то, что вы уже пробовали, поможет улучшить качество вопроса.   -  person Gabriel    schedule 06.10.2014
comment
Обновлены код и описание @Gabriel   -  person xDJR1875    schedule 06.10.2014


Ответы (2)


Другой способ сделать это - в первой вставке самого заказа на продажу. В примере, опубликованном acumember, требуется второй вызов API. Поскольку мы одновременно вставляем много заказов на продажу, мы хотим ограничить количество обращений. Таким образом, следующее также работает и требует только одного вызова.

Благодарность

        try
        {
            cmds.AddRange(
                new SO301000_509.Command[]
            {
                so301000.Actions.Insert,
                        new SO301000_509.Value { Value = "SO", LinkedCommand = so301000.OrderSummary.OrderType },
                        new SO301000_509.Value { Value = "='new'", LinkedCommand = so301000.OrderSummary.OrderNbr },
                        new SO301000_509.Value { Value = dealerOrder.accountCode, LinkedCommand = so301000.OrderSummary.Customer },
                        new SO301000_509.Value { Value = (dealerOrder.orderDateTime), LinkedCommand = so301000.OrderSummary.Date },
                        new SO301000_509.Value { Value = "Hubsoft Order Nbr: " + dealerOrder.hubsoftOrderNumber, LinkedCommand = so301000.OrderSummary.Description },
                        new SO301000_509.Value { Value = dealerOrder.hubsoftOrderNumber, LinkedCommand = so301000.OrderSummary.CustomerRef },
                        new SO301000_509.Value { Value = "HS-" + dealerOrder.purchaseOrderNumber, LinkedCommand = so301000.OrderSummary.CustomerOrder },

                        **new SO301000_509.Value { Value = dealerOrder.notes, LinkedCommand = so301000.OrderSummary.NoteText},**

                        new SO301000_509.Value { Value = "1", LinkedCommand = so301000.ShippingSettingsShipToInfo.OverrideAddress },
                        new SO301000_509.Value { Value = shipStreet1, LinkedCommand = so301000.ShippingSettingsShipToInfo.AddressLine1 },
                        new SO301000_509.Value { Value = shipStreet2, LinkedCommand = so301000.ShippingSettingsShipToInfo.AddressLine2 },
                        new SO301000_509.Value { Value = shipCity, LinkedCommand = so301000.ShippingSettingsShipToInfo.City },
                        new SO301000_509.Value { Value = shipState, LinkedCommand = so301000.ShippingSettingsShipToInfo.State },
                        new SO301000_509.Value { Value = shipCountry, LinkedCommand = so301000.ShippingSettingsShipToInfo.Country },
                        new SO301000_509.Value { Value = shipPostal, LinkedCommand = so301000.ShippingSettingsShipToInfo.PostalCode },
            }
            );
            //create the sales order lines in loop
            for (var idx = 0; idx < SalesOrderLine.Length; idx++)
            {
                cmds.AddRange(
                    new SO301000_509.Command[]
                {
                    so301000.DocumentDetails.ServiceCommands.NewRow,
                        //simple line adding
                        so301000.DocumentDetails.ServiceCommands.NewRow,
                        new SO301000_509.Value { Value = SalesOrderLine[idx].inventoryCD, LinkedCommand = so301000.DocumentDetails.InventoryID },
                        new SO301000_509.Value { Value = SalesOrderLine[idx].UOM, LinkedCommand = so301000.DocumentDetails.UOM },
                        new SO301000_509.Value { Value = SalesOrderLine[idx].Qty, LinkedCommand = so301000.DocumentDetails.Quantity },
                        new SO301000_509.Value { Value = "MAIN", LinkedCommand = so301000.DocumentDetails.Warehouse},                        
                        new SO301000_509.Value { Value = SalesOrderLine[idx].UnitPrice, LinkedCommand = so301000.DocumentDetails.UnitPrice, Commit = true },
                }
                );
            }
            cmds.Add(so301000.Actions.Save);                                                    //save all
            cmds.Add(so301000.OrderSummary.OrderNbr);                                           //return Order #
person xDJR1875    schedule 10.10.2014

person    schedule
comment
Я добавил этот код и теперь могу вставлять примечания к заказу на продажу. благодарю вас! - person xDJR1875; 07.10.2014