|
v8.3.Сводный отчет из двух справочников | ☑ | ||
---|---|---|---|---|
0
smartem
25.06.14
✎
16:14
|
Добрый день!
Коллеги, прошу подсказать, весь день разбирался, но видимо начальных знаний не хватает. В чем суть: Есть два справочника: "Компетенции" и "Сотрудники". В справочнике "Сотрудники" есть табличная часть "ТекущиеКомпетенции", в котором есть реквизит наименование как ссылка на Справочник.Компетенции. Необходимо создать отчет (табличный), в котором левая крайняя колонка, это перечень всех компетенций из справочника "Компетенции", остальные колонки это все сотрудники из справочника "Сотрудники". На пересечении строк с компетенцией и конкретного сотрудника ставить "1", в случае, если указанная компетенция есть у сотрудника в табличной части. Интересует, есть ли возможность создать такой отчет? Если да, то каким способом? Готовое решение не прошу, но вот от подсказки: в каком направлении смотреть, не отказался бы ) |
|||
1
Azverin
25.06.14
✎
16:20
|
(0) держи: http://infostart.ru/public/18766/
|
|||
2
Azverin
25.06.14
✎
16:26
|
+(1)
Макет = ПолучитьМакет("Макет"); Макет.ПолучитьОбласть("Шапка|ПервыйСтолбец"); ТабДок.Вывести(Макет.ПолучитьОбласть("Шапка|ПервыйСтолбец")); Для Каждого Роль из Метаданные.Роли Цикл Область = Макет.ПолучитьОбласть("Шапка|Столбец"); Область.Параметры.Роль = Роль; ТабДок.Присоединить(Область); КонецЦикла; ТабДок.Присоединить(Макет.ПолучитьОбласть("Шапка|ПоследнийСтолбец")); ТабПользователей = Новый ТаблицаЗначений; ТабПользователей.Колонки.Добавить("Пользователь"); ТабПользователей.Колонки.Добавить("Имя"); Для Каждого Пользователь из ПользователиИнформационнойБазы.ПолучитьПользователей() Цикл НоваяСтрока = ТабПользователей.Добавить(); НоваяСтрока.Пользователь = Пользователь; НоваяСтрока.Имя = Пользователь.Имя; КонецЦикла; ТабПользователей.Сортировать("Имя"); Для Каждого СтрокаТЗ из ТабПользователей Цикл Пользователь = СтрокаТЗ.Пользователь; Область = Макет.ПолучитьОбласть("Строка|ПервыйСтолбец"); Область.Параметры.Пользователь = Пользователь.Имя; ТабДок.Вывести(Область); Для Каждого Роль из Метаданные.Роли Цикл Область = Макет.ПолучитьОбласть("Строка|Столбец"); Область.Параметры.РольДоступна = Пользователь.Роли.Содержит(Роль); Область.Параметры.ПользовательРоль = Новый Структура("Пользователь, Роль", Пользователь, Роль); ТабДок.Присоединить(Область); КонецЦикла; ТабДок.Присоединить(Макет.ПолучитьОбласть("Строка|ПоследнийСтолбец")); КонецЦикла; ТабДок.Вывести(Макет.ПолучитьОбласть("Подвал|ПервыйСтолбец")); Для Каждого Роль из Метаданные.Роли Цикл Область = Макет.ПолучитьОбласть("Подвал|Столбец"); ТабДок.Присоединить(Область); КонецЦикла; ТабДок.Присоединить(Макет.ПолучитьОбласть("Подвал|ПоследнийСтолбец")); |
|||
3
SUA
25.06.14
✎
16:38
|
скд сама нарисует
компетенции + характеристиками к ним сотрудники ну и простая таблица |
|||
4
SUA
25.06.14
✎
16:38
|
ну или джойном даже лучше
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |