Подбор товаров по цене в РМК Розница 1

09.07.13

Разработка - Работа с интерфейсом

Реализовал поиск товаров по цене в РМК Розница 1.

Доброго всем дня! Ранее в магазине использовали ККМ Атол, там по умолчанию есть поиск товаров по цене. После перехода на РМК 1С Розница, продавцы требовали чтобы я вернул им эту функцию=) Вот как реализовал ее я.

Для начала откроем конфигуратор.

1. Откроем конфигурацию : Конфигурация-Открыть Конфигурацию

2. Открываем Общие модули-УправлениеНоменклатурой Ищем функции Функция НайтиПоАртикулу, НайтиПоКоду и т.д.

Добавляем ниже

Функция НайтиПоЦене(Цена, ТекДата, ТекМагазин, Список = Неопределено) Экспорт
	
	Если Не ТипЗнч(Список) = Тип("СписокЗначений") Тогда
		Результат = Новый СписокЗначений;
	Иначе
		Результат = Список;
	КонецЕсли;
	
	Запрос = Новый Запрос;	
	
	Запрос = Новый Запрос();
	Запрос.УстановитьПараметр("Магазин", ТекМагазин);
	Запрос.УстановитьПараметр("Период", ТекДата);
	Запрос.УстановитьПараметр("Цена", Цена);
	Запрос.Текст = "ВЫБРАТЬ
	|	ЦеныНоменклатурыМагазиновСрезПоследних.Номенклатура.Ссылка КАК Ссылка
	|ИЗ
	|	РегистрСведений.ЦеныНоменклатурыМагазинов.СрезПоследних(&Период, Цена = &Цена И ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ (Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) И Магазин В (&Магазин)) КАК ЦеныНоменклатурыМагазиновСрезПоследних 	
	|";
							
	РезультатЗапроса = Запрос.Выполнить();
	ТЗ = РезультатЗапроса.Выгрузить();
	
	Результат.ЗагрузитьЗначения(ТЗ.ВыгрузитьКолонку("Ссылка"));

	Возврат Результат;
	
КонецФункции
 

3. Откроем Справочники-Номенклатура-Формы-ФормаСписка, копируем поле поиска и кнопки поиск и очистить.

4. Сама форма РМК Кассира находится  в Документы-ЧекККМ-Формы-ФормаРегистрацииПродаж, заходим туда, вставляем куда нужно скопированные поле поиска и кнопки.

Переименовываем вставленные элемент, для этого правой кнопкой по любому элементу и выбираем свойства:

После поиска - ПолеПоискаТовары
Кнопка Искать - КнопкаПоиск
Кнопка Очистить - КнопкаОчиститьПоиск

5. У каждого элемента в свойствах в самом низу списка есть События. Для кнопок на нажитие пишем следующиее:

Кнопка поиска:

Процедура КнопкаПоискНажатие(Элемент)


		ТекущаяНадпись = СокрЛП(ЭлементыФормы.ПолеПоискаТовары.Значение);
		Если ТекущаяНадпись = "" Тогда
			ТаблицаПодборКлавиши.Отбор.Сбросить();
			ЭлементыФормы.ТаблицаПодборКлавиши.Свернуть(Справочники.Номенклатура.ПустаяСсылка());
			ЭлементыФормы.ТаблицаПодборКлавиши.НачальноеОтображениеДерева = НачальноеОтображениеДерева.РаскрыватьВсеУровни;
			Возврат;
		КонецЕсли;
		
		СписокЗначений = Новый СписокЗначений();
		
		СписокОтбора = УправлениеНоменклатурой.НайтиПоЦене(ОбщегоНазначения.ПривестиСтрокуКЧислу(ТекущаяНадпись, Истина), ТекущаяДата(), Магазин);
		 
				
		Если СписокОтбора.Количество() <> 0 Тогда
			Для Каждого текЭлементСпискаОтбора Из СписокОтбора Цикл
				НовыйЭлемент = СписокЗначений.Добавить(текЭлементСпискаОтбора.Значение);
			КонецЦикла;
		
			ТаблицаПодборКлавиши.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
			ТаблицаПодборКлавиши.Отбор.Ссылка.Значение = СписокЗначений;
			ТаблицаПодборКлавиши.Отбор.Ссылка.Использование = Истина;
			ЭлементыФормы.ТаблицаПодборКлавиши.НачальноеОтображениеДерева = НачальноеОтображениеДерева.РаскрыватьВсеУровни;
		КонецЕсли;
	
КонецПроцедуры

На кнопку очистить:

Процедура КнопкаОчиститьПоискНажатие(Элемент)
	
	ПолеПоискаТовары = "";
	ТаблицаПодборКлавиши.Отбор.Сбросить();
	ЭлементыФормы.ТаблицаПодборКлавиши.Свернуть(Справочники.Номенклатура.ПустаяСсылка());
	ЭлементыФормы.ТаблицаПодборКлавиши.НачальноеОтображениеДерева = НачальноеОтображениеДерева.РаскрыватьВсеУровни;
	
КонецПроцедуры

Собственно вот и все, компилируем (F5)  и в интерфейса кассира не забудьте открыть поле с подбором (Правда панель-Подбор либо F) 

Если будет необходимо сделать поиск по Артикулу то нужно вместо

СписокОтбора = УправлениеНоменклатурой.НайтиПоЦене(ОбщегоНазначения.ПривестиСтрокуКЧислу(ТекущаяНадпись, Истина), ТекущаяДата(), Магазин);
		

написать

СписокОтбора = УправлениеНоменклатурой.НайтиПоАртикулу(ТекущаяНадпись);

Для поиска по всем полям:

СписокОтбора = УправлениеНоменклатурой.НайтиВезде(ТекущаяНадпись);

Спасибо большое: Dos_1985,CnupT,dmt,

Sherdrada,copybases

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    61960    43    59    

81

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54588    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    16835    21    4    

35

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    11018    756    elcoan    45    

106

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

2 стартмани

10.04.2023    9802    153    acces969    31    

119

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3855    kalyaka    4    

29

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12216    1    5    

10
Оставьте свое сообщение