|
Чек на возврат в другой день из 1С 77 и 8 для Штрих онлайн - не печатается | ☑ | ||
---|---|---|---|---|
0
melis
15.08.20
✎
14:24
|
Доброго дня всем.
Может кто-нибудь подскажет, что нужно нужно подправить в обработке для ТиС 7.7 для отбития чека на возврат в другой день за нал и безнал (по платиковой карте)? Вроде все верно передаю, но чек не отбивается - выдает ошибку. Может надо сначала внесение денег на эту сумму в ФР штрих онлайн сделать? Или еще что-то - может кто-то подсказать? Есть уже на 10 раз переписанная обработка работы с драйвером штрих онлайн. Есть созданный программно в 1С77 объект на dll версии 4.14 и соединение к ней: Объект.Password=Пароль; Объект.Connect(); Объект.GetDeviceMetrics(); и т.д. прямой чек и возврат в тот же день отбиваются нормально. Код примерно такой: Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл //передача списка товаров с суммами в чек (в т.ч. для ОФД) Объект.Password = Пароль; // Приход Расход Объект.CheckType = ?(ПризнВозврата = 0,1,2); //ПризнВозврата = 0 - продажа, иначе возврат Объект.StringForPrinting = СписокТоваров.ТовНаим; Объект.Price = ЦенаСоСкд; //тщи 54ФЗ Объект.Quantity = СписокТоваров.Количество; Объект.Department = НомерСекции; Если НДС = 18 Тогда Объект.Tax1 = 1; ИначеЕсли НДС = 10 Тогда Объект.Tax1 = 2; ИначеЕсли НДС = 20 Тогда Объект.Tax1 = 1; //??? не предусмотрено Иначе Объект.Tax1 = 3; КонецЕсли; // если ЕНВД, то Объект.Tax1 = 4; Объект.PaymentItemSign = PaymentItemSign; Объект.FNOperation(); Объект.StringForPrinting = ?(PaymentTypeSign=4,"Полный расчет","Предоплата 100%"); Объект.PrintString(); Объект.StringForPrinting = ?(PaymentItemSign = 1,"Товар","Услуга"); Объект.PrintString(); КонецЦикла; Если сокрлп(ИННкассира) <> "" Тогда Объект.Password = Пароль; Объект.TagNumber = 1203; Объект.TagType = 7; Объект.TagValueStr = сокрлп(ИННкассира); Объект.FNSendTag(); КонецЕсли; Объект.Password = Пароль; Далее суммы заполняем общие по чеку: Если Нал = 1 Тогда Объект.Summ1 = СуммаЧека; //если наличными Объект.Summ2 = 0; //если оплата пласт. картой Объект.Summ3 = 0; //если оптала оп счету фз.лицом ИначеЕсли БезНал = 1 Тогда Объект.Summ1 = 0; //если наличными Объект.Summ2 = СуммаЧека; //если оплата пласт. картой Объект.Summ3 = 0; //если оптала оп счету фз.лицом Иначе Объект.Summ1 = 0; //если наличными Объект.Summ2 = 0; //если оплата пласт. картой Объект.Summ3 = СуммаЧека; //если оптала оп счету фз.лицом КонецЕсли; Если Объект.ResultCode <> 0 Тогда ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект); АннулированиеЧека(Объект, Пароль); ОтключитьсяОтФР(Объект, Пароль, 0); Возврат 0; КонецЕсли; Объект.FNCloseCheckEx(); Если Объект.ResultCode <> 0 Тогда Попытка Объект.Password = Пароль; //\\//\\+ Объект.Гудок(); Исключение КонецПопытки; ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект); АннулированиеЧека(Объект, Пароль); ОтрезатьЧек(Объект, Пароль); ОтключитьсяОтФР(Объект, Пароль, 0); Возврат 0; КонецЕсли; Объект.Password = Пароль; Объект.GetECRStatus(); |
|||
1
Недопустимый
15.08.20
✎
14:32
|
нельзя дать деньги за возврат если их нет в кассе. чтобы совершить возврат на 100 денег (по плат карте.)нужно продать на 100+ денег сегодня ибо остаток не переходит со вчерашнего дня.
|
|||
2
Ёпрст
15.08.20
✎
19:49
|
или внести деньги в кассу и потом возврат
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |