Помогите с запросом Добрый день. в запросе выбираю: ДатаДок, Номенклатура, Договор. Так же необходимо в запросе выбрать номер периода по условию Если (ДатаДок>Дата1) и (ДатаДок< Дата2) Тогда Период=1; Если (ДатаДок>Дата3) и (ДатаДок< Дата4) Тогда Период=1; Если (ДатаДок>Дата5) и (ДатаДок< Дата6) Тогда Период=1; Можно ли как то получить номер периода в самом запросе и при это сгруппировать по этому полю, а так же по полю Номенклатура и Договор? Просто результате запроса получается довольно таки огромная табличка, и при ее свертки 1С зависает. А так я подсократил бы ее как минимум в 7 раз |
Отсюда текст запроса не виден. |
|Период с НачПериода По КонПериода; |ОбрабатыватьДокументы Проведенные; |ДатаДок = Документ.Реализация.ДатаДок; |Номенклатура = Документ.Реализация.Номенклатура; |Дог = Документ.Реализация.Договор; * Еще несколько полей ресурсов типа количества и прочего несколько условий несколько функций * |Группировка ДатаДок; //------ Вот тут бы мне вместо группировки по дате воткнуть группировку по номеру периода. |Группировка Дог без групп; |Группировка Номенклатура без групп; Вот как то так. |
ВЫБОР КОГДА &Дата1 > Документ.Реализация.ДатаДок ТОГДА 1 КОГДА &Дата2 > Документ.Реализация.ДатаДок ТОГДА 2 ИНАЧЕ 3 КОНЕЦ КАК Показатель //------------- Группировка Показатель |
Это как бы для восьмерки, а мне для 77 нужно. В общем решил не париться с запросом, точнее не использовать период в запросе. Просто перебором таблицы результата запроса "свернул" ее сам, как мне нужно было. Получилось по времени около 10 сек, в то время как 1С командой СВЕРНУТЬ вешается минут на 20. |
2-sany81 > Группировка ДатаДок совсем не нужна, лишняя будет: запрос по умолчанию группирует по документам (т.е. по датевремени документа). В запрос можно ввести произвольный реквизит, используя оператор [b]Функция[/b] с условием. Этот реквизит так же можно использовать в группировках. |
5-VZ >Что то я не понял как это реквизит в группировка использовать. К примеру ввожу реквизит: |Функция НомерПериода = Сумма(НомерПериодаПоДате(ДатаДок)); Но вот при попытке сгруппировать по этому поля 1С выдает ошибку, что поле НомерПериода не найдено |Группировка НомерПериода; - ОШИБКА |
потому что это не поле |
Семерка на марше! |
Текущее время: 18:12. Часовой пояс GMT +3. |