ТЗ с отбором

1. Qwert_23 29.06.20 15:58 Сейчас в теме
Добрый день.
Как в ТЗ можно в отбор добавить список значений;

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

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

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

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот