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

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

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


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

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

Показать
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. ranis888 101 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 или ниже.
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

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

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

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)