helpf.pro
Регистрация
 0 
Распечатать

1С 8.x : Поле списка ~ Как заполнить подменю на командной панели, добавив пометку и установив обработчик?

В форме документа на основной панели "ДействияФормы" создаем подменю "ПодменюТипДокумента" и в процедуру при открытии добавляем СформироватьТипыДокумента():
Код 1C v 8.х
 Процедура Пометка(Кнопка)
//Отменим пометки у всех кнопок
Для Каждого ТекКнопа из ЭлементыФормы.ДействияФормы.Кнопки.ПодменюТипДокумента.Кнопки Цикл
ТекКнопа.Пометка = Ложь;
КонецЦикла;
//Теперь установим пометку текущей кнопки
Кнопка.Пометка=?(Кнопка.Пометка, Ложь, Истина);
//Задаем название подменю именем выбранной кнопки
ЭлементыФормы.ДействияФормы.Кнопки.ПодменюТипДокумента.Текст = "Тип документа: "+Кнопка.Имя;
//Установим значения обработчика Вида расчета
Если Кнопка.Имя = "Валюта" тогда
ВидРасчета=ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию("Оклад в валюте");
ИначеЕсли Кнопка.Имя = "Рубли" тогда
ВидРасчета=ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию("Оклад в рублях");
Иначе
ВидРасчета=ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ПустаяСсылка();
КонецЕсли;
КонецПроцедуры

Процедура СформироватьТипыДокумента()
МенюКнопки = ЭлементыФормы.ДействияФормы.Кнопки.ПодменюТипДокумента.Кнопки;
НоваяКнопка = МенюКнопки.Вставить(0, "Обычный", ТипКнопкиКоманднойПанели.Действие, "Обычный", Новый Действие("Пометка"));
НоваяКнопка = МенюКнопки.Вставить(1, "Валюта", ТипКнопкиКоманднойПанели.Действие, "Валюта", Новый Действие("Пометка"));
НоваяКнопка = МенюКнопки.Вставить(2, "Рубли", ТипКнопкиКоманднойПанели.Действие, "Рубли", Новый Действие("Пометка"));
//Определим какой тип документа по Виду расчета и поставим пометку
Если ВидРасчета=ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию("Оклад в валюте") Тогда
ЭлементыФормы.ДействияФормы.Кнопки.ПодменюТипДокумента.Кнопки[1].Пометка = Истина;
ЭлементыФормы.ДействияФормы.Кнопки.ПодменюТипДокумента.Текст = "Тип документа: "+ЭлементыФормы.ДействияФормы.Кнопки.ПодменюТипДокумента.Кнопки[1].Имя;
ИначеЕсли ВидРасчета=ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.НайтиПоНаименованию("Оклад в рублях") Тогда
ЭлементыФормы.ДействияФормы.Кнопки.ПодменюТипДокумента.Кнопки[2].Пометка = Истина;
ЭлементыФормы.ДействияФормы.Кнопки.ПодменюТипДокумента.Текст = "Тип документа: "+ЭлементыФормы.ДействияФормы.Кнопки.ПодменюТипДокумента.Кнопки[2].Имя;
Иначе
ЭлементыФормы.ДействияФормы.Кнопки.ПодменюТипДокумента.Кнопки[0].Пометка = Истина;
ЭлементыФормы.ДействияФормы.Кнопки.ПодменюТипДокумента.Текст = "Тип документа: "+ЭлементыФормы.ДействияФормы.Кнопки.ПодменюТипДокумента.Кнопки[0].Имя;
КонецЕсли;
КонецПроцедуры


В результате на форме появляется подменю Тип Документа, с выбором значений Обычный, Валюта, Рубли! При выборе значения на нем устанавливается помета,а на других убирается и устанавливается значение реквизита ВидРасчета

Обязательно посмотрите еще пример: Программное добавление кнопок подменю на командную панель формы
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 25275
 0 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 52
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1С Предприятие что это? 12
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое
COM-подключение к базе 7.7 из 8.2 1С 7
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь=
Автоматическая установка ширины колонки табличного документа. 0
Процедура, которая " примерно" делает автоширину колонок (навроде, как если бы выделить все колонки и дважды щелкнуть мышкой по границе заголовка колонки). Привожу текст, работает неахти, но лучше чем ничего: Процедура РасчетШириныКолонок(Табличный
Битая ссылка, <Объект не найден>, Уникальный Идентификатор, GUID 76
Когда кто-то удаляет данные из базы без проверки ссылок на эти объекты, то везде где этот объект использовался появляется сообщение вида: Объект не найден (84:bf5600145e3710ab11dda4c605dbe824) . https://helpf.pro/uploads/img/_1-46z7I4U7Ww.png В
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.