Копирование прошлого чека. УТ 11.4

Клиент попросил возможность скопировать данные из прошлого чека в новый.

Оказалось несложно реализовать.

Добавил в РМК кнопку «Скопировать»:

&НаСервере
Процедура дор_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	
	//2022-03-22 Осипов, переносим кнопку товарного чека +++
	...
	СоздатьКнопкуПечатиИлиКоманды("дор_СкопироватьЧек", "Скопировать");
КонецПроцедуры

Процедура СоздатьКнопкуПечатиИлиКоманды(ИмяКнопки, ЗаголовокКнопки) Экспорт
	//2022-03-22 Осипов, переносим кнопку товарного чека +++
	ИмяКоманды = ИмяКнопки;
	КомандаФормы = ЭтаФорма.Команды.Добавить(ИмяКоманды);
	КомандаФормы.Действие = ИмяКоманды;
	КомандаФормы.Заголовок = ЗаголовокКнопки;
	КомандаФормы.ИзменяетСохраняемыеДанные = Ложь;
	КомандаФормы.Отображение = ОтображениеКнопки.Текст;
	
	НовыйЭлемент = ЭтаФорма.Элементы.Добавить(ИмяКоманды, Тип("КнопкаФормы"), КоманднаяПанель);
	НовыйЭлемент.ИмяКоманды = ИмяКоманды;
	НовыйЭлемент.Ширина = 10;
	НовыйЭлемент.АвтоМаксимальнаяШирина = ложь;
	НовыйЭлемент.РастягиватьПоГоризонтали = ложь;
	//2022-03-22 Осипов, переносим кнопку товарного чека ---
КонецПроцедуры

При ее нажатии показывается окно выбора чека, после выбора чека товар из него копируется в чек.Чек должен быть пустым, можно для верности нажать «Новый чек».

Код по нажатию кнопки простейший:

&НаКлиенте
Процедура дор_СкопироватьЧек(Команда) Экспорт
	//Открываем форму выбора чека ККМ
	ОО = Новый ОписаниеОповещения("дор_СкопироватьЧек_ВыборЧека", ЭтаФорма);
	ОткрытьФорму("Документ.ЧекККМ.ФормаВыбора",,ЭтаФорма,,,,ОО,РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);
КонецПроцедуры

&НаКлиенте
Процедура дор_СкопироватьЧек_ВыборЧека(Результат, Параметры) Экспорт
	Если ЗначениеЗаполнено(Результат) Тогда
		ЗагрузитьНовыйЧек(Результат); //Передаем ссылку на чек
	КонецЕсли;
КонецПроцедуры

Используется вызов подходящей процедуры 1С:

Среда: УТ 11.4.13.46 Объем: 0.8 час.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

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