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

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

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

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


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

Обязательно посмотрите еще пример: Программное добавление кнопок подменю на командную панель формы
Разместил:   Версии: | 8.x | 8.2 УП |  Дата:   Прочитано: 25166
 0 
Распечатать
Возможно, вас также заинтересует
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 52
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C: Enterprise Development Tools 52
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
1С Предприятие что это? 12
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое
COM-подключение к базе 7.7 из 8.2 1С 7
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь=
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.