Универсальная идентификация элемента (1С: Программисту, Язык программирования, Справочники) — 1C-h
 

Универсальная идентификация элемента (1С: Программисту, Язык программирования, Справочники)

Функция ИдентификацияЭлемента(УказанноеЗначение, НаименованиеСправочника, СчетчикПоСтрокам, СчетчикПоЛистам, ПоКоду = Ложь, Создавать = Ложь)
    НайденныйЭлемент = Справочники[НаименованиеСправочника].ПустаяСсылка();
    // найдем элемент
    Если ЗначениеЗаполнено(УказанноеЗначение) Тогда
        // попробуем отыскать указанный элемент по коду или по наименованию
        Если ПоКоду Тогда
            НайденныйЭлемент = Справочники[НаименованиеСправочника].НайтиПоКоду(СокрЛП(УказанноеЗначение));
        Иначе
            НайденныйЭлемент = Справочники[НаименованиеСправочника].НайтиПоНаименованию(СокрЛП(УказанноеЗначение), Истина);
        КонецЕсли;
        Если НЕ ЗначениеЗаполнено(НайденныйЭлемент) И НЕ Создавать Тогда
            Сообщить("Не удалось найти указанный элемент "+ УказанноеЗначение + " в справочнике """+НаименованиеСправочника+"""! Строка файла: " + СчетчикПоСтрокам + " . Лист: " + СчетчикПоЛистам + ".");
        КонецЕсли;
    КонецЕсли;
    Возврат НайденныйЭлемент;
КонецФункции // ИдентификацияЭлемента()

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Next Post

Как в запросе 1С присоединить дополнительный реквизит по условию, не размножая строки, если условие соединения не идентифицирует строку регистра полностью (1С: 8.1: Программисту)

Сб Янв 16 , 2010
Как в запросе 1С присоединить дополнительный реквизит по условию, не размножая строки… Рассматриваемая задача может быть актуальна, когда требуется соединить данные двух регистров, причем набор условий соединения не полностью идентифицирует строку регистра, т.е. в результате соединения по данному условию в выборке может быть несколько «одинаковых» строк.