Имя: Пароль:
1C
 
Отчет СКД, тонкая настройка...
0 Alex_Kh_ua
 
25.02.18
15:43
Доброго времени суток, дорогие форумчане, пожалуйста помогите начинающему...
Есть отчет на СКД, http://prntscr.com/ijhb70 , нужно при его открытии, определенным пользователем (Настройка в справочнике Пользователи), что бы поле Организация всегда была заполнена организацией из справочника Пользователи. без возможности изменений. Как при быстром отборе, так и просто в настройках.

Честно, излазил полностью ЭтаФорма.Элементы, как на Клиенте так и на Сервере. Ничего не увидел.

Конфигурация самописная, управляемые формы, в режиме совместимости 8.2

Буду рад любому совету...
1 Alex_Kh_ua
 
25.02.18
15:49
Интересует конкретно это поле... http://prntscr.com/ijhh32
2 nordbox
 
25.02.18
15:54
Тебя в гугле забанили чо ли ? )))
https://forum.infostart.ru/forum9/topic12151/
3 Sapiens_bru
 
25.02.18
16:02
Гугли "ПриКомпоновкеРезультата"
4 Alex_Kh_ua
 
25.02.18
16:13
Да тут, как бы стоит задача и при открытии формы, что бы пользователю уже была забита Организация без права изменения и при формировании отчета тоже...
5 Cool_Profi
 
25.02.18
16:15
Проверить права, если надо при открытии пройтись по отборам и установить нужное значение и доступность?
Или проще - вынести организацию отдельным реквизитом и в ПриКомпоновкеРезультата ставить её куда нужно...
6 nordbox
 
25.02.18
16:39
Форму настройки сделать свою, форму отчета, там дел на 1 минуту, потом получить отбор, и установить доступность
7 kabanoff
 
25.02.18
16:53
То, что хочет сделать автор в (0), решается средствами СКД. Если значение отбора должно быть обязательным всегда, то это уже не отбор, а параметр отчета. На вкладке "Параметры" ему можно присвоить нужное значение и здесь же ограничить доступность поля. Если значение должно меняться от пользователя к пользователю - в колонку "Выражение" можно подставить нужную экспортную функцию общего модуля, которая в зависимости от значения пользователя вернет правильную организацию. Если функции нет - написать.

(6) Такие вот решения порождают 100500 никому не нужных форм, тем самым усложняя сопровождение конфигураций.
8 nordbox
 
25.02.18
17:02
(7) Ему по юзверю надо что бы проставлялось при открытии
9 kabanoff
 
25.02.18
17:16
(8) Ну значит ему нужно Выражение, как и написал в (6).
https://prnt.sc/ijiceb
10 nordbox
 
25.02.18
17:26
Ну вот и пусть делает ))
11 DexterMorgan
 
25.02.18
18:16
(7) погугли что такое фиксированные настройки СКД
12 iITmenedger
 
25.02.18
21:23
(0)В модуле отчета в событии ПриКомпоновкеДанных()

НовыйЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ПолеОтбора = Новый ПолеКомпоновкиДанных("Организация");
НовыйЭлементОтбора.ЛевоеЗначение    = ПолеОтбора;
НовыйЭлементОтбора.Использование    = Истина;
НовыйЭлементОтбора.ВидСравнения        = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ПравоеЗначение    = Справочники.Организация.НайтиПоКоду("Ваш код");
13 SleepyHead
 
гуру
26.02.18
05:34
(0) Создать параметр, в нем выбрать конкретную организацию, запретить изменять его значение и не выводить в пользовательские настройки.
14 DrZombi
 
гуру
26.02.18
06:58
(13) А если организаций несколько, по списку. То как твой параметр на УФ будет работать? :)
15 Alex_Kh_ua
 
26.02.18
13:09
В общем, я вышел из данной ситуации так, благо кода для опробования здесь выложили в достатке, за что отдельное спасибо.
1. Добавил реквизит "Организация" в отчет https://drive.google.com/open?id=1KbsVA2CcF0jmVk8d5cLYniOo8umXjzOb

2. Снял гаку отображения и быстрого доступа для отбора "Организация" в самом СКД. https://drive.google.com/open?id=1GpbEm7TyKIb18k9zY1SHEYTajBf223uK

3. В процедуре, СформироватьОтчетСервер() в которой было только     ЭтаФорма.СкомпоноватьРезультат();
Добавил следующий код  https://drive.google.com/open?id=1lHbaA0u9ncjnmVBiWdw8Pumztoy8uFqr

4. Получил нужный результат https://drive.google.com/file/d/191sB4tj0BYtqUJqVQXMc-ocFG1R9qJjF/view?usp=sharing

Теперь вопрос, на сколько правильным является моё решение данной задачи?
16 Cool_Profi
 
26.02.18
13:31
(15) Если работает корректно - значит, решение правильное