|  | Значения параметров не доходят до формы | ☑ | 
    
        | 0
    
        Knopppka   04.06.13✎ 17:22 | 
        Пытаюсь в процессе выполнения бизнес-процесса сделать конкретный документ недоступным для редактирования. Из модуля бизнес-процесса пытаюсь передать параметры в форму документа:
 
 Параметры = Новый Структура("Доступ, Документ", Истина, Ссылка.ДокументНаСогласование);
 Форма = Документы.АктНесоответствия.ПолучитьФорму("ФормаДокумента", Параметры);
 
 В форме документа в процедуре ПриСозданииНаСервере получаю параметры и записываю их в реквизиты формы:
 
 &НаСервере
 Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
 Документ = Параметры.Документ;
 Доступ = Параметры.Доступ;
 КонецПроцедуры
 
 А при открытии формы должно проверяться условие и в результате форма по моим планам должна стать недоступной:
 
 &НаКлиенте
 Процедура ПриОткрытии(Отказ)
 Если Доступ = Ложь И Документ = Объект.Ссылка Тогда
 ЭтаФорма.Доступность = Ложь;
 КонецЕсли;
 КонецПроцедуры
 
 Так вот, что я делаю не правильно? Почему параметры не передаются? Подскажите, пожалуйста.
 |  | 
    
        | 1
    
        mikecool   04.06.13✎ 17:24 | 
        параметры пропали по выполнении ПриСозданииНаСервере
 что есть Документ и Доступ?
 |  | 
    
        | 2
    
        Knopppka   04.06.13✎ 17:25 | 
        (1) реквизиты формы     |  | 
    
        | 3
    
        Borteg   04.06.13✎ 17:29 | 
        Мне кажется надо получать не форму, а объект и записать реквизиты.     |  | 
    
        | 4
    
        Borteg   04.06.13✎ 17:34 | 
        (3) +проверку на доступность делал бы при создании на сервере а не при открытии     |  | 
    
        | 5
    
        Knopppka   04.06.13✎ 17:36 | 
        (3) (4) Сейчас попробую. Спасибо!     |  | 
    
        | 6
    
        Knopppka   04.06.13✎ 17:51 | 
        Нет, не помогло
 
 Не пойму, но они ведь должны доходить до нее...
 |  | 
    
        | 7
    
        mikecool   04.06.13✎ 17:53 | 
        не пойму - доступностью еще на сервере при создании рулить неззя?     |  | 
    
        | 8
    
        Knopppka   04.06.13✎ 17:54 | 
        (7) я уже туда переместила, без изменений     |  | 
    
        | 9
    
        DaZol1991   04.06.13✎ 17:59 | 
        (0) во-первых проверь созданы ли Параметры у формы, чтобы их заполнять.
 во-вторых форму с параметрами надо открывать, а не получать. для этого и придумали параметры, чтобы не получать форму. и синтаксис открытия должен быть такой:
 ОткрытьФорму("Документ.АктНесоответствия.ФормаДокумента",ПараметрыОткрытияФормы,ЭтаФорма);
 в-третьех в открываемой форме ПриСозданииНаСервере проверяешь заполнены ли параметры и если заполнены, то Тут же и делаешь что-то с ними.
 |  | 
    
        | 10
    
        Knopppka   04.06.13✎ 18:28 | 
        (9) Спасибо большое, все работает     |  | 
        Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший