|
Привести значение к типу из описания типов |
☑ |
0
1CIlya
27.04.16
✎
12:18
|
Здравствуйте, друзья!
Чтобы не изобретать велосипед. Существует ли уже написанная функция, которая бы текстовую строку приводила к соответствующему типу из описания типов, предпринимая попытки искать в индексированных реквизитах?
|
|
1
hhhh
27.04.16
✎
12:23
|
(0) XDTO курите. Схемы там фабрики и всё такое.
|
|
2
Timon1405
27.04.16
✎
12:24
|
(0) см обработку УниверсальныйОбменДаннымиXML, там при загрузке используется одНайтиОбъектПоСвойству(и 10 связанных функций)
|
|
3
1CIlya
27.04.16
✎
12:26
|
(2) Спасибо, и чего сам недодумкал.
|
|
4
1CIlya
28.04.16
✎
09:24
|
В результате "изобрел" еще один велосипед, правда функции пригодились.
Функция ПривестиЗначениеПоОписаниюТипа(Текст, ОписаниеТипов) Экспорт
Типы = ОписаниеТипов.Типы();
Для Каждого Тип Из Типы Цикл
//**************************************************
ОбъектМетаданных = Метаданные.НайтиПоТипу(Тип); //**
//**************************************************
Если Метаданные.Справочники.Содержит(ОбъектМетаданных) Тогда
Если ОбъектМетаданных.ДлинаКода > 0 Тогда
Значение = Справочники[ОбъектМетаданных.Имя].НайтиПоКоду(Текст);
Если ЗначениеЗаполнено(Значение) Тогда
Возврат Значение;
КонецЕсли;
КонецЕсли;
Если ОбъектМетаданных.ДлинаНаименования > 0 Тогда
Значение = Справочники[ОбъектМетаданных.Имя].НайтиПоНаименованию(Текст, Истина);
Если ЗначениеЗаполнено(Значение) Тогда
Возврат Значение;
КонецЕсли;
КонецЕсли;
ИначеЕсли Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда
Значение = Документы[ОбъектМетаданных.Имя].НайтиПоНомеру(Текст);
Если ЗначениеЗаполнено(Значение) Тогда
Возврат Значение;
КонецЕсли;
ИначеЕсли Метаданные.ПланыСчетов.Содержит(ОбъектМетаданных) Тогда
Значение = ПланыСчетов[ОбъектМетаданных.Имя].НайтиПоКоду(Текст);
Если ЗначениеЗаполнено(Значение) Тогда
Возврат Значение;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Возврат ОписаниеТипов.ПривестиЗначение(Текст);
КонецФункции
Применяется для загрузки макета или Excel в типизированную ТЗ.
|
|