Фискальный признак документа (ФПД)
Читают тему
Приобрести программные продукты, оборудование и литературу вы можете в Интернет-магазине.
{{userFullName}}
Личный кабинетВыйти
Вход в личный кабинет
Для получения доступа к форуму необходимо
авторизоваться
или
зарегистрироваться
на сайте.
{{ formTitle ? formTitle : 'Заказ обратного звонка' }}
{{ formDescription }}
Сообщить об ошибке
Конфигурация "Альфа-Авто:Автосервис+Автозапчасти Проф, редакция 5" 5.1.14.05
Добрый день, Сергей, ФПД выдает сам аппарат, а не Альфа-Авто, это настройка самого ККТ. по данному вопросу Вам нужно обратиться в компанию, которая обслуживает Вас по фискальному регистратору.
Это может пригодиться не только ему.
ФР отдает эти данные, и если они могут понадобиться, то можно их получать и хранить в базе.
Добрый день, Сергей, ФПД выдает сам аппарат, а не Альфа-Авто, это настройка самого ККТ. по данному вопросу Вам нужно обратиться в компанию, которая обслуживает Вас по фискальному регистратору.
Реализация просьбы Сергея не требует много усилий.
Почему бы Вам не передать разработчикам, что есть такая необходимость?
По факту: Добавить реквизит в Чеки, и несколько строк на получение данных и запись в этот реквизит...
Альфа запросом получает от ККТ последние реквизиты чека (Номер, дату, смену) возможно ли в этом месте кода получать и ФПД, и будет ли это реализовано?
Попытка КоличествоСтрок=0; КоличествоСтолбцов=0; SafeArrayПараметрыЧека.GetBounds(КоличествоСтрок,КоличествоСтолбцов); НомерСмены=Число(SafeArrayПараметрыЧека.GetValue(0,0)); НомерЧека=Число(SafeArrayПараметрыЧека.GetValue(1,0)); ДатаФР=Вычислить("'"+SafeArrayПараметрыЧека.GetValue(3,0)+"'"); НомерДокумента=Число(SafeArrayПараметрыЧека.GetValue(2,0)); СтруктураВозвратныхПараметров=Новый Структура("ДатаФР,НомерЧека,НомерДокумента,НомерСмены",ДатаФР,НомерЧека,НомерДокумента,НомерСмены); Исключение ТекстОшибки="Ошибка получения фискальных реквизитов пробитого чека: "+ОписаниеОшибки(); КонецПопытки;Другие значения SafeArrayПараметрыЧека.GetValue(x, y) проверяли, существуют?
// Получить параметры чека Функция ПолучитьПараметрыЧека(НомерСмены,НомерЧека,НомерДок,ДатаЧека,Фискальный = Истина,НомерФПД = ""); //+МВ 27.03.2019 // Сохраняем номер,дату и время чека Устройство.ПолучитьСостояние(); КодОшибки = РезультатВыполненияДействия(); Если КодОшибки <> 0 Тогда Возврат КодОшибки; КонецЕсли; ПроверкаПоддержки54ФЗ(); Если Поддерживает54ФЗ Тогда Устройство.НомерРегистра = 53; КодОшибки = ВыполнитьКоманду("ПолучитьРегистр"); Если КодОшибки <>0 Тогда Возврат КодОшибки; КонецЕсли; // Получим номер смены НомерСмены = -1; НомерСмены = Число(Устройство.Смена); Если НомерСмены=0 Тогда НомерСмены=-1; КонецЕсли; Если Фискальный Тогда НомерЧека = Устройство.КоличествоИтераций; Если НомерЧека=0 Тогда НомерЧека=-1; КонецЕсли; Устройство.НомерРегистра = 52; КодОшибки = ВыполнитьКоманду("ПолучитьРегистр"); Если КодОшибки <>0 Тогда Возврат КодОшибки; КонецЕсли; НомерДок = Устройство.НомерДокумента; //+МВ 27.03.2019 Получим фискальный признак НомерФПД = Устройство.ФискальныйПризнак; Иначе НомерДок = Устройство.НомерЧека - 1; КонецЕсли; Иначе // Сохраняем номер чека Устройство.ПолучитьСостояние(); КодОшибки = РезультатВыполненияДействия(); Если КодОшибки <> 0 Тогда Возврат КодОшибки; КонецЕсли; Устройство.НомерРегистра = 19; КодОшибки = ВыполнитьКоманду("ПолучитьРегистр"); Если КодОшибки <>0 Тогда Возврат КодОшибки; КонецЕсли; НомерЧека = Устройство.НомерЧека-1; НомерДок = Устройство.НомерДокумента-1; // Получим номер закрытой смены НомерСмены = -1; Устройство.НомерРегистра = 21; // номер текущей смены КодОшибки = ВыполнитьКоманду("ПолучитьРегистр"); Если КодОшибки <>0 Тогда Возврат КодОшибки; КонецЕсли; НомерСмены = Число(Устройство.Смена); Если НомерСмены=0 Тогда НомерСмены=-1; КонецЕсли; КонецЕсли; // Сохраняем дату и время чека ДатаЧека=Формат(Устройство.Год,"ЧЦ=4; ЧВН=; ЧГ=0")+"."+ Формат(Устройство.Месяц,"ЧЦ=2; ЧВН=; ЧГ=0")+"."+ Формат(Устройство.День,"ЧЦ=2; ЧВН=; ЧГ=0")+" "+ Формат(Устройство.Час,"ЧЦ=2; ЧВН=; ЧГ=0")+":"+ Формат(Устройство.Минута,"ЧЦ=2; ЧВН=; ЧГ=0")+":"+ Формат(Устройство.Секунда,"ЧЦ=2; ЧВН=; ЧГ=0"); Возврат 0; КонецФункции // Вернуть параметры чека Процедура ВернутьПараметрыЧека(НомерСмены,НомерЧека,НомерДок,ДатаЧека,НомерФПД) //+МВ 27.03.2019 // Возвращает данные пробитого на ФР чека // .. НомерЧека = Число(<Номер пробитого чека>) // .. ДатаЧека = Дата(<Дата пробитого чека>) ПараметрыВозврата=Рарус_Компонента.СоздатьПараметры(5,1); //+МВ 27.03.2019 ПараметрыВозврата.SetValue(0,0,НомерСмены); ПараметрыВозврата.SetValue(1,0,НомерЧека); ПараметрыВозврата.SetValue(2,0,НомерДок); ПараметрыВозврата.SetValue(3,0,ДатаЧека); ПараметрыВозврата.SetValue(4,0,НомерФПД); //+МВ 27.03.2019 КонецПроцедуры // ВернутьПараметрыЧекаПопытка КоличествоСтрок=0; КоличествоСтолбцов=0; SafeArrayПараметрыЧека.GetBounds(КоличествоСтрок,КоличествоСтолбцов); НомерСмены=Число(SafeArrayПараметрыЧека.GetValue(0,0)); НомерЧека=Число(SafeArrayПараметрыЧека.GetValue(1,0)); ДатаФР=Вычислить("'"+SafeArrayПараметрыЧека.GetValue(3,0)+"'"); НомерДокумента=Число(SafeArrayПараметрыЧека.GetValue(2,0)); НомерФПД = ""; //+МВ 27.03.2019 Если КоличествоСтрок > 4 Тогда НомерФПД = СокрЛП(SafeArrayПараметрыЧека.GetValue(4,0)); КонецЕсли; СтруктураВозвратныхПараметров = Новый Структура("ДатаФР,НомерЧека,НомерДокумента,НомерСмены,НомерФПД",ДатаФР,НомерЧека,НомерДокумента,НомерСмены,НомерФПД); //-МВ Исключение ТекстОшибки="Ошибка получения фискальных реквизитов пробитого чека: "+ОписаниеОшибки(); КонецПопытки;Функция ЗаписатьЧек(ФлагПроведения,СообщениеОбОшибке,ПраваДополнительно=НЕОПРЕДЕЛЕНО, КПопыток=-1, ПроверитьКорректность=ЛОЖЬ) Экспорт Результат=ЛОЖЬ; // Сформируем и заполним объект для записи в БД Если ХозОперация=Справочники.ХозОперации.ПриходныйКассовыйОрдер ИЛИ (НЕ УстановленРежим("РКО") И ХозОперация=Справочники.ХозОперации.РасходныйКассовыйОрдер) Тогда ДокументОбъект = Ссылка.ПолучитьОбъект(); ЗаполнитьЗначенияСвойств(ДокументОбъект, ЭтотОбъект, "НомерЧека,ДатаФР,НомерДокумента,НомерСмены,ФР,КассаККМ,СкладКомпании"); ИначеЕсли ХозОперация=Справочники.ХозОперации.ЧекНаОплату И (НЕ Ссылка.Пустая()) Тогда ДокументОбъект = Ссылка.ПолучитьОбъект(); ДокументОбъект.Оплаты.Загрузить(Оплаты.Выгрузить()); ЗаполнитьЗначенияСвойств(ДокументОбъект, ЭтотОбъект, "НомерЧека,ДатаФР,НомерДокумента,НомерСмены,ФР,КассаККМ,СкладКомпании,ПолученоНал,ПолученоБезНал,НомерФПД"); //+МВ 27.03.2019 Попытка ДокументОбъект.АвтоЗакрытиеСделок = ЭтотОбъект.ДоговорВзаиморасчетов.АвтоЗакрытиеСделок; Исключение КонецПопытки; ДокументОбъект.Дата=ТекущаяДата();// Открыть чек на сайте ОФД Такском-Касса //+МВ 29.03.2019 Процедура НомерФПДНажатие(Элемент) Если ПустаяСтрока(НомерФПД) Тогда Возврат; КонецЕсли; ЗапуститьПриложение("https://receipt.taxcom.ru/v01/show?fp=" + СокрЛП(НомерФПД) + "&s=" + Формат(СуммаДокумента,"ЧГ=0") + "&sf=False&sfn=False"); КонецПроцедуры