Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 02:53

1С 8.2 УФ. Програмно созданные переключатели на форме. Как управлять, опрашивать ?

Автор SvoyaSistema, 15 июн 2014, 18:08

0 Пользователей и 1 гость просматривают эту тему.

SvoyaSistema

1С 8.2 Управляемые формы.
ПРОГРАММНО создал переключатели на форме. То есть не в конфигураторе.

ДобавляемыеРеквизиты = новый Массив;
Родитель = "";
НомерГруппы = 0;
Для Каждого Строка Из ТаблицаСвойств Цикл

Если Родитель <> Строка.Родитель Тогда // сменился родитель
Родитель = Строка.Родитель;
НомерГруппы = НомерГруппы + 1;

НовыйРеквизит = Новый РеквизитФормы("Пер"+НомерГруппы,Новый ОписаниеТипов("Число"),,Строка.Родитель); // группа переключателей
ДобавляемыеРеквизиты.Добавить(НовыйРеквизит);
КонецЕсли;
КонецЦикла;
ИзменитьРеквизиты(ДобавляемыеРеквизиты);
// добавляем строки в переключатели
Родитель = "";
НомерГруппы = 0; НомерСтроки = 0;
Для Каждого Строка Из ТаблицаСвойств Цикл
Если Родитель <> Строка.Родитель Тогда // сменился родитель добавляем нзвание колонки и первую строку
Родитель = Строка.Родитель;
НомерГруппы = НомерГруппы + 1;


НазваниеГруппы = "НоваяКолонка"+НомерГруппы;
НовыйЭлемент = Элементы.Добавить(НазваниеГруппы, Тип("ПолеФормы"),Элементы.ГруппаВариантов);
НовыйЭлемент.ПутьКДанным = "Пер"+НомерГруппы;
НовыйЭлемент.Вид = ВидПоляФормы.ПолеПереключателя;
НовыйЭлемент.КоличествоКолонок=1;
//ДействиеПриИзменении = Новый Событие("НовыйПриИзменении");
НовыйЭлемент.УстановитьДействие("ПриИзменении", "НовыйПриИзменении");

НазваниеСтроки = "Стр"+НомерСтроки;
НомерСтроки = НомерСтроки+1; // добавляем первую строчку
НовыйЭлемент.СписокВыбора.Добавить(НазваниеСтроки, Строка.Значение);
НовыйЭлемент.ПервыйВГруппе = Истина;

Иначе // добавляем остальные строки
НомерСтроки = НомерСтроки+1;
НовыйЭлемент.СписокВыбора.Добавить(НазваниеСтроки, Строка.Значение);
КонецЕсли;



Создал процедуру ПриИзменении на Клиенте. В процедуру , при выборе мышкой любого пункта из програмно созданных переключателей , попадаю. Переключатель выбранный вижу. Но вот как дальше управлять - не пойму.
1 - надо узнать, какой пункт переключателя был выбран.
2 - надо установить в положение включено выбранную строку ( пункт ) конкретного переключателя.
3 - сбросить другой выбранный пункт , если он был.

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

В переключателе , созданном в конфигураторе выбранный пункт есть в Объекте

Но программно созданного переключателя в главное реквизите - ДокументОбъекте нет. Он существует только на форме в Управляемой форме ЭтаФорма. Повторяюсь - Управляемые формы.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск