|
Не заполняется макет таблицы данными запроса | ☑ | ||
---|---|---|---|---|
0
sidalexsandr
13.11.12
✎
16:54
|
Пишу следующий код:
...... РезультатЗапроса = Запрос.Выполнить(); Если Не (РезультатЗапроса .Пустой()) Тогда Область = Макет.ПолучитьОбласть("Строка1"); КомплНаимКолво = РезультатЗапроса.Выбрать(); Область.Параметры.Заполнить(КомплНаимКолво); ТабДок.Вывести(Область); КонецЕсли; Вопрос: Почему в макет не попадают данные из запроса? |
|||
1
mikecool
13.11.12
✎
16:55
|
Если Не (РезультатЗапроса .Пустой()) Тогда
Область = Макет.ПолучитьОбласть("Строка1"); РезультатЗапроса.Выбрать(); Если РезультатЗапроса.Следующий() Тогда Область.Параметры.Заполнить(РезультатЗапроса); КонецЕсли; ТабДок.Вывести(Область); КонецЕсли; |
|||
2
mikecool
13.11.12
✎
16:55
|
продпм недорого СП
|
|||
3
mikecool
13.11.12
✎
16:56
|
пля, продам*
|
|||
4
GLazNik
13.11.12
✎
16:56
|
(0) а КомплНаимКолво.Следующий() не забыли?
|
|||
5
mikecool
13.11.12
✎
16:57
|
(4) о, точно, выборка же переменной должна быть )
тогда так Если РезультатЗапроса.Выбрать().Следующий() Тогда |
|||
6
mikecool
13.11.12
✎
16:57
|
все, не хочу больше переписывать )
|
|||
7
GLazNik
13.11.12
✎
16:58
|
(5) чет совсем не туда... заработался? :)
|
|||
8
mikecool
13.11.12
✎
16:59
|
(7) чо не туда? если не надо брать результат - нормально
а так - выборку ндоть брать |
|||
9
sidalexsandr
13.11.12
✎
17:01
|
Спасибо.
|
|||
10
sidalexsandr
13.11.12
✎
17:10
|
(5) Написал:
РезЗапроса = ВернутьКомплектНаимКолво(ТекСтрокаТовары.Комплект); Если Не (РезЗапроса.Пустой()) Тогда Область = Макет.ПолучитьОбласть("Строка1"); КомплНаимКолво = РезЗапроса.Выбрать().Следующий(); Область.Параметры.Заполнить(КомплНаимКолво); //КомплНаимКолво = КомплНаимКолво.Следующий(); ТабДок.Вывести(Область); КонецЕсли; Выдает ошибку: {Документ.ЗаявкаНаПроизводство.Форма.ФормаДокумента.Форма(871)}: Ошибка при вызове метода контекста (Заполнить) Область.Параметры.Заполнить(КомплНаимКолво); по причине: Несоответствие типов (параметр номер '1') |
|||
11
sidalexsandr
13.11.12
✎
17:13
|
(5) Следующий() я не использовал потому, что этот метод получит только одну одну запись (иначе надо цикл), а у меня результат запроса содержит несколько строк.
Спрошу ещё раз: Как данными запроса содержащего больше одной строки заполнить макет таблицы? |
|||
12
vicof
13.11.12
✎
17:16
|
(11) Я знаю того, кто продает СП недорого.
Пока Выборка.Следующий() ЦИкл ... КОнецЦикла |
|||
13
sidalexsandr
13.11.12
✎
17:17
|
(12) Циклом я знаю, как, но неужели нет метода напрямую выгрузить все строки запроса сразу в макет таблицы?
|
|||
14
GLazNik
13.11.12
✎
17:18
|
(11) Как у вас макет отработает если в результате 10 строк? а 100? а 1000? как оно выводить будет?
А так... есть еще такие метод у таб. документа как ВывестиОбласть (13) нет |
|||
15
sidalexsandr
13.11.12
✎
17:21
|
(14) Грустно. Ладно буду делать с помощью цикла.
|
|||
16
sidalexsandr
13.11.12
✎
17:30
|
Вот рабочее решение: РезЗапроса = ВернутьКомплектНаимКолво(ТекСтрокаТовары.Комплект);
Если Не (РезЗапроса.Пустой()) Тогда КомплНаимКолво = РезЗапроса.Выбрать(); Пока КомплНаимКолво.Следующий() Цикл Область = Макет.ПолучитьОбласть("Строка1"); Область.Параметры.Заполнить(КомплНаимКолво); ТабДок.Вывести(Область); КонецЦикла; КонецЕсли; Заполняет колонки макета автоматом из запроса, а цикл по строкам надо писать. Спасибо всем. Закрывайте ветку. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |