При обмене данными между управленческими базами (например, 1С:УНФ или 1С:УТ) и конфигурацией 1С:Бухгалтерия 8 (ред. 3.0) часто возникает неприятная ситуация: в подгружаемых документах автоматическое определение счетов учета происходит с ошибками. Причиной становится то, как программа работает с реквизитом Вид номенклатуры во вложенных папках справочника Номенклатура.
Рассмотрим подробно причины такого поведения системы и разберем проверенные способы решения этой проблемы — как с помощью типовых настроек, так и с использованием расширений.
В 1С:Бухгалтерии 8 (ред. 3.0) алгоритм определения счетов учета номенклатуры использует строгий порядок приоритета:
Номенклатура;Вид номенклатуры;Особенность заключается в том, что реквизит Вид номенклатуры заносится в свойства самой карточки номенклатуры или конкретной группы. Однако при загрузке или ручном создании вложенных папок платформа проверяет заполненность вида номенклатуры только на один уровень вверх — у непосредственного родителя. Рекурсивный поиск вышестоящего вида номенклатуры по всей цепочке папок «на лету» в БП 3.0 не выполняется.
Пример: Если для папки верхнего уровня «Производство» задан вид номенклатуры «Продукция», а внутри создана подпапка «Готовая продукция», у которой реквизит Вид номенклатуры пуст, элементы этой подпапки не наследуют значение с верхнего уровня. Из-за этого при формировании документов подставляются ошибочные счета учета.
Проанализируем наименее трудоемкий типовой вариант без программирования. В отличие от реквизита Вид номенклатуры, регистр сведений Счета учета номенклатуры отлично умеет искать счета рекурсивно по всей иерархии папок.
Настроим автоподстановку счетов по шагам:
После этой настройки система будет корректно подставлять счета учета для абсолютно всех вложенных подпапок и элементов любого уровня вложенности, даже если поле Вид номенклатуры в их карточках останется не заполненным.
Если для целей учета или формирования отчетности критически важно, чтобы значение Вид номенклатуры физически присутствовало в карточках всех папок и элементов, воспользуемся стандартной обработкой.
Разберем порядок действий:
Номенклатура.Номенклатура В группе "Наименование_Верхней_Папки".Вид номенклатуры, отмечаем его флажком и указываем нужное значение.Этот простой инструмент позволяет регулярно заполнять пропущенные виды номенклатуры во всей иерархии папок за один шаг.
При обмене с 1С:УНФ или 1С:УТ категории номенклатуры из базы-источника транслируются в виды номенклатуры в 1С:Бухгалтерии.
Рассмотрим, как исключить ошибки при обмене:
В этом случае при переносе новых позиций реквизит Вид номенклатуры будет заполняться автоматически, независимо от структуры и количества вложенных папок.
Если бухгалтерам неудобно вручную контролировать новые папки, а менять типовую конфигурацию нельзя, оптимальным техническим решением станет создание небольшого расширения.
В расширении подключается обработчик событий справочника Номенклатура (например, перед записью или при записи). Алгоритм подтягивает вид номенклатуры из вышестоящей папки:
Если у записываемой группы или элемента поле ВидНоменклатуры не заполнено, программа рекурсивно запрашивает родительские группы до тех пор, пока не найдет заполненный ВидНоменклатуры, и автоматически подставляет его в записываемый объект.