Ловкое жонглирование полями в форме организации. УФ

Клиент захотел в карточке организации иметь два дополнительных флажка. Я добавил их через расширение.

Но возник вопрос с позиционированием элементов в форме.

Если это ИП, то нужно размещать справа от фамилии и имени.

Если это ООО, то нужно размещать справа от наименования сокращенного и полного.

В итоге я потратил некоторое количество времени, чтобы жонглировать полями и чтобы они конкретно отображались при смене вида ИП/ООО:

&НаСервере
Процедура доп_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
    Группа = Элементы.Добавить("доп_Группа1", Тип("ГруппаФормы"));
    Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа;
    Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.ГоризонтальнаяВсегда;
	
    Элемент = Элементы.Добавить("доп_Поле1", Тип("ПолеФормы"), Группа);
    Элемент.Вид = ВидПоляФормы.ПолеФлажка;
	Элемент.ПутьКДанным = "Объект.доп_Поле1";
	
    Группа = Элементы.Добавить("доп_Группа2", Тип("ГруппаФормы"));
    Группа.Вид = ВидГруппыФормы.ОбычнаяГруппа;
    Группа.Группировка = ГруппировкаПодчиненныхЭлементовФормы.ГоризонтальнаяВсегда;
	
    Элемент = Элементы.Добавить("доп_Поле2", Тип("ПолеФормы"), Группа);
    Элемент.Вид = ВидПоляФормы.ПолеФлажка;
	Элемент.ПутьКДанным = "Объект.доп_Поле2";
	
	доп_РазместитьГруппы();
	
КонецПроцедуры


&НаСервере
Процедура доп_РазместитьГруппы() 
	
	//Восстанавливаем положение групп
	доп_ВосстановитьГруппу("ФамилияИП", "ОтчествоИП");
	доп_ВосстановитьГруппу("ИмяИП", "ФамилияИП");
	доп_ВосстановитьГруппу("НаименованиеПолное", "Наименование");
	доп_ВосстановитьГруппу("НаименованиеСокращенное", "НаименованиеПолное");
	
	//Размещаем в зависимости от физлица
	Если ЭтоФизЛицо Тогда
		доп_РазместитьГруппу("доп_Группа1", "ФамилияИП", "доп_Поле1");
		доп_РазместитьГруппу("доп_Группа2", "ИмяИП", "доп_Поле2");
	Иначе
		доп_РазместитьГруппу("доп_Группа1", "НаименованиеСокращенное", "доп_Поле1");
		доп_РазместитьГруппу("доп_Группа2", "НаименованиеПолное", "доп_Поле2");
	КонецЕсли;
	
КонецПроцедуры

&НаСервере
Процедура доп_РазместитьГруппу(ИмяГруппы, Имя1, Имя2) 
	//Размещаем группу перед элементом 1
	Элементы.Переместить(Элементы[ИмяГруппы], Элементы[Имя1].Родитель, Элементы[Имя1]);

	//Объединяем в группу элемент 1 и элемент 2
	Элементы.Переместить(Элементы[Имя1], Элементы[ИмяГруппы]);
	Элементы.Переместить(Элементы[Имя2], Элементы[ИмяГруппы]);
КонецПроцедуры

&НаСервере
Процедура доп_ВосстановитьГруппу(ИмяЭлемента, ИмяПеред) 
	//Возвращаем на стандартное место те элементы, которые двигали
	Элементы.Переместить(Элементы[ИмяЭлемента], Элементы[ИмяПеред].Родитель, Элементы[ИмяПеред]);
КонецПроцедуры


&НаСервере
&После("ИнициализироватьФорму")
Процедура доп_ИнициализироватьФорму()
	доп_РазместитьГруппы(); 
КонецПроцедуры

Но в итоге получилось, что из-за добавления новых групп поля разъезжаются:

И вообще, сложно — не есть хорошо.

Поэтому я предложил клиенту разместить оба флажка справа от поля Вид.

И да, решил что отлаживать буду не на своей базе, а на типовой, потому что в своей я не смог поменять вид у ИП на ООО, а заводить новую организацию не хочу.

Среда: БП 3.0.96.35 Объем: 1 час