|
Выгрузка результата запроса в таблицу значений | ☑ | ||
---|---|---|---|---|
0
Natali15
05.08.22
✎
16:13
|
Запрос1 = Новый Запрос("
|ВЫБРАТЬ | РеализацияТоваровУслуг.Ссылка КАК Ссылка, | РеализацияТоваровУслуг.НаправлениеДеятельности КАК НаправлениеДеятельности, | РеализацияТоваровУслуг.НаправлениеДеятельности.Комментарий КАК НаправлениеДеятельностиКомментарий, | РеализацияТоваровУслуг.ЗаказКлиента.ксВидРабот КАК ЗаказКлиентаксВидРабот, | ЗаказКлиентаТовары.Номенклатура КАК Номенклатура |ИЗ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары | ПО (РеализацияТоваровУслуг.ЗаказКлиента = ЗаказКлиентаТовары.Ссылка) | И (РеализацияТоваровУслуг.ксДокументОснование = ЗаказКлиентаТовары.Ссылка) |ГДЕ | РеализацияТоваровУслуг.ЗаказКлиента.ксДоговорСубподряда = &ксДоговорСубподряда | И РеализацияТоваровУслуг.Проведен = &Проведен | И РеализацияТоваровУслуг.Дата = &Дата | И РеализацияТоваровУслуг.ЗаказКлиента.ксСубподрядчикКонтрагент = &ксСубподрядчикКонтрагент"); Запрос1.УстановитьПараметр("Дата", Объект.НачалоПериода); Запрос1.УстановитьПараметр("ксДоговорСубподряда", Объект.ДоговорСубподрядчика); Запрос1.УстановитьПараметр("ксСубподрядчикКонтрагент", Объект.Субподрядчик); Запрос1.УстановитьПараметр("Проведен", Истина); РезультатЗапроса = Запрос1.Выполнить(); Таблица = РезультатЗапроса.Выгрузить(); Выборка = РезультатЗапроса.Выбрать(); ТЗ.Очистить(); Ном = 0; Пока Выборка.Следующий() Цикл Для каждого стр из Таблица Цикл НоваяСтрока = ТЗ.Добавить(); НоваяСтрока.Номер = Ном + 1; НоваяСтрока.НаименованиеОбъекта = стр.НаправлениеДеятельности; НоваяСтрока.ПолноеНаименованиеОбъекта = стр.НаправлениеДеятельностиКомментарий; НоваяСтрока.ЗаказКлиента = стр.Ссылка; НоваяСтрока.ВидРабот = стр.ЗаказКлиентаксВидРабот; НоваяСтрока.Содержание = стр.Номенклатура; Ном = Ном + 1; КонецЦикла; КонецЦикла; |
|||
1
Natali15
05.08.22
✎
16:15
|
(0) Нужно вывести все документы в таблицу значений по определенным параметрам, их должно быть 16 по параметрам которые задаю, но получается 256, то есть они по 16 раз каждый дублируется, объясните, пожалуйста, что неправильно делаю?
|
|||
2
Галахад
гуру
05.08.22
✎
16:16
|
Это чтобы в два раза лучше было? И выборка из запроса и перебор таблицы значений.
|
|||
3
Natali15
05.08.22
✎
16:18
|
(2) сначала без выборки делала, но выводил всего один документ
|
|||
4
6awkup_true
05.08.22
✎
16:19
|
(1) ты 16 строк обходишь 256 раз. два раза цикл делаешь. обходи либо выборку: пока выборка.следующий() цикл, либо тз: для каждого строка из тз цикл
|
|||
5
Natali15
05.08.22
✎
16:20
|
(4) Если обхожу ТЗ то вот 1 док выводится
|
|||
6
Галахад
гуру
05.08.22
✎
16:21
|
Покажи старый код?
|
|||
7
6awkup_true
05.08.22
✎
16:22
|
(5) у тебя количество записей в выборке и тз одинаковое. одни и те же данные. а вообще назови поля в запросе так же как колонки в Тз, куда добавляешь строки, и воспользуйся конструкцией
Тз.Загрузить(Запрос.Выполнить().Выгрузить()); тогда обход вообще не нужен будет |
|||
8
Natali15
05.08.22
✎
16:25
|
(7) Спасибо, все получилось
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |