Добрый день, коллеги! Не могу понять вот какой момент. Есть ККТ Штрих-онлайн. Есть УТ 10.3.62.1 Версия драйвера штриха 4.15.807, версия прошивки s.1 19018 13.02.2020. Но при использовании даже самой последней обработки обслуживания версия АПИ 2.05 т.е. ревизия 2005.
Штрих не умеет работать по ревизии 3000 в принципе, или тут дело в чем-то ином?
В итоге победили. Кратко опишу путь, вдруг кому пригодится опыт:
1. Берем обработку версии 2.6 (в теме есть ссылка).
2. Ставим самые последние драйвера от штриха (иначе ловим ошибку про deviceid) .
3. Из установленных драйверов берем компоненту и запихиваем её в обработку.
4. В УТ дорабатываем механизм формирования тегов. Общий принцип, если значение ноль УТ тег не формирует, а штрих ругается поэтому надо писать "нулевой тег", на примере НДС это выглядит вот так:
ЗаписьXML.ЗаписатьАтрибут("VATRate", XMLСтрока(ЗначениеСтавкаНДС)); // Ставка НДС
Если ТекущаяПозиция.Свойство("СуммаНДС") И НЕ ПустаяСтрока(ТекущаяПозиция.СуммаНДС) Тогда
ЗаписьXML.ЗаписатьАтрибут("VATAmount", XMLСтрока(ТекущаяПозиция.СуммаНДС));
Иначе
ЗаписьXML.ЗаписатьАтрибут("VATAmount", XMLСтрока(0));
КонецЕсли;
(5) Для Штриха под прошивку 13.02.2020 проверял драйвер 4.15.0.837 и обработкой 2.5. Работает без ошибок. Для 3000 ревизии нужна обработка 2.6. Но я не проверял.
(4) Так... получается, что нормальной обработки под 10.3 уже не будет? Только руками? Есть какой-нибудь мануал, что именно поправить? Спасибо Вам за помощь!
(5) Для Штриха под прошивку 13.02.2020 проверял драйвер 4.15.0.837 и обработкой 2.5. Работает без ошибок. Для 3000 ревизии нужна обработка 2.6. Но я не проверял.
Попробовали свежую обработку. Ревизия стала 3002 всё ок, но ошибка пробития чека
fffffff8h no xml attribute VATAmount
И как бы логично, ибо УТ такой атрибут не передает в ввиду того (как я понимаю) что суммы НДС нет
<CheckPackage>
<Parameters CashierName="Кузя" OperationType="1" TaxationSystem="5" CustomerEmail="" CustomerPhone="">
<AgentData/>
<VendorData/>
</Parameters>
<Positions>
Можно конечно дописать этот параметр и сделать его нулевым по умолчанию (работа без НДС). Но это не самый лучший вариант, хочется понять почему ошибка появляется. Читал как вариант, что надо в настройках штриха отключить расчет налогов, но только завтра можно попробовать будет.
<FiscalString Name="Сигареты Некст слимс супер фиолетовые Капсула МРЦ 125 (шт)" Quantity="1" PriceWithDiscount="125" AmountWithDiscount="125" DiscountAmount="0" Department="2" VATRate="none" PaymentMethod="4" CalculationSubject="1">
<GoodCodeData MarkingCode="RE0EMHcZgABocCdCNmhmQUI9VSAg"/>
<AgentData/>
<VendorData/>
</FiscalString>
</Positions>
<Payments Cash="125"/>
</CheckPackage>
(13) Общий модуль МенеджерОборудованияВызовСервера видимо что-то не верно формируется.
ЗаписьXML.ЗаписатьАтрибут("VATRate", XMLСтрока(ЗначениеСтавкаНДС)); // Ставка НДС
Если ТекущаяПозиция.Свойство("СуммаНДС") И НЕ ПустаяСтрока(ТекущаяПозиция.СуммаНДС) Тогда
ЗаписьXML.ЗаписатьАтрибут("VATAmount", XMLСтрока(ТекущаяПозиция.СуммаНДС));
КонецЕсли;
(18) Добрый день! Попробовал запустить с исправлениями выше - ок, на это больше не ругается ругается на deviceid. Такой тег утшкой в принципе не пишется (пробежался поиском по коду). Поиск в гугле тоже особой ясности пока не добавил, ошибка встречается, но как лечится не очень понятно. Не сталкивались?
ЗаписьXML.ЗаписатьАтрибут("VATRate", XMLСтрока(ЗначениеСтавкаНДС)); // Ставка НДС
Если ТекущаяПозиция.Свойство("СуммаНДС") И НЕ ПустаяСтрока(ТекущаяПозиция.СуммаНДС) Тогда
ЗаписьXML.ЗаписатьАтрибут("VATAmount", XMLСтрока(ТекущаяПозиция.СуммаНДС));
Иначе
ЗаписьXML.ЗаписатьАтрибут("VATAmount", XMLСтрока(0));
КонецЕсли;
(8)
1. В строке:
ПодключитьВнешнююКомпоненту(Адрес, "ИнтеграционнаяКомпонента", ТипВнешнейКомпоненты.Native);
нужно указать ТипВнешнейКомпоненты.Native, прежние драйвера от Штриха были COM
2.Проверить имя класса, должно быть SMDrvFR1C3:
Драйвер = Новый("AddIn.ИнтеграционнаяКомпонента.SMDrvFR1C3");
В итоге победили. Кратко опишу путь, вдруг кому пригодится опыт:
1. Берем обработку версии 2.6 (в теме есть ссылка).
2. Ставим самые последние драйвера от штриха (иначе ловим ошибку про deviceid) .
3. Из установленных драйверов берем компоненту и запихиваем её в обработку.
4. В УТ дорабатываем механизм формирования тегов. Общий принцип, если значение ноль УТ тег не формирует, а штрих ругается поэтому надо писать "нулевой тег", на примере НДС это выглядит вот так:
ЗаписьXML.ЗаписатьАтрибут("VATRate", XMLСтрока(ЗначениеСтавкаНДС)); // Ставка НДС
Если ТекущаяПозиция.Свойство("СуммаНДС") И НЕ ПустаяСтрока(ТекущаяПозиция.СуммаНДС) Тогда
ЗаписьXML.ЗаписатьАтрибут("VATAmount", XMLСтрока(ТекущаяПозиция.СуммаНДС));
Иначе
ЗаписьXML.ЗаписатьАтрибут("VATAmount", XMLСтрока(0));
КонецЕсли;