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

Как программно установить тип реквизита

Автор Алексей_1985_06, 24 мая 2022, 20:08

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

Алексей_1985_06

Уважаемые товарищи, подскажите вот с таким вопросом:

1.   Создан реквизит «Комплекс» с составным типом данных (СправочникСсылка.ТехническиеКомплексы, СправочникСсылка.СтартовыеКомплексы)
2.   Созданы два реквизита формы ТК (булево) и СК (булево)
3.   Необходимо что бы при ТК = Истина,  реквизит «Комплекс» - имел тип СправочникСсылка.ТехническиеКомплексы, а при СК = Истина реквизит «Комплекс» - имел тип СправочникСсылка.СтартовыеКомплексы.

 :befhbt: Или кто подскажет может по другому как-то реализуется процесс определения типа данных реквизита в зависимости от значения другого реквизита (типа Булево)

Optiman

Непонятно, зачем переустанавливать типы? У вас они уже назначены составным типом. При записи элементов справочника в этот реквизит, тип сам будет устанавливаться в нужный.
Я бы действовал в обратную сторону. При записи в реквизит «Комплекс» элемент из СправочникСсылка.ТехническиеКомплексы, присваивать ТК = Истина. А при записи СправочникСсылка.СтартовыеКомплексы - СК = Истина.

LexaK

Алексей_1985_06, сильно зависит от того какие формы, управляемые или обычные, действительно, когда у реквизита составной тип
(и не два как у вас а десяток) до задалбывает каждый раз для перевыбора элемента того-же типа, сначала выбирать этот-же тип а затем и сам элемент
для избежания этого, использую такой код
&НаКлиенте
Процедура ТаблицаОбработкиДубльНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

лкТекушаяСтрока = Элементы.СсылкиДублей.ТекущиеДанные;
Если лкТекушаяСтрока <> Неопределено Тогда
Элемент.ВыбиратьТип = Не ЗначениеЗаполнено(лкТекушаяСтрока.Значение);
КонецЕсли;

КонецПроцедуры
в вашем случае
вообще отключите возможность выбора Типа,
а при использовании булевых переключателей в их событии ПриИзменении(..), реквизиту Комплекс присваивайте Пустую ссылку нужного справочника!
тогда по кнопке Выбор, будут выбираться элементы из этого справочника.
если помогло нажмите: Спасибо!

Алексей_1985_06

LexaK, Большое Вам спасибо за помощь!!!!

Теги:

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

Рейтинг@Mail.ru

Поиск