В прошлых шагах я производил экспорт справочников в DBF формат. При этом я использовал не код, а имя для связанных атрибутов. Это очень важно, так как при вводе справочника в настройках была автоматическая нумерация. Связи терялись, а оставлять старые связи мне не хотелось, слишком там все было замучено. Короче, при вводе справочника в другую конфигурацию, в котором есть типизированные атрибуты пришлось снова эти связи устанавливать, а значит находить запись в справочнике по имени. К счастью, такая функция есть.
НайтиПоНаименованию
Найти элемент справочника по наименованию.
Синтаксис:
НайтиПоНаименованию(<Наименование>, <Режим>, <ФлагПоиска>)
Англоязычный синоним:
FindByDescr
Параметры:
<Наименование> Строковое выражение с наименованием искомого элемента справочника.
<Режим> Необязательный параметр. Числовое выражение — режим поиска: 1 — поиск внутри установленного подчинения (родителя); 0 — поиск во всем справочнике вне зависимости от родителя. Значение по умолчанию — 1.
<ФлагПоиска> Необязательный параметр. Числовое выражение — флаг поиска: 1 — найти точное соответствие наименования; 0 — найти наименование по первым символам.Значение по умолчанию — 0.
Возвращаемое значение:
Число 1 — если действие выполнено;
Число 0 — если действие не выполнено (элемент не найден).
Описание:
Метод НайтиПоНаименованию() выполняет поиск элемента справочника по наименованию, заданному параметром <Наименование> и позиционирует объект справочник на этом элементе.
Данный метод может использоваться только для объектов, созданных функцией СоздатьОбъект.
Будем тренироваться. Есть справочник контрагентов.
Вот мы и попробуем поискать в нем Авто-Карьер, смотрим код.
Процедура Сформировать() Спр = СоздатьОбъект("Справочник.Контрагенты"); Спр.НайтиПоНаименованию("Авто-Карьер", 1); Если Спр.Выбран() > 0 Тогда Предупреждение(Спр.Код); Иначе Предупреждение("Не найден"); КонецЕсли; КонецПроцедуры
А вот и результат.
Так мы можем восстанавливать связи для типизированных атрибутов.