Имя: Пароль:
1C
 
ПриАктивизацииСтроки динамического списка зацикливается
, ,
0 ksandr_mrg
 
14.09.17
08:19
Есть динамический список, при использовании ПриАктивизацииСтроки вхожу в вечный цикл, хотя не использую серверный вызов внутри процедуры.

&НаКлиенте
Процедура кт_СписокПриАктивизацииСтрокиВместо(Элемент)

    Пользователь = ПолучитьПраваПользователя();
    
    НастроитьИнтерфейс(Пользователь);
        
КонецПроцедуры


&НаСервереБезКонтекста
Функция ПолучитьПраваПользователя()
    
...

КонецФункции

&НаСервереБезКонтекста
Функция ЕстьКонструктор(ДокументРазработкаНовойПродукции)
    
    Возврат Не ДокументРазработкаНовойПродукции.ОтветственныйКонструктор = Справочники.Пользователи.ПустаяСсылка();
    
КонецФункции

&НаКлиенте
Процедура НастроитьИнтерфейс(Пользователь)
    
        .....
    //Для ОПД
        Если ЕстьКонструктор(Элементы.Список.ТекущиеДанные.РазработкаНовойПродукции) Тогда
            ......
        КонецЕсли;
        .....
    
КонецПроцедуры




В чем прикол? :(
1 toypaul
 
гуру
14.09.17
08:21
ПолучитьПраваПользователя серверный вызов
2 toypaul
 
гуру
14.09.17
08:22
по крайней мере я бы попытался отключить и проверить
3 Остап Сулейманович
 
14.09.17
08:24
А я бы посмотрел НастроитьИнтерфейс(Пользователь). Скорее всего там есть что-то, что вызывает обновление формы (иначе зачем его настраивать?) а после обновления неявно вызывается ПриАктивизацииСтроки.
4 ksandr_mrg
 
14.09.17
08:26
(2) Серверный, без контекста формы

(3) ну кнопочки прячутся/показываются в зависимости от пользователя
5 Остап Сулейманович
 
14.09.17
08:30
(4) Ну вот это оно и есть. Пока скрываются/прячутся кнопочки -
перестраивается форма. Фокус уходит с ДС. Потом фокус возвращается и опять вызывается ПриАктивизацииСтроки.

Уже лет как 10 вместо скрыть/показать рекомендуют пользовать Доступно/Недоступно. И не перестраивать элементы формы.
6 FIXXXL
 
14.09.17
08:41
(0) вынеси весь код в подключаемую процедуру и используй обработчик ожидания с 0,1с
7 ildary
 
14.09.17
09:02
(5) скажите пожалуйста, а можно ли разово делать манипуляции со скрыть/показать при создании на сервере (в зависимости от разных вещей, типа сочетания дня недели и прав пользователя), или это тоже не рекомендуется?
8 Тихий омут
 
14.09.17
09:13
(0) попробуй в своей процедуре кт_СписокПриАктивизацииСтрокиВместо(Элемент)

сравнить переданный в процедуру элемент с текущий элементом формы, при неравенстве не обрабатывай событие
9 ksandr_mrg
 
14.09.17
09:34
Взлетело при замене видимости на доступность, спасибо (5)
10 FIXXXL
 
14.09.17
11:21
(9) установка Видимости - неявный вызов сервера, форма перерисовывается