16.01.2010 — 1C-h
 

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

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