Программное добавление в форму подбора: полей Поиска по цене и Фильтрации товара без остатков (Расширение конфигурации)

10.03.18

Учетные задачи - Розничная торговля

Стандартный подбор заточен под работу со сканером ШК(штрих-кодов) и не очень удобен для ручного ввода товара в чек, что актуально для небольших магазинчиков с широким ассортиментом мелкого товара, на который и ШК некуда поставить. Приходится часто открывать форму расширенного поиска и совершать массу лишних действий. Данная доработка направлена на исключение лишних телодвижений при фильтрации товара по цене и скрытия товара без остатков.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Программное добавление в форму подбора: полей Поиска по цене и Фильтрации товара без остатков (Расширение конфигурации).:
.cfe 78,33Kb
6
6 Скачать (1 SM) Купить за 1 850 руб.

Готового решения не нашел, поэтому решил допилить самостоятельно.

Расширение сделано для конфигурации "Розница для Беларуси, редакция 2.2".

Часть материала взята отсюда //infostart.ru/public/122253/ часть не помню откуда, остальное сам.

Добавляем Расширение конфигурации.

В него копируем интересующую нас форму подбора и создаем процедуру при Открытии в которой указываем вызов процедуры для создания поля формы:

Процедура РасшРМКпоискПоЦене_ПриОткрытииПосле(Отказ)
	СоздатьПолеНаСервере(); 
КонецПроцедуры

Добавляем саму процедуру создания поля:

Процедура СоздатьПолеНаСервере()
	//Добавляем реквизит
	нРеквизиты = Новый Массив;
	КвалификаторыЧисла = Новый КвалификаторыЧисла(10, 2, ДопустимыйЗнак.Неотрицательный);
	РеквизитПоиск = Новый РеквизитФормы("ПоискПоЦене", Новый ОписаниеТипов("Число",КвалификаторыЧисла), , "Поиск по цене", Истина);
    нРеквизиты.Добавить(РеквизитПоиск); 
	ИзменитьРеквизиты(нРеквизиты); 	
	//Добавляем поле ввода
	Элемент = ЭтаФорма.Элементы.Добавить("ПоискПоЦене", Тип("ПолеФормы"), ЭтаФорма.Элементы.ГруппаПоиска);
	Элемент.Вид = ВидПоляФормы.ПолеВвода;
	Элемент.ПутьКДанным = "ПоискПоЦене";  
	Элемент.Заголовок="Найти по цене";
	Элемент.Подсказка="(для отключения введите '0' и [Enter])";
	Элемент.УстановитьДействие("ПриИзменении", "НайтиПоЦене");  
КонецПроцедуры    

Процедура, отключающая отбор

если он уже использовался ранее

Процедура ОтключитьОтборПоПолюКомпоновки(Имя)
	Для Каждого ЭлементОтбора Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
		Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Имя)  Тогда 
			ЭлементОтбора.Использование = Ложь;
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры

и установки отбора заново

Процедура УстановитьОтборПоПолюКомпоновки(Имя,Значение,ВидСравнения,Булв)
	ЭлементОтбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Имя); 
	ЭлементОтбора.ВидСравнения = ВидСравнения; 
	ЭлементОтбора.ПравоеЗначение = Значение; 
	ЭлементОтбора.Использование = Булв; 
КонецПроцедуры 

Затем собственно саму процедуру, установленную для поля ПриИзменении:

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

Аналогично поступаем с отключением нулевых остатков.

создаем:

Процедура СоздатьПолеНаСервере()
	//Добавляем реквизит 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	РеквизитФлаг = Новый РеквизитФормы("НольНеПоказывать", Новый ОписаниеТипов("Булево"), , "Ноль не показывать", Истина);
	нРеквизиты.Добавить(РеквизитФлаг); 	
	ИзменитьРеквизиты(нРеквизиты);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	//Добавляем флажок
	Флаг = ЭтаФорма.Элементы.Добавить("НольНеПоказывать", Тип("ПолеФормы"), ЭтаФорма.Элементы.ГруппаПоиска);
	Флаг.Вид = ВидПоляФормы.ПолеФлажка;
	Флаг.ПутьКДанным = "НольНеПоказывать";  
	Флаг.Заголовок="Только с остатками";
	Флаг.Подсказка="(для услуг отключить)";  
	Флаг.УстановитьДействие("ПриИзменении", "СкрытьНулевыеОстатки");
КонецПроцедуры    

и дописываем процедуру действия ПриИзменении:

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

Добавляем в ПриОткрытии:

Процедура РасшРМКпоискПоЦене_ПриОткрытииПосле(Отказ)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	ЭтаФорма.НольНеПоказывать=Истина;//если чаще подбор услуг то не надо
	СкрытьНулевыеОстатки();
КонецПроцедуры

P.S. Если кому очень надо вышлю на e-mail, Viber. Skype или Почтой :-), напишите в комментах или в личку куда!?

Расширение Система компоновки данных СКД подбор товара Розница РМК по цене остатки нулевые

См. также

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 1.6 1С:Бухгалтерия автономного учреждения Россия Платные (руб)

Универсальная обработка для обслуживания любых фискальных регистраторов (ККТ), в том числе Веб сервер АТОЛ. Работает в соответствии с 54-ФЗ. (ФФД 1.0, ФФД 1.05, ФФД 1.1, ФФД 1.2). Подключайте любую онлайн кассу к практически любой конфигурации. Нет необходимости обновлять 1С. Можно бесплатно скачать и протестировать. Может работать одновременно с несколькими онлайн-кассами, либо одной с разных рабочих мест. (через RDP, TCP\IP или веб-сервер) Позволяет разделить один чек сразу на несколько ККТ или на несколько систем налогообложения. Поддерживает разрешительный режим и маркировку. Поддерживает локальный модуль честного знака для офлайн проверки. Можно настроить собственный шаблонов чека. Можно использовать эквайринг там, где он не поддерживается. Работает на LINUX и Windows

6000 руб.

27.02.2017    812078    5187    9770    

2940

Оптовая торговля Розничная торговля Обмен с ГосИС Бухгалтер Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Автоматизация учета ЕГАИС в 1С для оптовой торговли, производства и импорта. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

828 руб.

15.12.2015    172623    864    370    

407

ККМ Кассовые операции Розничная торговля Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия автономного учреждения Россия Платные (руб)

Обработка осуществляет обслуживание ККТ АТОЛ, Штрих, Вики Принт и Меркурий для конфигураций "УТ 10.3", "КА 1.1", "УПП 1.3", "Розница 1.0", "БП 2.0" и других отраслевых решений, построенных на основе указанных выше конфигурациях. Поддерживает возможность параллельно пробития чеков на одной ККМ несколькими пользователями. Поддерживает Веб-сервер Атол. Соответствует требованиям 54-ФЗ. Поддерживает ФФД 1.0, 1.05, 1.1 и 1.2. Разделяет чеки по нескольким СНО. Поддерживает механизмы подключения ККТ по TCP/IP, для работы через RDP или интернет. Поддержка маркировки и разрешительного режима. Поддержка пробития чеков с новыми ставками НДС 5% и НДС 7%.

7900 руб.

25.05.2015    341644    2030    3120    

1068

ККМ Кассовые операции Розничная торговля Программист Бухгалтер Пользователь Бухгалтерский учет Оперативный учет Управляемые формы 1С:Розница 2 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение для типовых конфигураций для Управляемых форм позволяет выполнять печать кассовых чеков на одну ККМ 54-ФЗ с нескольких рабочих мест. НИКАКИХ НАСТРОЕК В РАЗРАБОТКЕ - ПОДКЛЮЧИЛ И ПЕЧАТАЙ. Если у вас несколько отделов и одна ККМ - печатайте на одной ККМ! Если у вас две ККМ и одна поломалась - печатайте на одной ККМ, пока ремонтируете другую!

9500 руб.

27.08.2018    125428    667    603    

897

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

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

57600 руб.

26.11.2024    2355    2    2    

4

ККМ Кассовые операции Розничная торговля Системный администратор Программист Пользователь Платформа 1С v8.3 1C:Бухгалтерия Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Платные (руб)

«Сервер ККМ» позволяет приложениям работать с фискальными регистраторами по локальной сети или интернет, организовать печать на одном ККМ с нескольких рабочих мест с поддержкой очереди печати. Поддерживаются ВСЕ ревизии требований фирмы 1С к разработке драйверов ККТ от 2.2 до 4.4. В поставке есть драйверы для операционных систем Linux, Android, MacOs и Windows. Поддержка драйверов Атол, Штрих и 1С-совместимых драйверов для ККТ ревизии 4.4. Поддержка 54-ФЗ и разрешительного режима, ФФД 1.05,1.1,1.2. Подключается к 1С Торговля и склад 7.7, 1С:УТ 10/11, 1С:УНФ 1.6/3, 1С:Розница 1/2/3, 1С:БП 2/3, 1С КА 1/2., 1С:ERP, УПП. Ускоряет печать из терминального сеанса Windows. Работает с разрешительным режимом даже из старых конфигураций. Предоставляет REST API для печати через веб-сервис. Поддерживаются новые ставки НДС 5% и 7%.

5000 руб.

02.09.2016    139572    180    194    

196
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. borlog 5 10.03.18 15:05 Сейчас в теме
Добавил квалификатор числа, в поле ПоискПоЦене, так как в версиях 1с отличных от 8.3.10.2580, невозможно было искать товар с ценой меньше 1 (точнее можно, но задом наперед: 12-> ,12 -> 0,12).
КвалификаторыЧисла = Новый КвалификаторыЧисла(10, 2, ДопустимыйЗнак.Неотрицательный);
РеквизитПоиск = Новый РеквизитФормы("ПоискПоЦене", Новый ОписаниеТипов("Число",КвалификаторыЧисла), , "Поиск по цене", Истина);
2. пользователь 26.09.19 11:14
Сообщение было скрыто модератором.
...
3. user782202 26.12.19 07:00 Сейчас в теме
Здравствуйте, можно получить Ваше расширение поиска по цене для Розница 2.2 на почту: yulia.kuzmina@mail.ru.
4. пользователь 26.12.19 18:13
Сообщение было скрыто модератором.
...
5. Cezar66 03.02.20 19:51 Сейчас в теме
Здравствуйте! Можно получить Ваше расширение фильтра поиска по остатку для 1с Розница 2.2 Аптека на почту hak@inbox.ru
6. pankov.s13 25.02.20 17:15 Сейчас в теме
Добрый день, если сможете прислать расширение на почту pankov.s13@gmail.com буду очень признателен!
9. Raideres 8 20.03.21 11:14 Сейчас в теме
(6)при начале поиска мы вводим какой либо искомый текст и срабатывает типовая процедура очиститьотборы так что необходимо еще править и там
7. пользователь 18.05.20 03:01
Сообщение было скрыто модератором.
...
8. пользователь 22.07.20 08:02
Сообщение было скрыто модератором.
...
10. пользователь 18.04.21 12:30
Сообщение было скрыто модератором.
...
11. пользователь 02.06.22 15:37
Сообщение было скрыто модератором.
...
12. пользователь 13.09.22 18:52
Сообщение было скрыто модератором.
...
13. пользователь 15.11.22 22:53
Сообщение было скрыто модератором.
...
14. пользователь 15.11.22 22:54
Сообщение было скрыто модератором.
...
Оставьте свое сообщение