При разработке собственных отчетов в 1С часто возникают ситуации, когда данные вашего запроса к регистру накопления ВыручкаПродаж не совпадают с типовыми отчетами конфигурации. Давайте разберем пошагово, как проанализировать эту ситуацию и найти причину расхождения.
Первое, что необходимо сделать при обнаружении «лишних» или «недостающих» сумм — это перестать смотреть на регистр как на обезличенный набор оборотов. Регистр накопления — это лишь отражение движений конкретных документов. Чтобы понять, кто именно «испортил» отчет, выполним следующее:
СуммаОборот, обязательно добавьте в выборку поле Регистратор.Регистратор, чтобы увидеть список документов, формирующих движения.Зачастую выясняется, что помимо ожидаемых ЧекККМ, движения по регистру создают документы КорректировкаРеализации, ОперацияПоПлатежнойКарте, ИнвентаризацияТоваров или документы возвратов. В типовых отчетах эти документы могут фильтроваться по ВидуОперации или не выводиться вовсе, в то время как ваш запрос «видит» всё подряд.
Если запрос в консоли кажется громоздким, используйте стандартный инструмент платформы — отчет Карточка регистра накопления. Это мощный способ увидеть хронологию событий:
ВыручкаПродаж.Номенклатуре, по которой вы нашли расхождение.В этом отчете вы увидите все движения в хронологическом порядке. Обратите внимание на документы, которые стоят с «минусом» или имеют необычный вид операции. Вероятно, вы обнаружите сторнирующую запись, которая была создана системным механизмом (например, при отмене чека или исправлении ошибки прошлого периода).
Частая ошибка при расчете выручки — игнорирование документов ВозвратТоваровОтПокупателя. В типовых конфигурациях 1С возвраты делают «минусовые» движения по регистрам продаж. Если вы просто суммируете обороты за период, система автоматически вычтет возвраты. Если же вы хотите получить «Валовую выручку» (продажи без учета возвратов), вам потребуется добавить отбор по типу регистратора.
Пример программного фильтра в запросе может выглядеть так:
ВЫБРАТЬ
ВыручкаПродажОбороты.СуммаОборот КАК Выручка
ИЗ
РегистрНакопления.ВыручкаПродаж.Обороты КАК ВыручкаПродажОбороты
ГДЕ
НЕ ВыручкаПродажОбороты.Регистратор ССЫЛКА Документ.ВозвратТоваровОтПокупателя
Типовые отчеты в 1С, такие как Продажи или Выручка и себестоимость продаж, работают не просто «по регистру». Они включают в себя:
Хозяйственной операции (например, отсекаются движения по внутренним перемещениям).Поэтому, когда вы сравниваете свой отчет с типовым, помните: типовой отчет — это не «чистая сумма регистра», а результат обработки данных с учетом бизнес-логики конфигурации. Анализируйте Регистратор, проверяйте ВидыОпераций и вы быстро найдете источник расхождения.