Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 июн 2026, 21:11

Самый простенький код 1С:БСП пробитие фискального чека на ККМ

Автор skillful, Сегодня в 00:56

skillful и 1 гость просматривают эту тему.

skillful

Здравствуйте. Нужен простенький код с помощью БСП, чтобы пробился фискальный чек прихода в/на ККМ.

Пример кода открытия кассовой смены, который у меня получилось сделать:

Оповещение = Новый ОписаниеОповещения("ОткрытьСменуККМЗавершение", ЭтотОбъект, Контекст);
ОборудованиеЧекопечатающиеУстройстваКлиент.НачатьОткрытиеСменыНаФискальномУстройстве(Оповещение, УникальныйИдентификатор, ИдентификаторУстройства, ПараметрыОперации, ДополнительныеПараметры);

Пример кода печати текста в чеке

ПараметрыОперации.Вставить("СтрокиТекста", "СтрокиТекста");

ОборудованиеЧекопечатающиеУстройстваКлиент.НачатьПечатьТекста(
Оповещение,
УникальныйИдентификатор,
ПараметрыОперации.ИдентификаторУстройства,
ПараметрыОперации
);
А вот напечатать сам чек продажи не получается, код:
Оповещение = Новый ОписаниеОповещения("ПробитьЧекЗавершение", ЭтотОбъект, ПараметрыОперации);

ОборудованиеЧекопечатающиеУстройстваКлиент.НачатьФискализациюЧекаНаФискальномУстройстве(
Оповещение,
УникальныйИдентификатор,
ПараметрыОперации.ИдентификаторУстройства,
ПараметрыОперации
// ДополнительныеПараметры
);


&НаКлиенте
Процедура ПробитьЧекЗавершение(РезультатВыполнения, ПараметрыОперации) Экспорт

ЭтаФорма.Доступность = Истина;

Если РезультатВыполнения.Результат Тогда

// Установить полученное значение номера чека реквизиту документа.
Если ЗначениеЗаполнено(РезультатВыполнения.НомерЧекаККТ) Тогда
Объект.НомерЧекаККМ = РезультатВыполнения.НомерЧекаККТ;
Иначе
Объект.НомерЧекаККМ = НомерДокументаКассыККМ[Объект.КассаККМ];
КонецЕсли;
Объект.ПробитЧек    = Истина;
Модифицированность  = Ложь;



Иначе
ТекстСообщения = НСтр("ru = 'При печати чека произошла ошибка.
|Чек не напечатан на фискальном устройстве.
|Дополнительное описание: %ДополнительноеОписание%'");

ТекстСообщения = СтрЗаменить(ТекстСообщения, "%ДополнительноеОписание%", РезультатВыполнения.ОписаниеОшибки);
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения);
КонецЕсли;


КонецПроцедуры

Пробывал выполнять данный код:
1. Из документа "ЧекККМ"
2. Из внешней обработки где Объект обработки - это ДокументОбъект.ЧекККМ

Ошибка во всех случаях такая: "FFFFFFF8h, Wrong Integer XML Value OperationID: (сдесь какой-то УИ)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск