| 
    
        
     
     | 
    
  | 
Отчет СКД, тонкая настройка... | ☑ | ||
|---|---|---|---|---|
| 
    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) Если работает корректно - значит, решение правильное     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |