1с поиск по реквизиту не работает
Найти элемент справочника в 1С 8 можно тремя способами:
1) Поиск по коду
Если известен код элемента справочника, и необходимо получить ссылку на него, то можно воспользоваться методом НайтиПоКоду(, , , ) менеджера справочника. В простейшем случае необходимо передать данному методу код элемента справочника и в результате будет получена либо ссылка на элемент справочника, либо пустая ссылка, если элемент с таким кодом не найден. Следует заметить, что если в справочнике присутствует несколько элементов с указанным кодом, то будет возвращен тот, который найден первым.
Описание параметров метода НайтиПоКоду:
- (обязательный). Тип: Число, Строка. Описание: искомый код, строка или число в зависимости от настроек справочника в конфигураторе.
- (необязательный). Тип: Булево. Описание: определяет режим поиска по полному коду, истина — искомый код следует задавать в виде строки, состоящей из последовательности кодов по уровням справочника, разделенных символом “/”. Значение по умолчанию: Ложь.
- (необязательный). Тип: СправочникСсылка. Описание: родитель, в пределах которого нужно выполнять поиск, если не указан, то поиск будет проводиться во всем справочнике.
- (необязательный). Тип: СправочникСсылка. Описание: владелец, в пределах которого нужно выполнять поиск, если не указан, то поиск будет проводиться во всем справочнике.
2) Поиск по наименованию
Если известно наименование элемента справочника и необходимо получить ссылку на него, то можно воспользоваться методом НайтиПоНаименованию(, , , ) менеджера справочника. В простейшем случае необходимо передать данному методу наименование элемента справочника и в результате будет получена либо ссылка на элемент справочника, либо пустая ссылка, если элемент с таким наименованием не найден. Следует заметить, что если в справочнике присутствует несколько элементов с указанным наименованием, то будет возвращен тот, который найден первым.
Описание параметров метода НайтиПоНаименованию:
- (обязательный). Тип: Строка. Описание: строка, содержащая искомое наименование.
- ТочноеСоответствие> (необязательный). Тип: Булево. Описание: определяет режим поиска по полному соответствию, поиск будет успешным, если строка поиска: в случае значения параметра Ложь — будет соответствовать левой части наименования, в случае значения параметра Истина — будет полностью совпадать с наименованием (за исключением “хвостовых” пробелов в наименовании). Значение по умолчанию: Ложь.
- (необязательный). Тип: СправочникСсылка. Описание: родитель, в пределах которого нужно выполнять поиск, если не указан, то поиск будет проводиться во всем справочнике.
- (необязательный). Тип: СправочникСсылка. Описание: владелец, в пределах которого нужно выполнять поиск, если не указан, то поиск будет проводиться во всем справочнике.
3) Поиск по произвольному реквизиту
Если известно значение какого либо реквизита справочника и необходимо получить ссылку на него, то можно воспользоваться методом НайтиПоРеквизита(, , , ) менеджера справочника. В простейшем случае необходимо передать данному методу имя реквизита, его значение и в результате будет получена либо ссылка на элемент справочника, либо пустая ссылка, если элемент с таким значением указанного реквизита не найден. Следует заметить, что если в справочнике присутствует несколько элементов с таким значением указанного реквизита, то будет возвращен тот, который найден первым.
Открыли документ Счет, в поле Контрагент набираете первую букву & поиск осуществляется, набираете вторую (третью) букву и список становится пустым - это слетел индекс полнотекстового поиска, его нужно обновить:
- Главное меню - Все функции - Стандартные - Управление полнотекстовым поиском
Если Пункт меню Все функции недоступен, то включить его можно в меню Сервис - Параметры - Показывать Все функции
или такой вариант:
Меню - Администрирование - Поддержка и обслуживание - Регламентные операции - Полнотекстовый поиск данных - Настроить - Очистить индекс - Обновить индекс
Похожие FAQ
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ Google maps : вывод точек на карту и режим панорамы 7
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора База 1С при запуске уходит в дамп и вылетает 1
В последнее время частенько обращаются пользователи у которых после замены или ремонта компьютера 1С не запускается, а точнее при открытии уходит в dump и вылетает. Как правило, решение одно: Отключить аппаратное ускорение видеокарты В Window Блокировка записей, невозможно изменить или удалить из регистра. Конфликт блокировок MS SQL + 1C 3
При попытке удалить запись из регистра сведений - получаю ошибку: она заблокирована, ошибка блокировок и т.д. Отключил всех пользователей, перезапустил сервер, пробую удалить - опять ошибка блокировки :( Путем тестов было вяснено, что проблема Ввод данных по командировкам в программе ЗУП 0
Ввод сведений о командировках в программе 1С: Зарплата и управление персоналом 8 (ред.30) осуществляется в Разделе Кадры - Все кадровые документы - Создать - Командировка Откроется документ: Ввод сведений о командировках в программ Посмотреть все результаты поиска похожих
Еще в этой же категории
Запуск базы 1С в режиме запуска Обычное приложение или Управляемое приложение 28
Для принудительного запуска предприятия в Обычном или Управляемом приложении используются следующие ключи: /RunModeOrdinaryApplication запуск толстого клиента в обычном режиме, несмотря на настройки конфигурации и пользователя, от имени которого Как изменить картинку главное в панели инструментов УП 1С? 7
Разрабатывая конфигурацию, задался вопросом: Как изменить картинку раздела "Главное" в интерфейсе Такси? Сразу скажу, беглый поиск по настройкам не помог, но оказалось все не так сложно. В свойствах конфигурации есть пункт "Картинка основного разде Использование модальных окон в данном режиме запрещено! Модальные окна не работают, как быть? 4
В конфигураторе в свойства конфигурации, есть параметр «Режим использования модальности» Если установить Не использовать , то - принципе весь код, который после ОткрытьФормуМодально() Вопрос(), Предупреждение(), Выборов и диалогов открытия-сохр Пример хранения изображений в базе (отдельный справочник), в интерфейсе Такси и без модальности 3
Часто разрабатывая некую конфигурацию, пользователи хотят прикреплять к элементу справочника фото и чтобы они хранились в базе данных. В этой статье я расскажу как к справочнику объекты строительства подключить хранилище фотографий в виде справочни Как из панели меню убрать пункт Вид и отключить Настройка панели? 3
Нужно чтобы пользователи не могли менять настроенный для них интерфейс! Решение: Для отключения нужно в правах доступа у корневого элемента конфигурации убрать право " Сохранение данных пользователя ". Отключатся настройка панелей и пункт ме Посмотреть все в категории 1С Общие вопросы - Управляемые формы и Такси
При разработке конфигурации, для упрощении ввода документов потребовалось настроить ввод номенклатуры по совпадению любой части наименования!
В 1С 8.3 по умолчанию настройки справочника номенклатуры такие:
При такой настройке, механизм поиска в справочнике номенклатуры работает так:
- в документе вводим первые символы Пета и видим такой результат подсказки:
Но, такой поиск не удобен и менеджеры захотели подбирать номенклатуру по артикулу, например 1320
Для этого изменим настройки указав поиск по Любой части и включив полнотекстовый поиск:
Сохраняем конфигурацию и в режиме предприятие обновляем Полнотекстовый поиск: Меню - Все функции - Стандартные - Управление полнотекстовый поиском
После этого пробуем в документе выполнить поиск по 1320 и видим:
Все Менеджеры пищат как дети на новогодней елке!
Пока писал эту статью нашел в интернете другое решение для платформы 8.2:
В модуле менеджера справочника "Номенклатура" пишем:
В обработчике - ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбраблтка) для нас важны все три параметра. В первый "ДанныеВыбора" мы загружаем наш список номенклатуры, полученный по нашему алгоритму. Из параметра "Параметры" мы получим значение введенное пользователем, а третьему параметру "СтандартнаяОбработка" мы должны поставить значение "Ложь"(отключаем стандартный алгоритм системы).
В результате одной небольшой процедурой мы полностью решили поставленную задачу.
Похожие FAQ
Еще в этой же категории
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П Как открыть внешнюю обработку или отчет программно 1С УП? 6
В версии 8.2 и старше: приложение не работает непосредственно с локальными файлами, расположенными на компьютере. Файлы должны находиться на сервере. Поэтому для открытия внешней обработки нужно выполнить следующую последовательность действий: Как передать таблицу значений с сервера на клиент? 5
Многие спрашиваю, как передать тз с сервера на клиент - ниже несколько вариантов как это можно реализовать: Через ЗначениеВСтрокуВнутр и ЗначениеИзСтрокиВнутр НаКлиенте Процедура ПолучитьТаблицу НаСервер(Команд а) ТЗВСтроке = ПолучитьТЗНаС РеквизитФормыВЗначение() и ДанныеФормыВзначение() - Описание и примеры использования 2
gvk2009 подробно и доходчиво описал разницу методов, за что ему огромное спасибо: В Синтаксис-Помощнике очень скупо написано о процедуре ДанныеФормыВЗначение (), чуть побольше - о РеквизитФормыВЗначение (). И совсем нет примеров использования. Вывод результата запроса на форму УП в таблицу значений (аналог СоздатьКолонки() для УП) 2
при разработке на обычных формах было удобно выводить результат запроса используя метод СоздатьКолоки(): Процедура ПоискНажатие(Элемент) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ДокументоОборот.Этап, | ДокументоОборот.Отдел, | Докуме Посмотреть все в категории Управляемое приложение, Тонкий клиент
Ключевые слова и Изображения
Слова упорядочены по частоте использования в тексте
Изображения
Перестал работать поиск контрагентов в справочнике Контрагенты . Программа сообщает, что данного контрагента нет в базе, хотя он есть в справочнике. Найти его получается либо только пролистыванием справочника, либо через Расширенный поиск , что очень неудобно.
Причиной возникновения данной ошибки могут быть:
- устаревшие индексы полнотекстового поиска данных;
- «битые» ссылки на элементы справочника Контрагенты .
Рассмотрим действия по исправлению ситуации для каждого случая отдельно.
Обновление индексов полнотекстового поиска данных
Чтобы обновить устаревшие индексы полнотекстового поиска, необходимо:
- Открыть форму Общие настройки : раздел Администрирование — Настройки программы – Общие настройки .
- Проверить использование Полнотекстового поиска данных в программе:
- флажок Полнотекстовый поиск данных — установлен.
- Перейти в настройку Полнотекстового поиска данных по гиперссылке Настроить .Проверьте указанную в форме Управления полнотекстовым поиском и извлечения текстов дату актуальности и статус индекса. Правильная информация:
- Дата актуальности индекса — текущая дата;
- Статус индекса — Обновление не требуется.
Обновление индекса полнотекстового поиска происходит автоматически в фоновом режиме. По заданному разработчиками расписанию в 1С периодически запускается специальная регламентная задача по включению новых объектов программы в общий индекс поиска.
После обновления индекса:
- в поле Дата актуальности индекса — устанавливается текущая дата;
- Статус индекса — переходит в состояние Обновление не требуется;
- кнопка Обновить индекс — становится недоступной.
Если база большая, то процедура построения индекса поиска может занять несколько часов, поэтому выполнять ее желательно в свободное от работы пользователей время.
Если причина ошибки — отсутствие ссылок на новые объекты в полном индексе поиска, то после выполненных действий функция поиска в справочнике Контрагенты и других списках будет работать нормально. Но чтобы исключить повторение подобной ситуации, необходимо проверить настройку выполнения расписания автоматического обновления индекса регламентным заданием.
Автоматическое обновление индекса полнотекстового поиска регламентным заданием
После восстановления индекса полнотекстового поиска последующее его обновление идет в автоматическом режиме из регламентной операции по настроенному разработчиками расписанию.
Рассмотрим действия, которые нужно выполнить, для проверки настройки автоматического обновления индекса полнотекстового поиска:
- Откройте форму Регламентные и фоновые задания : раздел Администрирование — Настройки программы — Обслуживание — Регламентные операции — ссылка Регламентные и фоновые задания .
- Перейдите на вкладку Фоновые задания . Проверьте, что все запущенные в автоматическом режиме задания Обновление индекса ППД имеют статус Задание выполнено.
По умолчанию Обновление индекса ППД выполняется каждые 60 секунд. Это сделано специально: чтобы все новые данные программы, заведенные пользователями, сразу же становились доступны для быстрого поиска и отбора.
Если данных много, то выполнение этой регламентной операции может серьезно «тормозить» компьютер. Тогда, взвесив все «за» и «против», можно внести изменение в настройку расписания операции Обновление индекса ППД , задав его по-новому: например, обновление индекса каждые 2 часа или даже реже. Нужно учитывать, что в этом случае все вновь добавленные в базу данные будут доступны к отбору с 2-х часовым (или более) опозданием: после обновления индекса полнотекстового поиска.
Проверка логической и ссылочной целостности элементов базы
Причиной возникновения ошибки при поиске объектов в списках справочников и документов могут быть «битые» ссылки на элементы базы. Это происходит, если нарушена ссылочная или логическая целостность объектов, которые отбираются функцией Поиск .
Каждый объект программы хранится со своим индивидуальным номером и в определенной ссылочной таблице информационной базы. При возникновении технического сбоя выстроенные взаимосвязи между объектами и их ссылками в таблицах могут нарушаться, что приводит к невозможности найти объект по индивидуальной ссылке, хранящейся в таблице. В таком случае нужно выполнить восстановление логической и ссылочной целостности базы встроенным механизмом Конфигуратора: раздел Администрирование — Тестирование и исправление .
Для исправления «битых» ссылок в базе данных достаточно выставить в форме Тестирование и исправление информационной базы следующие условия проверки и нажать кнопку Выполнить :
- флажок Реиндексация таблиц информационной базы ;
- флажок Проверка логической целостности информационной базы ;
- флажок Проверка ссылочной целостности информационной базы ;
- переключатель Тестирование и исправление ;
- При наличии ссылок на несуществующие объекты — Не изменять;
- При частичной потере данных объектов — Не изменять.
С работой функционала Тестирование и исправление можно ознакомиться в статье Тестирование и исправление базы 1С 8.3: какие галочки ставить
БухЭксперт8 напоминает, что перед любыми действиями с информационной базой 1С необходимо выполнить ее резервное копирование. Тестирование и исправление информационной базы носит необратимый характер и в некоторых случаях может привести к потере базы.
См. также:
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
В данной публикации рассматривается справочник Контрагенты. Это один из самых.У вас нет доступа на просмотр Чтобы получить доступ:Оформите коммерческую..У вас нет доступа на просмотр Чтобы получить доступ:Оформите коммерческую.
(10 оценок, среднее: 5,00 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинете
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
Изменения в 2022 году, о которых нужно знать бухгалтеру
6-НДФЛ за 1 квартал 2022 в 1С
Санкции и контрмеры: как работать организации и ее бухгалтеру в новой реальности. Часть 2
Учет малоценных ОС и запасов (ОСН)
Отчетность за 1 квартал 2022
Спасибо большое! Как всегда,бесподобный вебинар с исчерпывающими ответами для нас «бедных» бухгалтеров! Всем лекторам благодарность.
//Реквизит1, Реквизит2, Реквизит3 – реквизиты документа
//В Реквизит3 (с типом "Справочник.Контрагенты")
//помещается значение из "Справочник.Контрагенты"
НовыйДок = СоздатьОбъект( "Документ.Платежка" );
НовыйДок . Новый ();
НовыйДок . Реквизит1 = "ЗначениеРеквизита1" ;
НовыйДок . Реквизит2 = "ЗначениеРеквизита2" ;
СпрКонтрагенты = СоздатьОбъект( "Справочник.Контрагенты" );
СпрКонтрагенты . НайтиПоРеквизиту ( "РеквизитГдеИскать" , "ТоЧтоШщется" , 1 );
Если СпрКонтрагенты . Выбран () > 0 Тогда
НовыйДок . Реквизит3 = СпрКонтрагенты . ТекущийЭлемент ();
Иначе
Сообщить( "В СпрКонтрагенты ничего не найдено" );
КонецЕсли;
НовыйДок . Записать ();
НовыйДок . Провести ();
Для редактирования выписок открыть Банк и касса – Банк – Банковские выписки. (Рис.1,2) Выделить необходимые банковские выписки (если их несколько, они выделяются с нажатой клавишей Shift) и, кликнув правой кнопкой мыши, выбрать команду "Изменить выделенные. " (Рис.3 список выбранных элементов.рис.4 – список реквизитов для редактирования) В окне формы "Изменение выделенных элементов "Списание с расчетного счета" найти реквизит, который подлежит изменению, установить флажок и выбрать новое значение из соответствующего справочника. "Изменить реквизиты" и проверить результат изменения (рис.5).
Найти элемент справочника по значению реквизита.
НайтиПоРеквизиту( , , Ф лагГлобальногоПоиска>)
Строковое выражение с наименованием реквизита.
Значение реквизита для поиска.
Числовое выражение. Если 0, то поиск должен выполняться в пределах подчинения справочника, если 1, то поиск должен выполняться по всему справочнику.
Число 1 — если действие выполнено;
Число 0 — если действие не выполнено (элемент не найден).
Метод НайтиПоРеквизиту выполняет поиск первого элемента с указанным значением заданного реквизита и позиционирует объект справочник на этом элементе.
Данный метод может использоваться только в том случае, если в конфигураторе при описании данного реквизита установлен признак «Сортировка» (Свойства реквизита – Дополнительные – Сортировка).
Данный метод может использоваться только для объектов, созданных функцией СоздатьОбъект .
Читайте также: