Три желания клиента. Розница 2.3
Несколько мелких задач для клиента.
В окне ввода штрих-кода кнопка С сбрасывает весь ШК, а хотелось бы, чтобы очищал последнюю цифру:
Поправляем форму ФормаВводаЧисла обработки РМКУправляемыйРежим:
&НаКлиенте Процедура КомандаСтереть(Команда) //+++Осипов 2023-02-06 ЗАМЕНА //ВводимоеЧисло = ""; //ПервыйВвод = Ложь; //=== ВводимоеЧисло = Лев(ВводимоеЧисло, СтрДлина(ВводимоеЧисло)-1); ПервыйВвод = ВводимоеЧисло = ""; //----- КонецПроцедуры
Далее просят кнопку, чтобы продавец мог из РМК посмотреть продажи, возвраты и оплаты картой, как в форме закрытия смены (на которую не хватает прав):
Делаю, выдает информацию в окне предупреждения:
Добавляю кнопку и делаю вызов функции, которую копирую из процедуры закрытия смены:
&НаКлиенте Процедура дор_СостояниеПродаж(Команда) //Осипов 2023-02-06 +++ //Осипов 2023-02-06 +++ С = _Доп.ТаблицаНеПробитыхЧеков(ТаблицаКассККМОрганизаций[0].КассаККМ); Текст = "Продаж: " + С.ИтогСуммаПродаж + Символы.ПС + "Возвратов:" + С.ИтогСуммаВозвратов + Символы.ПС + "Оплата картой: " + С.ИтогОплатаКартой; ПоказатьПредупреждение(, Текст); КонецПроцедуры &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Пропускаем инициализацию, чтобы гарантировать получение формы при передаче параметра "АвтоТест". Если Параметры.Свойство("АвтоТест") Тогда Возврат; КонецЕсли; //Осипов 2023-02-06 +++ ИмяКоманды = "дор_СостояниеПродаж"; КомандаФормы = ЭтаФорма.Команды.Добавить(ИмяКоманды); КомандаФормы.Действие = "дор_СостояниеПродаж"; КомандаФормы.Заголовок = "ПРОДАЖИ"; КомандаФормы.ИзменяетСохраняемыеДанные = Ложь; КомандаФормы.Отображение = ОтображениеКнопки.КартинкаИТекст; НовыйЭлемент = ЭтаФорма.Элементы.Добавить("дор_СостояниеПродаж", Тип("КнопкаФормы"), Элементы.ГруппаЧастотныхОпераций); //НовыйЭлемент.Вид = ВидКнопкиФормы.Гиперссылка; НовыйЭлемент.ИмяКоманды = ИмяКоманды; //Осипов 2023-02-06 --- ... КонецПроцедуры
Сама скопированная функция, меняем информацию о непробитых на информацию о пробитых:
&НаСервере Функция ТаблицаНеПробитыхЧеков(КассаККМ) Экспорт Объект = Новый Структура("КассаККМ", КассаККМ); УстановитьПривилегированныйРежим(истина); //Осипов 2023-02-06 //+++ Ниже скопировано из Обработка.ЗакрытиеКассовойСмены.Форма.ПроверкаНепробитыхЧеков. Последняя строчка с Загрузить убрана Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ... | "; //Осипов Запрос.Текст = СтрЗаменить(Запрос.Текст, "Перечисление.СтатусыЧековККМ.ПустаяСсылка", "Перечисление.СтатусыЧековККМ.Пробитый"); Запрос.УстановитьПараметр("КассаККМ" , Объект.КассаККМ); Запрос.УстановитьПараметр("ХозяйственнаяОперацияРКО" , Перечисления.ХозяйственныеОперации.ВозвратОплатыКлиенту); Запрос.УстановитьПараметр("ХозяйственнаяОперацияПКО" , Перечисления.ХозяйственныеОперации.ПоступлениеОплатыОтКлиента); Запрос.УстановитьПараметр("ВидДокументаЧек", "ЧекККМ"); Запрос.УстановитьПараметр("ВидДокументаПКО", "ПриходныйКассовыйОрдер"); Запрос.УстановитьПараметр("ВидДокументаРКО", "РасходныйКассовыйОрдер"); Запрос.УстановитьПараметр("ВидДокументаЭО" , "ОплатаОтПокупателяПлатежнойКартой"); ВозможностьИзмененияЧек = РольДоступна("ДобавлениеИзменениеЧековККМ") ИЛИ РольДоступна("ПолныеПрава"); ВозможностьИзмененияПКО = РольДоступна("ДобавлениеИзменениеКассовыхОрдеров") ИЛИ РольДоступна("ПолныеПрава"); ВозможностьИзмененияРКО = РольДоступна("ДобавлениеИзменениеКассовыхОрдеров") ИЛИ РольДоступна("ПолныеПрава"); ВозможностьИзмененияЭО = РольДоступна("ДобавлениеИзменениеОплатОтПокупателяПлатежнойКартой") ИЛИ РольДоступна("ПолныеПрава"); Запрос.УстановитьПараметр("ВозможностьИзмененияЧек", ВозможностьИзмененияЧек); Запрос.УстановитьПараметр("ВозможностьИзмененияПКО", ВозможностьИзмененияПКО); Запрос.УстановитьПараметр("ВозможностьИзмененияРКО", ВозможностьИзмененияРКО); Запрос.УстановитьПараметр("ВозможностьИзмененияЭО" , ВозможностьИзмененияЭО); Результат = Запрос.Выполнить(); ТаблицаЗапроса = Результат.Выгрузить(); ИтогСуммаПродаж = ТаблицаЗапроса.Итог("Сумма"); ИтогСуммаВозвратов = ТаблицаЗапроса.Итог("Возврат"); ИтогОплатаКартой = ТаблицаЗапроса.Итог("ОплатаКартой"); //ОсновнаяТаблица.Загрузить(ТаблицаЗапроса); //---Возвращаем Возврат Новый Структура("ИтогСуммаПродаж, ИтогСуммаВозвратов, ИтогОплатаКартой", ИтогСуммаПродаж, ИтогСуммаВозвратов, ИтогОплатаКартой); КонецФункции
Да, чуть позже добавил в начало этой функции вызов УстановитьПривилегированныйРежим(истина), чтобы работало под любыми правами.
Еще клиент жалуется, что при нажатии кнопки быстрые товары, после выбора товара, таблица товаров съезжает вниз и приходится ее потом подтягивать руками.
Управлять пунктирной линией в 1С нельзя, поэтому решаем вопрос жестко — фиксируем высоту поля между кнопками и табличной частью товаров:
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Пропускаем инициализацию, чтобы гарантировать получение формы при передаче параметра "АвтоТест". Если Параметры.Свойство("АвтоТест") Тогда Возврат; КонецЕсли; //Осипов 2023-02-06 Пробуем откорректировать Элементы.СтраницыИнформации.Высота = 10; Элементы.СтраницыИнформации.РастягиватьПоВертикали = ложь; ... КонецПроцедуры
Среда: Розница для Беларуси, редакция 2.2. Локализация для Республики Беларусь: СООО «1С-Минск». (2.2.11.2)
Объем: 1 час.
Свежие комментарии