Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 мая 2024, 01:12

ТаблицаЗначений() Объединить одинаковые строки и вывести через запятую.

Автор Infinitum, 04 дек 2016, 15:32

0 Пользователей и 1 гость просматривают эту тему.

Infinitum

Добрый день форумчане!

проблемка в следующем:

Имеется Таблица значений:








ОрганизацииПользователиРоли
Фирма1АлександрАдминистраторы
Фирма1АлександрДиректор
Фирма2АлександрАдминистраторы
Фирма1СветланаГлавный Бухгалтер
Фирма2СветланаГлавный Бухгалтер



и т.д...

А как правильно сделать так:







ОрганизацииПользователиРоли
Фирма1,Фирма2АлександрАдминистраторы
Фирма1АлександрДиректор
Фирма1,Фирма2СветланаГлавный Бухгалтер


?

alex0402

Цитата: Infinitum от 04 дек 2016, 15:32Имеется Таблица значений:


Для каждого Стр из ИмеетсяТаблицаЗначений Цикл
Поместить в новую таблицу после поиска
КонецЦикла
Спасибо за Сказать спасибо

Infinitum

Цитата: alex0402 от 04 дек 2016, 16:14
Цитата: Infinitum от 04 дек 2016, 15:32Имеется Таблица значений:


Для каждого Стр из ИмеетсяТаблицаЗначений Цикл
Поместить в новую таблицу после поиска
КонецЦикла


"Поместить в новую таблицу после поиска "

Про поиске если можно по подробнее)

Помогите чайнику)

alex0402


НоваяТаблица = ИмеетсяТаблицаЗначений.СкопироватьКолонки();
СтруктураДляПоиска = Новый Структура("Пользователи,Роли");
Для каждого Стр из ИмеетсяТаблицаЗначений Цикл
    ЗаполнитьЗначенияСвойств(СтруктураДляПоиска,Стр);
    нСтроки = НоваяТаблица.НайтиСтроки(СтруктураДляПоиска);
    Если нСтроки.Количество() = 0 Тогда
        ЗаполнитьЗначенияСвойств(НоваяТаблица.Добавить(),Стр);
    Иначе
        нСтроки[0].Органицции = нСтроки[0].Органицции + "," + Стр.Организации
    КонецЕсли;
КонецЦикла
Спасибо за Сказать спасибо

Infinitum

Цитата: alex0402 от 04 дек 2016, 16:34

НоваяТаблица = ИмеетсяТаблицаЗначений.СкопироватьКолонки();
СтруктураДляПоиска = Новый Структура("Пользователи,Роли");
Для каждого Стр из ИмеетсяТаблицаЗначений Цикл
    ЗаполнитьЗначенияСвойств(СтруктураДляПоиска,Стр);
    нСтроки = НоваяТаблица.НайтиСтроки(СтруктураДляПоиска);
    Если нСтроки.Количество() = 0 Тогда
        ЗаполнитьЗначенияСвойств(НоваяТаблица.Добавить(),Стр);
    Иначе
        нСтроки[0].Органицции = нСтроки[0].Органицции + "," + Стр.Организации
    КонецЕсли;
КонецЦикла




логика понятная))
Спасибо)

но появляется ошибка:

{Форма.Форма(62)}: Преобразование значения к типу Число не может быть выполнено
         нСтроки[0].Организация = нСтроки[0].Организация + "," + Стр.Организация;


Добавлено: 04 дек 2016, 17:41


Вопрос закрыт!))))
Огромное спасибо!!!))

Теги: одинаковые 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск