1С 8.3 Найти ссылку по реквизиту
Данные > Примеры кода 1С > 1С 8.3 Форма, элементы
Перейти в раздел примеры кода 1С 8.3:
Поиск 1-й ссылки по реквизиту в 1С 8.3:
// Возвращает первую ссылку по значению реквизита
// Источник: https://github.com/SeiOkami/CollectionMethodsOneS/issues/36
//
// Параметры:
// ОбъектМетаданных - ОбъектМетаданныхСправочник, ОбъектМетаданныхДокумент, ОбъектМетаданныхБизнесПроцесс, ОбъектМетаданныхЗадача, ОбъектМетаданныхПланВидовХарактеристик -
// ИмяРеквизита - Строка
// ЗначениеРеквизита - Произвольный
//
// Возвращаемое значение:
// ЛюбаяСсылка
//
// Пример:
// Результат = НайтиСсылкуПоРеквизиту(Метаданные.Справочники.ЖЧТ_ТестовыйСправочник, "Номер", 999);
// //Результат - ссылка на элемент справочника (или найденная или пустая)
//
Функция НайтиСсылкуПоРеквизиту(Знач ОбъектМетаданных, Знач ИмяРеквизита, Знач ЗначениеРеквизита) Экспорт
ТекстЗапроса = СтрШаблон("ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 Ссылка ИЗ %1 ГДЕ %2 = &П",
ОбъектМетаданных.ПолноеИмя(), ИмяРеквизита);
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("П", ЗначениеРеквизита);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат ОбъектМетаданных.СтандартныеРеквизиты.Ссылка.Тип.ПривестиЗначение();
Иначе
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
Возврат Выборка[0];
КонецЕсли;
КонецФункции
// MIT License
// Copyright (c) 2024 SeiOkami
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
// (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify,
// merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
// Источник: https://github.com/SeiOkami/CollectionMethodsOneS/issues/36
//
// Параметры:
// ОбъектМетаданных - ОбъектМетаданныхСправочник, ОбъектМетаданныхДокумент, ОбъектМетаданныхБизнесПроцесс, ОбъектМетаданныхЗадача, ОбъектМетаданныхПланВидовХарактеристик -
// ИмяРеквизита - Строка
// ЗначениеРеквизита - Произвольный
//
// Возвращаемое значение:
// ЛюбаяСсылка
//
// Пример:
// Результат = НайтиСсылкуПоРеквизиту(Метаданные.Справочники.ЖЧТ_ТестовыйСправочник, "Номер", 999);
// //Результат - ссылка на элемент справочника (или найденная или пустая)
//
Функция НайтиСсылкуПоРеквизиту(Знач ОбъектМетаданных, Знач ИмяРеквизита, Знач ЗначениеРеквизита) Экспорт
ТекстЗапроса = СтрШаблон("ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 Ссылка ИЗ %1 ГДЕ %2 = &П",
ОбъектМетаданных.ПолноеИмя(), ИмяРеквизита);
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("П", ЗначениеРеквизита);
РезультатЗапроса = Запрос.Выполнить();
Если РезультатЗапроса.Пустой() Тогда
Возврат ОбъектМетаданных.СтандартныеРеквизиты.Ссылка.Тип.ПривестиЗначение();
Иначе
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
Возврат Выборка[0];
КонецЕсли;
КонецФункции
// MIT License
// Copyright (c) 2024 SeiOkami
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
// (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify,
// merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник