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