К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Помогите с запросом

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

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

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



Гость
1 - 28.10.2015 - 15:17
Отсюда текст запроса не виден.
Гость
2 - 28.10.2015 - 15:32
|Период с НачПериода По КонПериода;
|ОбрабатыватьДокументы Проведенные;
|ДатаДок = Документ.Реализация.ДатаДок;
|Номенклатура = Документ.Реализация.Номенклатура;
|Дог = Документ.Реализация.Договор;
*
Еще несколько полей ресурсов типа количества и прочего
несколько условий
несколько функций
*
|Группировка ДатаДок;
//------ Вот тут бы мне вместо группировки по дате воткнуть группировку по номеру периода.
|Группировка Дог без групп;
|Группировка Номенклатура без групп;
Вот как то так.
Гость
3 - 28.10.2015 - 15:53
ВЫБОР
КОГДА &Дата1 > Документ.Реализация.ДатаДок
ТОГДА 1
КОГДА &Дата2 > Документ.Реализация.ДатаДок
ТОГДА 2
ИНАЧЕ 3
КОНЕЦ КАК Показатель
//-------------
Группировка Показатель
Гость
4 - 28.10.2015 - 16:00
Это как бы для восьмерки, а мне для 77 нужно.
В общем решил не париться с запросом, точнее не использовать период в запросе.
Просто перебором таблицы результата запроса "свернул" ее сам, как мне нужно было. Получилось по времени около 10 сек, в то время как 1С командой СВЕРНУТЬ вешается минут на 20.
Гость
5 - 28.10.2015 - 18:04
2-sany81 > Группировка ДатаДок совсем не нужна, лишняя будет: запрос по умолчанию группирует по документам (т.е. по датевремени документа).
В запрос можно ввести произвольный реквизит, используя оператор Функция с условием. Этот реквизит так же можно использовать в группировках.
Гость
6 - 28.10.2015 - 21:31
5-VZ >Что то я не понял как это реквизит в группировка использовать.
К примеру ввожу реквизит:
|Функция НомерПериода = Сумма(НомерПериодаПоДате(ДатаДок));
Но вот при попытке сгруппировать по этому поля 1С выдает ошибку, что поле НомерПериода не найдено
|Группировка НомерПериода; - ОШИБКА
Гость
7 - 28.10.2015 - 22:04
потому что это не поле
Гость
8 - 29.10.2015 - 01:38
Семерка на марше!


К списку вопросов






Copyright ©, Все права защищены