Имя: Пароль:
1C
1С v8
установить значение в форме. клиент-сервер
0 Morphus
 
22.07.15
06:03
Доброго времени суток. Проблема, наверно, более чем глупая, но нужно быстро решить. Просто тока начал с клиент-сервер архитектурой работать. Нужно в зависимости от роли пользвоателя, установить автоматически отделение на форме. Код такой:
&НаКлиенте
Процедура ПриОткрытии(Отказ)    
        
    УстановитьОтделение(Элементы.Отделение);      
            
КонецПроцедуры

&НаСервере
процедура УстановитьОтделение(ПолеОтделение)
    
    Если РольДоступна(Метаданные.Роли.СтаршаяМедсестраНаркологии) тогда
        Отделение = Справочники.Отделение.Наркология;    
    конецЕсли;    
    
    Если РольДоступна(Метаданные.Роли.СтаршаяМедсестраПсихиатрии) тогда
        Отделение = Справочники.Отделение.Психиатрия;
    конецЕсли;    
        
КонецПроцедуры

При открытии документа выходит ошибка: "Ошибка отображения типов:отсутствует отображения для типа ПолеФормы".
Спасибо.
1 PaulBC
 
22.07.15
06:06
Устанавливай ПриСозданииНаСервере
2 Mankubus
 
22.07.15
06:15
а зачем элементу формы присваивать значение? обращайся к данным элемента
3 Morphus
 
22.07.15
06:28
(1) сделал так:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    Если РольДоступна(Метаданные.Роли.СтаршаяМедсестраНаркологии) тогда
        Сообщить("наркология");
        Отделение = Справочники.Отделение.Наркология;
    конецЕсли;    
    
    Если РольДоступна(Метаданные.Роли.СтаршаяМедсестраПсихиатрии) тогда
        Отделение = Справочники.Отделение.Психиатрия;
    конецЕсли;
    
КонецПроцедуры

Сообщенеи выводится. ошибок нет. но поле Отделенеи остаётся пустым.
4 Morphus
 
22.07.15
06:31
(2) не понял тебя. Есть поле ввода ан форме Отделение. программно надо задать.
5 Лодырь
 
22.07.15
06:39
(4) он про кусок кода
УстановитьОтделение(Элементы.Отделение);  
в нем ты обращаешся не к данным, а к элементу формы.
6 Лодырь
 
22.07.15
06:41
(3) скорее всего у тебя в форме отображается не реквизит формы отделение, а данные основного реквизита формы (например документа), в таком случае у тебя код скорее будет выглядеть как:

объект.отделение = блаблабла;

точнее ты можешь посмотреть кликнув на элемент формы и посмотрев какие данные он отображает.
7 Morphus
 
22.07.15
06:53
(6) да ) всё именно так. Всем спасибо!
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший