netsuite
Понимание транзакций
Поиск…
Вступление
Глубокое понимание того, как функция поиска транзакций является критическим знанием для каждого разработчика NetSuite, но поведение по умолчанию этих поисков и контроль этого поведения могут быть довольно запутанными изначально.
замечания
Рекомендации:
- Страница справки NetSuite: «Использование основной линии в критериях поиска транзакций»
Фильтрация только по внутреннему идентификатору
Давайте рассмотрим пример поиска транзакций, в котором мы определяем фильтр для внутреннего ID одной транзакции:
Мы указали фильтр, чтобы показать нам только результаты для транзакции с внутренним идентификатором 875; вот что транзакция:
Мы можем видеть, что это заказ клиента с одной позицией.
Поскольку внутренние идентификаторы уникальны во всех транзакциях, мы можем ожидать только один результат поиска для этого поиска. Вот результат поиска:
Вместо единственного результата, который мы ожидаем, получаем четыре результата. Более того, каждый результат имеет точно такой же внутренний идентификатор. Как это возможно?
Чтобы понять, что здесь происходит, нам нужно вспомнить, что данные, хранящиеся в записях NetSuite, делятся на две категории:
- Данные тела: данные, хранящиеся в автономных полях записи (например, дата, торговый представитель, номер документа, код купона)
- Sublist Data: данные, хранящиеся в списках в каждой записи, обычно отображаются в подзаголовках в пользовательском интерфейсе (например, элементы в заказе клиента)
Транзакции содержат несколько подсписок данных, в том числе:
- позиции
- информация о доставке
- налоговая информация
- COGS (стоимость проданных товаров)
В этих результатах поиска NetSuite фактически показывает нам один результат для тела транзакции, а затем другие результаты для данных по различным подспискам в рамках той же транзакции.
Обратите внимание на столбец в результатах поиска, просто названный звездочкой (*). Обратите внимание также, что один из результатов имеет звездочку, заполненную в этом столбце, а остальные пусты. В этом столбце указывается, какой результат поиска представляет собой тело транзакции, которое также называется основной линией транзакции.
Бывают случаи, когда вы хотите, чтобы транзакционные поиски отображали только данные основной линии и времена, когда вам нужно только подробное описание уровня строки. Остальные примеры показывают, как контролировать то, что проявляется в наших результатах.
Фильтрация с помощью основной линии
Когда нам нужен только один результат за транзакцию, это означает, что мы хотим только Body или Main Line каждой транзакции. Для этого есть фильтр с названием «Основная линия».
Установив фильтр « Главная линия» на « Да» в наших критериях поиска, мы, по сути, говорим «Покажите только данные уровня тела для транзакций в моих результатах»:
Теперь изменение наших предыдущих критериев поиска дает нам единственный результат, который мы ожидали первоначально:
Если мы отменим наш фильтр основной линии на « Нет» , мы говорим «Покажите мне только данные из подсписок в моих результатах»:
Чтобы повторить поведение основной линии :
- Если для параметра « Главная линия» установлено значение « Да» , мы получили один результат только для тела транзакции.
- Если для основной линии установлено значение Нет , мы получили три результата только для подсписок данных транзакции.
- При отсутствии фильтра основной линии мы получили четыре результата, по существу, комбинацию всех данных тела и подсписок для транзакции.
Обратите внимание, что фильтр основной линии не поддерживается для поиска в журнале.
Фильтрация конкретных подписчиков
Напомним, что каждая транзакция содержит несколько подсписок данных. Теперь, когда мы можем отображать только подсписные данные с помощью Main Line , мы можем дополнительно уточнить результаты поиска по конкретным подсписным данным.
Большинство подписок, включенных в результаты транзакции, имеют соответствующий фильтр поиска для переключения, включены ли они в ваши результаты:
- Используйте фильтр линии доставки для управления данными из списка доставки
- Используйте фильтр налоговой линии для управления данными из налогового налога
- Используйте фильтр линии COGS для управления данными из подсети COGS
Каждый из этих фильтров ведет себя как Main Line или любой другой флажок: Да, чтобы включить эти данные, No, чтобы исключить его из ваших результатов.
Обратите внимание, что для элемента Item Line нет фильтра для управления данными из подписок Item. По существу, чтобы сказать «Показывать только данные из подписок», нам нужно указать все эти вышеупомянутые фильтры как « Нет» в наших критериях:
С помощью этого критерия ваш поиск будет возвращать один результат в каждой строке позиции для каждой соответствующей транзакции.
По-моему, этот недостающий фильтр является существенным недостатком в функции поиска, которая должна быть исправлена; было бы намного проще и более согласованно просто иметь элемент «Линия» - фильтр « Да» . До тех пор вы должны указать, что вам нужны только данные элемента в результатах вашей транзакции.