Установка
- Требуется зарегистрированная 1C++ и Miracle (если необходимо создавать кнопки на панелях форм справочника).
- Универсальная обработка поиска и отбора http://www.1cpp.ru/forum/YaBB.pl?num=1211491690, если есть желаение ее прикрутить ко всем справочникам.
- Регистрируем класс Faval в defcls.prm.
- Файлы картинок должны лежать в одной папке с классом.
Подключаем нужные справочники
Создаем экземляр класса Faval. Указываем какие справочники нужно мониторить:
Настройки = СоздатьОбъект("УправлениеНастройками");
Попытка
Настройки.Включить("ПерехватитьСобытияГК");
oFavalГМ = СоздатьОбъект("Faval");
oFavalГМ.ИмяФайлаPoiskErt = КаталогИБ() + "\ExtForms\Служебные\Poisk.ert"; // Если есть необходимость вынести на панель еще и кнопку быстрого поиска
oFavalГМ.ДобавитьФэйворитДля("Справочник.Номенклатура", 1); //второй параметр указывает на необходимость создания кнопок на панели инструментов формы списка кнопок после ее открытияя
oFavalГМ.ДобавитьФэйворитДля("Справочник.Контрагенты");
oFavalГМ.ДобавитьФэйворитДля("Справочник.ТорговыеТочки");
oFavalГМ.ДобавитьФэйворитДля("Справочник.Отделы");
oFavalГМ.ДобавитьФэйворитДля("Справочник.ТоварныеГруппы");
// Вместо регистрации каждого справочника выборочно можно сделать это для всех справочников конфигурации одним методом вместо пердыдущих строк
// oFavalГМ.ДобавитьФэйворитДляВсехСправочников(Знач аДобавитьКнопкиНаСтандартнуюПанель)
Перехватчик = СоздатьОбъект("Перехватчик");
Перехватчик.ПерехватитьСобытияГлобальногоМодуля(oFavalГМ);
Перехватчик.ВключитьРазбиениеДлинныхСтрокДляМетодаСообщить(); //Ликвидация проблем с длинными строками
Исключение
Перехватчик = "";
Сообщить("Не удалось инициализировать классы Перехватчик и Faval!", "!");
КонецПопытки;
Если в конфигурации уже есть ПерехватитьСобытияГлобальногоМодуля, то можно попробовать пронаследовать ваш класс обработчик от Faval и обеспечить вызов его метода СобытиеГМ_СозданиеКонтекста(), если он перекрыт.
Выбор элемента из часто используемых в форме списка справоника
Располагаем на форме кнопку с именем кнФэйворит, по нажатию на которую пользователь получит список часто используемых элеметов этого справочника. После выбра произойдет позиционирование на выбранном элементе.
В код формы добавляем:
Перем oFaval;
Процедура ПослеОткрытия()
oFaval = СоздатьОбъект("Faval");
oFaval.СвязатьКнопкуФэйворитСРеквизитом(Контекст, "кнФэйворит",, "oFaval", "[Значение], Артикул:[Значение.Артикул]");
КонецПроцедуры // ПослеОткрытия
Последним параметром в метод СвязатьКнопкуФэйворитСРеквизитом опционально можно передать строку шаблон, которая будет применена для каждого элемента в списке часто используемых. Переменная значение содержит сам элемент.
Выбор элемента из часто используемых в реквизит формы отчета/обработки
Располагаем на форме кнопки с именем кнФНоменклатура и кнФКонтрагент, по нажатию на которые пользователь получит списоки часто используемых элеметов соответвющих справочников Номенклатура и Контрагенты. После выбра из списка произойдет подстановка выбранного в соответсвующий реквизит.
Перем oFaval;
Процедура ПослеОткрытия()
oFaval = СоздатьОбъект("Faval");
oFaval.СвязатьКнопкуФэйворитСРеквизитом(Контекст, "кнФНоменклатура", "поНоменклатура", "oFaval");
oFaval.СвязатьКнопкуФэйворитСРеквизитом(Контекст, "кнФКонтрагент", "поКонтрагент", "oFaval");
КонецПроцедуры // ПослеОткрытия
Использование класса напрямую
- Поле МаксДлинаСписка. Количество элементов в списке часто используемых для выбора пользователем.
- Метод ВыбратьЗначение(Знач аФэйворитСписокИД, Знач аШаблонСтрВыбораВМеню = ""). Показывает меню с выбором часто используемых элементов справочника переданного в аФэйворитСписокИД. аШаблонСтрВыбораВМеню опеределяет шаблон каждой строки списка. См. выше.
История версий
2012-12-12
+ Возможность добавления кнопки выбора из списка часто используемых на стандартную панель формы списка справочника без
изменения кода формы справочника. Нужна зарегистрированная ВК Miracle.
+ Возможность добавления кнопки открытия обработки универсального поиска (http://www.1cpp.ru/forum/YaBB.pl?num=1211491690)
и отбора на стандартную панель формы списка справочника без изменения кода формы справочника. Нужна зарегистрированная ВК Miracle.
После создания классу нужно указать, где расположен .ert обработка
oFaval.ИмяФайлаPoiskErt = КаталогИБ() + "\ExtForms\Служебные\Poisk.ert";
+ Метод .ДобавитьФэйворитДляВсехСправочников(Знач аДобавитьКнопкиНаСтандартнуюПанель) регистрации всех имеющих справочников.
Параметр оперделяет добавлять ли на панели форм списоков кнопки доступа. Иначе будет только формироваться списки часто
используемых элементов.
2012-12-06
+ В меню быстрого выбора вынесен отдельно последний использованный элемент.
2012-12-05
+ Возможность включения и отключения отбора в форме списка справочника по часто используемым элементам.
* Если в списке всего один элемент пользователю все равно предоставляется выбор из меню. Раньше происходил выбор элемента.