Требуется помощь с отчетом СКД

1. PhoenixAOD 62 24.06.16 05:31 Сейчас в теме
Доброго времени суток всем читающим! Друзья помогите разобраться с отчетом в СКД. Запросом в консоли запросов я получаю желаемый результат, вот сам запрос
ВЫБРАТЬ
	ТоварыНаСкладахОстаткиИОбороты.ПериодДень
ПОМЕСТИТЬ Вт1
ИЗ
	РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты
;

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

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Вт1.ПериодДень,
	МАКСИМУМ(Вт2.ПериодДень) КАК ПериодДень1
ПОМЕСТИТЬ Вт3
ИЗ
	Вт1 КАК Вт1
		ЛЕВОЕ СОЕДИНЕНИЕ Вт2 КАК Вт2
		ПО Вт1.ПериодДень >= Вт2.ПериодДень

СГРУППИРОВАТЬ ПО
	Вт1.ПериодДень
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Вт3.ПериодДень,
	Вт2.Склад,
	Вт2.Номенклатура,
	Вт2.КоличествоКонечныйОстаток
ИЗ
	Вт3 КАК Вт3
		ЛЕВОЕ СОЕДИНЕНИЕ Вт2 КАК Вт2
		ПО Вт3.ПериодДень1 = Вт2.ПериодДень
Показать

но в отчет попадают строки в которых если количество 0 тогда должно быть предыдущее пустыми, хотя в консоли запросов эти строки заполняются. Сам отчет приложил
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
12. DeepSnorkler 24.06.16 19:23 Сейчас в теме
В Вт3 нужны склад и номенклатура…

ВЫБРАТЬ
	ТоварыНаСкладахОстаткиИОбороты.ПериодДень
ПОМЕСТИТЬ Вт1
ИЗ
	РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты
;

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

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Вт1.ПериодДень,
	МАКСИМУМ(Вт2.ПериодДень) КАК ПериодДень1,
	Вт2.Склад,
	Вт2.Номенклатура
ПОМЕСТИТЬ Вт3
ИЗ
	Вт1 КАК Вт1
		ЛЕВОЕ СОЕДИНЕНИЕ Вт2 КАК Вт2
		ПО Вт1.ПериодДень >= Вт2.ПериодДень

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

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

УПОРЯДОЧИТЬ ПО
	Номенклатура,
	ПериодДень,
	Склад
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. netesoff 4 24.06.16 05:38 Сейчас в теме
(1) PhoenixAOD, что-то не доходит до меня смысл фразы под запросом. Давай скрины что ли.
4. PhoenixAOD 62 24.06.16 05:51 Сейчас в теме
(3) netesoff, вот результат консоли запросов

а вот результат скд

по позиции бош видно что 04.02.07 пусто, а должно быть 198
10. Rokky78 40 24.06.16 14:44 Сейчас в теме
(4) PhoenixAOD, очень "мутно". Может лучше описать словами что ты хочешь получить? Вот ты пишешь:
по позиции бош видно что 04.02.07 пусто, а должно быть 198

Проверил в демо базе 2-мя обработками запрос из СКД. Обе на 04.02.07 ничего не возвращают. Соответственно и схема из СКД загруженная в консоль компоновки данных возвращает то же что и у тебя.
11. pavel06 2 24.06.16 18:27 Сейчас в теме
(4) PhoenixAOD, Можно попробовать добавить поле ПериодСекунда в ВТ2, если действительно пропадает остаток где-то.
6. Xershi 1487 24.06.16 07:38 Сейчас в теме
(1) PhoenixAOD, авто и движение граница попробуй убрать
2. PhoenixAOD 62 24.06.16 05:31 Сейчас в теме
Забыл добавить вознаграждение))
5. PhoenixAOD 62 24.06.16 07:02 Сейчас в теме
у меня такое ощущение что скд чето обрезает, но вот где это отловить?
7. Xershi 1487 24.06.16 08:46 Сейчас в теме
(5) PhoenixAOD, есть еще такая штука как роль в ресурсах. Когда запрос сформировал, там по таким регистрам донастроить нужно.
8. sommid 24.06.16 09:44 Сейчас в теме
а реальный текст запроса при выполнении СКД доставали? как он выглядит?
9. AnryMc 849 24.06.16 09:50 Сейчас в теме
Если в запросе период "Авто" поменять на "День"???
12. DeepSnorkler 24.06.16 19:23 Сейчас в теме
В Вт3 нужны склад и номенклатура…

ВЫБРАТЬ
	ТоварыНаСкладахОстаткиИОбороты.ПериодДень
ПОМЕСТИТЬ Вт1
ИЗ
	РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты
;

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

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Вт1.ПериодДень,
	МАКСИМУМ(Вт2.ПериодДень) КАК ПериодДень1,
	Вт2.Склад,
	Вт2.Номенклатура
ПОМЕСТИТЬ Вт3
ИЗ
	Вт1 КАК Вт1
		ЛЕВОЕ СОЕДИНЕНИЕ Вт2 КАК Вт2
		ПО Вт1.ПериодДень >= Вт2.ПериодДень

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

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

УПОРЯДОЧИТЬ ПО
	Номенклатура,
	ПериодДень,
	Склад
Показать
14. PhoenixAOD 62 26.06.16 04:25 Сейчас в теме
(12) DeepSnorkler, именно этого и не хватало)) спасибо за подсказку)
13. palsergeich 24.06.16 22:28 Сейчас в теме
Вероятный виновник этого
СГРУППИРОВАТЬ ПО
Вт1.ПериодДень
Неоднократно было замечено некорректное поведение оптимизатора компановщика на полях группировки в пакетных запросах,
Так же возможно у поля период не указан метод дополнения день просто выводится поле период, без дополнения, в настройках колонки.
Как вариант, в конструкторе компановки не указана роль период у поля периоддень.
Период секунда нужно вытаскивать когда Вам нужен период Регистратор или Период запись. На период День оно не оказывает воздействия.
3 пути:
1) поместить все во вложенные запросы, упадет оптимальность, потому что оптимизатор не будет изменять текст запроса в соответствии с отборами, но не будут вылазить сюрпризы от оптимизатора, потому что он во вложенные запросы не лезет.
2) правильно настроить саму схему компановки.
Для диагностики Вам нужно получить исполняемый текст запроса, при помощи инструментров разработчика, тем более вы в них работаете, одна из верхних кнопок показывает запрос, который фактически выполняется, а не был сделан разработчиком.иногда там такие чудеса получаются. После этого Вы сами быстро сможете решить эту задачу, поняв откуда растут ноги.
3) Сделать 2 набора данных и связать их, опять же из практики связь наборов работает корректнее чем соединение пакетов с группировкой в одном из них.
Оставьте свое сообщение

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