Почему занижается себестоимость и завышается валовая прибыль при переходе на партионный учет 2.2 в 1С:Управление торговлей 11?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При ведении учета в конфигурации «1С:Управление торговлей 11» переход на новую версию партионного учета (с версии 2.1 на версию 2.2) нередко сопровождается некорректным расчетом финансовых показателей. Типичная ситуация: в месяце, непосредственно предшествующем дате перехода, документ Расчет себестоимости товаров формирует заниженную стоимость списания в регистре ВыручкаИСебестоимостьТоваров (или ВыручкаИСебестоимостьПродаж). В результате в отчете по валовой прибыли себестоимость продаж оказывается заниженной (например, в два раза), а расчетная прибыль — завышенной, тогда как по количественным остаткам расхождений не наблюдается. Разберем детально, почему это происходит и как правильно нормализовать учетные данные.

Архитектурные причины возникновения ошибок расчета

Для понимания природы сбоя проанализируем, как механизм расчета себестоимости распределяет затраты и партии:

  1. Смена модели хранения расчетных движений. Начиная с алгоритмов партионного учета 2.1.3 и 2.2, документ Расчет себестоимости товаров больше не аккумулирует все суммовые проводки внутри себя. Он производит расчет узлов СЛАУ (системы линейных уравнений) и выполняет прямую запись сумм в первичные документы (РеализацияТоваровУслуг, ПеремещениеТоваров и др.) с установкой служебного признака РасчетСебестоимости = Истина. Если пересчитывать предшествующий период без предварительной очистки этих расчетных движений, старые записи накладываются на новые, вызывая искажение себестоимости.
  2. Ошибки в аналитике видов запасов и обособленного учета. Если в базе активирован обособленный учет себестоимости по поставщикам, критически важно заполнение реквизитов справочника ВидыЗапасов. Если наименование вида запасов содержит поставщика, но ссылка на партнера/контрагента в реквизите Поставщик пуста или содержит «битую» ссылку, система не может изолировать партию. Стоимостной остаток размывается между документами расхода, что приводит к кратному занижению себестоимости списания.
  3. Конфликт границы перехода на версию 2.2. При активации новой версии партионного учета система создает остатки в новых регистрах партий. Если после проведения последующих месяцев запустить расчет себестоимости за период до перехода, алгоритм считывает уже зафиксированные новые остатки партий следующего месяца, что нарушает целостность расчета исходного периода.

Диагностика аналитик и регистров

Перед исправлением документов необходимо выяснить масштаб проблемы. Рассмотрим, какие шаги проверки следует выполнить:

  1. Сверка движений по регистрам. Сравним данные регистров накопления СебестоимостьТоваров, ПартииТоваровОрганизаций и ВыручкаИСебестоимостьТоваров. Если в регистрах остатков списание прошло по корректной учетной цене, а в регистре выручки стоимость закупки уменьшена, проблема кроется в распределении по ключам видов запасов.
  2. Проверка справочника «Ключи аналитики учета номенклатуры». Проверим, нет ли дублирующихся ключей для одной и той же комбинации номенклатуры, характеристики, склада и организации.
  3. Аудит справочника «Виды запасов». Проанализируем элементы справочника ВидыЗапасов. Выявим дубли, помеченные на удаление элементы и строки с незаполненным реквизитом поставщика при включенном раздельном учете.

Пошаговый порядок устранения проблемы

Разберем регламент исправления данных, позволяющий вернуть корректный расчет себестоимости и валовой прибыли.

  1. Отмена проведения расчетов будущих периодов. Снимем с проведения все документы Расчет себестоимости товаров и Распределение доходов и расходов за все месяцы, начиная с месяца перехода на партионный учет 2.2 и далее до текущей даты.
  2. Очистка расчетных движений в проблемном месяце. Отменим расчет себестоимости за месяц до перехода. При необходимости воспользуемся процедурой очистки расчетных движений по регистрам сведений СтоимостьТоваров и движениям документов реализации, чтобы исключить наложение старых суммовых остатков.
  3. Нормализация видов запасов. Перейдем в раздел администрирования и запустим обработку «Исправление видов запасов». Данная обработка перепривяжет табличные части документов к корректным элементам справочника ВидыЗапасов, исключив дубли и восстановив соответствие реквизита Поставщик. Если обособление по поставщикам фактически не требуется, отключим соответствующую опцию в настройках номенклатуры и запасов.
  4. Соблюдение строгой последовательности пересчета. Выполним расчет себестоимости за месяц, предшествующий переходу (по старым правилам). Проверим отчет «Валовая прибыль предприятия» — показатели стоимости закупки должны прийти в норму.
  5. Последовательное закрытие последующих периодов. Только после успешного и корректного закрытия переходного периода поочередно рассчитаем месяцы с включенным учетом версии 2.2.

Особенности локализации ошибок и отладки расчета

Для локализации проблемных позиций при расчете себестоимости разработчики могут использовать служебный параметр ПараметрыОтладки, который передается в процедуру РасчетСебестоимости.РассчитатьВсе().

Важно помнить: расчет себестоимости в 1С выполняется интегральным методом для всей базы за расчетный месяц целиком через решение СЛАУ, поэтому изолировать расчет ровно по одной номенклатурной позиции в штатном алгоритме невозможно. Однако через структуру ПараметрыОтладки можно переопределить поведение процедуры для удобства анализа в конфигураторе:


ПараметрыОтладки = Новый Структура;
// Отключаем фоновое выполнение для пошаговой отладки в одном потоке:
ПараметрыОтладки.Вставить("МаксимальноеКоличествоФЗ", 1);
ПараметрыОтладки.Вставить("ВыполнятьВФоне", Ложь);

// Указываем каталог для выгрузки расчетных матриц и СЛУ:
ПараметрыОтладки.Вставить("КаталогДляСохраненияДанныхСЛУ", "C:\Temp\CostDebug\");

// Передаем параметры в общий модуль расчета себестоимости
РасчетСебестоимости.РассчитатьВсе(ПараметрыРасчета, ПараметрыОтладки);

Выгрузка данных СЛУ позволяет в текстовом виде проанализировать узлы графа товародвижения, весовые коэффициенты распределения стоимости и выявить, на каком именно этапе узлы распределения видов запасов получают искаженные коэффициенты.

← На главную