Финальные доработки по подсчету количества документов

Продолжаю дорабатывать отчет:

Клиент пожаловался, что сумма по отчету не сходится с суммой по отчету о валовой прибыли. Я посмотрел и понял, что не попадают возвраты и документы ОРП. Поэтому решил переписать запрос с документов на запрос по регистратору регистра прибыли. При этом запрос по регистру Продажи скопировал из основного запроса отчета:

ВЫБРАТЬ
	ВЫБОР
		КОГДА Продажи.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах
			ТОГДА "Касса"
		КОГДА Продажи.Регистратор ССЫЛКА Документ.ЧекККМ
			ТОГДА "Касса"
		КОГДА Продажи.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
			ТОГДА "Реализация"
		КОГДА Продажи.Регистратор ССЫЛКА Документ.ВозвратТоваровОтКлиента
			ТОГДА "Реализация"
		ИНАЧЕ "Прочее"
	КОНЕЦ КАК ВидДокументаПродажи,
	КОЛИЧЕСТВО(Продажи.Регистратор) КАК КоличествоДокументов,
	СУММА(Продажи.СуммаВыручкиОборот) КАК СуммаДокументов,
	Продажи.Регистратор КАК ДокументПродажи
ИЗ
	РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты({(&НачалоПериода)}, {(&ОкончаниеПериода)}, Регистратор, {(АналитикаУчетаПоПартнерам.Организация).* КАК Организация, (АналитикаУчетаПоПартнерам.Партнер).* КАК Партнер, (ЕСТЬNULL(ЗаказКлиента.Сделка, ЗНАЧЕНИЕ(Справочник.СделкиСКлиентами.ПустаяСсылка))).* КАК Сделка, (ЕСТЬNULL(ЗаказКлиента.Сделка.Ответственный, ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка))).* КАК МенеджерСделки, (ВЫБОР
			    КОГДА Менеджер = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)
			        ТОГДА ЕСТЬNULL(ЗаказКлиента.Менеджер, ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка))
			    ИНАЧЕ Менеджер
			КОНЕЦ).* КАК Менеджер, (ВЫБОР
			    КОГДА ВидЗапасов.ТипЗапасов = ЗНАЧЕНИЕ(Перечисление.ТипыЗапасов.КомиссионныйТовар)
			        ТОГДА ВидЗапасов.ВладелецТовара
			    ИНАЧЕ АналитикаУчетаПартий.Поставщик
			КОНЕЦ).* КАК Поставщик, (ВидЗапасов.ГруппаФинансовогоУчета).* КАК ГруппаФинансовогоУчета, (ВЫБОР
			    КОГДА НЕ ЗаказКлиента.Сделка.ВидСделки ЕСТЬ NULL
			        ТОГДА ЗаказКлиента.Сделка.ВидСделки.Наименование
			    КОГДА ЗаказКлиента ССЫЛКА Документ.ЗаказКлиента
			            ИЛИ ЗаказКлиента ССЫЛКА Документ.ЗаявкаНаВозвратТоваровОтКлиента
			        ТОГДА &СтрокаПродажиПоЗаказам
			    ИНАЧЕ &СтрокаПродажиБезЗаказов
			КОНЕЦ) КАК ВидСделки}) КАК Продажи

СГРУППИРОВАТЬ ПО
	Продажи.Регистратор,
	ВЫБОР
		КОГДА Продажи.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах
			ТОГДА "Касса"
		КОГДА Продажи.Регистратор ССЫЛКА Документ.ЧекККМ
			ТОГДА "Касса"
		КОГДА Продажи.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
			ТОГДА "Реализация"
		КОГДА Продажи.Регистратор ССЫЛКА Документ.ВозвратТоваровОтКлиента
			ТОГДА "Реализация"
		ИНАЧЕ "Прочее"
	КОНЕЦ

При этом в настройках отчета менять ничего не надо, поля остались теми же.

Кстати, чеки на возврат в УТ не делают движений по регистру выручки и себестоимости, так что в течении дня не будут учитываться. Но они не попадают и в основной раздел отчета, так что суммы будут сходиться. Даже если взять большой период, итоги отчета совпадают:

Так что тут хороший пример, когда идея хорошей реализации приходит не сразу, а позже.

Среда: УТ 11.4.13.46 Объем: 0.5 час.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

1 комментарий

  1. 19.02.2023

    […] 2: В целом поменял запрос, изменил смысл […]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *