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