@Soceine

Как поменять заголовок реквизита наименования в зависимости от типа (клиент/поставщик)?

Начинаю вливаться в 1С и столкнулся с маленькой проблемкой, над которой ломаю голову второй час (мб перегрелся от инфы уже).
У меня есть задача:
Есть форма и в зависимости от выбора клиента/поставщика некоторые поля должны пропадать/появляться, т.е. когда выбираю "Клиент" реквизит "Наименование" называется "Ф.И.О. Клиента". Ну а когда переключаю тумблер на поставщик чтобы поменялось с "ФИО Клиента" на "Наименование".
Думал создать еще один реквизит "ФИО Клиента" и переключаться между ними, но кажется что идея бред.
Надеюсь смог понятно пояснить проблему.
Сама форма должна выглядеть так :
65c0eee7aad36596501622.png
65c0eef5dd582844860709.png
Мой код :
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	УстановитьВидимость();
КонецПроцедуры 

&НаКлиенте
Процедура УстановитьВидимость()
	Если Объект.ТипКонтрагента = ПредопределенноеЗначение("Перечисление.ТипКонтрагентов.Клиент") Тогда
		Элементы.Наименование.Видимость = Истина;
		Элементы.ДатаРождения.Видимость = Истина;
		Элементы.ОсновнойДоговор.Видимость = Ложь;
	Иначе
		Элементы.Наименование.Видимость = Ложь;
		Элементы.ДатаРождения.Видимость = Ложь;
		Элементы.ОсновнойДоговор.Видимость = Истина; 
	КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ТипКонтрагентаПриИзменении(Элемент)
	УстановитьВидимость();
КонецПроцедуры
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
@WaterSmith
Android-разработчик. Java, Kotlin
Если это разные реквизиты, то меняй видимость. А если один реквизит, и нужно менять только надпись: "ФИО Клиента" или "Поставщик", то меняй заголвок.
&НаКлиенте
Процедура УстановитьВидимость()
	Если Объект.ТипКонтрагента = ПредопределенноеЗначение("Перечисление.ТипКонтрагентов.Клиент") Тогда
		Элементы.Наименование.Заголовок = "ФИО Клиента";
		Элементы.ДатаРождения.Видимость = Истина;
		Элементы.ОсновнойДоговор.Видимость = Ложь;
	Иначе
		Элементы.Наименование.Заголовок = "Наименование";
		Элементы.ДатаРождения.Видимость = Ложь;
		Элементы.ОсновнойДоговор.Видимость = Истина; 
	КонецЕсли;
КонецПроцедуры
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Sgr_A
@Sgr_A
Я бы сделал две разные группы, расположил в них элементы как надо и в зависимости от тумблера делал активной нужную группу.

65c261f413cc7714152681.png

И обработчик тумблера:
&НаКлиенте
Процедура ТипКонтрагентаПриИзменении(Элемент)
	
	Элементы.ГруппаКлиент.Видимость = ТипКонтрагента = "Клиент";
	Элементы.ГруппаПоставщик.Видимость = ТипКонтрагента = "Поставщик";
	
КонецПроцедуры
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы