Имя: Пароль:
1C
 
Прямой запрос: как получить движения на каждый день?
0 neuromancer_
aza
 
12.01.11
11:02
ЗапросНаборов = СоздатьОбъект("ПрямойЗапрос");
   // Выборка остатков наборов
   ТекстЗапросаОстатков=

   "выбрать
   |Рег.НачалоПериода как [День $Дата]
   |, Рег.Товар как [Товар $Справочник.Товары]
   |, Рег.ОстатокТовараНачальныйОстаток как [ОстатокТовараНачОст $Число.15.4]
   |, Рег.ОстатокТовараКонечныйОстаток как [ОстатокТовараКонОст $Число.15.4]
   |, Рег.ОстатокТовараОборот как [ОстатокТовараОборот $Число.15.4]
   |ИЗ $РегистрОстаткиОбороты.ОстаткиТоваров(:ДатаНач, :ДатаКон~, День, , , , ) как Рег";

       ЗапросНаборов.Текст = ТекстЗапросаОстатков;
       ЗапросНаборов.УстановитьТекстовыйПараметр("ДатаНач", ВыбНачПериода);
       ЗапросНаборов.УстановитьТекстовыйПараметр("ДатаКон", ВыбКонПериода);
   
   тзОстаткиНаборов=ЗапросНаборов.Выполнить();

В результате запроса выводятся только те позиции по котрым были движения, а надо бы что б на каждый день периода даже если движения не было. Как такое сделать в одном запросе?
1 DEVIce
 
12.01.11
11:08
Стиль программирования мягко говоря странный. Тебя где учили так виртуозно ставить запятые?
2 МихаилМ
 
12.01.11
11:09
по теме : соединить с таблицей дат.

но такое решение - признак делитантизма.
тк Вам это нужно для ПРЕДСТАВЛЕНИЯ, а не для ИЗВЛЕЧЕНИЯ
данных.
дополняйте датами в обработчике на клиенте.
3 filh
 
12.01.11
11:09
А если движений нет, от куда им попасть в запрос?
4 neuromancer_
aza
 
12.01.11
11:14
Это не мой стиль. так получилось. Это не боевой запрос, просто привел для примера. Результат нужен для дальнейшего объединения с другой таблицей по датам и прочим. И надо что в результат попали данные даже если и не было движений.
5 neuromancer_
aza
 
12.01.11
11:37
ап
6 leshikkam
 
12.01.11
11:40
(0) Используй класс ПрямойЗапрос, эту же ВТ и параметр Дополнение. Получишь именно то что надо
7 МихаилМ
 
12.01.11
11:49
да что ап
в (2) рещение.

таблицу можно временную создать

или читайте faq на sql.ru

там есть решение с объдинением с системной таблицей
8 neuromancer_
aza
 
12.01.11
14:36
решил проблемку. точнее просто надо было обновить класс до версии 1.7.22 от 11.01.2011

Периодичность надо писать как "ДЕНЬ ДОПОЛНЕНИЕ".
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn