Что это недопустимые типы? Речь идет про СКД частично. Год смотрю отладкой и интересна логика и почему?
Функция ПолучитьНедопустимыеТипы()
МассивНедопустимыхТипов = Новый Массив;
МассивНедопустимыхТипов.Добавить(Тип("ХранилищеЗначения"));
Возврат МассивНедопустимыхТипов;
КонецФункции
Показать
&НаСервере
Функция ИсключитьНедопустимыеТипы(ТипРеквизита)
МассивНедопустимых = ПолучитьНедопустимыеТипы();
МассивИсключаемыхТипов = Новый Массив;
Для Каждого ЭлементНедопустимый Из МассивНедопустимых Цикл
Если ТипРеквизита.СодержитТип(ЭлементНедопустимый) Тогда
МассивИсключаемыхТипов.Добавить(ЭлементНедопустимый);
КонецЕсли;
КонецЦикла;
Если МассивИсключаемыхТипов.Количество() = 0 Тогда
ОписаниеРеквизита = ТипРеквизита;
Иначе
ОписаниеРеквизита = Новый ОписаниеТипов(ТипРеквизита, , МассивИсключаемыхТипов);
КонецЕсли;
Возврат ОписаниеРеквизита;
КонецФункции
Показать//Часть кода вызова
...
Для Каждого ОбъектМетаданных Из Метаданные[ТипОбъекта][ОбъектВыбора.Значение].Реквизиты Цикл
НоваяСтрока = ТаблицаМетаданных.Добавить();
НоваяСтрока.ИмяРеквизита = ОбъектМетаданных.Имя;
НоваяСтрока.СинонимРеквизита = ОбъектМетаданных.Синоним;
НоваяСтрока.ОписаниеТипов = ИсключитьНедопустимыеТипы(ОбъектМетаданных.Тип);
НоваяСтрока.ОбъектМетаданных = ОбъектВыбора.Значение;
КонецЦикла;
...
ПоказатьОтветы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот