Значения в запросе (в консоли) и в СКД отличаются.

1. Mi11er 98 29.05.18 16:47 Сейчас в теме
Вопрос по СКД.

Скорей всего , где то совершил ошибку ... но в упор не вижу.

Есть запрос, смотрю его в консоли, он выдает то, что мне нужно. Цифра та , подсчитано руками, на всякий случай.
http://take.ms/4rXIa
Тут смотрим на 23

Берем запрос, делаем отчет, выводим и получаем уже

http://take.ms/HB2bV3

Параметры одинаковые , вплоть до секунд в дате.

Куда копнуть ?


p.s. Сам запрос (95% запроса, это текст Гилева)
ВЫБРАТЬ
	Движения.Склад,
	Движения.Номенклатура,
	Движения.Период,
	Движения.КоличествоНачальныйОстаток,
	Движения.КоличествоКонечныйОстаток
ПОМЕСТИТЬ Движения
ИЗ
	РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Секунда, , СКЛАД В (&Склады)) КАК Движения
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Движения.Склад,
	Движения.Номенклатура,
	Движения.Период,
	Движения.КоличествоНачальныйОстаток,
	Движения.КоличествоКонечныйОстаток
ПОМЕСТИТЬ ДополненныеДвижения
ИЗ
	Движения КАК Движения

ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
	НачальныеНули.Склад,
	НачальныеНули.Номенклатура,
	&НачалоПериода,
	0,
	0
ИЗ
	Движения КАК НачальныеНули

ОБЪЕДИНИТЬ

ВЫБРАТЬ РАЗЛИЧНЫЕ
	КонечныеНули.Склад,
	КонечныеНули.Номенклатура,
	&КонецПериода,
	0,
	0
ИЗ
	Движения КАК КонечныеНули
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Точки.Склад,
	Точки.Номенклатура,
	Точки.Период,
	МАКСИМУМ(Точки.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
	МАКСИМУМ(Точки.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток
ПОМЕСТИТЬ ТочкиВремени
ИЗ
	ДополненныеДвижения КАК Точки

СГРУППИРОВАТЬ ПО
	Точки.Склад,
	Точки.Номенклатура,
	Точки.Период
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Точки.Склад,
	Точки.Номенклатура,
	МАКСИМУМ(Слева.Период) КАК НачалоОтсутствия,
	Точки.Период
ПОМЕСТИТЬ Интервалы
ИЗ
	ТочкиВремени КАК Точки
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТочкиВремени КАК Слева
		ПО Точки.Склад = Слева.Склад
			И Точки.Номенклатура = Слева.Номенклатура
			И (Точки.КоличествоНачальныйОстаток = 0)
			И (Слева.КоличествоКонечныйОстаток = 0)
			И Точки.Период > Слева.Период

СГРУППИРОВАТЬ ПО
	Точки.Склад,
	Точки.Номенклатура,
	Точки.Период

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ РАЗЛИЧНЫЕ
	Точки.Склад,
	Точки.Номенклатура,
	&КонецПериода,
	&НачалоПериода
ИЗ
	Движения КАК Точки
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ПродажиОбороты.Номенклатура,
	СУММА(ВЫБОР
			КОГДА МЕСЯЦ(ПродажиОбороты.Период) = 12
				ТОГДА 0
			ИНАЧЕ ПродажиОбороты.СтоимостьОборот
		КОНЕЦ - ВЫБОР
			КОГДА МЕСЯЦ(ПродажиОбороты.Период) = 12
				ТОГДА 0
			ИНАЧЕ ЕСТЬNULL(ВложенныйЗапрос.Стоимость, 0)
		КОНЕЦ) КАК Прибыль
ПОМЕСТИТЬ Коэф
ИЗ
	РегистрНакопления.Продажи.Обороты(&НачалоПериодаПродаж, &НачалоПериода, Регистратор, ) КАК ПродажиОбороты
		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
			ПродажиСебестоимость.Номенклатура КАК Номенклатура,
			ПродажиСебестоимость.ЗаказПокупателя КАК ЗаказПокупателя,
			СУММА(ПродажиСебестоимость.Стоимость) КАК Стоимость,
			ВЫБОР
				КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО
					ТОГДА ПродажиСебестоимость.ДокументДвижения
				ИНАЧЕ ПродажиСебестоимость.Регистратор
			КОНЕЦ КАК Регистратор
		ИЗ
			РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость
		
		СГРУППИРОВАТЬ ПО
			ПродажиСебестоимость.Номенклатура,
			ВЫБОР
				КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО
					ТОГДА ПродажиСебестоимость.ДокументДвижения
				ИНАЧЕ ПродажиСебестоимость.Регистратор
			КОНЕЦ,
			ПродажиСебестоимость.ЗаказПокупателя) КАК ВложенныйЗапрос
		ПО ПродажиОбороты.Номенклатура = ВложенныйЗапрос.Номенклатура
			И ПродажиОбороты.ЗаказПокупателя = ВложенныйЗапрос.ЗаказПокупателя
			И ПродажиОбороты.Регистратор = ВложенныйЗапрос.Регистратор

СГРУППИРОВАТЬ ПО
	ПродажиОбороты.Номенклатура
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Интервалы.Склад,
	Интервалы.Номенклатура КАК Номенклатура,
	ВЫРАЗИТЬ(СУММА(РАЗНОСТЬДАТ(Интервалы.Период, Интервалы.НачалоОтсутствия, СЕКУНДА)) / 60 / 60 / 24 КАК ЧИСЛО(10, 0)) КАК ДнейНаличия,
	Интервалы.Номенклатура.Артикул КАК Артикул,
	РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ) - (ВЫРАЗИТЬ(СУММА(РАЗНОСТЬДАТ(Интервалы.Период, Интервалы.НачалоОтсутствия, СЕКУНДА)) / 60 / 60 / 24 КАК ЧИСЛО(10, 0))) КАК ДнейОтсутствия,
	Коэф.Прибыль / 150 КАК Поле1
ИЗ
	Интервалы КАК Интервалы
		ЛЕВОЕ СОЕДИНЕНИЕ Коэф КАК Коэф
		ПО Интервалы.Номенклатура = Коэф.Номенклатура

СГРУППИРОВАТЬ ПО
	Интервалы.Склад,
	Интервалы.Номенклатура,
	Интервалы.Номенклатура.Артикул,
	Коэф.Прибыль / 150

УПОРЯДОЧИТЬ ПО
	Номенклатура
АВТОУПОРЯДОЧИВАНИЕ

Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Boneman 301 29.05.18 17:04 Сейчас в теме
(1) в СКД параметры могут заменяться самой СКД.
И реально выполняющийся запрос - может отличатся от того, что ты сваял в консоли.
Посмотреть что там получилось можно остановив отладчиком, при компоновке результата - и там будет реальный текст запроса, перед выполнением.

Для борьбы с этим, в запросе есть закладка компоновка данных,
там на первой вкладочке "таблицы" - неприметная шестеренка, -где аналогично консоли параметры виртуальных таблиц назначаются.
И в запросе появляются фигурные скобочки..которые уже схемой отрабатывают как задумано.
vitaminich; Mi11er; +2 Ответить
3. Mi11er 98 29.05.18 17:16 Сейчас в теме
(2) да.... через консоль ИР , текст запроса увидел и убедился что параметры были подставлены не те ....

Блин, это сурово =))) у меня чуть голова не поседела.
4. vitaminich 3 10.11.22 22:42 Сейчас в теме
(2) Спасибо огромное! Очень помогли.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот