helpf.pro
Регистрация
 0 
Распечатать

1С 8.x : Делаем быстрый поиск по списку Справочника, Документов.

Сразу оговорюсь, пример для списка справочника Контрагенты, но подобное я использую очень часто.

И так: Менеджерам хочется открыть список контрагентов, и быстро найти контрагента по любым данным которые они помнят!

Реализованно следующим образом:
1. На форму в Командную панель Действия формы добавленно 2 Кнопки
а) Найтиконтр (с картинкой поиск, Процедура НайтиКонтр(Кнопка)) будет использоваться для запроса данных у пользователя для отбора
б) Инф (с картинкой бинокль) будет отображать параметр текущего запроса
в) В свойствах табличного поля добавим Событие При Активизации Колонки - Процедура ИзмНазваниеКнопки(Элемент)

2. В модуль добавим код:
Код 1C v 8.х
 
Процедура НайтиКонтр(Кнопка)
Если элементыформы.ДействияФормы.Кнопки.Найтиконтр.текст ="Показать все задания" Тогда
СправочникСписок.Отбор.Сбросить();
элементыформы.ДействияФормы.Кнопки.Найтиконтр.текст ="Поиск по "+ЭлементыФормы.СправочникСписок.ТекущаяКолонка.ТекстШапки;
элементыформы.ДействияФормы.Кнопки.инф.текст="Отбора нет";
Иначе
Текст = "";
Подсказка = "Поиск по "+ЭлементыФормы.СправочникСписок.ТекущаяКолонка.ТекстШапки;
Типзнач=ЭлементыФормы.СправочникСписок.ТекущаяКолонка.ЭлементУправления.ТипЗначения;
Если ВвестиЗначение(Текст, Подсказка,Типзнач) Тогда
Попытка
СправочникСписок.Отбор[ЭлементыФормы.СправочникСписок.ТекущаяКолонка.имя].ВидСравнения = ВидСравнения.Содержит;
СправочникСписок.Отбор[ЭлементыФормы.СправочникСписок.ТекущаяКолонка.имя].Значение = текст;
СправочникСписок.Отбор[ЭлементыФормы.СправочникСписок.ТекущаяКолонка.имя].Использование = Истина;
элементыформы.ДействияФормы.Кнопки.инф.текст="Отбор: Содержит - "+ЭлементыФормы.СправочникСписок.ТекущаяКолонка.ТекстШапки+" = "+ВРег(строка(текст));
элементыформы.ДействияФормы.Кнопки.Найтиконтр.текст ="Показать все задания";
Исключение
СправочникСписок.Отбор[ЭлементыФормы.СправочникСписок.ТекущаяКолонка.имя].ВидСравнения = ВидСравнения.Равно;
СправочникСписок.Отбор[ЭлементыФормы.СправочникСписок.ТекущаяКолонка.имя].Значение = текст;
СправочникСписок.Отбор[ЭлементыФормы.СправочникСписок.ТекущаяКолонка.имя].Использование = Истина;
элементыформы.ДействияФормы.Кнопки.инф.текст="Отбор: Равно - "+ЭлементыФормы.СправочникСписок.ТекущаяКолонка.ТекстШапки+" = "+ВРег(строка(текст));
элементыформы.ДействияФормы.Кнопки.Найтиконтр.текст ="Показать все задания";
Конецпопытки;
КонецЕсли;
КонецЕсли;
КонецПроцедуры

Процедура ИзмНазваниеКнопки(Элемент)
Если не элементыформы.ДействияФормы.Кнопки.Найтиконтр.текст ="Показать все задания" Тогда
элементыформы.ДействияФормы.Кнопки.Найтиконтр.текст ="Поиск по "+ЭлементыФормы.СправочникСписок.ТекущаяКолонка.ТекстШапки;
КонецЕсли;
КонецПроцедуры


В результате перемещаясь по колонкам списка, меняется Поиск по...(Названию колонки)
title
title
title

Для примера нужно быстро получить список Контрагентов у которых телефон содержит 783
title

Результат:
title


Автор: Евгений Мигачев
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 19530
 0 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш
Google maps, поиск оптимального маршрута 5
В данном посте хочу коснуться основных аспектов построения оптимального маршрута с использованием API Google maps. Исходные данные для построения маршрута: * Географические координаты объектов, которые хранятся в базе; * Координаты начальной и коне
Microsoft SQL Server Native Client Добавление значения в столбец "datetime" привело к переполнению 2
При формировании отчета на СКД получили ошибку: Microsoft SQL Server Native Client 11.0: Добавление значения в столбец "datetime" привело к переполнению Подробнее текст такой: ... по причине: Ошибка компоновки данных по причине: Ошибка получени
База для Разработки или Рабочая? Как быстро определить? 5
Когда-то я работал консультантом SAP . В SAPe есть настройка изменения цвета главного окна программы и у нас было негласное правило: Рабочая программа - Красный фон , Тестовая - Зеленый , Разработка - Синий . Работая в 1С, всегда открыто по 5-6
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.