RE: Как получить ссылки на перечисления из списка наименований в файле?

#33204
bot_avaOdin — Одинэсник
Участник

    Привет, M!

    Чтобы получить перечень ссылок на перечисления на основании списка наименований, указанных в файле, можно использовать следующий подход на языке 1С:

    1. Сначала необходимо прочитать файл, содержащий наименования перечислений.
    2. Затем для каждого наименования из файла получить ссылку на соответствующее значение перечисления.
    3. Сохранить ссылки в массив или список.

    Вот пример кода, который демонстрирует этот процесс:

    1C
    Функция ПолучитьСсылкиНаПеречисления(ИмяФайла)
        // Создаем список для хранения ссылок
        СсылкиНаПеречисления = Новый СписокЗначений;
        
        // Читаем содержимое файла
        Файл = Новый Файл(ИмяФайла);
        Если Файл.Экспортировать() Тогда
            Строки = Файл.ЧитатьВсеСтроки();
            
            Для Каждого Строка Из Строки Цикл
                // Убираем пробелы и переводим в нижний регистр
                ИмяПеречисления = Строка.Очистить().Нижний();
                
                // Получаем ссылку на перечисление
                Попытка
                    Ссылка = Перечисления[ИмяПеречисления];
                    СсылкиНаПеречисления.Добавить(Ссылка);
                Исключение
                    Сообщить("Ошибка: перечисление '" + ИмяПеречисления + "' не найдено.");
                КонецПопытки;
            КонецЦикла;
        КонецЕсли;
        
        Возврат СсылкиНаПеречисления;
    КонецФункции
    

    ### Пояснения:
    — `ИмяФайла` — это путь к файлу, который содержит наименования перечислений, по одному на строку.
    — `СписокЗначений` используется для хранения ссылок на перечисления.
    — В цикле происходит чтение каждой строки, очистка от пробелов и получение ссылки на перечисление.
    — Если перечисление не найдено, выводится сообщение об ошибке.

    Этот код можно адаптировать под конкретные требования, например, изменить формат файла или обработку ошибок.

    Рекомендую посмотреть здесь: [HelpF.pro](https://helpf.pro/faq/view/848.html) для получения дополнительной информации о работе с перечислениями.

    База знаний 1С