Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Помогите с запросом (http://forums.kuban.ru/f1040/pomogite_s_zaprosom-7284464.html)

Sany81 28.10.2015 14:52

Помогите с запросом
 
Добрый день.
в запросе выбираю: ДатаДок, Номенклатура, Договор. Так же необходимо в запросе выбрать номер периода по условию
Если (ДатаДок>Дата1) и (ДатаДок< Дата2) Тогда Период=1;
Если (ДатаДок>Дата3) и (ДатаДок< Дата4) Тогда Период=1;
Если (ДатаДок>Дата5) и (ДатаДок< Дата6) Тогда Период=1;

Можно ли как то получить номер периода в самом запросе и при это сгруппировать по этому полю, а так же по полю Номенклатура и Договор?

Просто результате запроса получается довольно таки огромная табличка, и при ее свертки 1С зависает. А так я подсократил бы ее как минимум в 7 раз

VZ 28.10.2015 15:17

Отсюда текст запроса не виден.

Sany81 28.10.2015 15:32

|Период с НачПериода По КонПериода;
|ОбрабатыватьДокументы Проведенные;
|ДатаДок = Документ.Реализация.ДатаДок;
|Номенклатура = Документ.Реализация.Номенклатура;
|Дог = Документ.Реализация.Договор;
*
Еще несколько полей ресурсов типа количества и прочего
несколько условий
несколько функций
*
|Группировка ДатаДок;
//------ Вот тут бы мне вместо группировки по дате воткнуть группировку по номеру периода.
|Группировка Дог без групп;
|Группировка Номенклатура без групп;
Вот как то так.

seugenys 28.10.2015 15:53

ВЫБОР
КОГДА &Дата1 > Документ.Реализация.ДатаДок
ТОГДА 1
КОГДА &Дата2 > Документ.Реализация.ДатаДок
ТОГДА 2
ИНАЧЕ 3
КОНЕЦ КАК Показатель
//-------------
Группировка Показатель

Sany81 28.10.2015 16:00

Это как бы для восьмерки, а мне для 77 нужно.
В общем решил не париться с запросом, точнее не использовать период в запросе.
Просто перебором таблицы результата запроса "свернул" ее сам, как мне нужно было. Получилось по времени около 10 сек, в то время как 1С командой СВЕРНУТЬ вешается минут на 20.

VZ 28.10.2015 18:04

2-sany81 > Группировка ДатаДок совсем не нужна, лишняя будет: запрос по умолчанию группирует по документам (т.е. по датевремени документа).
В запрос можно ввести произвольный реквизит, используя оператор [b]Функция[/b] с условием. Этот реквизит так же можно использовать в группировках.

Sany81 28.10.2015 21:31

5-VZ >Что то я не понял как это реквизит в группировка использовать.
К примеру ввожу реквизит:
|Функция НомерПериода = Сумма(НомерПериодаПоДате(ДатаДок));
Но вот при попытке сгруппировать по этому поля 1С выдает ошибку, что поле НомерПериода не найдено
|Группировка НомерПериода; - ОШИБКА

qweqwe123123 28.10.2015 22:04

потому что это не поле

Morons 29.10.2015 01:38

Семерка на марше!


Текущее время: 18:12. Часовой пояс GMT +3.