Как сделать, чтобы после сканирования позиции товара можно было ввести для позиции дополнительные данные, например, серийный номер или срок годности.
Задача добавить в строку документа или в его шапку какие-то дополнительные данные, серийные номера, сроки годности, наименование контрагентов и т.д., возникает постоянно. Многие часто используемые поля в документе и его строках заведены в системе заранее. Кроме этого, мы можем добавить в шапку или строку документа любое количество дополнительных полей.
Так мы и поступим в данном случае, добавив в строку поле «СерийныйНомер».
Как мы уже выяснили ранее, после сканирования и нахождения товара, в сессии формируется объект SelectedProduct, который служит промежуточной порцией текущих данных до их занесения в документ в виде строки документа.
Соответственно, после того как мы завели дополнительное поле строки, оно автоматически стало нам доступно в SelectedProduct по шаблону {SelectedProduct.СерийныйНомер}.
Для его визуальной правки, как нам требуется в поставленной задаче, используется специальное действие «Редактирование поля».
В свойствах этого действия укажем:
- Имя редактируемого поля (собственно наш СерийныйНомер);
- Источник данных (позволяет указать, что мы редактируем: поле шапки, строки или просто переменную в сессии);
- Запомнить прошлое значение (нужно выбрать «нет», так как вряд ли серийные номера разных сканирований могут совпадать, поэтому такое запоминание не понадобится).
Так же можно добавить произвольный текст в самом окне или в верхней части окна, используя шаблоны описанные нами ранее.
Все, редактирование дополнительного серийного номера готово.
Действие будет изменять значение поля {SelectedProduct.СерийныйНомер}, которое в дальнейшем при занесении в документ попадет в доп. поле строки документа.
Теперь мы можем поправить действие просмотра записей, так чтобы видеть заданные нами серийные номера, задав соответствующий шаблон для колонки:
{Item.Product.Name}{Item.СерийныйНомер: (0)}
Сделать редактирование срока годности еще проще. Такое поле уже заведено в строке документа Mobile SMARTS по-умолчанию: ExpiredDate. Поэтому достаточно просто добавить и настроить действие редактирования.