Имя: Пароль:
1C
1С v8
УФ программная установка переключателя
0 MistaEr
 
09.08.17
10:59
Здравствуйте!

Добавил программно новый реквизит формы переключатель:
    ЗначениеАрхивный = 1;
    МассивДобавляемыхРеквизитов = Новый Массив;
    МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("ЗначениеАрхивный",
    Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(1,0)),
    "",
    ""));
    ЭтотОбъект.ИзменитьРеквизиты(МассивДобавляемыхРеквизитов);
    НовыйРеквизит = Элементы.Добавить("ПереключательАрхивный", Тип("ПолеФормы"), ЭтотОбъект);
    НовыйРеквизит.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
    НовыйРеквизит.ПутьКДанным = "ЗначениеАрхивный";
    НовыйРеквизит.Вид = ВидПоляФормы.ПолеПереключателя;
    НовыйРеквизит.ВидПереключателя = ВидПереключателя.Переключатель;
    НовыйРеквизит.СписокВыбора.Вставить(0, 1, "Действующие");
    НовыйРеквизит.СписокВыбора.Вставить(1, 2, "Архивные");
    НовыйРеквизит.СписокВыбора.Вставить(2, 3, "Все");
    НовыйРеквизит.УстановитьДействие("ПриИзменении", "ПереключательАрхивныйПриИзменении");

Теперь ее нужно поднять выше и установить флажок на первый элемент списка выбора
1 lodger
 
09.08.17
11:07
"поднять выше" не выйдет. можно вставить ее в группу перед указанным элементом.
вместо Элементы.Добавить надо другой метод использовать.
первый элемент:
ЗначениеАрхивный = 1; вызывать после вставки элемента формы.
2 AsadRoman
 
09.08.17
11:08
У меня всегда возникает вопрос: а тупо кинуть на форму в нужное место нужный реквизит что мешает?
3 _Дайвер_
 
09.08.17
11:12
(2) +
4 MistaEr
 
09.08.17
11:12
После ИзменитьРеквизиты добавил     ЭтотОбъект.ЗначениеАрхивный = 1;

а в конце
    ЭтаФорма.Элементы.Переместить(НовыйРеквизит, ЭтотОбъект, Элементы.Список);

И все как надо
5 MistaEr
 
09.08.17
11:14
(2) Ты имеешь ввиду не программно?
6 AsadRoman
 
09.08.17
11:14
(5) Конечно
7 MistaEr
 
09.08.17
11:17
(6) А вот что: Мне нужно в форме списка почти всех справочников добавить этот переключатель, потом еще накладывать отбор на список. Ты хочешь чтоб я сдох добавляя эти элементы формы. еще и при каждом обновлении? А этот код я буду вызывать из общего модуля одной строчкой кода.
8 Любопытная
 
09.08.17
11:19
(2) обновляться удобнее
9 MistaEr
 
09.08.17
11:20
(8) Расскажи почему?
10 Rusland
 
09.08.17
11:20
(2) Почитай про бесшовную интеграцию. Обновляться в разы проще при реализации топика.
11 MistaEr
 
09.08.17
11:24
(10) Ты сам то понял что написал? Причем бесшовная интеграция при обновлении?