Версия для печати темы (https://pro1c.org.ua/index.php?s=d47963815506071a7b467946a1116c19&showtopic=67331)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Як виправити запрос, щоб він правильно відпрацьовував.

Автор: alex_shkut 13.09.23, 8:33

ТекстЗапроса = "ВЫБРАТЬ
               |    м_ТранспортныеСредства.Ссылка КАК Ссылка,
               |    ВодителиВТССрезПоследних.Водитель КАК Водитель,
               |    ТехобслуживаниеТССрезПоследних.ДатаТО КАК ДатаТО,
               |    м_ТранспортныеСредства.ОсновноеТопливо КАК ОсновноеТопливо,
               |    м_ТранспортныеСредства.ДополнительноеТопливо КАК ДополнительноеТопливо,
               |    м_ТранспортныеСредства.Грузоподъемность КАК Грузоподъемность,
               |    ЗаправкиТС.Количество КАК ТопливоКоличество,
               |    ЗаправкиТС.Сумма КАК ТопливоСумма
               |ИЗ
               |    Справочник.м_ТранспортныеСредства КАК м_ТранспортныеСредства
               |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТехобслуживаниеТС.СрезПоследних КАК ТехобслуживаниеТССрезПоследних
               |        ПО м_ТранспортныеСредства.Ссылка = ТехобслуживаниеТССрезПоследних.ТранспортноеСредство
               |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ВодителиВТС.СрезПоследних КАК ВодителиВТССрезПоследних
               |        ПО м_ТранспортныеСредства.Ссылка = ВодителиВТССрезПоследних.ТранспортноеСредство
               |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗаправкиТС КАК ЗаправкиТС
               |        ПО м_ТранспортныеСредства.Ссылка = ЗаправкиТС.ТранспортноеСредство
               |ГДЕ
               |    НЕ м_ТранспортныеСредства.ЭтоГруппа
               |    И НЕ м_ТранспортныеСредства.ПометкаУдаления
              // |    И ЗаправкиТС.Период МЕЖДУ &НачПериод И &КонПериод
               |
               |УПОРЯДОЧИТЬ ПО
               |    м_ТранспортныеСредства.Наименование";


Суть питання - якщо я розкоментую відбір по періоду, таблиця пуста. Що я роблю не так?

alex_shkut @ Сегодня, 9:16 * ,
Переробив запит щоб сумувалася кількість і сума, але результат той самий - таблиця пуста.

Автор: Vofka 13.09.23, 11:31

Було б непогано розказати що саме ви вкладаєте у фразу "правильно відпрацьовував".

Автор: Talkman 13.09.23, 13:14

Через ліве з'єднання можуть проскакувати значення NULL. Можливо через це сума рахується некорректно. У вас для кожного елемента довідника є значення в регістрах?

Автор: AnryMc 13.09.23, 13:51

Цитата(Talkman @ 13.09.23, 14:14) *
Через ліве з'єднання можуть проскакувати значення NULL. Можливо через це сума рахується некорректно.

+
ЕстьNULL(ЗаправкиТС.Количество, 0) КАК ТопливоКоличество


Ну и для основных тоже

Цитата(alex_shkut @ 13.09.23, 9:33) *
Переробив запит щоб сумувалася кількість і сума, але результат той самий - таблиця пуста.



Попробуйте выбрать каждую "Левую" во временную таблицу и потом из них "собрать" результат.

З.Ы. Иногда это работает в отличие от левого - когда и в чём разница не разобрался, но видел разницу...

Автор: TohaMonster 13.09.23, 17:39

Попробуйте условие по периоду после ГДЕ перенести в условие для соединения таблиц

               |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗаправкиТС КАК ЗаправкиТС
               |        ПО м_ТранспортныеСредства.Ссылка = ЗаправкиТС.ТранспортноеСредство
               |               И ЗаправкиТС.Период МЕЖДУ &НачПериод И &КонПериод

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua