Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> 8.2 + Управляемые формы + дерево значений + контекстное меню = проблемы          
kentavr27 Подменю пользователя
сообщение 23.06.12, 13:55
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

Исходные данные:

Платформа: 8.2.14.528
Режим работы: управляемое приложение, тонкий клиент
Журнал документов. На форме журнала динамический список с документами и дерево значений, которое служит для отображения подчиненных документов.

Задача: на дереве значений при правом клике вывести контекстное меню, которое может изменяться программно в зависимости от активного вида
документа на момент клика на дереве значений.

Попытка решения: Основное контекстное меню дерева значений построено в конфигураторе. При активизации строки дерева значений некоторые пункты контекстного меню
перестраиваются (меняется доступность, меняются заголовки, добавляются некоторые пункты, например для ввода на основании
n-ных видов документов).

Изменения пунктов меню происходит где-то так:
&НаКлиенте
Процедура ДеревоДокументовПриАктивизацииСтроки(Элемент)
    Элементы.ДеревоДокументов_ТекущийДокумент.Заголовок=Элемент.ТекущиеДанные.С
сылка;
    Элементы.ДеревоДокументов_ТекущийДокумент.Картинка=ВернутьКартинкуДокумента(Элемент.ТекущиеДанные.Ссылка);
    Элементы.ДеревоДокументов_ТекущийДокумент.Доступность=Ложь;
КонецПроцедуры


Проблема: при попытке изменить содержание контекстного меню (в процедуре ПриАктивизацииСтроки()) эта же процедура отрабатывает самостоятельно
вновь. И все бы ничего, но при повторной отработке текущая строка дерева значений становится всегда первой, на какой бы
ветке дерева я не находился в данный момент.
Соответственно, после того, как текущая строка дерева самостоятельно изменилась, процедура ПриАктивизацииСтроки() отрабатывает в третий раз.

Т.е. из-за такого поведения системы пользователю невозможно получить контекстное меню строк дерева значений, которые находятся ниже первой строки.

Если отключить программную перестройку содержания контекстного меню, то все отрабатыват в штатном режиме.

Вопрос: может быть кто-то сталкивался с подобной проблемой, и у него появились варианты обхода подобного глюка?
Есть ли какие-нибудь мысли по поводу вышеизложенного? Как можно обойти данную проблему отображения
не жертвуя функциональностью системы.

Заранее благодарен за дельные мысли.

DartRomanius Подменю пользователя
сообщение 23.06.12, 14:17
Сообщение #2

Ветеран
Иконка группы
Группа: Местный
Сообщений: 824
Из: Запорожье
Спасибо сказали: 145 раз
Рейтинг: 0

Не использовать серверные вызовы в "ПриАктивизацииСтроки".


Signature
-----------------------------------------------------------------------------------
Единственный, интуитивно понятный интерфейс - мамкина сиська!
Всему остальному надо учиться! (с) Не знаю кто....

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 25.04.24, 1:35
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!