Механизм заполнения (изменения) табличных частей документа

Последние изменение: 21.08.2017

Механизм заполнения табличных частей документа в Mobile SMARTS очень сложный и сводится к выполнению встроенного обобщенного алгоритма. Задача этого алгоритма в том, чтобы правильно занести некие разрозненные данные, которые были собраны на ТСД (введены пользователем, выделены из штрихкодов, вынуты из учетной системы и т.п.) сразу в обе табличные части документа (и декларативную, и фактическую).Делается это для того, чтобы всегда иметь на ТСД непротиворечивый документ, содержимое табличных частей которого было бы удобно как для просмотра хода выполнения задания, так и для загрузки результатов в учетную систему.

В требованиях к реальным складским операциям всегда можно встретить следующие вещи: «если такой товар уже сканировался – прибавить введенное количество к существующей строке документа», «пересчитать количество из коробок в штуки», «найти строку задания с такой же ячейкой и таким же товаром и занести туда реально отсканированное количество» и т.п. Механизм заполнения табличных частей документа в Mobile SMARTS позволяет решить все подобные задачи без написания специального алгоритма, путем простой настройки свойств действия «Занесение в документ».


Занесение в табличные части

В простой ситуации, например, необходимо набрать «Мыло душистое» 4 коробки, без учета дополнительных колонок (ячейки, партии и т.д.). В зависимости от выполненных настроек и варианте сканирования (по одной коробке или введя сразу все) заполнение будет происходить по разному. В фактической части может быть заполнена одна строка (слито в одну строку) или несколько отдельных.

Если в настройках указано Нет у параметра «Сливать одинаковые строки» и происходит сканирование по 1 коробке 4 раза, то в фактической части будет 4 строки с плановым количеством 0 (ноль), с фактическим количеством 1 и упаковкой коробка. При каждом сканировании будет добавляться новая строка.

Фактическая часть
Товар Упаковка Количество(план) Количество(факт)
Товар 1 кор 0 1
Товар 1 кор 0 1
Товар 1 кор 0 1
Товар 1 кор 0 1

При заполнении заявленной части, количество может быть суммировано (в зависимости от настроек), в одну строку будут добавляться количество(факт).

Заявленная часть
Товар Упаковка Количество(план) Количество(факт)
Товар 1 кор 4 4

Если в настройках фактической части указано Да у параметра «Сливать одинаковые строки» и в списке колонок по слиянию, например, указан код товара, то при сканирование одинакового товара по 1 коробке 4 раза строки будут сливаться и будет 1 строка с фактическим количеством 4 и упаковкой коробка.

Фактическая часть
Товар Упаковка Количество(план) Количество(факт)
Товар 1 кор 4 4

Возможен набор товара с введением вручную сразу нужного количества, тогда будет 1 строка с фактическим и заявленным количеством 4 и упаковкой коробка.

Еще вариант когда отсканирован ящик (4 коробки), будет 1 строка с количеством 1 и упаковкой ящик.

Фактическая часть
Товар Упаковка Количество(план) Количество(факт)
Товар 1 ящ 0 1

При заполнении заявленной части ящик будет пересчитан в коробки.

Заявленная часть
Товар Упаковка Количество(план) Количество(факт)
Товар 1 кор 4 4

При более сложных вариантах (с учетом дополнительных колонок ячеек, партий и т.д.), алгоритм заполнения строк учитывает их.

В случае, если у номенклатуры указана характеристика, то при занесении в фактическую часть документа для номенклатуры с характеристикой будет создана новая строка с плановым количеством 0 (ноль).

Фактическая часть
Товар Упаковка Количество(план) Количество(факт) Цвет
Товар 1 шт 3 2
Товар 1 шт 0 1 Зеленый

При занесении в таблицу заявленной части, если в списке колонок по сличению указан только код товара, то эти строки будут слиты в одну строку, т.к. все другие параметры для сличения не учитываются, а код у номенклатуры один и тот же. В существующую строку в колонку количество(факт) будет занесено 3.

Заявленная часть
Товар Упаковка Количество(план) Количество(факт) Цвет
Товар 1 шт 3 3

В случае если в списке колонок по сличению выбрана характеристика товара (descr) для сличения, то в заявленной части будет создана новая строка с количество(план) 0 (ноль) и количество(факт) 1, т.к. характеристики у номенклатуры отличаются.

Заявленная часть
Товар Упаковка Количество(план) Количество(факт) Цвет
Товар 1 шт 3 2
Товар 1 шт 0 1 Зеленый

Слияние

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

Строки могут суммироваться по заданным параметрам (товару, упаковкам, Ячм, партии). Причем для отбора может использоваться не один, а несколько параметров. Параметры отбора настраиваются в «Списке колонок для слияния Current (Факт) части».

Например, отбор для слияния строк происходит по наименованию товара и месту хранения. Будут суммироваться только те строки у которых будет одинаковое наименование и Яч, для остальных будут заводиться новые строки.

