При работе с номенклатурой в программе 1С:Управление торговлей 11 часто возникает задача сделать так, чтобы при оптовых или розничных продажах в документ автоматически подставлялась крупная упаковка (например, Коробка), а не базовая единица хранения (например, Штука), при этом оставляя менеджеру возможность при необходимости изменить единицу вручную.
Рассмотрим подробнее, почему возникают сложности с этой настройкой, как устроена логика подстановки единиц в типовой конфигурации и какими способами можно решить данную задачу.
Проанализируем механику работы типовой конфигурации при добавлении позиций в документы продаж (Заказ клиента, Реализация товаров и услуг, Коммерческое предложение). В типовом функционале 1С:УТ 11 отсутствует отдельная настройка или флаг Единица продажи по умолчанию.
При заполнении табличной части подбором или выбором номенклатуры из справочника система автоматически считывает значение из реквизита ЕдиницаХранения. Если базовой единицей номенклатуры является штука, то в колонку Упаковка по умолчанию подставится именно штука. Отдельного механизма для указания альтернативной единицы по умолчанию при реализации в типовой конфигурации не предусмотрено.
Тем не менее, разберем по шагам три доступных варианта решения этой задачи.
Выясним, как работает инверсия единиц измерения в карточке номенклатуры. Этот вариант подходит, если большинство операций на складе и при реализации проходит в коробках.
1/10 или 0.1).Важная особенность метода: Теперь во всех документах продажи автоматически будет подставляться коробка. Однако следует учесть, что складской учет и отчеты по остаткам (например, Остатки и доступность товаров) также начнут выводить информацию в коробках, что не всегда удобно, если инвентаризация ведется в штуках.
Если на предприятии при оформлении продаж применяется сканирование или ручной ввод штрихкодов, подстановку нужной единицы можно автоматизировать без изменения базовой единицы хранения.
ШтрихкодыНоменклатуры.Если необходимо сохранить базовую единицу хранения (штуки) для корректного отображения остатков в отчетах, но обеспечить автоматическую подстановку коробки при выборе товара в документах продажи, наилучшим решением станет применение расширения конфигурации.
Разберем принцип работы такого расширения: при обработке события добавления строки в табличную часть документа выполняется доработка, которая проверяет наличие у номенклатуры упаковок и автоматически заполняет колонку Упаковка значением Коробка. Пользователь при этом сохраняет возможность вручную выбрать штуки в поле ввода.
Посмотрим на пример логики обработчика, применяемого в расширении для подстановки упаковки по умолчанию:
&НаКлиенте
Процедура ПослеВыбораНоменклатуры(СтрокаТабличнойЧасти)
Если ЗначениеЗаполнено(СтрокаТабличнойЧасти.Номенклатура) Тогда
// Находим упаковку "Коробка" для выбранной номенклатуры
УпаковкаКоробка = ПолучитьУпаковкуПоУмолчанию(СтрокаТабличнойЧасти.Номенклатура);
Если ЗначениеЗаполнено(УпаковкаКоробка) Тогда
СтрокаТабличнойЧасти.Упаковка = УпаковкаКоробка;
// Пересчитываем количество и цены с учетом коэффициента упаковки
ОбработатьИзменениеУпаковки(СтрокаТабличнойЧасти);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Использование расширения не требует снятия конфигурации с поддержки и позволяет полностью адаптировать поведение 1С:УТ 11 под требования бизнес-процессов компании.