8.2 + Управляемые формы + дерево значений + контекстное меню = проблемы #616888


#0 by kentavr27rf
Исходные данные: Платформа: 8.2.14.528 Режим работы: управляемое приложение, тонкий клиент Журнал документов. На форме журнала динамический список с документами и дерево значений, которое служит для отображения подчиненных документов. Задача: на дереве значений при правом клике вывести контекстное меню, которое может изменяться программно в зависимости от активного вида документа на момент клика на дереве значений. Попытка решения: Основное контекстное меню дерева значений построено в конфигураторе. При активизации строки дерева значений некоторые пункты контекстного меню перестраиваются (меняется доступность, меняются заголовки, добавляются некоторые пункты, например для ввода на основании n-ных видов документов). Изменения пунктов меню происходит где-то так: Проблема: при попытке изменить содержание контекстного меню (в процедуре ПриАктивизацииСтроки) эта же процедура отрабатывает самостоятельно вновь. И все бы ничего, но при повторной отработке текущая строка дерева значений становится всегда первой, на какой бы ветке дерева я не находился в данный момент. Соответственно, после того, как текущая строка дерева самостоятельно изменилась, процедура ПриАктивизацииСтроки отрабатывает в третий раз. Т.е. из-за такого поведения системы пользователю невозможно получить контекстное меню строк дерева значений, которые находятся ниже первой строки. Если отключить программную перестройку содержания контекстного меню, то все отрабатыват в штатном режиме. Вопрос: может быть кто-то сталкивался с подобной проблемой, и у него появились варианты обхода подобного глюка? Есть ли какие-нибудь мысли по поводу вышеизложенного? Как можно обойти данную проблему отображения не жертвуя функциональностью системы. Заранее благодарен за дельные мысли.
#1 by ChAlex
использовать обработчик ожидания - "ПодкулючитьОбработчикОжидания("Процедура",0.1,Истин)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С