• 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

Значения табличной части Спр. через запятую

  • Автор темы Автор темы nikh848
  • Дата начала Дата начала
N

nikh848

Привет Всем
Подскажите пож. как дальше продолжить (1C 8.1):
Код:
ТЗ = Новый ТаблицаЗначений;
тз.Колонки.Добавить("Наименование");
тз.Колонки.Добавить("Субконто");

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Наименование,
| Ссылка
|ИЗ
| Справочник.операндыПоказателей";

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий()>0 Цикл
НоваяСтрока = ТЗ.Добавить();
НоваяСтрока.Наименование = Выборка.Наименование;

НоваяСтрока.Субконто =
Чтобы в 1 колонке ТЗ отобразить наименования,
в 2 колонке Субконто перечислить через запятую все значения которые хранятся
в табличной части Справочника "ОперандыПоказателей";
 
Не претендую на правильность, но попробуйте, как вариант:

<!--shcode--><pre><code class='1с'>ТЗ = Новый ТаблицаЗначений;
тз.Колонки.Добавить("Наименование");
тз.Колонки.Добавить("Субконто");

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ТабЧасть.РеквизитТабЧасти,
| ТабЧасть.Ссылка.Наименование,
| ТабЧасть.Ссылка.Ссылка
|ИЗ
| Справочник.операндыПоказателей.НаименованиеТабЧасти КАК ТабЧасть
|ИТОГИ ПО
| Наименование";

РезультатЗапроса = Запрос.Выполнить();

ВыборкаПоНаименованию = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Наименование");
Пока ВыборкаПоНаименованию.Следующий() Цикл
НоваяСтрока = ТЗ.Добавить();
НоваяСтрока.Наименование = ВыборкаПоНаименованию.Наименование;

// сформируем строку со значениями через запятую из таб. части справочника
НачалоСтроки = Истина;
Выборка = ВыборкаПоНаименованию.Выбрать();
Пока Выборка.Следующий() Цикл
Если НачалоСтроки Тогда
СтрокаССубконто = Строка(Выборка.РеквизитТабЧасти);
НачалоСтроки = Ложь;
Иначе
СтрокаССубконто = СтрокаССубконто + ", " + Выборка.РеквизитТабЧасти;
КонецЕсли;
КонецЦикла;

НоваяСтрока.Субконто = СтрокаССубконто;

КонецЦикла;[/CODE]

РеквизитТабЧасти - название реквизита табличной части из справочника,
НаименованиеТабЧасти - наименование табличной части справочника

Переменную "СтрокаССубконто" можно попробовать заменить на НоваяСтрока.Субконто
 
Отлично, работает.
Большое спасибо!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD