Как запросом запихнуть в реквизит несколько элементов из справочника?

1. arsen_botashev 21.02.19 16:49 Сейчас в теме
Здравствуйте, заполняю табличную часть формы из запроса, при выборе подразделения.
Выбираю подразделение, заполняется ТЧ, там реквизиты, Риск, Причина.
так вот как запихнуть несколько элементов из справочника в реквизит Причины?
У меня заполняется так:
Риск Причина
риск1 Причина1
риск1 Причина2

А надо чтоб было:
Риск Причина
риск1 Причина1,Причина2


надеюсь доступно объяснил.

Объект.Причины.Очистить();
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	Услуги.Ссылка,
	|	ПричиныРисков.Ссылка КАК Причины
	|ИЗ
	|	Справочник.Услуги КАК Услуги
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПричиныРисков КАК ПричиныРисков
	|		ПО Услуги.Ссылка = ПричиныРисков.Владелец
	|ГДЕ
	|	Услуги.Ссылка В ИЕРАРХИИ(&Подразделение)
	|	И Услуги.ЭтоГруппа = ЛОЖЬ";
	
	Запрос.УстановитьПараметр("Подразделение", Объект.Подразделение);
	
	Выборка = Запрос.Выполнить().Выбрать();
	
	Пока Выборка.Следующий() Цикл
		НоваяСтрока = Объект.Причины.Добавить();
		НоваяСтрока.Риск = Выборка.Ссылка;
		НоваяСтрока.Причина = Выборка.Причины; 
	КонецЦикла;

Показать
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ranis888 104 21.02.19 16:55 Сейчас в теме
НоваяСтрока.Причина = НоваяСтрока.Причина +", "+ Выборка.Причины; 
+
3. arsen_botashev 21.02.19 17:05 Сейчас в теме
4. VmvLer 21.02.19 17:18 Сейчас в теме
ИТОГИ ПО
Ссылка

Будет два цикла

в первом(внешнем) выборка по группировке рисков
во втором(вложенном) по детальным записям где и собираем все причины текущего риска(ссылки)
+
5. arsen_botashev 21.02.19 17:25 Сейчас в теме
(4)Можете примерное написать как выглядят эти циклы?
Или поправьте меня:
	Объект.Причины.Очистить();
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	Услуги.Ссылка КАК Ссылка,
	|	ПричиныРисков.Ссылка КАК Причины
	|ИЗ
	|	Справочник.Услуги КАК Услуги
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПричиныРисков КАК ПричиныРисков
	|		ПО Услуги.Ссылка = ПричиныРисков.Владелец
	|ГДЕ
	|	Услуги.Ссылка В ИЕРАРХИИ(&Подразделение)
	|	И Услуги.ЭтоГруппа = ЛОЖЬ
	|	И ПричиныРисков.ПометкаУдаления = ЛОЖЬ
	|ИТОГИ ПО
	|	Ссылка";
	
	Запрос.УстановитьПараметр("Подразделение", Объект.Подразделение);
	
	Выборка = Запрос.Выполнить().Выбрать();
	
	Пока Выборка.Следующий(ОбходРезультатаЗапроса.ПоГруппировкам) Цикл
		НоваяСтрока = Объект.Причины.Добавить();
		НоваяСтрока.Риск = Выборка.Ссылка;
		ВыборкаПричин = Выборка;
		Пока ВыборкаПричин.Следующий() Цикл
		НоваяСтрока.Причина = Выборка.Причины;
		КонецЦикла;
	КонецЦикла;

Показать
+
6. VmvLer 21.02.19 17:34 Сейчас в теме
//
	// В запросе должна быть секция "ИТОГИ ПО Склад", тогда выборка  будет иметь вид:
	//
	// Склад 1 ____
	//               |____ Товар 1
	//               ..........................................................
	//               ..........................................................
	//               |____ Товар n
	//               ..........................................................
	// ........................................................................
	// Склад n
	
	// Обход выборок по группировкам как в примере выше и обработка документов
	ВыборкаСклады = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
	Пока ВыборкаСклады.Следующий() Цикл
		тСклад = ВыборкаСклады.Склад;
		
		мПричины = Новый Массив;
		ВыборкаТовары = ВыборкаСклады.Выбрать(); // Это детальные записи
		Пока ВыборкаТовары.Следующий() Цикл
			тТовар = ВыборкаТовары.Товар; 
			мПричины.Вставить(тТовар.Наименование); // Тут собираем нечто в массив строк
		КонецЦикла; // ВыборкаТовары
		КоллекцияПричинСтрокой = СтрСоединить(мПричины, ","); // Конвертируем массив строк в одну строку  
		
	КонецЦикла; // ВыборкаСклады
Показать
+
7. arsen_botashev 21.02.19 17:44 Сейчас в теме
(6)Не видит СтрСоединить, пишет не определена?

Объект.Причины.Очистить();
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	Услуги.Ссылка КАК Ссылка,
	|	ПричиныРисков.Ссылка КАК Причины
	|ИЗ
	|	Справочник.Услуги КАК Услуги
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ПричиныРисков КАК ПричиныРисков
	|		ПО Услуги.Ссылка = ПричиныРисков.Владелец
	|ГДЕ
	|	Услуги.Ссылка В ИЕРАРХИИ(&Подразделение)
	|	И Услуги.ЭтоГруппа = ЛОЖЬ
	|	И ПричиныРисков.ПометкаУдаления = ЛОЖЬ
	|ИТОГИ ПО
	|	Ссылка";
	
	Запрос.УстановитьПараметр("Подразделение", Объект.Подразделение);
	
	Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
	
	Пока Выборка.Следующий(ОбходРезультатаЗапроса.ПоГруппировкам) Цикл
		НоваяСтрока = Объект.Причины.Добавить();
		НоваяСтрока.Риск = Выборка.Ссылка;
		мПричины = Новый Массив;
		ВыборкаПричин = Выборка.Выбрать();
		Пока ВыборкаПричин.Следующий() Цикл
		НоваяСтрока.Причина = Выборка.Причины;
		мПричины.Вставить(НоваяСтрока.Причина.Наименование);
	КонецЦикла;
	КоллекцияПричин = СтрСоединить(мПричины, ",");
	КонецЦикла;
Показать
+
8. VmvLer 21.02.19 18:49 Сейчас в теме
(7) платформа древняя. тогда как в (2)
+
9. dim_1c 21.02.19 18:50 Сейчас в теме
(7) Эта функция была добавлена в 8.3.6.1977. У Вас режим совместимости 8.3.5 или ниже.
+
Внимание! Тема сдана в архив

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