|
ATOL, закрытие чека "Объект.CloseCheck()". Ошибка "-3879", неверный номер конечн | ☑ | ||
---|---|---|---|---|
0
duke55
31.08.19
✎
21:35
|
Друзья, весь интернет перекопал чтобы узнать что это за "зоны". Ни в руководстве, ни в интернете нет описания...
Кто-нибудь знает что означает эта ошибка и как её исправить ??? |
|||
1
duke55
31.08.19
✎
21:37
|
Сорри, название темы получилось обрезанным.
Ошибка "-3879" (неверный номер конечной зоны)... |
|||
2
Garykom
гуру
31.08.19
✎
21:47
|
Неси ККТ в сервис сбой или в ней или в ФН.
|
|||
3
Сияющий в темноте
31.08.19
✎
23:15
|
в описании ошибки сказано,указать верный номер конечной зоны.
данная ошибка относится только к билетному режиму. чай начальную зону зачем то установили. какая версия драйвера? |
|||
4
Сияющий в темноте
31.08.19
✎
23:17
|
FirstZone и LastZone используются для программирования тарифов.
поставьте их в 1 и попробуйте еще раз. |
|||
5
Сияющий в темноте
31.08.19
✎
23:18
|
команда SetRecord используется?
|
|||
6
duke55
01.09.19
✎
19:52
|
Нет-нет, никаких зон я не устанавливал (я и понятия не имею что это такое)...
В организации заказчика официально нет розничной торговли т поэтому все продажи идут по договорам. Такое, как вы наверно понимаете, возможно только из документа ПКО... Вот процедура печати чека, которая нормально отрабатывает. Раньше таблица товаров выводилась в чеке только в момент полной оплаты (когда сумма оплаты и сумма реализации полностью совпадают): // *********** Функция осуществляет формирование и печать чека на "FPrint - 22 ПТК". ********** Функция ПечатьЧека_FPrint22PTK(Заголовок, Сумма, НДС, Пароль, ПризнВозврата, ФлагБезналичнойОплаты = Ложь, ТаблицаТоваров = Неопределено) Экспорт СтрокаПробелов = " "; мПоз = Найти(Заголовок,Символы.ПС); Если мПоз>36 Тогда мПоз = мПоз-36 КонецЕсли; Заголовок = Лев(Заголовок,мПоз-1)+Лев(СтрокаПробелов,СтрДлина(СтрокаПробелов)-мПоз+1)+Прав(Заголовок,СтрДлина(Заголовок)-мПоз); Если НДС=18 ИЛИ НДС=20 Тогда НДС = 3 КонецЕсли; Объект = Неопределено; Если ПодключитьДрайвер_FPrint22PTK(Объект) = 0 Тогда Возврат 0; КонецЕсли; Если ПодключитьсяКФР_FPrint22PTK(Объект) = 0 Тогда Возврат 0; КонецЕсли; Объект.Mode = 1; // режим регистрации чеков Объект.Password = Пароль; // пароль на режим регистрации Объект.SetMode(); Объект.GetStatus(); Если Объект.CheckState <> 0 Тогда Попытка Объект.CancelCheck(); Исключение КонецПопытки; КонецЕсли; Если Объект.ResultCode <> 0 Тогда Попытка Объект.CancelCheck(); Исключение КонецПопытки; ОтключитьсяОтФР_FPrint22PTK(Объект); Возврат Объект.ResultDescription; КонецЕсли; Объект.AttrNumber = 1021; Объект.AttrValue = ПараметрыСеанса.ТекущийПользователь; Объект.WriteAttribute(); Объект.CheckMode = 1; // 1- на чек. ленте; 0 - эл. документ Если ПризнВозврата = 0 Тогда Объект.CheckType = 1; // чек прихода Иначе Объект.CheckType = 2; // чек возврата прихода КонецЕсли; Объект.OpenCheck(); //Чек открыт на ФР //смска почта Объект.AttrNumber=1008; Объект.AttrValue = ""; //адрес эл. почты Объект.AttrValue = ""; //телефон Объект.WriteAttribute(); Объект.Destination = 1; Если НЕ ТаблицаТоваров = Неопределено Тогда Для Каждого СтрокаТаблицыТоваров Из ТаблицаТоваров Цикл Объект.Department = 1; Объект.Name = СтрокаТаблицыТоваров.Наименование; Объект.Quantity = СтрокаТаблицыТоваров.Количество; Объект.Price = СтрокаТаблицыТоваров.Цена; Объект.Summ = СтрокаТаблицыТоваров.Сумма; Объект.TaxTypeNumber= НДС; // Номер налоговой ставки: "3" это "НДС 18%" Если ПризнВозврата = 0 Тогда Объект.Registration(); Иначе Объект.Return(); КонецЕсли; КонецЦикла Иначе Объект.Department = 1; Объект.Name = СокрЛП(Заголовок); // Строка "Принято от ..." Объект.Quantity = 1; Объект.Price = Сумма; Объект.Summ = Сумма; Объект.TaxTypeNumber= НДС; // Номер налоговой ставки: "3" это "НДС 18%" Если ПризнВозврата = 0 Тогда Объект.Registration(); Иначе Объект.Return(); КонецЕсли; КонецЕсли; Если ФлагБезналичнойОплаты Тогда Объект.TypeClose = 1; // Тип оплаты «БЕЗНАЛ» Иначе Объект.TypeClose = 0; // Тип оплаты «НАЛИЧКА» КонецЕсли; Объект.SummTax(); // Рассчитать сумму НДС // регистрация прихода РезРегистрация = 1; НДСЕсть = ""; Объект.TextWrap =1; Если Объект.ResultCode <> 0 Тогда Попытка Объект.CancelCheck(); Исключение КонецПопытки; ОтключитьсяОтФР_FPrint22PTK(Объект); Возврат Объект.ResultDescription; КонецЕсли; Объект.Department = 0; //НомерСекции НомерЧека = Объект.CheckNumber; Объект.CloseCheck(); Если Объект.ResultCode <> 0 Тогда //ResultDescription = ПолучитьResultDescription(Объект); Попытка Объект.CancelCheck(); Исключение КонецПопытки; ОтключитьсяОтФР_FPrint22PTK(Объект); Возврат Объект.ResultDescription; КонецЕсли; Если ОтключитьсяОтФР_FPrint22PTK(Объект)=1 Тогда Возврат 0 Иначе Возврат 1 КонецЕсли КонецФункции А вот эта же процедура, которую заказчик просил переделать, чтобы таблица товаров печаталась в любом случае (будь то аванс или оплата кредита), и которая в итоге выдает ошибку "-3879": // *********** Функция осуществляет формирование и печать чека на "FPrint - 22 ПТК". ********** Функция ПечатьЧека_FPrint22PTK(Заголовок, Сумма, НДС, Пароль, ПризнВозврата, ФлагБезналичнойОплаты = Ложь, ТаблицаТоваров = Неопределено) Экспорт СтрокаПробелов = " "; мПоз = Найти(Заголовок,Символы.ПС); Если мПоз>36 Тогда мПоз = мПоз-36 КонецЕсли; Заголовок = Лев(Заголовок,мПоз-1)+Лев(СтрокаПробелов,СтрДлина(СтрокаПробелов)-мПоз+1)+Прав(Заголовок,СтрДлина(Заголовок)-мПоз); СуммаНДС = УчетНДС.РассчитатьСуммуНДС(Сумма, Истина, Истина, НДС); Если НДС=18 ИЛИ НДС=20 Тогда НДС = 3; КонецЕсли; Объект = Неопределено; Если ПодключитьДрайвер_FPrint22PTK(Объект) = 0 Тогда Возврат 0 КонецЕсли; Если ПодключитьсяКФР_FPrint22PTK(Объект) = 0 Тогда Возврат 0 КонецЕсли; Объект.Mode = 1; // режим регистрации чеков Объект.Password = Пароль; // пароль на режим регистрации Объект.SetMode(); Объект.GetStatus(); Если Объект.CheckState <> 0 Тогда Попытка Объект.CancelCheck() Исключение КонецПопытки; КонецЕсли; Если Объект.ResultCode <> 0 Тогда Попытка Объект.CancelCheck() Исключение КонецПопытки; ОтключитьсяОтФР_FPrint22PTK(Объект); Возврат Объект.ResultDescription; КонецЕсли; Объект.AttrNumber = 1021; Объект.AttrValue = ПараметрыСеанса.ТекущийПользователь.Наименование; Объект.WriteAttribute(); Объект.CheckMode = 1; // 1- на чек. ленте; 0 - эл. документ Если ПризнВозврата = 0 Тогда Объект.CheckType = 1; // чек прихода Иначе Объект.CheckType = 2; // чек возврата прихода КонецЕсли; Объект.OpenCheck(); //Чек открыт на ФР //смска почта Объект.AttrNumber=1008; Объект.AttrValue = ""; //адрес эл. почты Объект.AttrValue = ""; //телефон Объект.WriteAttribute(); Объект.Destination = 1; ТипОплаты = 0; Если НЕ ТаблицаТоваров = Неопределено Тогда Для Каждого СтрокаТаблицыТоваров Из ТаблицаТоваров Цикл Объект.BeginItem(); Объект.Department = 1; Объект.Name = СтрокаТаблицыТоваров.Наименование; Объект.Quantity = СтрокаТаблицыТоваров.Количество; Объект.Price = СтрокаТаблицыТоваров.Цена; Объект.Summ = СтрокаТаблицыТоваров.Сумма; Объект.TaxMode=0; Если СтрокаТаблицыТоваров.СтавкаНДС = Перечисления.СтавкиНДС.НДС18 Тогда Объект.TaxTypeNumber = 3; ИначеЕсли СтрокаТаблицыТоваров.СтавкаНДС = Перечисления.СтавкиНДС.НДС20 Тогда Объект.TaxTypeNumber = 3; ИначеЕсли СтрокаТаблицыТоваров.СтавкаНДС = Перечисления.СтавкиНДС.НДС10 Тогда Объект.TaxTypeNumber = 2; Иначе Объект.TaxTypeNumber = 0; КонецЕсли; Объект.TaxSumm =СтрокаТаблицыТоваров.СуммаНДС; Объект.EndItem(); //Если ПризнВозврата = 0 Тогда Объект.Registration() Иначе Объект.Return() КонецЕсли; КонецЦикла; Объект.Summ = Сумма; Если ТаблицаТоваров.Итог("Сумма")<>Сумма Тогда Если СтрокаТаблицыТоваров.ДокументОплаты.РасшифровкаПлатежа[0].ПризнакСпособаРасчета = Перечисления.ПризнакиСпособаРасчета.Аванс Тогда ТипОплаты = 2; // Предоплата (аванс) ИначеЕсли СтрокаТаблицыТоваров.ДокументОплаты.РасшифровкаПлатежа[0].ПризнакСпособаРасчета = Перечисления.ПризнакиСпособаРасчета.ОплатаКредита Тогда ТипОплаты = 3; // Последующая оплата (кредит) КонецЕсли КонецЕсли Иначе Объект.Department = 1; Объект.Name = СокрЛП(Заголовок); // Строка "Принято от ..." Объект.Quantity = 1; Объект.Price = Сумма; Объект.Summ = Сумма; Объект.TaxTypeNumber= НДС; // Номер налоговой ставки: "3" это "НДС 18%" //Если ПризнВозврата = 0 Тогда Объект.Registration() Иначе Объект.Return() КонецЕсли; Объект.TaxMode=0; Объект.TaxTypeNumber = 3; Объект.TaxSumm = СуммаНДС; Объект.EndItem(); Объект.Summ = Сумма; Если ФлагБезналичнойОплаты Тогда ТипОплаты = 1; КонецЕсли; КонецЕсли; Объект.TypeClose = ТипОплаты; //Объект.SummTax(); // Рассчитать сумму НДС Объект.Payment(); Объект.TextWrap = 1; Если Объект.ResultCode <> 0 Тогда Попытка Объект.CancelCheck(); Исключение КонецПопытки; ОтключитьсяОтФР_FPrint22PTK(Объект); Возврат Объект.ResultDescription; КонецЕсли; //Объект.Department = 0; //НомерСекции НомерЧека = Объект.CheckNumber; Объект.CloseCheck(); Если Объект.ResultCode <> 0 Тогда //ResultDescription = ПолучитьResultDescription(Объект); Попытка Объект.CancelCheck(); Исключение КонецПопытки; ОтключитьсяОтФР_FPrint22PTK(Объект); Возврат Объект.ResultDescription; КонецЕсли; Если ОтключитьсяОтФР_FPrint22PTK(Объект)=1 Тогда Возврат 0 Иначе Возврат 1 КонецЕсли КонецФункции |
|||
7
duke55
01.09.19
✎
19:58
|
"...
В организации заказчика официально нет розничной торговли т поэтому все продажи идут по договорам. Такое, как вы наверно понимаете, возможно только из документа ПКО... ..." Сорри, не совсем понятно выразился... Хотел сказать что чеки ККМ, в случае "договорных" продаж, обычно печатают из документа ПКО... |
|||
8
Garykom
гуру
01.09.19
✎
20:01
|
Выкинь 8-й драйвер он уже того у атол и бери 10-й.
В 8-м драйвере на новых прошивках ККТ могут быть любые глюки. Недавно так же столкнулись что не понимает указание другой СНО через 8-й после перепрошивки. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |