Как определить, что переменная это вообще Справочник или Документ
По теме из базы знаний
- Конфигурация Flowcon: Набор инструментов для управления задачами, проектами и бизнесом в 1С
- Про js и 1С или как я ужа с ежом скрещивал
- Как организовать консолидацию данных из трех десятков предприятий, не привлекая программистов на местах?
- Как мы взяли 100 человек, не знакомых с программированием, и растим их внутри компании
- Sales force automation: мобильное приложение мерчандайзера на платформе 1С с распознаванием товара на 15 языках в одном из крупнейших агентств на нашем континенте (и не только)
Найденные решения
А вот как. Может пригодится кому.
Чтобы определить, является ли значение переменной ссылкой на элемент любого справочника, нужно использовать метод ТипВсеСсылки() из системного объекта Справочники. Этот метод возвращает описание всех ссылок на справочники, доступных в текущей базе данных. Проверка выполняется с помощью метода СодержитТип().
Чтобы определить, является ли значение переменной ссылкой на элемент любого справочника, нужно использовать метод ТипВсеСсылки() из системного объекта Справочники. Этот метод возвращает описание всех ссылок на справочники, доступных в текущей базе данных. Проверка выполняется с помощью метода СодержитТип().
&НаСервере
Функция ЭтоСправочник(ЗначениеСвойства)
ОписаниеВсехТиповСправочников=Справочники.ТипВсеСсылки();
ЭтоСправочник = ОписаниеВсехТиповСправочников.СодержитТип(ТипЗнч(ЗначениеСвойства));
Возврат ЭтоСправочник ;
КонецФункции
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
А вот как. Может пригодится кому.
Чтобы определить, является ли значение переменной ссылкой на элемент любого справочника, нужно использовать метод ТипВсеСсылки() из системного объекта Справочники. Этот метод возвращает описание всех ссылок на справочники, доступных в текущей базе данных. Проверка выполняется с помощью метода СодержитТип().
Чтобы определить, является ли значение переменной ссылкой на элемент любого справочника, нужно использовать метод ТипВсеСсылки() из системного объекта Справочники. Этот метод возвращает описание всех ссылок на справочники, доступных в текущей базе данных. Проверка выполняется с помощью метода СодержитТип().
&НаСервере
Функция ЭтоСправочник(ЗначениеСвойства)
ОписаниеВсехТиповСправочников=Справочники.ТипВсеСсылки();
ЭтоСправочник = ОписаниеВсехТиповСправочников.СодержитТип(ТипЗнч(ЗначениеСвойства));
Возврат ЭтоСправочник ;
КонецФункции
Показать
Для документов аналогично:
&НаСервере
Функция ЭтоДокумент(ЗначениеСвойства)
ОписаниеВсехТиповДокументов=Документы.ТипВсеСсылки();
ЭтоДокумент = ОписаниеВсехТиповДокументов.СодержитТип(ТипЗнч(ЗначениеСвойства));
Возврат ЭтоДокумент;
КонецФункции
Показать
(5) Вот чего я не пойму, надо получить описание типа вида "СправочникСсылка.Пользователи".
Как это сделать? Заранее неизвестно, какого именно вида справочник.
Метаданные.НайтиПоТипу(ТипЗнч(ЗначениеСвойства)).ПолноеИмя() возвращает "Справочник.[ИмяСправочника]"
Это может быть полезно, но не совпадает буквально с "СправочникСсылка.[ИмяСправочника]".
Какой метод вернёт описание типа именно в таком виде?
Как это сделать? Заранее неизвестно, какого именно вида справочник.
Метаданные.НайтиПоТипу(ТипЗнч(ЗначениеСвойства)).ПолноеИмя() возвращает "Справочник.[ИмяСправочника]"
Это может быть полезно, но не совпадает буквально с "СправочникСсылка.[ИмяСправочника]".
Какой метод вернёт описание типа именно в таком виде?
ЭтоДокумент = Метаданные.Документы.Содержит(ОбъектМетаданных);
ЭтоСправочник = Метаданные.Справочники.Содержит(ОбъектМетаданных);
И т.п.
ОбъектМетаданных - объект, для которого необходимо определить принадлежность к заданному типу
ЭтоСправочник = Метаданные.Справочники.Содержит(ОбъектМетаданных);
И т.п.
ОбъектМетаданных - объект, для которого необходимо определить принадлежность к заданному типу
(10) То есть вместо того, чтобы по типу ссылки СРАЗУ определить её принадлежность к Справочникам или Документам - ты предлагаешь сделать крюк, и сначала:
1. От ссылки получить метаданные (или в глобальных метаданных НайтиПоТипу ссылки)
2. В глобальных метаданных определить принадлежность найденного объекта к той или иной ветке.
Зачем тут лишние ходы?
1. От ссылки получить метаданные (или в глобальных метаданных НайтиПоТипу ссылки)
2. В глобальных метаданных определить принадлежность найденного объекта к той или иной ветке.
Зачем тут лишние ходы?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот