1с найти по части наименования в коде
При разработке конфигурации, для упрощении ввода документов потребовалось настроить ввод номенклатуры по совпадению любой части наименования!
В 1С 8.3 по умолчанию настройки справочника номенклатуры такие:
При такой настройке, механизм поиска в справочнике номенклатуры работает так:
— в документе вводим первые символы Пета и видим такой результат подсказки:
Но, такой поиск не удобен и менеджеры захотели подбирать номенклатуру по артикулу, например 1320
Для этого изменим настройки указав поиск по Любой части и включив полнотекстовый поиск:
После этого пробуем в документе выполнить поиск по 1320 и видим:
Все Менеджеры пищат как дети на новогодней елке!
Пока писал эту статью нашел в интернете другое решение для платформы 8.2:
В модуле менеджера справочника «Номенклатура» пишем:
В результате одной небольшой процедурой мы полностью решили поставленную задачу.
v8: 8.2 найти элемент справочника по части наименования
пытаюсь с помощью запроса получить ссылку на элемент справочника, для которого известно наименование и часть наименования группы-родителя.
Каким образом написать условие запроса для наименования группы-родителя?
Оператор проверки строки на подобие шаблону
Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа. Значение выражения должно иметь тип строка. Если значение выражения удовлетворяет шаблону – результатом оператора будет ИСТИНА, иначе – ЛОЖЬ.
Следующие символы в строке шаблона являются служебными и имеют смысл, отличный от символа строки:
[…] (в квадратных скобках один или несколько символов): любой одиночный символ из перечисленных внутри квадратных скобок
В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона.
[^…] (в квадратных скобках значок отрицания, за которым следует один или несколько символов): любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания
Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки.
Например, шаблон “%АБВ1[абвг]\_абв%” СПЕЦСИМВОЛ “\” означает подстроку, состоящую из последовательности символов:
буквы А; буквы Б; буквы В; одной цифры; одной из букв а, б, в или г; символа подчеркивания; буквы а; буквы б; буквы в.
Причем перед этой последовательностью может располагаться произвольный набор символов.
Примеры кода работы со справочниками
Как создать элемент (группу) справочника?
Как найти элемент справочника?
Как удалить элемент справочника?
Как перебрать элементы справочника?
Как выбрать все элементы из определенной группы?
Как перебрать элементы подчиненного справочника с помощью запроса?
Как перебрать элементы подчиненного справочника с помощью выборки справочника?
Как открыть форму списка (элемента) справочника?
Как добавить запись в табличную часть элемента справочника?
Как удалить строки из табличной части справочника?
Как перебрать строки табличной части справочника?
Как создать элемент в нужной группе?
Как узнать, есть ли у текущего элемента подчиненные?
Как узнать количество подчиненных элементов у выбранного элемента справочника?
Как узнать количество подчиненных элементов у выбранного элемента справочника, если подчиненных справочников несколько?
Как получить всех родителей выбранного элемента справочника?
Как получить запросом «полный» код элементов справочника, если тип кода — Строка?
Как получить все элементы справочника, содержащие в наименовании определенную подстроку, со всей иерархией, в которую они входят?
Как найти все элементы справочника, в которых не заполнен строковый реквизит?
Как перенести все элементы справочника «Контрагенты» из одной группы в другую?
Как организовать программный выбор элемента справочника?
Как сохранить фотографию сотрудника в справочнике «Сотрудники»?
Программная работа со справочниками
Справочники в 1С — это объекты конфигурации, предназначенные для хранения данных, имеющих одинаковую структуру и носящие списочный характер. Например, в справочниках может храниться: перечень номенклатуры, контрагентов, сотрудников, банковских счетов и т.д. В статье рассматриваются базовые принципы работы с этим объектом метаданных.
Создание элемента справочника
Создание новой группы:
Создание нового элемента:
Поиск элементов справочника
Для поиска элементов справочников в языке программирования 1С предусмотрено несколько методов:
Во всех методах если поиск успешный, то будет возвращена ссылка на найденный элемент.
Изменение элементов справочника
Для изменения реквизитов справочника необходимо выполнить следующие действия:
Программное изменение справочника возможно только на стороне сервера.
Например, на форму обработки выведен реквизит Номенклатура типа СправочникСсылка.Номенклатура. Вот пример кода, изменяющего наименование выбранной пользователем номенклатуры:
Удаление элементов справочника
Элементы справочника могут быть помечены на удаление и удалены из базы непосредственно.
Пометку на удаление можно установить/снять двумя разными способами:
Пример непосредственного удаления элемента справочника:
Обход элементов справочника
Для обхода элементов справочника в языке программирования 1С предусмотрено два метода:
Методы отличаются порядком следования отобранных элементов: при иерархической выборке для каждого элемента сначала выбираются элементы, для которых он является родителем, а затем уже выбираются элементы следующего уровня.
Рассмотрим примеры обхода элементов справочника:
Выбор элементов справочника запросом
Простой пример поиска и вывода товаров со стоимостью больше 1000:
Открытие форм справочника
Для открытия любых форм справочников рекомендуется использовать метод
Для открытия формы элемента или группы справочника также возможно использовать более простой метод
Кроме методов ОткрытьФорму () и ПоказатьЗначение () есть и другие (ОткрытьФормуМодально, ОткрытьЗначение, ПолучитьФорму), но их использование не рекомендуется, т.к. часть этих методов использует режим модального открытия, часть противоречит свежим рекомендациям фирмы 1С.
Приведем примеры программного открытия форм справочника:
Внимание!
Следует понимать, что интерактивная работа (в том числе открытие форм) в 1С возможна только на стороне клиента. В то же время поиск и изменение данных возможны только на стороне сервера.
Остались вопросы?
Спросите в комментариях к статье.
1с поиск по части наименования
Найти элемент справочника в 1С 8 можно тремя способами:
1) Поиск по коду
Описание параметров метода НайтиПоКоду:
2) Поиск по наименованию
Описание параметров метода НайтиПоНаименованию:
3) Поиск по произвольному реквизиту
Описание параметров метода НайтиПоРеквизит:
Nav view search
Navigation
Search
Примеры кода для 1С 8.x. Часть 3. Справочники.
Как обойти все элементы справочника запросом 1с 8.3:
Как обойти элементы с помощью менеджера справочника 1с 8.3:
Создание и запись нового элемента справочника 1с 8.3:
//метод: СоздатьЭлемент()
Создание и запись новой группы справочника (для иерархического справочника) 1с 8.3
Поиск элемента справочника запросом:
Поиск элемента через менеджер справочника 1с 8.3:
//Если элемент найден, возвращается ссылка, иначе пустая ссылка. Если реквизит КодНаименование в справочнике не используется, возвращается Неопределено.
//методы: НайтиПоКоду(), НайтиПоНаименованию(), НайтиПоРеквизиту();
Удаление элементагруппы справочника 1с 8.3:
Выборка элементов подчиненного справочника 1с 8.3:
Перенести элемент в другую группу 1с 8.3:
Как получить и проверить пустую ссылку справочника 1с 8.3
Как узнать принадлежность элемента справочника группе 1с 8.3:
Как скопировать существующий элемент справочника 1с 8.3
Как выяснить уровень вложенности элемента справочника 1с 8.3
Как заблокировать элемент справочника перед изменениями 1с 8.3
Как заполнить новый элемент справочника на основании 1с 8.3
Как открыть форму существующего элемента справочника, имея ссылку на него 1с 8.3
Как открыть форму существующей группы справочника, имея ссылку на нее 1с 8.3
Как открыть форму выбора элемента справочника и отследить её закрытие 1с 8.3
Как открыть форму списка справочника и установить отбор по реквизиту 1с 8.3
Как открыть форму списка справочника с нужным отображением 1с 8.3
Как открыть форму только что созданного, но ещё не записанного элемента справочника в 1с 8.3
В данной статье я расскажу вам как быстро найти в справочнике элементы у которых в наименовании присутствует вхождение искомой нами строки:
Текст запроса будет выглядеть так:
где оператор запроса ПОДРОБНО как раз и будет искать вхождения ПараметрСтрокаПоиска по всем элементам справочника Номенклатура.
Установить значение параметра ПараметрСтрокаПоиска можно командой:
Подобным образом можно организовать поиск по точному вхождению строки. Такой способ подходит для поиска элемента справочника например по коду. Строка запроса изменится и будет выглядеть так:
|Номенклатура.Наименование ПОДОБНОПараметрСтрокаПоиска
Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа. Значение выражения должно иметь тип строка. Если значение выражения удовлетворяет шаблону – результатом оператора будет ИСТИНА, иначе – ЛОЖЬ.
Следующие символы в строке шаблона являются служебными и имеют смысл, отличный от символа строки: