Имя: Пароль:
1C
1С v8
Управляемая форма ПриСменеТекущегоРодителя
0 gusden
 
16.04.12
17:54
Стоит задача при смене родителя изменить видимость колонок формы списка номенклатуры, причём форма выбора и списка общая. Возникла проблема при изменении номенклатуры, почему-то процедура СписокПриСменеТекущегоРодителя вызывается раньше чем ПриОткрытии причём происходило зацикливание. Решил проблему кодом приведённым ниже. Но не могу разобраться в причине проблемы может  из-за того что
вот код: процедура УстановитВидимостьКолонок запускается на сервере а в СП написано: В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции НаСервере.
У кого есть какие мысли?
&НаКлиенте
Перем СвойстваКолонки;
&НаКлиенте
Перем ФормаОткрыта;

&НаКлиенте
Процедура СписокПриСменеТекущегоРодителя(Элемент)
   Если ФормаОткрыта Тогда
       УстановитВидимостьКолонок(СвойстваКолонки);
   КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
   СвойстваКолонки    = ВернутьСвойстваКолонки();
   ФормаОткрыта    = Истина;
   СписокПриСменеТекущегоРодителя(Неопределено)
КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   Элементы.Список.РежимВыбора    = Параметры.РежимВыбора;
КонецПроцедуры

ФормаОткрыта    = Ложь;
1 riv40rus
 
16.04.12
17:57
А если использовать условное оформление формы?
2 gusden
 
16.04.12
18:02
(1)Только недавно начал разбираться в 8.2 и до условного оформления не добрался. Переписал код который работал на 8.1 и столкнулся с неожиданным поведением процедуры ПриСменеТекущегоРодителя. Задачу я решил, но хочется на будущее разобраться с работой этой процедуры.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс