Доброго дня.
BAF (8.3.19.1529)
Business Automation Software for small company. PROF (1.6.21.1)
Есть процедура из модуля интеграции Вчаснокасса и Baf
Процедура ВыводЧека(фОбъект) Экспорт
Сообщить(Объект.Ответ["info"]["doccode"]);
Если (фОбъект.Параметры.ВыводЧека = 2 Или фОбъект.Параметры.ВыводЧека = 3) И
Не (фОбъект.Параметры.ИспользоватьОтправку И (фОбъект.Ответ["info"]["task"] = 1 Или фОбъект.Ответ["info"]["task"] = 2)) Тогда
Возврат;
КонецЕсли;
ШиринаЛентыКоэф = фОбъект.Параметры.ШиринаЛенты * 0.95;
Картинка = Новый Картинка(Base64Значение(СтрЗаменить(фОбъект.Ответ["pf_image"], "data:image/png;base64,", "")));
Файл = Новый Файл(ПолучитьИмяВременногоФайла("png"));
Картинка.Записать(Файл.ПолноеИмя);
Shell = Новый COMОбъект("Shell.Application");
Folder = Shell.NameSpace(Файл.Путь);
Item = Folder.ParseName(Файл.Имя);
Детали = Folder.GetDetailsOf(Item, -1);
Детали = СтрЗаменить(Детали, " ", "");
Х = Найти(Детали, "x");
ВысотаКартинки = "";
Сч = Х + 1;
Пока Истина Цикл
Если КодСимвола(Детали, Сч) >= 48 И КодСимвола(Детали, Сч) <= 57 Тогда
ВысотаКартинки = ВысотаКартинки + Сред(Детали, Сч, 1);
Сч = Сч + 1;
Иначе
Прервать;
КонецЕсли;
КонецЦикла;
ШиринаКартинки = "";
Сч = Х - 1;
Пока Истина Цикл
Если КодСимвола(Детали, Сч) >= 48 И КодСимвола(Детали, Сч) <= 57 Тогда
ШиринаКартинки = Сред(Детали, Сч, 1) + ШиринаКартинки;
Сч = Сч - 1;
Иначе
Прервать;
КонецЕсли;
КонецЦикла;
УдалитьФайлы(Файл.ПолноеИмя);
ТабДок = Новый ТабличныйДокумент;
ТабДок.ПолеСверху = 0;
ТабДок.ПолеСлева = 0;
ТабДок.ПолеСнизу = 0;
ТабДок.ПолеСправа = 0;
ТабДок.АвтоМасштаб = Истина;
Макет = ПолучитьМакетНаСервере("Макет");
Область = ПолучитьОбластьНаСервере(Макет, "Область");
Область.ОбластьПечати = Область.Область(1, 1, 1, 1);
Рисунок = Область.Рисунки.PNG;
Рисунок.Высота = ШиринаЛентыКоэф * ВысотаКартинки / ШиринаКартинки;
Рисунок.Ширина = ШиринаЛентыКоэф;
Рисунок.Картинка = Картинка;
ВывестиОбластьНаСервере(ТабДок, Область);
Если фОбъект.Параметры.ВыводЧека = 0 Или фОбъект.Параметры.ИспользоватьОтправку Тогда
ПараметрыОткрытияФормы = Новый Структура;
ПараметрыОткрытияФормы.Вставить("Чек", ТабДок);
Если фОбъект.Параметры.ИспользоватьОтправку И (фОбъект.Ответ["info"]["task"] = 1 Или фОбъект.Ответ["info"]["task"] = 2) Тогда
ПараметрыОткрытияФормы.Вставить("Отправка", Истина);
ПараметрыОткрытияФормы.Вставить("ФискальныйНомер", фОбъект.Ответ["info"]["doccode"]);
//наумов 30.10.2024 передача чека Начало
//наумов 30.10.2024 передача чека Конец
ПараметрыОткрытияФормы.Вставить("Токен", фОбъект.Параметры.Токен);
Иначе
ПараметрыОткрытияФормы.Вставить("Отправка", Ложь);
КонецЕсли;
ОткрытьФорму("ВнешняяОбработка.ПрограммныйРегистраторКассираВчасноКасаДополнительнаяОбработка.Форма.ФормаЧека", ПараметрыОткрытияФормы, ЭтаФорма);
КонецЕсли;
Если фОбъект.Параметры.ВыводЧека = 1 Тогда
ТабДок.Напечатать();
КонецЕсли;
КонецПроцедуры
ПараметрыОткрытияФормы.Вставить("ФискальныйНомер", фОбъект.Ответ["info"]["doccode"]);
вставить в ТабДок.
потом в табдок найти ячейку и прочитать
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua