v7: ККТ и НапечататьТекстовыйДокумент
☑
0
DeMi4
24.09.17
✎
13:42
Пытаюсь вывести на печать необходимый мне текст формирую его следующим образом. Но на чеке вместо необходимого мне текста выходит строчка с надписью "нефискальный документ"
Если ПустоеЗначение(Объект) = 1 Тогда
ОписаниеРезультата = "устройство не подключено";
Возврат 0;
КонецЕсли;
ИДУстройства = СединитьШтрихОнлайн(Объект);
Если ИДУстройства = 0 Тогда
Возврат 0;
КонецЕсли;
Если ЗагрузитьВнешнююКомпоненту(глКаталогКомпонент + "v7plus.dll") <> 1 Тогда
Предупреждение("Компонента v7plus.dll не найдена! Невозможно сформировать файл выгрузки.");
КонецЕсли;
XMLАнализатор = СоздатьОбъект("AddIn.XMLParser");
XMLДанныеЧека = XMLАнализатор.СоздатьДокумент();
XMLДанныеЧека.Кодировка = "UTF-8";
XMLCheckPackage = XMLДанныеЧека.СоздатьПодчиненныйЭлемент("Document");
XMLPositions = XMLCheckPackage.СоздатьПодчиненныйЭлемент("Positions");
XMLTextString = XMLPositions.СоздатьПодчиненныйЭлемент("TextString");
Текст = Параметры.Получить("Текст");
хПо = СтрКоличествоСтрок(Текст);
Для х=1 По хПо Цикл
ТекстДляПечати = СтрПолучитьСтроку(Текст,х);
Атрибут(XMLTextString,"Text",ТекстДляПечати);
КонецЦикла;
XMLДанныеЧека.Записать(КаталогПользователя() + "BankChek.xml");
// Читаем файл в кодировке UTF-8
АдоДБСтрим = CreateObject("Adodb.Stream");
АдоДБСтрим.Charset = "utf-8";
АдоДБСтрим.Type = 2;
АдоДБСтрим.Mode= 3;
АдоДБСтрим.Open();
АдоДБСтрим.LoadFromFile(КаталогПользователя() + "BankChek.xml");
ТекстАдоДБСтрим = АдоДБСтрим.ReadText();
АдоДБСтрим.Close();
Объект.НапечататьТекстовыйДокумент(ИДУстройства,ТекстАдоДБСтрим);
ОписаниеПоследнейОшибки = "";
КодПоследнейОшибки = Объект.GetLastError(ОписаниеПоследнейОшибки);
Если (СтрЧислоВхождений(ОписаниеПоследнейОшибки,"Ошибок нет") > 0) или
(СтрЧислоВхождений(ОписаниеПоследнейОшибки, "00h") > 0) Тогда
Иначе
ОписаниеРезультата = ОписаниеПоследнейОшибки;
Возврат ОписаниеРезультата;
КонецЕсли;
Возврат "";
1
DeMi4
24.09.17
✎
13:48
Ну вот собсвтенно сформированный текст
<?xml version="1.0" encoding="UTF-8" ?>
- <Document>
- <Positions>
<TextString Text="Попытка что то напечатать" />
</Positions>
</Document>
2
DeMi4
24.09.17
✎
15:07
Или подскажите как вывести чек с терминала на печать, пожалуйста
3
Смотрящий
24.09.17
✎
15:16
Глянь процедуру висящую на кнопке "Чек" документа ПКО типовой ТиС - там все есть.
4
DeMi4
25.09.17
✎
09:39
Там вся печать чека идет только через "СформироватьЧек" но нигде нету "НапечататьТекстовыйДокумент"(
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший