1. Светлана_23 29.06.20 15:58 Сейчас в теме

ТЗ с отбором

Добрый день.
Как в ТЗ можно в отбор добавить список значений;

Отбор = Новый Структура;
Отбор.Вставить("Документ", Док);
ТЗ = ТЗ.Скопировать(Отбор);

Док - это список значений с формы, сейчас конечно добавляется последнее значение
Найденные решения
7. Светлана_23 30.06.20 09:09 Сейчас в теме
Сделала так:
Если ЗначениеЗаполнено(Док) Тогда	
		ТЗ=тз1.СкопироватьКолонки();
		ТЗ_Тест=тз1.СкопироватьКолонки();
		для каждого Стр из Док цикл
			ТЗ = ТЗ1.НайтиСтроки(Новый Структура("Документ", Док.Значение));
			Для Каждого Строка Из ТЗ Цикл
				НоваяСтрока = ТЗ_Тест.Добавить();
				ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
			Конеццикла;
		КонецЦикла;
		тз1=тз_Тест.Скопировать();
	КонецЕсли;
Показать
Остальные ответы
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 47 29.06.20 16:01 Сейчас в теме
(1)Никак. Циклически выполняйте поиск по каждому значению из набора.
3. Светлана_23 29.06.20 16:02 Сейчас в теме
(2) построительзапроса тоже работать не будет? просто ТЗ очень большая
4. nomad_irk 47 29.06.20 16:12 Сейчас в теме
(3)Построитель будет, но не факт, что будет быстрее, чем циклом.

Я специально тестировал этот момент на 1М ТЗ, запросом получилось 13 секунд, циклом - порядка 0.7 секунды.
5. andy_zhav 173 29.06.20 16:19 Сейчас в теме
(1) ТЗ = ТЗ.НайтиСтроки(Новый Структура("Документ", Док));
6. EVKash 7 29.06.20 16:44 Сейчас в теме
(5) Ну получите вы массив строк вместо таблицы значений как в 1.
Ключевой момент, что Док - это список значений.
Светлана_23; +1 Ответить
7. Светлана_23 30.06.20 09:09 Сейчас в теме
Сделала так:
Если ЗначениеЗаполнено(Док) Тогда	
		ТЗ=тз1.СкопироватьКолонки();
		ТЗ_Тест=тз1.СкопироватьКолонки();
		для каждого Стр из Док цикл
			ТЗ = ТЗ1.НайтиСтроки(Новый Структура("Документ", Док.Значение));
			Для Каждого Строка Из ТЗ Цикл
				НоваяСтрока = ТЗ_Тест.Добавить();
				ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
			Конеццикла;
		КонецЦикла;
		тз1=тз_Тест.Скопировать();
	КонецЕсли;
Показать
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата до 150 000 руб.
Полный день

Программист 1С
Екатеринбург
зарплата от 80 000 руб. до 130 000 руб.
Полный день

Ведущий программист 1С
Москва
зарплата от 150 000 руб.
Полный день

Ведущий программист 1С (УТ 11)
Москва
зарплата до 200 000 руб.
Полный день