В фактической части у товара с одинаковым наименованием, но взятого из разных ячеек будут разные строки.

Фактическая часть
Товар Упаковка Количество(план) Количество(факт) Ячейка
Товар 1 шт 0 3 2376
Товар 1 шт 0 7 3289

При внесении в заявленную часть это количество товара будет суммировано, при указании в списке колонок для поиска соответствующей плановой строки, что поиск ведется по наименованию (при необходимости пересчитано в заявленную упаковку) и занесено в одну строку и колонку фактического количества.

Заявленная часть
Товар Упаковка Количество(план) Количество(факт) Ячейка
Товар 1 шт 1 0 10

Занесение товара не указанного в заявленной части

Если товара нет в плане и настройками разрешено заносить товар, который не указан в заявленной части, то в этом случае в фактической части появится новая строка (строки) при сканировании товара.

В заявленной табличной части будет добавлена новая строка с плановым количеством 0 (ноль).

Например, принять зубной порошок 15 коробок, которого нет в заявленной табличной части (нет в заказе).

После сканирования такого товара и введения количества в фактической части появится новая строка с именем «Зубной порошок», упаковкой «кор.» и количеством(факт) 15. При поиске соответствующей плановой строки в заявленной части ничего найдено не будет и создастся новая строка с именем «Зубной порошок», упаковкой «кор.», количеством(план) 0 (ноль) и количеством(факт) 15.

Если у товара несколько упаковок существуют варианты занесения в табличную часть.

Политика ввода количества «Для каждого типа упаковки отдельно» отключена (флаг не проставлен).

Политика ввода количества «Для каждого типа упаковки отдельно» включена (флаг проставлен). В табличную часть заносится количество в одну строку с пересчетом в базовую упаковку.

На терминале будет указано отсканированное количество в базовой упаковке (при необходимости пересчитано), независимо в какой упаковке было выбрано и заносится в табличную часть.

Если документ был выгружен из учетной системы и сканируемый товар отсутствует в заявленной части при этом запрещено заносить товар, которого нет в заявке, то на экран ТСД будет выведено сообщение, что товар отсутствует в заявке.

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

Например, в заявке указано что нужно принять 4 стула, но кроме стульев на склад привезли еще и стол. Отсканировав стулья, данные будут занесены в табличные части. Если мы попытаемся принять еще и стол, то у нас это не получится, на экран ТСД будет выведено сообщение, что стол отсутствует в заявке. В табличные части эта информация не заносится и никаких строк с новым товаром не создается.

Контроль количества

Этот параметр используется для создания процессов, когда надо контролировать соответствие товара заявке, выгруженной из учетной системы. В настройках «Проверять на наличие товара и переполнение количества по плану» нужно выставить Да и выбрать действие (сообщение), которое будет выполнено, если товара больше, чем в плане.

Например, дана заявка набрать 4 стула.

Заявленная часть до заполнения
Товар Упаковка Количество(план) Количество(факт)
Стулья шт 4 0

Сначала мы взяли и отсканировали 3 стула.

Заявленная часть в момент заполнения
Товар Упаковка Количество(план) Количество(факт)
Стулья шт 4 3

Потом попытались взять еще 2. При заполнении текущего количества в заявленной части проверяется переполнение товара по плану и если товара больше, чем в колонке Количество(план), то выбрать лишнее количество не удастся. На экран ТСД выводится сообщение, что пытаемся взять больше.

В заявленной части в колонку количество(факт) может быть занесено не больше, чем указано в колонке количество(план).

При переполнении не обязательно появится сообщение. Все зависит от того, какое действие мы указали при переполнении товара. В нашем примере, мы указали, чтобы выводилось сообщение.

Если в настройках «Проверять на наличие товара и переполнение количества по плану» выбрать Нет, то проверки на переполнение не будет. В этом случае можно будет выбирать количество товара больше, чем указано в колонке количество(план). Тогда в заявленную часть в колонку количество(факт) будет занесено отсканированное количество, даже если оно оказалось больше заявленного количества(план). Например, вместо 4 стульев мы отсканировали 5, в колонке количество(факт) будет 5.

Заявленная часть
Товар Упаковка Количество(план) Количество(факт)
Стулья шт 4 5

Удаление строк и корректировка количества в строках

В любой момент можно удалить ненужные строки документа, при этом будут автоматически выполнены все корректировки количеств.

Строки можно удалить в панели управления. Выбрав нужный документ, выберите в нем строку, которую необходимо удалить и нажмите «Удалить строку задания».

При просмотре строк (если предусмотрено конфигурацией) прямо с терминала. Выберите строку, которую необходимо удалить и нажмите del или back.

Путем отрицательного ввода количества можно скорректировать количество(факт).

Заявленная часть до корректировки
Товар Упаковка Количество(план) Количество(факт)
Стулья шт 4 5

Если при выборе количества ввести отрицательное число, то в строке произойдет корректировка количества.

Заявленная часть после корректировки
Товар Упаковка Количество(план) Количество(факт)
Стулья шт 4 4