|
Регистр Накопления По дням из Временной Таблицы | ☑ | ||
---|---|---|---|---|
0
spiller26
29.10.12
✎
10:10
|
Создаю временную таблицу по дням, передаю в основной запрос, но все равно выдает мне обороты по тем дням, по которым были движки.
Процедура СформироватьОтчет() Перем МенВрТаб; ТаблицаДата = Новый ТаблицаЗначений; ТаблицаДата.Колонки.Добавить("ДатаДень",Новый ОписаниеТипов("Дата"),,); СледующийДень = ДатаН; // Пока СледующийДень < ДатаК Цикл Стр=ТаблицаДата.Добавить(); Стр.ДатаДень = СледующийДень; СледующийДень = СледующийДень + 60 * 60 * 24; // КонецЦикла; //создание временной таблицы МенВрТаб = Новый МенеджерВременныхТаблиц; ЗапросДат = Новый Запрос; ЗапросДат.МенеджерВременныхТаблиц = МенВрТаб; ЗапросДат.Текст = " |ВЫБРАТЬ | ТЗДата.ДатаДень |ПОМЕСТИТЬ ВыбДатаПериод // результат запроса помещается во временную таблицу ВыбДатаПериод |ИЗ | &ТЗДата КАК ТЗДата"; ЗапросДат.УстановитьПараметр("ТЗДата", ТаблицаДата); ЗапросДат.Выполнить(); //основной запрос Запрос1 = Новый Запрос; Запрос1.МенеджерВременныхТаблиц = МенВрТаб; Запрос1.Текст = "ВЫБРАТЬ | ДвиженияДенежныхСредствОбороты.Период, | ДвиженияДенежныхСредствОбороты.Организация КАК Организация, | ДвиженияДенежныхСредствОбороты.БанковскийСчетКасса КАК БанковскийСчетКасса, | СУММА(ДвиженияДенежныхСредствОбороты.СуммаОборот) КАК СуммаОборот, | ДвиженияДенежныхСредствОбороты.ПриходРасход, | ДвиженияДенежныхСредствОбороты.ДоговорКонтрагента.ВидВзаиморасчетов КАК ВидыВзаиморасчетовДоговора, | ДвиженияДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств КАК СтатьяДДС, | ВыбДатаПериод.ДатаДень |ИЗ | ВыбДатаПериод КАК ВыбДатаПериод | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДвиженияДенежныхСредств.Обороты(&НачалоПериода, &КонецПериода, День, ) КАК ДвиженияДенежныхСредствОбороты | ПО ВыбДатаПериод.ДатаДень = ДвиженияДенежныхСредствОбороты.Период |ГДЕ | ДвиженияДенежныхСредствОбороты.Организация = &Организация | И ДвиженияДенежныхСредствОбороты.ПриходРасход = &ПриходРасход | И ДвиженияДенежныхСредствОбороты.БанковскийСчетКасса В(&СписокБК) | И ДвиженияДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств В(&СписокСтатейДДС) | И ДвиженияДенежныхСредствОбороты.ДоговорКонтрагента.ВидВзаиморасчетов В(&СписокВидовВзаиморасчетов) | |СГРУППИРОВАТЬ ПО | ДвиженияДенежныхСредствОбороты.Период, | ДвиженияДенежныхСредствОбороты.Организация, | ДвиженияДенежныхСредствОбороты.БанковскийСчетКасса, | ДвиженияДенежныхСредствОбороты.ПриходРасход, | ДвиженияДенежныхСредствОбороты.ДоговорКонтрагента.ВидВзаиморасчетов, | ДвиженияДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств, | ВыбДатаПериод.ДатаДень | |УПОРЯДОЧИТЬ ПО | Организация, | БанковскийСчетКасса, | ДвиженияДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств, | ДвиженияДенежныхСредствОбороты.Период"; //Установка параметров запроса Запрос1.УстановитьПараметр("НачалоПериода", ДатаН); //Дата Запрос1.УстановитьПараметр("КонецПериода", КонецДня(ДатаК)); //Дата Запрос1.УстановитьПараметр("Организация", Организация); //Организация Запрос1.УстановитьПараметр("ПриходРасход", ПриходРасход); //Виды движений приход/расход Запрос1.УстановитьПараметр("СписокБК", СписокБК); //Банковский счет, Кассы Запрос1.УстановитьПараметр("СписокВидовВзаиморасчетов", СписокВидовВзаиморасчетов); //Виды взаиморасчетов Запрос1.УстановитьПараметр("СписокСтатейДДС", СписокСтатейДДС); //Статьи движения денежных средств Результат = Запрос1.Выполнить(); ТЗВывод = Результат.Выгрузить(); //выгружаем запрос ВыводНаФорму(); //вывод КонецПроцедуры |
|||
1
Cube
29.10.12
✎
10:11
|
"ЛЕВОЕ СОЕДИНЕНИЕ" замени на "ПОЛНОЕ СОЕДИНЕНИЕ"
|
|||
2
spiller26
29.10.12
✎
10:13
|
(1) пропускает всё равно
|
|||
3
spiller26
29.10.12
✎
10:14
|
Индекс Период ПриходРасход СтатьяДДС ДатаДень
0 02.07.2012 0:00:00 Приход Оплата от покупателя 02.07.2012 0:00:00 1 03.07.2012 0:00:00 Приход Оплата от покупателя 03.07.2012 0:00:00 2 04.07.2012 0:00:00 Приход Оплата от покупателя 04.07.2012 0:00:00 3 05.07.2012 0:00:00 Приход Оплата от покупателя 05.07.2012 0:00:00 4 06.07.2012 0:00:00 Приход Оплата от покупателя 06.07.2012 0:00:00 5 09.07.2012 0:00:00 Приход Оплата от покупателя 09.07.2012 0:00:00 6 10.07.2012 0:00:00 Приход Оплата от покупателя 10.07.2012 0:00:00 7 11.07.2012 0:00:00 Приход Оплата от покупателя 11.07.2012 0:00:00 8 12.07.2012 0:00:00 Приход Оплата от покупателя 12.07.2012 0:00:00 9 13.07.2012 0:00:00 Приход Оплата от покупателя 13.07.2012 0:00:00 10 16.07.2012 0:00:00 Приход Оплата от покупателя 16.07.2012 0:00:00 11 17.07.2012 0:00:00 Приход Оплата от покупателя 17.07.2012 0:00:00 12 18.07.2012 0:00:00 Приход Оплата от покупателя 18.07.2012 0:00:00 13 19.07.2012 0:00:00 Приход Оплата от покупателя 19.07.2012 0:00:00 14 20.07.2012 0:00:00 Приход Оплата от покупателя 20.07.2012 0:00:00 15 23.07.2012 0:00:00 Приход Оплата от покупателя 23.07.2012 0:00:00 16 24.07.2012 0:00:00 Приход Оплата от покупателя 24.07.2012 0:00:00 17 25.07.2012 0:00:00 Приход Оплата от покупателя 25.07.2012 0:00:00 18 26.07.2012 0:00:00 Приход Оплата от покупателя 26.07.2012 0:00:00 19 27.07.2012 0:00:00 Приход Оплата от покупателя 27.07.2012 0:00:00 20 30.07.2012 0:00:00 Приход Оплата от покупателя 30.07.2012 0:00:00 21 31.07.2012 0:00:00 Приход Оплата от покупателя |
|||
4
Cube
29.10.12
✎
10:15
|
(2) Потому что у тебя есть конструкция ГДЕ - она всё режет после (1)
|
|||
5
butterbean
29.10.12
✎
10:16
|
(0) замени ГДЕ на И
|
|||
6
spiller26
29.10.12
✎
10:19
|
(5) Тогда условие не выполняется
|
|||
7
PCcomCat
29.10.12
✎
10:26
|
В левом соединении в скобках укажи условие по ПриходРасход, а из где убери, т.к. твоё условие срабатывает для результата объединения.
|
|||
8
PCcomCat
29.10.12
✎
10:27
|
+(7) Точнее, все свои ГДЕ в скобки как отбор для регистра конкретно.
|
|||
9
butterbean
29.10.12
✎
10:28
|
большинство из этих условий вообще надо запихнуть в параметры вирт. талицы
|
|||
10
spiller26
29.10.12
✎
10:47
|
(8) запихныл в параметры ВТ "ДвиженияДенежныхСредств" помогло
//основной запрос Запрос1 = Новый Запрос; Запрос1.МенеджерВременныхТаблиц = МенВрТаб; Запрос1.Текст = "ВЫБРАТЬ | ДвиженияДенежныхСредствОбороты.Период, | ДвиженияДенежныхСредствОбороты.Организация КАК Организация, | ДвиженияДенежныхСредствОбороты.БанковскийСчетКасса КАК БанковскийСчетКасса, | СУММА(ДвиженияДенежныхСредствОбороты.СуммаОборот) КАК СуммаОборот, | ДвиженияДенежныхСредствОбороты.ПриходРасход, | ДвиженияДенежныхСредствОбороты.ДоговорКонтрагента.ВидВзаиморасчетов КАК ВидыВзаиморасчетовДоговора, | ДвиженияДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств КАК СтатьяДДС, | ВыбДатаПериод.ДатаДень |ИЗ | ВыбДатаПериод КАК ВыбДатаПериод | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДвиженияДенежныхСредств.Обороты( | &НачалоПериода, | &КонецПериода, | День, | Организация = &Организация | И ПриходРасход = &ПриходРасход | И БанковскийСчетКасса В (&СписокБК) | И ДоговорКонтрагента.ВидВзаиморасчетов В (&СписокВидовВзаиморасчетов) | И СтатьяДвиженияДенежныхСредств В (&СписокСтатейДДС)) КАК ДвиженияДенежныхСредствОбороты | ПО ВыбДатаПериод.ДатаДень = ДвиженияДенежныхСредствОбороты.Период | |СГРУППИРОВАТЬ ПО | ДвиженияДенежныхСредствОбороты.Период, | ДвиженияДенежныхСредствОбороты.Организация, | ДвиженияДенежныхСредствОбороты.БанковскийСчетКасса, | ДвиженияДенежныхСредствОбороты.ПриходРасход, | ДвиженияДенежныхСредствОбороты.ДоговорКонтрагента.ВидВзаиморасчетов, | ДвиженияДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств, | ВыбДатаПериод.ДатаДень | |УПОРЯДОЧИТЬ ПО | Организация, | БанковскийСчетКасса, | ДвиженияДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств, | ДвиженияДенежныхСредствОбороты.Период"; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |