При работе в конфигурации «1С:Управление производственным предприятием 1.3» (УПП) или «1С:Комплексная автоматизация 1.1» (КА) пользователи часто сталкиваются с ситуацией, когда документ Корректировка реализации (в режиме «по согласованию сторон») формирует проводки по количеству, но оставляет пустой сумму себестоимости в дебете счета 90.02.1 и кредите счета 41.01. Особенно часто это проявляется, если исходная реализация была в одном месяце, а корректировка происходит в следующем. Проанализируем причины этого поведения и разберем пошагово, как решить проблему.
Для начала выясним причину. В конфигурациях, использующих РАУЗ (Расширенная аналитика учета затрат), расчет стоимости происходит не в момент проведения документа, а в конце месяца одноименным регламентным документом. Система РАУЗ оперирует средневзвешенной стоимостью за период. Рассмотрим ситуацию: если корректировка реализации (уменьшение количества) проводится в текущем месяце по отгрузке прошлого периода, и при этом по данной номенклатуре в текущем месяце не было начальных остатков или новых поступлений, алгоритму РАУЗ просто «не за что зацепиться». Он видит поступление товара на склад (сторнирование расхода), но не находит в текущем месяце «цены», по которой этот товар должен вернуться.
Официальная позиция техподдержки 1С подтверждает это: УПП в режиме РАУЗ не может корректно рассчитать стоимость, если товар появился на складе только в результате сторнирования реализации прошлого периода при отсутствии начальных остатков.
Начиная с релиза 1.3.126.1, разработчики добавили механизм для обхода этой архитектурной особенности. Теперь в документе Корректировка реализации можно указать себестоимость вручную. Проанализируем, как это работает:
Корректировка реализации при выборе варианта «По согласованию сторон» обратите внимание на колонки, связанные с себестоимостью.Учет затрат (бухгалтерский и налоговый учет), что позволит регламентному документу Расчет себестоимости увидеть сумму и корректно закрыть месяц.Если обновление невозможно или версия конфигурации старая, мы можем воспользоваться ручным исправлением движений. Однако просто поправить проводки в бухгалтерском учете (счет 41) недостаточно, так как РАУЗ ориентируется на регистры накопления. Рассмотрим алгоритм действий:
Создадим документ Корректировка записей регистров. Нам необходимо внести изменения в два ключевых раздела:
Дт 90.02.1 Кт 41.01 (со знаком минус, так как это сторно).Разберем подробнее заполнение регистра Учет затрат. Для этого можно использовать функцию «Заполнить — Сторно движений документа», выбрав проблемную корректировку реализации. В появившейся строке необходимо:
Ключ аналитики (склад, номенклатура и т.д.) совпадает с тем, что был в исходной реализации.После проведения такого документа Расчет себестоимости увидит входящую сумму и не будет выдавать ошибок об отрицательных остатках в суммовом выражении.
Иногда методологически проще оформить не корректировку реализации, а Возврат товаров от покупателя. Посмотрим на преимущества этого метода:
Возврат товаров от покупателя есть возможность указать «Документ партии» (документ реализации).Корректировку реализации только в части НДС (выбрав соответствующий вид операции), а товарную часть (себестоимость и склад) отразить возвратом.Если вы решили доработать автоматическое заполнение сумм, проанализируйте следующий фрагмент логики, который обычно используется при формировании движений по РАУЗ. Система ищет соответствие по ключам аналитики. Если в документе корректировки не заполнен КлючАналитикиУчетаЗатрат, сумма не появится никогда.
Выясним причину через код. При проведении документа вызывается процедура формирования движений по учету затрат. В типовых старых релизах она выглядит примерно так:
// Пример упрощенной логики формирования движений в УПП
Движение = Движения.УчетЗатрат.Добавить();
Движение.Период = Дата;
Движение.Регистратор = Ссылка;
Движение.Количество = -СтрокаТабличнойЧасти.Количество; // Сторно количества
// В старых релизах сумма здесь оставалась пустой,
// так как она должна была рассчитаться позже
Чтобы автоматизировать решение без обновления, программисты часто добавляют в обработку проведения запрос к регистру УчетЗатрат по исходному документу реализации, чтобы вытащить оттуда значение Стоимость / Количество и умножить на количество в корректировке. Полученную сумму следует программно подставить в колонки Стоимость и СтоимостьНУ.
Важный нюанс: при ручном или программном заполнении регистра Учет затрат всегда следите за аналитикой. Если товар возвращается на «Склад №2», а продан был со «Склада №1», и вы не укажете это в корректировке, РАУЗ не сможет сопоставить эти записи, и на одном складе зависнет «минус» по сумме, а на другом — «плюс» по количеству без стоимости.
Проблема пустых сумм в корректировке реализации — это известное ограничение архитектуры РАУЗ в старых версиях 1С:УПП. Для решения ситуации проанализируем три пути: обновление до актуального релиза (рекомендуется), ручная правка регистра Учет затрат через документ корректировки записей или переход на схему с возвратом товаров. Самым стабильным техническим решением является обеспечение наличия суммы в регистре Учет затрат до момента запуска регламентного закрытия месяца.