При оформлении розничных продаж через документ ЧекККМ или рабочее место кассира (РМК) часто возникает потребность фиксировать серийные номера (SN) товаров справочно — для печати в чеке и идентификации при гарантийном возврате. В типовой конфигурации «1С:Управление торговлей 11» ввод серий по умолчанию требует открытия модального диалогового окна «Регистрация серий товаров». Для кассира при высоком потоке покупателей это создает лишние клики и задержки. Разберем причины такого поведения платформы и практические способы упростить или полностью автоматизировать данный процесс без потери возможности обновления конфигурации.
Выясним, как устроен учет серий в конфигурации на уровне метаданных. В 1С:УТ 11 серии товаров не хранятся в реквизите строки табличной части Товары. Для них выделена отдельная подчиненная табличная часть (Серии), которая связывается с позицией номенклатуры через служебный идентификатор КлючСвязи (или ИдентификаторСтроки).
Так как в одной строке чека количество товара может быть больше единицы, типовой алгоритм рассчитывает статус заполнения через реквизит СтатусУказанияСерий. Чтобы распределить несколько серийных номеров на одну позицию или сверить количество, типовой интерфейс открывает специализированную форму регистрации серий. Штатными пользовательскими настройками формы переместить реквизит серии в основную таблицу товаров невозможно, так как это связь «один ко многим».
Если требуется остаться строго в рамках типового функционала без программирования и расширений, настроим правильный режим работы со сканером штрихкодов:
При таком сценарии кассиру не требуется нажимать кнопки вручную: первое сканирование находит товар в чеке, второе считывание серийного номера автоматически регистрирует серию и переводит фокус на ожидание следующего товара.
Если учет остатков по серийным номерам на складе не ведется, а номер нужен только для печати в товарном чеке и последующего поиска в базе, применим механизм дополнительных реквизитов:
ЧекККМ (например, «Серийный номер»).В результате кассир получает возможность сканировать штрихкод товара, затем сразу переходить в соседнюю колонку и считывать серийный номер без вызова блокирующих окон регистрации серий.
Для сохранения полноценного справочного механизма серий с заполнением типовых табличных частей наилучшим решением является разработка адаптации в виде расширения конфигурации (без изменения основной конфигурации поставщика).
Разберем логику программной доработки:
ЧекККМ или форма РМК.ОбработкаОповещения или процедура обработки считанного штрихкода.Серии с установкой соответствующего КлючСвязи, а строке товара присваивается признак успешно указанных серий без открытия модального окна.
// Пример логики автозаполнения серии в расширении формы
&НаКлиенте
Процедура Расш_ОбработатьСерийныйНомер(СтрокаТовара, СчитанныйШтрихкод)
// Проверяем необходимость справочного указания серии
Если СтрокаТовара.СтатусУказанияСерий = 1 Тогда
// Заполняем подчиненную структуру серий программно
СтруктураСерии = Новый Структура;
СтруктураСерии.Вставить("КлючСвязи", СтрокаТовара.КлючСвязи);
СтруктураСерии.Вставить("СерияСтрокой", СчитанныйШтрихкод);
Расш_ЗарегистрироватьСериюНаСервере(СтруктураСерии);
// Переводим статус в состояние "Серии указаны полностью"
СтрокаТовара.СтатусУказанияСерий = 2;
КонецЕсли;
КонецПроцедуры
Если создание расширения ограничено требованиями к поддержке базы, рассмотрим вариант разработки внешней обработки подбора номенклатуры:
Номенклатура, Количество, Цена и Серийный номер.Товары и заполняет подчиненную таблицу Серии чека с корректными ключами связей, после чего документ готов к расчету скидок и пробитию.