Свойстов "Автозаполнение" не доступно для созданного программно контекстного меню, Help!!!
Добрый вечер, друзья!
Создаю программно контекстное меню для элемента формы типа "Поле табличного документа". Все вроде получается, но как отключить меню что было создано при автозаполнении. Хотел воспользоваться свойством "АвтоЗаполнение", но оно отсутствует при программном доступе. Элементы строю все программно.
Создаю программно контекстное меню для элемента формы типа "Поле табличного документа". Все вроде получается, но как отключить меню что было создано при автозаполнении. Хотел воспользоваться свойством "АвтоЗаполнение", но оно отсутствует при программном доступе. Элементы строю все программно.
ДобРек = Новый Массив;
ДобРек.Добавить(Новый РеквизитФормы("РеквизитСтатус_" + ТекЗнчНомер,Новый ОписаниеТипов("ТабличныйДокумент")));
ИзменитьРеквизиты(ДобРек);
ДобавляемыеРеквизиты.Добавить("РеквизитСтатус_" + ТекЗнчНомер);
ЭтаФорма["РеквизитСтатус_" + ТекЗнчНомер].Защита = Истина;
ЭтаФорма["РеквизитСтатус_" + ТекЗнчНомер].ТолькоПросмотр = Истина;
ЭтаФорма["РеквизитСтатус_" + ТекЗнчНомер].ФиксацияСлева = 2;
ЭтаФорма["РеквизитСтатус_" + ТекЗнчНомер].ФиксацияСверху = 2;
ТабФормы = Элементы.Добавить("Статус_" + ТекЗнчНомер, Тип("ПолеФормы"),РодительГруппа);
ТабФормы.ПутьКДанным = "РеквизитСтатус_" + ТекЗнчНомер;
ТабФормы.Ширина = 17;
ТабФормы.Высота = 2;
ТабФормы.РастягиватьПоВертикали = Ложь;
ТабФормы.РастягиватьПоГоризонтали = Ложь;
ТабФормы.ГоризонтальнаяПолосаПрокрутки = Ложь;
ТабФормы.ВертикальнаяПолосаПрокрутки = Ложь;
ТабФормы.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
ТабФормы.ТолькоПросмотр = Истина;
//Добавим контекстное меню элемента формы
//ТабФормы.КонтекстноеМеню.АвтоЗаполнение = Ложь;
КонМенюСтатистика = Элементы.Добавить(ТабФормы.КонтекстноеМеню.Имя + "_Статистика",Тип("КнопкаФормы"),ТабФормы.КонтекстноеМеню);
КомандаСтатистика = ЭтаФорма.Команды.Добавить("Статистика_" + ТекЗнчНомер);
КомандаСтатистика.Действие = "Статистика";
КомандаСтатистика.Заголовок = "Статистика";
КонМенюСтатистика.ИмяКоманды = КомандаСтатистика.Имя;
Макет = Обработки.бтБИТфон.ПолучитьМакет("Статус");
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьСтрока.Области.Статус.ЦветФона = Новый Цвет(255,0,0);
ОбластьСтрока.Параметры["ФорматнаяСтрока"] = ТекЗнчАбонент + Символы.ПС + ТекЗнчНомер;
ОбластьСтрока.Области.ФорматнаяСтрока.ЦветФона = ЦветаСтиля.ЦветФонаФормы;
ЭтаФорма["РеквизитСтатус_" + ТекЗнчНомер].Вывести(ОбластьСтрока);
ПоказатьОтветы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Столкнулся с подобной проблемой: Создаю программно некое количество однотипных табличных частей. Добавляю в контекстное меню свои кнопки и возникла необходимость убрать автоматически добавленные системой. При анализе обнаружил, что эти кнопки при создании на сервере еще не доступны, а в событии при открытии уже есть на форме. Ничего лучшего не придумал, как убрать их видимость:
&НаСервере
Процедура ОчистимКонтекстныеМеню()
СписокНаименованийКнопок = Новый СписокЗначений;
СписокНаименованийКнопок.Добавить("КонтекстноеМенюДобавить");
СписокНаименованийКнопок.Добавить("КонтекстноеМенюИзменить");
СписокНаименованийКнопок.Добавить("КонтекстноеМенюКопироватьВБуферОбмена");
СписокНаименованийКнопок.Добавить("КонтекстноеМенюПереместитьВверх");
СписокНаименованийКнопок.Добавить("КонтекстноеМенюПереместитьВниз");
СписокНаименованийКнопок.Добавить("КонтекстноеМенюСкопировать");
СписокНаименованийКнопок.Добавить("КонтекстноеМенюУдалить");
Для каждого ЭлФормы Из Элементы Цикл
Если ТипЗнч(ЭлФормы)=ТИп("КнопкаФормы") Тогда
Для каждого НазвКноп Из СписокНаименованийКнопок Цикл
Если Найти(ЭлФормы.Имя,НазвКноп)>0 Тогда
ЭлФормы.Видимость=Ложь;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Показать
(12) Управление своими кнопками работает (надеюсь) работает у всех.
Тут же вопрос о тех, которые платформ создаёт автоматом - вот о них речь и идёт.
---
Если нужно программно включить\выключить автозаполнение контекстного меню - то ничего умнее костыля с двумя реквизитами (у одного включено, у другого выключено - и вместо включения автозаполнения - включать видимость этих двух реквизитов) в голову не приходит.
Тут же вопрос о тех, которые платформ создаёт автоматом - вот о них речь и идёт.
---
Если нужно программно включить\выключить автозаполнение контекстного меню - то ничего умнее костыля с двумя реквизитами (у одного включено, у другого выключено - и вместо включения автозаполнения - включать видимость этих двух реквизитов) в голову не приходит.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот