При работе в конфигурации «1С:Управление производственным предприятием» (УПП) специалисты часто сталкиваются с ситуацией, когда стандартный поиск механизмов формирования проводок в модуле документа не дает результатов. Особенно это актуально для режима РАУЗ (Расширенная аналитика учета затрат). В данной статье мы разберем по шагам, почему программа выбирает те или иные счета учета, и где именно в программном коде инкапсулирована логика формирования записей по бухгалтерскому и стоимостному учету.
Рассмотрим ситуацию, когда при реализации материалов или лома (например, Лом категории 12А со счета 10.06) программа формирует проводки по кредиту счета 91.01 (Прочие доходы) и дебету 91.02.1 (Прочие расходы), хотя пользователь ожидает увидеть счет 90. Проанализируем, почему это происходит и является ли это нормальным.
Согласно методологии бухгалтерского учета, выручка от продажи активов, не являющихся основной продукцией или товарами компании (например, излишков материалов, металлолома, основных средств), классифицируется как прочие доходы. В 1С:УПП эта логика автоматизирована через регистр сведений «Счета учета номенклатуры». Если для конкретной номенклатуры или группы номенклатуры в этом регистре указаны счета доходов и расходов 91.01 и 91.02, программа будет использовать именно их.
Важный момент: если вам необходимо, чтобы реализация проходила по счету 90, следует проверить настройки в регистре или изменить счета непосредственно в табличной части документа Реализация товаров и услуг на вкладке «Счета учета». Однако с точки зрения типовой настройки для материалов счет 91 является корректным.
Многие программисты пытаются найти формирование движений в процедуре ОбработкаПроведения модуля документа РеализацияТоваровУслуг, но при включенном режиме РАУЗ стандартные механизмы работы с наборами записей регистров там практически отсутствуют. Выясним причину этой архитектурной особенности.
В 1С:УПП при использовании расширенной аналитики формирование движений вынесено в специализированные общие модули. Рассмотрим цепочку вызовов, которая приводит к записи в регистры Хозрасчетный и УчетЗатратРегл:
ДвиженияПоРегистрамРегл. Однако она отвечает лишь за часть проводок (обычно это выручка и НДС).УправлениеЗапасами.УправлениеЗапасамиРасширеннаяАналитика.Ключевым методом, в котором формируются записи по учету затрат и соответствующие им бухгалтерские проводки по себестоимости, является:
УправлениеЗапасамиРасширеннаяАналитика.РасширеннаяАналитикаЗапасовИзменениеСостояния(СтруктураИсточника, Отказ, РежимПроведения);
Внутри этой процедуры система анализирует Ключи аналитики. В РАУЗ нет прямого обращения к справочнику Номенклатура или Склады в регистрах накопления; вместо этого используются идентификаторы (ключи), которые объединяют в себе набор различных аналитик. Это позволяет системе работать быстрее, но значительно усложняет отладку для разработчика.
Проанализируем ситуацию, когда сумма по дебету счета 91.02 (себестоимость) равна сумме из регистра Учет затрат (регл). В режиме РАУЗ важно понимать разницу между моментом проведения документа и моментом закрытия месяца.
В отличие от партионного учета, где себестоимость может считаться «на лету» по методу FIFO или по средней, РАУЗ ориентирован на итоговый расчет в конце периода. Если при проведении Реализации вы сразу видите суммы себестоимости, это означает одно из двух:
Расчет себестоимости выпуска за этот месяц уже был проведен ранее (что редко для текущих операций).Посмотрим на пример: если вы реализуете лом, который был оприходован в этом же месяце, система может подхватить стоимость приобретения. Однако окончательная, выверенная «средняя» цена за месяц сформируется только после выполнения регламентной операции Расчет себестоимости выпуска. Именно этот документ сделает корректирующие записи в регистр Хозрасчетный и УчетЗатратРегл, если предварительная стоимость отличалась от фактической.
Чтобы убедиться в корректности сумм, рекомендуем использовать не только стандартную ОСВ, но и специализированные отчеты УПП. Вашим главным помощником должен стать отчет «Ведомость по учету МПЗ» или «Ведомость по учету затрат (регл)».
Если проводки кажутся нелогичными, выполните следующие действия:
Учет затрат. Для реализации материалов там должен стоять вид «МПЗ» и направление «Расход».РасширеннаяАналитикаЗапасовИзменениеСостояния.Разберем типичный фрагмент кода, который может помочь при программном анализе движений (пример получения данных из регистра учета затрат):
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| УчетЗатратРегл.Период,
| УчетЗатратРегл.Регистратор,
| УчетЗатратРегл.Количество,
| УчетЗатратРегл.Стоимость
|ИЗ
| РегистрНакопления.УчетЗатратРегл КАК УчетЗатратРегл
|ГДЕ
| УчетЗатратРегл.Регистратор = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", ДокументСсылка);
Результат = Запрос.Выполнить().Выгрузить();
Помните, что регистр УчетЗатратРегл является универсальным. Поле Раздел учета определяет, что именно перед нами — складские запасы (МПЗ), затраты на производство или выпуск готовой продукции. При реализации лома сумма в этом регистре обязана соответствовать сумме в проводке Дт 91.02 — Кт 10.06, так как в РАУЗ бухгалтерский учет является производным от данных этого регистра.
Проанализируем еще один важный нюанс: при реализации лома (категория 12А), согласно законодательству, часто возникает обязанность налогового агента у покупателя. В этом случае в 1С:УПП в документе реализации должна быть установлена соответствующая настройка НДС. Это повлияет на то, какие записи попадут в регистр Хозрасчетный по счету 68 и 90.03/91.02. Проводки могут сформироваться без суммы НДС для продавца, что также является штатным поведением системы, а не ошибкой кода.
Подводя итог, можно сказать, что понимание работы УправлениеЗапасамиРасширеннаяАналитика и структуры ключей аналитики — это ключ к успешному сопровождению и доработке 1С:УПП. Всегда анализируйте движения в связке: регистр Учет затрат — это первичные данные, а Хозрасчетный — их отражение в финансовом учете.