Как настроить подбор по цене?

Подбор по цене будет выглядеть так: введите на кассе число (цену для подбора), нажмите комбинацию клавиш, система показывает товары по этой цене.

Для настройки подбора нужно:

1) Зайти в редактор функции раскладки («Настройки» → закладка «Оборудование» → кнопка «Редактировать функции раскладки»)

2) Далее нужно выбрать функцию, которую мы заменим на «Подбор по цене». Например, подойдет функция «Детектор валют»(код: 107) группы «Основные».

3) В этой функции нужно заменить код на:

_Запрос = Новый Запрос();
_Запрос.Текст = "
         |ВЫБРАТЬ
         |   ЦеныИОстаткиПоТоварам.Товар
         |ИЗ
         |   РегистрСведений.ЦеныИОстаткиПоТоварам КАК ЦеныИОстаткиПоТоварам
         |ГДЕ
         |   ЦеныИОстаткиПоТоварам.Цена = &Цена
         |   И ЦеныИОстаткиПоТоварам.КодСклада = &КодСклада
         |УПОРЯДОЧИТЬ ПО ЦеныИОстаткиПоТоварам.Товар.Наименование";
         
_Запрос.УстановитьПараметр("Цена", ПолучитьГлавноеПолеВвода(1));
_Запрос.УстановитьПараметр("КодСклада", Кассир5_DataAccess.ПолучитьПОСТерминал().Склад.Код);


_Форма = МенеджерОбъектов.ПолучитьОбщийОбъект("Регистрация.ФормаВыбораНомер1");
_Форма.СписокЧеков.Очистить();

Для Каждого Стр Из _Запрос.Выполнить().Выгрузить() Цикл
   _Форма.СписокЧеков.Добавить(Стр.Товар.Код, Стр.Товар.Наименование);
КонецЦикла;

Если _Форма.СписокЧеков.Количество() = 0 Тогда
   ИнтерфОшибка("Товар не найден");
   _Рез = Неопределено;
ИначеЕсли _Форма.СписокЧеков.Количество() = 1 Тогда
   _Рез = _Форма.СписокЧеков[0];
Иначе
   _Рез = _Форма.ОткрытьМодально();
КонецЕсли;

Если _Рез <> Неопределено Тогда
   тФорма = ЭтаФорма;
   МенеджерОбъектов.ПолучитьОбщийОбъект("AddIn.CashContext").ДобавитьПозициюПоКодуАртикулу(_Рез.Значение, "Код", "", -1, тФорма);
КонеЦЕсли;

По умолчанию детектору валют (уже подбору по цене) присвоено сочетание клавиш Shift+F10, это можно изменить установив флаг «Использовать свою раскладку клавиатуры» и нажав кнопку «Задать раскладку клавиатуры» на закладке «Оборудование» формы с настройками.