Имя: Пароль:
1C
1C 7.7
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
Там вся печать чека идет только через "СформироватьЧек" но нигде нету "НапечататьТекстовыйДокумент"(