Отчет «Валовая прибыль по полной оплате отгрузок» в конфигурациях «1С:Управление торговлей» (редакции 11), «1С:ERP» и «1С:Комплексная автоматизация» — это мощный инструмент управленческого учета. Он позволяет оценить реальную эффективность торговых сделок, признавая прибыль только тогда, когда клиент полностью рассчитался за поставленный товар. Однако на практике пользователи часто сталкиваются с «чудесами»: суммы оплат в отчете не сходятся с фактическими платежами, себестоимость внезапно обнуляется, а по очевидно прибыльным сделкам система фиксирует убыток.
В этой статье мы подробно разберем, почему возникают такие расхождения, как устроен алгоритм работы отчета «под капотом» и какие шаги необходимо предпринять для исправления ошибок учета.
---
Чтобы понять природу ошибок, проанализируем ситуацию с технической стороны. Отчет не просто берет данные из одного места — он сопоставляет информацию из двух принципиально разных контуров учета:
ВыручкаИСебестоимостьПродаж.РасчетыСКлиентамиПоДокументам или РасчетыСКлиентамиПоСрокам, в зависимости от используемой архитектуры взаиморасчетов — офлайн или онлайн).Связующим звеном между этими контурами выступает объект расчетов — чаще всего это ЗаказКлиента или непосредственно РеализацияТоваровУслуг. Прибыль по сделке признается системой в день совершения наиболее позднего из двух событий:
Если цепочка документов нарушена или данные в одном из регистров не актуализированы, отчет покажет некорректные цифры. Рассмотрим подробнее основные причины сбоев.
---
Проанализируем ситуацию, описанную в первом сообщении темы: оформлен заказ на 81 000 рублей, проведена реализация на ту же сумму и оформлен приходный кассовый ордер (ПКО) на 81 000 рублей. Себестоимость составляет 64 080,05 рублей. Ожидаемая прибыль: 16 919,95 рублей. Однако отчет показывает оплату только 52 500 рублей и фиксирует убыток.
Почему программа «не видит» оставшуюся часть оплаты? Дело в том, что в системе 1С проведение платежного документа (ПКО или входящего платежного поручения) — это лишь первый шаг. Деньги поступают на баланс контрагента, но они должны быть распределены на конкретную накладную отгрузки. За это отвечает регламентный механизм распределения расчетов по ФИФО.
Если в настройках системы выключен автоматический расчет взаиморасчетов, то до момента запуска регламентной операции «Закрытие месяца» или ручного пересчета отчет будет оперировать устаревшими данными. Платеж зафиксирован, но связь между ПКО и реализацией еще не установилась окончательно.
Как решить проблему по шагам:
ВыполнениеРасчетовСКлиентами вручную через консоль регламентных заданий или обработку закрытия месяца. Это распределит зависшие платежи без изменения движений самих документов.---
Посмотрим на пример из сообщения №10: пользователь перепроводит документы, сумма оплаты становится корректной, но полностью пропадает себестоимость продаж. После выполнения расчета себестоимости все возвращается в норму.
Это абсолютно штатное поведение партионного учета в конфигурациях ERP-платформы. При любом ручном или программном перепроведении документов цепочка партий для данной номенклатуры «сбрасывается». Документ отгрузки теряет информацию о стоимости списанных партий, и в регистре ВыручкаИСебестоимостьПродаж поле себестоимости временно обнуляется или заполняется по предварительной оценке.
Выясним причину: окончательный расчет себестоимости происходит только в рамках процедуры «Закрытие месяца» (документ РасчетСебестоимостиТоваров). Анализировать валовую прибыль (особенно по оплате) на «живой», постоянно изменяемой базе без выполненного закрытия месяца бессмысленно — данные гарантированно будут искажены.
---
Разберем очень важный нюанс, упомянутый в сообщении №13. В логике схемы компоновки данных (СКД) типового отчета в некоторых релизах существовала архитектурная ошибка, связанная со сворачиванием строк.
Если в документе реализации одна и та же номенклатурная позиция разбита на несколько строк (например, из-за использования разных серийных номеров, характеристик, назначения или отгрузки с разных складов), СКД отчета группирует их по номенклатуре. Однако алгоритм распределения оплаты внутри запроса мог отработать некорректно: он относил всю сумму оплаты только на одну из строк (делая её «переоплаченной»), а остальные строки этой же номенклатуры считал неоплаченными.
В результате сделка в целом распознавалась системой как «частично оплаченная», и документ реализации либо вообще не попадал в отчет (поскольку не был выполнен критерий полной оплаты), либо выводился с искаженной рентабельностью.
Что делать в этой ситуации:
---
Рассмотрим ситуацию из сообщения №2: в отчет странным образом попадают реализации, по которым не было оплат, но были оформлены документы ВозвратТоваровОтКлиента с уменьшением долга.
Технически документ возврата делает движения в регистре взаиморасчетов со знаком «минус» (уменьшает дебиторскую задолженность покупателя). В старых алгоритмах отчета любое закрытие долга (даже путем возврата товара) могло интерпретироваться системой как «оплата».
Проанализируем цепочку: у клиента был долг 10 000 рублей по накладной. Он вернул товар на 10 000 рублей. Долг закрылся в ноль. Алгоритм отчета видит: «Долг по реализации равен нулю, значит, она полностью оплачена!» — и выводит эту реализацию в отчет с нулевой прибылью или искаженной себестоимостью возвращенных позиций.
Для исправления этой коллизии требуется строгое соблюдение методологии заполнения документов: возврат должен оформляться строго с указанием документа-основания (исходной реализации), чтобы система корректно сторнировала движения по регистру ВыручкаИСебестоимостьПродаж, а не просто перекрывала взаиморасчеты.
---
Еще один скрытый нюанс работы отчета — жесткая привязка к периоду формирования. Посмотрим на следующий пример:
Реализация товаров была оформлена в марте и оплачена частично. Оставшаяся часть оплаты поступила в апреле. Если мы сформируем отчет за март, мы не увидим эту сделку, так как на конец марта она не была полностью оплачена. Если мы сформируем отчет за апрель, система покажет нам только ту часть оплаты и прибыли, которая «закрылась» именно в апреле. Полная картина по сделке за весь период её существования будет видна только при формировании отчета за широкий интервал времени, охватывающий и отгрузку, и все платежи.
---
Если вы видите некорректные данные в отчете «Валовая прибыль по полной оплате отгрузок», рекомендуем выполнить следующие действия: