В розничной торговле, особенно в магазинах с широким ассортиментом (хозяйственные товары, аптеки, строительные материалы), часто возникает ситуация, когда одна и та же номенклатура поступает от разных поставщиков по разным ценам. Чтобы не переоценивать остатки старых партий, владельцы бизнеса стремятся продавать товар по той цене, которая была установлена в момент приемки и указана на упаковке. Рассмотрим, как реализовать механизм связки Номенклатура + Внутренний штрихкод + Розничная цена в типовой конфигурации «1С:Управление торговлей 11» (УТ 11).
Для начала проанализируем архитектуру хранения данных в 1С. В типовом решении УТ 11 регистр сведений ЦеныНоменклатуры хранит цены в разрезе объектов Номенклатура и ХарактеристикаНоменклатуры. Штрихкоды же хранятся в регистре ШтрихкодыНоменклатуры, где они также привязываются к номенклатуре, характеристике и упаковке. Напрямую связать запись о цене и запись о штрихкоде без привязки к ключевому измерению (товару или его свойству) невозможно.
Разберем основные способы решения этой задачи, начиная от штатных механизмов и заканчивая программными доработками.
Это единственный полноценный способ реализовать требуемую логику без изменения программного кода конфигурации. Суть метода заключается в том, что каждая новая партия товара (с новой ценой) регистрируется как новая Характеристика.
Рассмотрим по шагам, как это настроить:
Установка цен номенклатуры цена назначается не просто на товар, а на конкретную созданную характеристику.Проанализируем преимущества этого метода: при сканировании штрихкода в Рабочем месте кассира (РМК) система мгновенно определяет характеристику, а значит, и ту уникальную цену, которая была для нее установлена. Это полностью решает задачу автора темы.
Выясним, можно ли использовать Серии. В УТ 11 серии предназначены для складского учета (сроки годности, серийные номера). Если в политике учета серий выбрана настройка Учет себестоимости по сериям, то система будет разделять финансовые показатели разных серий. Однако, важно помнить: типовой механизм ценообразования в УТ 11 не поддерживает установку розничных цен в разрезе серий. Цены устанавливаются только на номенклатуру или характеристики. Поэтому использование серий без характеристик в данном случае не позволит автоматически подставлять розничную цену при сканировании.
Если «плодить характеристики» (как выразился автор) не представляется возможным из-за огромного объема данных, можно пойти по пути создания кастомного механизма связки. Для этого используется механизм Расширений, чтобы не снимать конфигурацию с поддержки.
Рассмотрим логику реализации:
ДополнительныеШтрихкодыЦен с измерениями Штрихкод и ресурсом Цена.ОбработкаШтрихкода.Чек ККМ.Пример кода (схематично) для перехвата в расширении:
&После("ОбработатьШтрихкод")
Процедура Расш_ОбработатьШтрихкод(Штрихкод, Параметры)
// Ищем цену в нашем кастомном регистре
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДополнительныеШтрихкодыЦен.Цена КАК Цена
|ИЗ
| РегистрСведений.ДополнительныеШтрихкодыЦен КАК ДополнительныеШтрихкодыЦен
|ГДЕ
| ДополнительныеШтрихкодыЦен.Штрихкод = &Штрихкод";
Запрос.УстановитьПараметр("Штрихкод", Штрихкод);
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Выборка.Следующий();
// Устанавливаем цену в текущей строке документа
ТекущаяСтрока = Элементы.ТаблицаТовары.ТекущиеДанные;
ТекущаяСтрока.Цена = Выборка.Цена;
КонецЕсли;
КонецПроцедуры
Автор в сообщении №8 упоминает формат 20ТТТТТТПППК. Разберем эту структуру: 20 — это префикс внутреннего штрихкода, Т — код товара, П — партия, К — контрольное число. В УТ 11 по умолчанию внутренние штрихкоды штучного товара имеют формат 2000000000000. Чтобы система «понимала» встроенную в штрихкод партию, необходимо:
ШтрихкодыНоменклатуры с привязкой к характеристике.Проанализируем ситуацию с точки зрения законодательства. В Российской Федерации (и ряде других стран СНГ) действуют правила торговли, согласно которым цена на одноименный товар в одном торговом зале должна быть одинаковой. Если покупатель увидит на полке два одинаковых молотка, один из которых стоит 500 рублей, а другой 600, это может стать поводом для жалобы в Роспотребнадзор.
Рекомендации по организации процесса:
Выясним итог: реализация связки цены и штрихкода в УТ 11 возможна через характеристики. Это требует дисциплины при вводе данных: на каждое поступление с новой ценой нужно создавать новую характеристику. Если этот путь кажется слишком трудоемким, потребуется программная доработка системы поиска штрихкодов через расширение конфигурации.