Могу ли я в NetSuite отсортировать транзакцию по номеру позиции или какому-либо другому полю столбца?

Можно ли сортировать строки в транзакции по элементу (или какому-либо другому полю столбца)? Мы часто получаем очень большие заказы от наших клиентов, и товары расположены в более или менее случайном порядке. Когда мы получаем указанные товары от наших поставщиков, они располагаются в порядке номеров деталей. Нашей логистике очень сложно получить их, когда наш заказ на покупку находится в случайном порядке, но товары поступали численно. Есть ли способ отсортировать заказ на покупку по номеру позиции?


person P M    schedule 22.01.2019    source источник


Ответы (1)


Возможна повторная сортировка строк транзакций, но она довольно подвержена поломке. Пока Netsuite на самом деле не поддерживает его, я бы рекомендовал не тратить время на повторную сортировку строк.

Единственное место, где это можно сделать безопасно, — это заказ на продажу на этапе перед отправкой. Как правило, заказ на продажу является началом целой цепочки связанных транзакций. Некоторые из этих отношений видны из полей, а некоторые скрыты. Нет API для повторной сортировки строк, поэтому способ их сортировки - это кэширование строк в памяти; очистить строки от заказа на продажу; а затем снова вставьте строки в нужном порядке.

Вы должны убедиться, что вы фиксируете все и что вы учитываете будущие настройки в своем коде.

Таким образом, альтернатива предоставления отсортированного пользовательского интерфейса для выполнения и получения гораздо более надежна. Некоторые из способов, которыми я это сделал, включают:

  • Добавление текстовой области, куда люди могут вставлять отформатированный список полученных артикулов/кол-во. Клиентский сценарий обрабатывает это и настраивает строки поступления товаров.
  • Создание всплывающего окна с элементами заказа на покупку, отсортированными по вашему усмотрению, с любыми элементами управления, которые вам нужны для эффективной обработки. Во всплывающем окне есть кнопка для обработки элементов, когда вы закончите с квитанцией.
  • Поле, которое позволяет вам ввести артикул (может иметь тип впереди), который либо приводит вас к товару, который вы получаете (выбирает строку), либо предоставляет поле количества, поэтому вы просто работаете в верхней части списка товаров и вводите и sku/qty/click процесс... пока вы не получили заказ
  • аналогичная вещь, но ожидание, что сканер предоставит артикул, поэтому процесс - процесс gun/qty/click
person bknights    schedule 22.01.2019
comment
Не могли бы вы уточнить первое предложение? Как это возможно и как это сломается? Когда вы говорите сделать это в заказе на продажу перед отправкой, вы имеете в виду вручную? - person P M; 28.01.2019
comment
Конечно. добавил еще несколько пояснений в ответ. - person bknights; 28.01.2019
comment
Привет, извини, что продолжаю спрашивать, но что ты имеешь в виду под кэшированием строк в памяти? А потом как их обратно вставить? - person P M; 28.01.2019
comment
Это будет сделано с помощью скриптов. Я бы, вероятно, кэшировал их в структуру JSON в сценарии. Метод клонирования JSON.parse(JSON.stringify(obj)) на самом деле очень быстрый (по крайней мере, в Node), хотя вам придется повторно анализировать любые поля даты. - person bknights; 28.01.2019
comment
Писать сценарии немного не в моих силах, но я могу передать эту информацию кому-нибудь за помощью. Спасибо за помощь! - person P M; 28.01.2019