При работе со справочником Номенклатура в конфигурации «1С:Управление торговлей 10.3» (а также в «1С:УПП 1.3» и «1С:Комплексная автоматизация 1.1») разработчики и пользователи часто сталкиваются с вопросом: зачем в карточке товара указывается Базовая единица измерения из классификатора, если все движения в регистрах и выбор в документах происходят через подчиненный справочник ЕдиницыИзмерения? Выясним причину такого разделения, разберем механику пересчета коэффициентов и рассмотрим последствия некорректной настройки.
Для понимания логики конфигурации проанализируем структуру объектов, участвующих в учете количественных показателей:
СправочникСсылка.КлассификаторЕдиницИзмерения. Оно выполняет роль классификационного признака и шаблона при создании номенклатурной позиции.ЕдиницаПоКлассификатору) и числовой Коэффициент пересчета.ЕдиницыИзмерения, коэффициент которого программно зафиксирован и всегда равен 1.Когда мы создаем новую карточку товара и выбираем базовую единицу (например, «шт»), система автоматически создает первую подчиненную запись в справочнике ЕдиницыИзмерения с коэффициентом 1 и записывает ее в реквизиты ЕдиницаХраненияОстатков и ЕдиницаДляОтчетов.
Все регистры накопления количественного учета (ТоварыНаСкладах, ПартииТоваровНаСкладах, ТоварыВРознице и др.) хранят остатки и движения исключительно в единицах хранения остатков. Базовая единица из классификатора напрямую в регистрах не участвует.
Посмотрим на пример стандартного пересчета при изменении единицы в табличной части документа (например, в РеализацияТоваровУслуг или ПоступлениеТоваровУслуг):
Процедура ПриИзмененииЕдиницыТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект) Экспорт
СтароеЗначениеКоэффициента = СтрокаТабличнойЧасти.Коэффициент;
НовоеЗначениеКоэффициента = СтрокаТабличнойЧасти.ЕдиницаИзмерения.Коэффициент;
Если НовоеЗначениеКоэффициента <> 0 Тогда
СтрокаТабличнойЧасти.Количество = СтрокаТабличнойЧасти.Количество * СтароеЗначениеКоэффициента / НовоеЗначениеКоэффициента;
КонецЕсли;
КонецПроцедуры
При проведении документа количество пересчитывается в единицу хранения остатков по следующей формуле:
КоличествоВРегистре = КоличествоВТабличнойЧасти * ЕдиницаИзмерения.Коэффициент
Так как коэффициент единицы хранения остатков всегда равен 1, то дополнительная упаковка с коэффициентом 10 при количестве 5 упаковок запишет в регистр 50 единиц хранения.
Рассмотрим, где задействован реквизит БазоваяЕдиницаИзмерения и почему его нельзя исключить из конфигурации:
БазоваяЕдиницаИзмерения. Если его удалить или очистить, сопоставление номенклатуры нарушится, а документы не проведутся по счетам 41 и 10.Разберем две распространенные проблемы, с которыми сталкиваются при ведении учета:
БазоваяЕдиницаИзмерения в карточке номенклатуры, это не изменит подчиненный справочник ЕдиницыИзмерения и не создаст новую единицу хранения остатков. В результате в печатных формах и выгрузках будет фигурировать новая единица, а движения по регистрам продолжат идти в старой.0.001. Из-за ограниченной разрядности полей (обычно 3 знака после запятой) это неизбежно приведет к ошибкам округления, зависанию копеечных сумм и дробных остатков на складах.Если возникла необходимость скорректировать единицу измерения у товара, разберем правильные варианты действий:
Единицы измерения, скорректировать запись и заново перевыбрать ее в поле ЕдиницаХраненияОстатков.