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

Тема в разделе "1C и всё что с ней связано", создана пользователем nikh848, 25 ноя 2009.

  1. nikh848

    nikh848 Гость

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

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

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

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

    sannt Гость

    Не претендую на правильность, но попробуйте, как вариант:

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

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

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

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

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

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

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

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

    Переменную "СтрокаССубконто" можно попробовать заменить на НоваяСтрока.Субконто
     
  3. nikh848

    nikh848 Гость

    Отлично, работает.
    Большое спасибо!
     
Загрузка...

Поделиться этой страницей