Имя: Пароль:
1C
 
программная настройка форм и доп реквизиты
0 golem14
 
15.09.20
09:41
ERP.
Необходимо добавить реквизит в справочник.
Используются доп реквизиты но нельзя добавить доп реквизит с нужным мне типом,
поэтому добавляю реквизит непосредственно в объект конфигурации.
Программно добавил реквизит на форму.
Нужно разместить новый реквизит между старыми доп реквизитами.
Делаю так:

                    ИмяРеквизита = "Заявка";
                    Поле = ПолучитьПолеДополнительногоРеквизитаНаФорме(Форма, ИмяРеквизита);
                                                              
                    АктОтбораОбразцов = Форма.Элементы.Найти("АктОтбораОбразцов");
                    Группа = Форма.Элементы.Найти("ГруппаДополнительныеРеквизиты");
                    ПолеФормы = Форма.Элементы[Поле.ИмяРеквизитаЗначение];
                                                              
                    Форма.Элементы.Переместить(АктОтбораОбразцов, Группа, ПолеФормы);        //перемещаемый элемент, новый родитель, перед которым



Функция ПолучитьПолеДополнительногоРеквизитаНаФорме(Форма, ИмяРеквизита)
                
                Список = Форма.Свойства_ОписаниеДополнительныхРеквизитов;
                Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(ИмяРеквизита);
                
                Если ЗначениеЗаполнено(Свойство) Тогда
                    НайденныеСтроки = Список.НайтиСтроки(Новый Структура("Свойство", Свойство));
                               Если НайденныеСтроки.Количество() > 0 Тогда
                                               Возврат НайденныеСтроки[0];                              
                               КонецЕсли;                      
                КонецЕсли;
                
КонецФункции

Но поле «Акт отбора образцов» упорно не хочет вставать перед полем «Заявка»,
а размещается в начале групппы, если не казывать что нужно поместить перед полем «Заявка», помещается в конце группы доп реквизитов(что правильно).

Ну вот оно либо вначале либо в конце, а в середину не перемещается.
Пробовал отследить дальше где оно может перемещается, но не нашел.
Ещё не понятно как в режиме отладки посмотреть порядок полей? Есть просто список Форма.Элементы, а где зраниться их порядок?