Ситуация такая. В Справочнике есть элементы с одинаковым Наименованием, но отличаются реквизитом "Комментарий" тип Строка. Есть ли какой-то способ быстрого поиска нужного элемента, кроме полного перебора всего Справочника с проверкой по отличающемуся реквизиту. Типа ищем по Наименованию, проверяем реквизит. Если не тот - переходим на следующий одноименный элемент и т.д.
volodya1122 @ Сегодня, 10:39
, Если не трудно пожалуйста. У меня пока примерно такой код:
// -----------------------------------------------------------------------------------------
СпрВидыКатегорий = СоздатьОбъект("Справочник.ВидыКатегорий");
// елемент "Торти";"дільниця"
плНаименование = "Торти";
плКомментарий = "дільниця";
// в Довіднику є ще елемент "торти";"сайт"
флЕстьЭлемент=0;
СпрВидыКатегорий.ВыбратьЭлементы(0);
Пока СпрВидыКатегорий.ПолучитьЭлемент() = 1ЦиклЕсли (СпрВидыКатегорий.Наименование=плНаименование) И (СпрВидыКатегорий.Комментарий=плКомментарий) Тогда
флЕстьЭлемент=1;
Прервать;
КонецЕсли;
КонецЦикла;
Если флЕстьЭлемент=1Тогда//есть нужный элемент справочника
Сообщить(СпрВидыКатегорий.Наименование+" "+СпрВидыКатегорий.Комментарий);
Иначе//нет элемента
Сообщить("Не найдено!");
КонецЕсли;
Я раньше думал, что 1С ищет по наименованиям с учетом заглавных и прописных букв, пока не столкнулся с такой ситуацией.
Так тут вы ищите только совпадение с конкретным значением Наименования. В таком случае можно использовать другую выборку
//СпрВидыКатегорий.ВыбратьЭлементы(0);
СпрВидыКатегорий.ВыбратьЭлементыПоРеквизиту("Наименование",плНаименование,0);
Пока СпрВидыКатегорий.ПолучитьЭлемент() = 1ЦиклЕсли СпрВидыКатегорий.Комментарий=плКомментарий Тогда
Не-а. Ошибку выдает, неверный реквизит или как-то так. Я так пробовал. Я так понимаю, что Наименование это обязательный атрибут и не может выступать реквизитом.
miha74 @ 24.06.21, 22:14
, ИМХО добавить реквизит "НаименованиеКомментарий" (на форму можно не выводить), программно его заполнить, при записи элемента перезаполнять его, установить пизнак "Сортировка", поиск производить методом НайтиПоРеквизиту("НаименованиеКомментарий", ЗначениеДляПоиска)
Оратор
Группа: Местный
Сообщений: 480
Из: Украина
Спасибо сказали: 163 раз
Рейтинг: 165.1
miha74 @ 25.06.21, 10:31
, Добрый день! У меня была задача отобрать по артикулу товары. У заказчика в справочнике товаров, товары с одинаковыми артикулами. Их отбирал и выводил в ТЗ
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!