![]() |
|
Сложности с решением задачи использования РЛС | ☑ | ||
---|---|---|---|---|
0
brato4karik
15.03.13
✎
15:57
|
Добрый день всем формучанам. Есть задача ограничить доступ к данным на уровне записей.
Для примера приведу регистр накопления который нужно "фильтровать" Имеет измерение Сотрудник и Период. В ресурсах храниться сумма(доход который заработал конкретный сотрудник) Поскольку необходимо отображать данные не только по сотруднику но и по группе(например руководитель подразделения - необходимо показать доходы подчиненных). Поскольку сотрудники могут быть перемещены из одного подразделения в др(могут менять руководителя) то каждый руководитель должен видеть доходы сотрудника только в том периоде когда работник подчинялся ему. Поскольку в регистре нет измерения(подразделение или руководитель), какой либо аналитики говорившей "для кого данный сотрудник принес доход в текущую дату" необходимо получать периоды подчинения сотрудника руководителю/подразделению вот собственно и вопрос, можно ли в параметры сеанса записать таблицу значений(или фиксированный массив из 3 колонок) а потом в шаблонах РЛС каким нибудь образом использовать такую таблицу в конструкции ЛЕВОЕ СОЕДИНЕНИЕ.???? |
|||
1
shuhard
15.03.13
✎
16:03
|
(0) что-то мешает использовать Рг сведений
|
|||
2
brato4karik
15.03.13
✎
16:05
|
ммм подробней? не понял обращения
|
|||
3
ОчкарикСлава
15.03.13
✎
16:05
|
А добавить "Подразделение" в регистр накопления если?
|
|||
4
MSII
15.03.13
✎
16:07
|
(0) Структура подчиненности сотрудников по периодам где-то же хранится, вот с этой таблицей и соединяй.
|
|||
5
brato4karik
15.03.13
✎
16:08
|
Да вариант технически возможный, придется перезаписать 72 580 000 записей(довольно много), предыдущая команда разработчиков довольно много допустила просчетов при закладке структуры. Поэтому сейчас не все удается перестроить.
|
|||
6
brato4karik
15.03.13
✎
16:10
|
(4) да как вариант довольно грамозкий запрос
вот такой, он сейчас получает показатели перед началом работы системы. но как в шаблон РЛС его вставить грамотно я пока сообразить не могу ВЫБРАТЬ ЯЦФОСотрудникаСрезПоследних.Сотрудник, ЯЦФОСотрудникаСрезПоследних.ЦФО, ЯЦФОСотрудникаСрезПоследних.Период, ЯЦФОСотрудникаСрезПоследних.ПричинаИзмененияСостояния ПОМЕСТИТЬ СрезСотрудникЦФО ИЗ РегистрСведений.ЯЦФОСотрудника КАК ЯЦФОСотрудникаСрезПоследних ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ &Сотрудник КАК Пользователь, ЯЦФО.Ссылка КАК ЦФО ПОМЕСТИТЬ ЦФОПозователя ИЗ Справочник.ЯЦФО КАК ЯЦФО ГДЕ ЯЦФО.Ссылка В ИЕРАРХИИ (ВЫБРАТЬ СрезСотрудникЦФО.ЦФО ИЗ СрезСотрудникЦФО КАК СрезСотрудникЦФО ГДЕ СрезСотрудникЦФО.Сотрудник = &Сотрудник) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ аа.ЦФО, аа.Сотрудник, ЕСТЬNULL(МИНИМУМ(аа1.Период), ДАТАВРЕМЯ(3999, 12, 31)) КАК КонецПривязки, аа.Период КАК НачалоПривязки, аа.ПричинаИзмененияСостояния ПОМЕСТИТЬ ПериодыПодчинения ИЗ СрезСотрудникЦФО КАК аа ЛЕВОЕ СОЕДИНЕНИЕ СрезСотрудникЦФО КАК аа1 ПО аа.Сотрудник = аа1.Сотрудник И аа.Период < аа1.Период ГДЕ аа.ПричинаИзмененияСостояния <> &ПричинаИзмененияСостояния СГРУППИРОВАТЬ ПО аа.ЦФО, аа.Период, аа.Сотрудник, аа.ПричинаИзмененияСостояния ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЦФОПозователя.Пользователь, ЦФОПозователя.ЦФО, ПериодыПодчинения.Сотрудник, ПериодыПодчинения.КонецПривязки, ПериодыПодчинения.НачалоПривязки ПОМЕСТИТЬ ДоКлиентов ИЗ ЦФОПозователя КАК ЦФОПозователя ЛЕВОЕ СОЕДИНЕНИЕ ПериодыПодчинения КАК ПериодыПодчинения ПО ЦФОПозователя.ЦФО = ПериодыПодчинения.ЦФО ГДЕ ВЫБОР КОГДА &КоличествоПодчиненных > 1 ТОГДА 1 = 1 ИНАЧЕ ПериодыПодчинения.Сотрудник = &Сотрудник КОНЕЦ ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДоКлиентов.Пользователь, ДоКлиентов.ЦФО, ДоКлиентов.Сотрудник, ДоКлиентов.КонецПривязки, ДоКлиентов.НачалоПривязки, ЯКлиентСейлз.Клиент ПОМЕСТИТЬ ДоДоговора ИЗ ДоКлиентов КАК ДоКлиентов ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЯКлиентСейлз КАК ЯКлиентСейлз ПО ДоКлиентов.Сотрудник = ЯКлиентСейлз.Сейлз ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДоДоговора.Пользователь, ДоДоговора.ЦФО, ДоДоговора.Сотрудник, ДоДоговора.КонецПривязки, ДоДоговора.НачалоПривязки, ДоДоговора.Клиент, ЯКлиентДоговор.Договор ИЗ ДоДоговора КАК ДоДоговора ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЯКлиентДоговор КАК ЯКлиентДоговор ПО ДоДоговора.Клиент = ЯКлиентДоговор.Клиент |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |