Добрый день. Подскажите каким способом можно определить создан ли предопределенный элемент справочника?
Пробовал через запрос типа
, дает исключение. Делать через не хочется. т.к. надеюсь что есть другие методы.
Пробовал через запрос типа
"ВЫБРАТЬ
| Константы.Значение
|ИЗ
| Справочник.Константы КАК Константы
|ГДЕ
| Константы.ИмяПредопределенныхДанных = &ИмяПредопределенныхДанных"
Попытка Исключение КонецПопытки
По теме из базы знаний
- Работа с предопределенными элементами в 8.3
- Управление предопределенными элементами справочников
- Ошибка при обновлении Бухгалтерии 3.0 "Предопределенный элемент отсутствует в данных"
- Изменение идентификатора ссылки предопределенного элемента справочника (плана счетов, ПВХ и т.д)
- Создание предопределенных элементов из существующих ссылок
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Не нравится имя справочника "Константы" - т.к. это зарезервированное слово: ИМХО - обзывать так справочник не есть хорошо.
Вопрос - если в Вашем запросе сделать условие "Константы.Предопределенный = Истина", и включить в получаемые поля "ИмяПредопределенныхДанных", затем получить через Запрос.Выполнить().Выгрузить() таблицу значений и искать в колонке в этой таблице строку исключений быть не должно...
Вопрос - если в Вашем запросе сделать условие "Константы.Предопределенный = Истина", и включить в получаемые поля "ИмяПредопределенныхДанных", затем получить через Запрос.Выполнить().Выгрузить() таблицу значений и искать в колонке в этой таблице строку исключений быть не должно...
(8) Спасибо за замечание на счет констант, но он и так у меня называется по другому, здесь просто название для примера. Ваш вариант не годится, проще и быстрее сделать через попытку, чем выгружать в таблицу, а потом искать по колонке. Но я уже выше написал что не хочу так делать, меня интересует простое решение типа
если нет такого, сделаю через попытку.
ЗначениеЗаполнено()
если нет такого, сделаю через попытку.
(12) Спасибо.
Функция ПредопределенныйСуществует(ИмяСправочника, ИмяПредопределенногоЭлемента) Экспорт
ИменаПредопределенных = Метаданные.Справочники[ИмяСправочника].ПолучитьИменаПредопределенных();
Возврат ИменаПредопределенных.Найти(ИмяПредопределенногоЭлемента) <> Неопределено;
КонецФункции
Функция ПредопределенныйСуществует(ИмяСправочника, ИмяПредопределенногоЭлемента) Экспорт
ИменаПредопределенных = Метаданные.Справочники[ИмяСправочника].ПолучитьИменаПредопределенных();
Возврат ИменаПредопределенных.Найти(ИмяПредопределенногоЭлемента) <> Неопределено;
КонецФункции
(14) В более общем виде:
Функция ЕстьПредопределенноеЗначениеКласса(КлассМЧ, Вид, ИмяПредопределенного)
Возврат Метаданные[КлассМЧ][Вид].ПолучитьИменаПредопределенных().Найти(ИмяПредопределенного) <> Неопределено;
КонецФункции
Функция ПредопределенноеЗначениеКласса(МенеджерМЧ, Вид, ИмяПредопределенного)
Возврат МенеджерМЧ[Вид][ИмяПредопределенного];
КонецФункции
Если ЕстьПредопределенноеЗначениеКласса("Справочники", "НаборыДополнительныхРеквизитовИСведений", "Справочник_Номенклатура") Тогда
//Розница 2.3
КонфНаборДопРеквизитовНоменклатуры = ПредопределенноеЗначениеКласса(Справочники, "НаборыДополнительныхРеквизитовИСведений", "Справочник_Номенклатура")
КонецЕсли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот