• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

поиск элементов справочника7

  • Автор темы kleo
  • Дата начала
K

kleo

Люди добрые, подскажите, пожалуйста, как найти элементы справочника с одиннаковым наименованием, а потом среди них один элемент с нужными мне реквизитами!! Заранее очень спасибо!!!
 
K

kaa

Табло=СоздатьОбъект("ТаблицаЗначения");
Табло.НоваяКолонка("Элемент");
Табло.НоваяКолонка("НужныйРеквизит");
Наим = "одинаковое наименование";

Запрос = СоздатьОбъект("Запрос");

ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Элем = Справочник.ХХХ.ТекущийЭлемент;
|Наименование = Справочник.ХХХ.Наименование;
|Условие (Найти(Наименование,Наим)>0);
|Группировка Элем без групп;
|";

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;

Пока Запрос.Группировка(1) = 1 Цикл
Табло.НоваяСтрока();
Табло.Элемент = Запрос.Элем;
Табло.НужныйРеквизит = Запрос.Элем.НужныйРеквизит
КонецЦикла;

НужныйРеквизитПоиск = """"";

Стр = "";
Если Табло.НайтиЗначение(НужныйРеквизитПоиск,Стр,"НужныйРеквизит")=1 Тогда
НужныйЭлементПоПоиску = Табло.ПолучитьЗначение(Стр,"Элемент");
КонецЕсли;
 
K

kleo

Насчет перебора предложение не пойдет, так как займет очень много времени, а вот запрос сейчас испробую. Спасибо большое!!!!!
 
Z

Zab

Можешь еще глянуть метод справочника НайтиПоНаименованию().
 
V

vbs

... и наткнувшись на нужное наименование, проверять нужные реквизиты, пока совпадает наименование
 
M

ModusPonens

Можно еще попробовать метод ВыбратьЭлементыПоРеквизиту, и из выборки выбрать нужный.
Но лучше всего - запросом.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!