Формирование Запросов

Новая тема
Если в окне задать список (перечисление), то как можно задать в запросе сортировку со значением выбранным в этом списке. Спасибо.
"Например нужно задать два способа граппировки

|Группировка ДатаПродажи;  или |Группировка НомерТелефона;

и должен выполняться только один ( и он выбирается по списку в окне)..



Нужно сделать примерно так

Если список = телефон тогда |Группировка НомерТелефона;

иначе |Группировка ДатаПродажи;



Но если в запросе не обрабатывается!!!!!

Или |Группировка КАКАЯТОПЕРЕМ

где КАКАЯТОПЕРЕМ = ВыборПоСписку(НомерТелефона,ДатаПродажи)....

Помогите пожалуйста!!!!!

"
"На сколько я понял нужен запрос с группировкой, выбираемой в юзером.

Вот примерчик накатал..  должно быть понятно...





перем ДатаОтбора, номер, условие;  // Это просто так. По хорошему они в форме стоят



номер = 10;

условие = 1;

ДатаОтбора = дата(01.05.2004);



Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса =

"//{{ЗАПРОС()

|ОС = Документ.ВводВЭксплуатациюОС.ТекущийДокумент;"

;



Если условие = 1 Тогда

                         

  ТекстЗапроса = ТекстЗапроса + "

  |Группировка ОС упорядочить по ОС.ДатаДок;

  |Условие(ОС.ДатаДок > ДатаОтбора);";

иначе                        

  ТекстЗапроса = ТекстЗапроса + "

  |Группировка ОС упорядочить по ОС.НомерДок;

  |Условие(ОС.НомерДок > номер);";

КонецЕсли;

ТекстЗапроса = ТекстЗапроса + "

|"//}}ЗАПРОС

;

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда

Возврат;

КонецЕсли;



Пока Запрос.Группировка(1) = 1 Цикл

            .......................

КонецЦикла;

 

Вроде должно быть понятно. При условие = 1 выбирает по дате документа, иначе по номеру



"
"Да !  Я вот тут подумал... Всё равно документы упорядочиваются обычно пономеру, тогда может легче сделать так:





условие = "|условие(МойДок."

Если что_то_тама тогда

условие = условие + "НомерТелефона = номер)";

иначе

условие = условие + "ДатаДок = ДатаДокумента )";

КонецЕсли;



Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса =

"//{{ЗАПРОС()

|МойДок = Документ.МойКрутойДокумент.ТекущийДокумент;

|Группировка МойДок упорядочить по МойДок.НомерДок;" + условие + "

|"//}}ЗАПРОС

;



В общем текст запроса - это обычный текст, строй его как хочешь, главное правильно что бы получился... из разных кусков собирай и всё будет абгемахт... :)"
Читают тему
(гостей: 1)

Быстрый переход