|
Меняющийся параметр запроса | ☑ | ||
---|---|---|---|---|
0
Vanilla26
15.05.12
✎
16:43
|
Помогите с запросом!
параметр устанавливается последний, в результате только последняя запись выборки..не могу вдуплить Для i=0 По МассивСсылок.Количество()-1 Цикл Запрос.УстановитьПараметр("СсылкаНаДокумент",МассивСсылок[i]); Если Не i=0 Тогда Запрос.Текст=Запрос.Текст+";"; КонецЕсли; Запрос.Текст=Запрос.Текст+" |ВЫБРАТЬ |Дата, |Номер, |ПричинаНетрудоспособности КАК Причина, |ДатаНачала, |ДатаОкончания, |Сотрудник, |Сотрудник.Код КАК ТабельныйНомер, |Сотрудник.ТекущееПодразделениеОрганизации КАК Подразделение, |Сотрудник.ТекущаяДолжностьОрганизации КАК Должность |ИЗ |Документ.НачислениеПоБольничномуЛисту |ГДЕ |Ссылка = &СсылкаНаДокумент |"; КонецЦикла; Выборка = Запрос.Выполнить().Выбрать(); |
|||
1
ASU_Diamond
15.05.12
✎
16:46
|
а если использовать:
|ГДЕ |Ссылка В &СписокДокументов ? |
|||
2
Ц_У
15.05.12
✎
16:47
|
(0) не понимаю смысла конструкции
|
|||
3
ASU_Diamond
15.05.12
✎
16:47
|
а так ты в цикле один и тот же параметр перезаписываешь
|
|||
4
spu79
15.05.12
✎
16:47
|
|Ссылка В (&СсылкаНаДокумент)
|
|||
5
ASU_Diamond
15.05.12
✎
16:47
|
(2) похоже что ТС хотел запрос по нескольким документам
|
|||
6
Mort
15.05.12
✎
16:47
|
(1)(4) Боюсь автору это не поможет особо.
|
|||
7
Mort
15.05.12
✎
16:48
|
Нужно ещё объяснить что в параметр весь массив ссылок передавать надо.
|
|||
8
Ц_У
15.05.12
✎
16:50
|
(0)
1. массив ссылок есть, его и используй сразу в отборе в запросе 2. вот так примерно: Запрос= Новый Запрос; Запрос.Текст=" |ВЫБРАТЬ |Дата, |Номер, |ПричинаНетрудоспособности КАК Причина, |ДатаНачала, |ДатаОкончания, |Сотрудник, |Сотрудник.Код КАК ТабельныйНомер, |Сотрудник.ТекущееПодразделениеОрганизации КАК Подразделение, |Сотрудник.ТекущаяДолжностьОрганизации КАК Должность |ИЗ |Документ.НачислениеПоБольничномуЛисту |ГДЕ |Ссылка В (&МассивСсылок) |"; Запрос.УстановитьПараметр("МассивСсылок",МассивСсылок); Выборка = Запрос.Выполнить().Выбрать(); |
|||
9
UFedor
15.05.12
✎
16:50
|
либо запрос нужно включить в цикл, либо использовать массив (список значений) как параметр запроса. наверное лучше второе
|
|||
10
andrewks
15.05.12
✎
16:50
|
Для i=0 По МассивСсылок.Количество()-1 Цикл
Запрос.УстановитьПараметр("СсылкаНаДокумент",МассивСсылок[i]); это пример гКодинга? |
|||
11
Vanilla26
15.05.12
✎
16:54
|
Ну я то уже понял что перезаписываю, а как сделать?
может воткнуть Выборка = Запрос.Выполнить() в цикл, а как потом туда ещё дописывать значения? (извините за ламерство если что, тока начинаю 1с изучать) |
|||
12
Mort
15.05.12
✎
16:57
|
(11) Читай (8) до полного просветления.
|
|||
13
ASU_Diamond
15.05.12
✎
16:57
|
(9) есть ещё такой вариант:
Для i=0 По МассивСсылок.Количество()-1 Цикл Запрос.УстановитьПараметр("СсылкаНаДокумент"+Формат(i,ЧислоВСтроку),МассивСсылок[i]); Если Не i=0 Тогда Запрос.Текст=Запрос.Текст+";"; КонецЕсли; Запрос.Текст=Запрос.Текст+" |ВЫБРАТЬ |Дата, |Номер, |ПричинаНетрудоспособности КАК Причина, |ДатаНачала, |ДатаОкончания, |Сотрудник, |Сотрудник.Код КАК ТабельныйНомер, |Сотрудник.ТекущееПодразделениеОрганизации КАК Подразделение, |Сотрудник.ТекущаяДолжностьОрганизации КАК Должность |ИЗ |Документ.НачислениеПоБольничномуЛисту |ГДЕ |Ссылка = &СсылкаНаДокумент"+Формат(i,ЧислоВСтроку)+" |"; КонецЦикла; |
|||
14
Vanilla26
15.05.12
✎
17:00
|
О спасибо великие гуру:) по 8 сделал
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |