Свойстов "Автозаполнение" не доступно для созданного программно контекстного меню, Help!!!

1. ov1 13.07.13 22:37 Сейчас в теме
Добрый вечер, друзья!

Создаю программно контекстное меню для элемента формы типа "Поле табличного документа". Все вроде получается, но как отключить меню что было создано при автозаполнении. Хотел воспользоваться свойством "АвтоЗаполнение", но оно отсутствует при программном доступе. Элементы строю все программно.


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

Показать
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. amaksimov 13.07.13 23:00 Сейчас в теме
3. ov1 15.07.13 18:49 Сейчас в теме
4. Sevens 6 15.07.13 18:59 Сейчас в теме
Мб, Свойство табличного поля - автоконтекстноеМеню=ложь ?
5. semx800 71 19.08.15 20:19 Сейчас в теме
А получилось ли решить эту задачу?
6. kentavr27 97 06.06.16 20:24 Сейчас в теме
Апну ка я эту тему.
Три года прошло... а воз и ныне там...

Решения проблемы ни у кого не появилось, случайно? А то как-то совсем не красиво получается со стандартными никому не нужными кнопками.
7. sergiykooo 09.06.16 11:22 Сейчас в теме
Также подниму эту тему, может есть хоть какие-то варианты, как избавиться от стандартных команд в контекстном меню
8. pit253 30.09.16 08:43 Сейчас в теме
Столкнулся с подобной проблемой: Создаю программно некое количество однотипных табличных частей. Добавляю в контекстное меню свои кнопки и возникла необходимость убрать автоматически добавленные системой. При анализе обнаружил, что эти кнопки при создании на сервере еще не доступны, а в событии при открытии уже есть на форме. Ничего лучшего не придумал, как убрать их видимость:
&НаСервере 
Процедура ОчистимКонтекстныеМеню()
	СписокНаименованийКнопок = Новый  СписокЗначений;
	СписокНаименованийКнопок.Добавить("КонтекстноеМенюДобавить");
	СписокНаименованийКнопок.Добавить("КонтекстноеМенюИзменить");
	СписокНаименованийКнопок.Добавить("КонтекстноеМенюКопироватьВБуферОбмена");
	СписокНаименованийКнопок.Добавить("КонтекстноеМенюПереместитьВверх");
	СписокНаименованийКнопок.Добавить("КонтекстноеМенюПереместитьВниз");
	СписокНаименованийКнопок.Добавить("КонтекстноеМенюСкопировать");
	СписокНаименованийКнопок.Добавить("КонтекстноеМенюУдалить");
	
	Для каждого ЭлФормы Из Элементы Цикл
		Если ТипЗнч(ЭлФормы)=ТИп("КнопкаФормы") Тогда
			Для каждого НазвКноп Из СписокНаименованийКнопок Цикл
				Если Найти(ЭлФормы.Имя,НазвКноп)>0 Тогда
					ЭлФормы.Видимость=Ложь;
					Прервать;
				КонецЕсли; 	
			КонецЦикла; 
		КонецЕсли; 
	КонецЦикла; 
	
КонецПроцедуры
Показать
10. sergey512 35 13.03.17 11:56 Сейчас в теме
(8) Можно было и короче написать.

        Для каждого элМеню из Элементы.ИМЯ_ЭЛЕМЕНТА.КонтекстноеМеню.ПодчиненныеЭлементы Цикл
		элМеню.Видимость = Ложь;
	КонецЦикла;	
       
rozhkovdmitriy; user693087_vladimir.goglev; +2 Ответить
11. 7OH 69 23.08.17 16:10 Сейчас в теме
(10) Пробую на элементе "Поле картинки" - что при создании на сервере, что после открытия в коде кнопок не видно, но в меню они есть.
У вас работает ?
12. sergey512 35 24.08.17 11:26 Сейчас в теме
(11) Не совсем понятен вопрос. Каких кнопок не видно, которые вы добавили программно или тех которые автозаполнением добавляются?
13. 7OH 69 24.08.17 18:10 Сейчас в теме
(12) Управление своими кнопками работает (надеюсь) работает у всех.
Тут же вопрос о тех, которые платформ создаёт автоматом - вот о них речь и идёт.
---
Если нужно программно включить\выключить автозаполнение контекстного меню - то ничего умнее костыля с двумя реквизитами (у одного включено, у другого выключено - и вместо включения автозаполнения - включать видимость этих двух реквизитов) в голову не приходит.
9. EMelihoff 30.09.16 08:47 Сейчас в теме
я связи с табличным полем не увидел, может это причина
14. Viktor_Ermakov 364 05.11.20 21:00 Сейчас в теме
Проблему в 1С до сих пор не решили)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот