Ведомость чеков в РМК 1С:Розница 8.3 ред. 2.2

В РМК 1С:Розница 8.3 ред. 2.2 нет функциональной кнопки, чтобы увидеть все чеки, которые были проведены на кассе ККМ за весь период ее работы на данном рабочем месте. Для того чтобы увидеть чеки, нужно выйти из РМК и пройти в "Продажи" - "Чеки", что не совсем удобно, поэтому в РМК создадим свою кнопку с выводом отчета всех чеков.

Первый раз работал в Конфигураторе, поэтому объясню своими словами как и что делал. Когда мне звонят продавцы и спрашивают, как можно увидеть чеки, которые были созданы, я им отвечаю, что например можно нажать на кнопку "Возврат (F5)" в РМК и там будут видны чеки. Поэтому я решил добавить свою кнопку "Ведомость чеков (Shift+V)". Будут описаны 2 решения вывода отчетов по чекам из РМК:

01Изначально нужно сделать: Заходим под Администратором в Конфигуратор базы данных. Чтобы получить возможность вносить изменения, проходим в "Конфигурация" - "Поддержка" - "Настройка поддержки" - снимаем Конфигурацию с поддержки:

02Что будем переделывать в стандартной форме, которая вызывается через кнопку "Возврат (F5)" в РМК?

Эта форма называется "ФормаВыбораЧека", скопируем ее и переделаем, назвав "ФормаВыбораЧека1". Заходим в пункт меню "Конфигурация" - "Открыть конфигурацию". Появится дерево, в котором нужно выбрать обработку, отвечающую за форму РМК с кнопками: "Обработки" - "РМКУправляемыйРежим" - "Формы" - "ФормаВыбораЧека" - ПКМ "Скопировать":

Двойной клик по новой "ФормаВыбораЧека1" и проделываем действия как на скриншоте с пояснениями:

Дополнительно делаем заголовок формы "Перечень чеков":

Теперь форма со списком чеков готова, нужно добавить новую кнопку для её вызова "Ведомость продаж (Shift+V)" на главной форме РМК.

03Переходим "РМКУправляемыйРежим" - "Формы" - "Форма" - двойной клик, откроется редактор формы.

Добавляем кнопку "Ведомость продаж (Shift+V)", находим в форме "ГруппаЧастотныхОпераций", здесь отображены основные кнопки РМК, добавляем по аналогии с другими, свою кнопку:

Жмем на созданной кнопке ПКМ "Изменить", справа появится окно для редактирования, все настройки по аналогии с другими кнопками, только в конце, нужно создать новое событие на "Нажатие":

Откроется "Модуль", где нужно найти 3 процедуры: "Процедура КомандаЧО04Возврат(Команда)", "Процедура КартинкаЧО04ВозвратНажатие(Элемент, СтандартнаяОбработка)", "Процедура ВыполнитьЧО04Возврат()", раскрыть их и скопировать ниже. Затем отредактировать, изменив их имена и удаляя лишнее (см. //комментарии в коде):

&НаКлиенте
Процедура КомандаЧО09Ведомость(Команда) //Новое имя Команды для Акселератора
	ВыполнитьЧО09Ведомость() //Новое имя Процедуры Формы вывода чеков
КонецПроцедуры
&НаКлиенте
Процедура КартинкаЧО09ВедомостьНажатие(Элемент, СтандартнаяОбработка) //Новое имя Процедуры для кнопки Ведомости продаж
	СтандартнаяОбработка = Ложь;
	ВыполнитьЧО09Ведомость() //Новое имя Процедуры Формы вывода чеков
КонецПроцедуры 
&НаКлиенте Процедура ВыполнитьЧО09Ведомость() //Новое имя Процедуры Формы вывода чеков
	Если Объект.ВидОперации = ПредопределенноеЗначение("Перечисление.ВидыОперацийЧекККМ.Продажа") 
	Тогда Если Объект.Товары.Количество() > 0 Тогда ЗаголовокИнформации = НСтр("ru = 'Ведомость чеков'"); 
	ТекстИнформации = НСтр("ru = 'Чеки за все время'"); 
	ОбщегоНазначенияРТКлиент.ВывестиИнформациюДляРМКУправляемой(ЗаголовокИнформации, ТекстИнформации); 
	Возврат; 
	Иначе МассивСтруктурОтбора = Новый Массив; 
	МассивСтатусов = Новый Массив; 
	МассивСтатусов.Добавить(ПредопределенноеЗначение("Перечисление.СтатусыЧековККМ.ПустаяСсылка")); 
	МассивСтатусов.Добавить(ПредопределенноеЗначение("Перечисление.СтатусыЧековККМ.Пробитый")); 
//Здесь были перечислены структуры отбора, которые я удалил, чтобы выводились все чеки за все время (можно оставить, чтобы выводились только за последнюю смену) 
//СтруктураОтбора = ОбщегоНазначенияРТКлиентСервер.СтруктураОтбора();
//... 
	ПараметрыФормы = Новый Структура; 
	ПараметрыФормы.Вставить("МассивСтруктурОтбора", МассивСтруктурОтбора); 
//ПараметрыФормы.Вставить("ВыбиратьПродажиСУчетомВозвратов"); Будем выводить любой чек в отчете Ведомости 
	ПараметрыФормы.Вставить("СкрыватьКолонкуОрганизации", МассивКассККМКлиент.Количество() = 1);
//ОбработчикОповещения = Новый 		ОписаниеОповещения("ОповещениеОткрытьФормуВыбораЧекаПриВозврате", ЭтотОбъект); До этой формы причины возврата мы доходить не будем
	Режим = РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс; 
//Выбираем ранее отредактированную форму ФормаВыбораЧека1: 
	ОткрытьФорму("Обработка.РМКУправляемыйРежим.Форма.ФормаВыбораЧека1", ПараметрыФормы, 		УникальныйИдентификатор,,,,, Режим); 
	КонецЕсли; Иначе СоздатьНовыйНаборКлиент(); 
	ОбновитьФорму(); 
	ОбработкаТабличнойЧастиТоварыКлиент.ОбновитьКэшированныеЗначенияДляУчетаСерий(Элементы.Товары, КэшированныеЗначения, ПараметрыУказанияСерий); 
	КонецЕсли; 
	КонецПроцедуры

Процедура "КартинкаЧО09ВедомостьНажатие" на нажатие создана, теперь выбираем:

При выполнении этой процедуры, из нее будет выполнена основная процедура открытия формы отчета чеков "ВыполнитьЧО09Ведомость()":

04Процедура "КомандаЧО09Ведомость(Команда)" необходима, чтобы в РМК была доступна Ведомость продаж через кнопку меню "Справка по Акселераторам":

Поэтому добавляем Акселератор "КомандаЧО09ВедомостьАкселераторы" через группу "ГруппаПанельЧастотныхОпераций" и присваиваем команду "КомандаЧО09Ведомость":

05Теперь нашу созданную кнопку "Ведомость продаж (Shift+V)" перемещаем в шаблон РМК:

 

06Выбираем в меню "Конфигурация" - "Обновить конфигурацию базы данных":

07Запускаем РМК и смотрим Ведомость по чекам через добавленную кнопку:

08Другое, более изящное решение - это вывести существующую форму из Документа "Чек ККМ": эта форма формируется быстрее чем прошлый переделанный функционал возврата, чеки возврата выделяются красным цветом, аннулированные чеки тоже показываются. Для этого, нужно пройти в ветку "Документы" - "Чек ККМ" - "Формы" - скопировать "ФормаСписка":

09Открываем 2-ым нажатием скопированную форму "ФормаСписка1" и редактируем её под себя, убирая из видимости ненужные кнопки и поля, я сделал её в таком виде:

10Кнопка "Ведомость чеков (Shift+V)" уже добавлена (как добавить описано в пункте № 3, как перенести в РМК кнопку описано в пункте № 5). Теперь нужно привязать коды Процедур "КартинкаЧО09ВедомостьНажатие" и "КомандаЧО09Ведомость(Команда)".

Переходим в "РМКУправляемыйРежим" - "Формы" - "Форма". Выбираем кнопку "Ведомость чеков (Shift+V)" - ПКМ "Изменить" - "Нажатие":

11Пишем Процедуры для 2-х кнопок:

Команда для кнопки меню "Справка по акселераторам" из РМК:

&НаКлиенте
Процедура КомандаЧО09Ведомость(Команда)
	  ОткрытьФорму("Документ.ЧекККМ.Форма.ФормаСписка1");
КонецПроцедуры

Для кнопки "Ведомость продаж (Shift+V)" из РМК:

&НаКлиенте
Процедура КартинкаЧО09ВедомостьНажатие(Элемент, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	ОткрытьФорму("Документ.ЧекККМ.Форма.ФормаСписка1");
КонецПроцедуры

12Обновляем Конфигурацию, заходим в РМК, жмем кнопку "Ведомость продаж (Shift+V)" и видим отчет по чекам за все время с любым статусом:

 

mr. Mak

Остались вопросы? Пишите на почту admin@hzit.ru

Администратор сайта hzit.ru
Back to top