ФЗ-54. Обработка для печати кассового чека коррекции. УТ 10.3


Небольшая обработка для печати кассового чека коррекции.

Небольшая обработка для печати кассового чека коррекции. Писалась на скорую руку.

Тестировалась на УТ 10.3.41.1 и АТОЛ Fprint 22ПТК. Может, кому пригодится.

49 Comments

  1. nm_nike

    Вопрос не по самой обработке, а в целом по чекам коррекции.

    Онлайн касса АТОЛ 22Ф/FPrint-22ПТК, УТ 10 сильно модифицированная, функционал онлайн касс перенесен из УТ 10, частично из УТ 11. Все настроено, чеки отправляются к ОФД.

    Вопрос в следующем: почему чеки коррекции не отражаются в выручке по X/Z-отчету? Так же не влияют на наличность в кассе.

    Как с учетом использования чеков коррекции сверять кассу?

    Reply
  2. AleSSandre

    Чек коррекции предназначен для корректировки неверно отбитых (или не отбитых вовсе) чеков из закрытых смен. Соответственно никак не влияет на наличность в кассе.

    Для всех остальных операций предусмотрены чеки «возврат прихода» и «возврат расхода», которые в свою очередь уже влияют на наличность в кассе.

    Подробнее можете почитать тут: http://54fz.ru/когда-потребуется-чек-коррекции-ккт/

    Reply
  3. AleSSandre

    (1) Коряво написался ответ с телефона, читайте сообщение выше

    http://forum.infostart.ru/forum28/topic170029/message1775637/#message1775637

    Reply
  4. deSambo

    Добрый день! Вопрос на засыпку. Накатал такую же обработку. Открываю чек методом OpenCkeck(), тип чека(CheckType) = 8. Касса возвращает ошибку «неверный тип чека». Касса Fprint 22. Читаю в документации, написано, что Fprint 22 ПТК и Fprint не поддерживают тип чека = 8. А теперь вопрос: Каким образом Вы это сделали(пробили коррекцию на Fprint 22 ПТК)?????

    Reply
  5. AleSSandre

    (4) Добрый день! У чека коррекции только 2 режима:

    1 — чек коррекции прихода (CheckType = 7)

    2 — чек коррекции расхода (CheckType = 9)

    Воспользуйтесь методом ProcessCorrectionCheck()

    Описание: https://its.1c.ru/db/metod8dev/content/4829/hdoc

    Reply
  6. deSambo

    (5) То есть, вместо OpenCheck() , открываю чек с помощью ProcessCorrectionCheck(). Далее закрываю чек обычной процедурой с оплатой?

    Reply
  7. danil157

    Не давно сделал подобную доработку .

    Мне не понятно как ФНС понимают какой документ корректируют в чеке. Параметры указывающий на документ (который мы корректируем)не передаются.

    Reply
  8. danil157

    Добрый день.

    Было пробито на 1400 руб больше чем надо.

    В чеке коррекции установил сумму 1400 и поставил операцию «расход».

    Чек коррекции пробивается в новой смене.

    Пишет «неверный тип чека».

    Как быть?

    аппарат: Атол 11Ф

    Reply
  9. danil157

    Вообщем разобрался.

    В метод СформироватьЧекКоррекции нужно передавать в параметр ДанныеЧекаКоррекции с

    PaymentType = 1 приход или

    PaymentType = 3 расход

    в других случаях у меня пишет неверный тип чека

    Reply
  10. cassper

    Ребята, а кто хорошо разобрался в чеках коррекции?

    У меня спорная ситуация, не могу решить, как поступить…Ситуация: продавец обнаружил после закрытия смены расхождение в суммах (выручке). Причина расхождения следующая: по одному ПКО в 1с был пробит чек дважды по ККТ (какая-то случайность).

    Т.е. простыми словами в 1с документ 1, а по кассе пробито 2 чека.

    Что лучше применить с учетом того, что смена закрыта уже давно, а вопрос решается до сих пор: кассовый чек коррекции на сумму дополнительно пробитого чека, либо просто пробить обычный чек с признаком «Возврат прихода» (правда явно в 1с такого не сделать, через сервисную утилиту, разве что).

    Подскажите, пожалуйста.

    Reply
  11. danil157

    (10)

    ПКО нереально пробить дважды, там проверяется есть ли номер чека,то есть нужно ловить в коде почему так могло произойти.

    Как быть с дважды пробитым чеком? Я бы задал этот вопрос на форуме: http://forum.atol.ru

    Reply
  12. cassper

    (11) Данил, спасибо за ответ. У меня нетиповая с внедренным БПО. Проверки конечно стоят, но какая-то ерунда с временем на сервере произошла, чек по кассе не пробился корректно, касса поругалась на разницу во времени, ушла в даун и попросила пробить чек по-новой. Но проблему не эту решаю (сейчас все уже закрыто и со временем проблема решена как у кассы, так и у сервера)…

    Я параллельно конечно задам там вопрос.

    Reply
  13. AleSSandre

    (9) Другие типы чеков коррекции кассовый аппарат не поддерживает (чек коррекции возврата прихода и чек коррекции возврата расхода), т.к. не поддерживаются законодательством

    Reply
  14. AleSSandre

    (12) Сам кассовый аппарат не ведёт контроль, т.к. Вы ему не передаёте номер чека. Так что если у Вас в конфигурации нет контроля пробития чека, то запросто можно пробить чек 2 и более раз на основании одного документа.

    В Вашем случае нужно делать чек коррекции прихода на ошибочно пробитую сумму

    Reply
  15. AleSSandre

    (7) А никак 🙂 Налоговой это не нужно 🙂

    Reply
  16. cassper

    Ребята, Читаю (15) и возникает вопрос: Если я в открытой смене сделаю чек коррекции прихода, эта сумма отразится на выручке или не учитывается и не будет влиять?

    Reply
  17. cassper

    Напишите ваше сообщение

    (14) спасибо еще раз

    Reply
  18. AleSSandre

    (16) Чеки коррекции не влияют на денежные средства в кассовом дне. Вы же их никому не выдаёте, Вы корректируете свою общую выручку перед налоговой.

    На выручку влияют чек прихода и чек возврат прихода.

    Reply
  19. cassper

    (18) спасибо. Либо я что-то где-то читаю между строк, либо про этот момент не слышал ничего. А с точки зрения здравой логике, если в текущей смене продаж не было вообще и я захочу сделать чек коррекции… — это не критично?

    И еще вопрос всем — кто реально уже пробивал чек коррекции у себя на ккт?

    Reply
  20. AleSSandre

    (19) нет, не критично.

    Я реально пробивал у себя чеки коррекции (собственно и обработку писал для этого).

    Reply
  21. cassper

    (20) Выручаете комментариями.

    Я по-началу не понимал вообще, а зачем нужна какая-то внешняя обработка для чека коррекции, а потом глянул в конфу и понял, что в ут10.3 нет документа «Кассовый чек коррекции» (хотя в других конфах я видел наличие такого документа на УФ).

    Печально то, что на данный момент эти конфы подготавливают xml, где передается только тип чека и сумма. Больше ничего. Никакого предписания, никаких других параметров. Долгое общение с ТП атола привела меня к мысли запросить у них примеры печати чека коррекции напрямую обращаясь к драйверу.

    Теперь финально собираю все сообщения, которые получал за последние недели, беру пример от АТОЛа и иду формировать чек коррекции прихода на лишнюю пробитую сумму по документу в 1с.

    Reply
  22. AleSSandre

    (21) Поделитесь, чего такого интересного Вам сообщили в ТП АТОЛа?

    Reply
  23. cassper

    (22) ТП предоставила лишь примеры чеков для ФФД 1.0 (см. вложение)

    Reply
  24. cassper

    Кстати, про чек коррекции прихода поговорили.

    А, например, ситуация: формировали кассовый чек «Возврат прихода» (обычный чек возврата). Где-то ошиблись в сумме, обнаружили уже после закрытия смены. Как скорректировать такую красоту?

    По сути чек коррекции может принимать вид операции «Приход» или «Расход», но никак «Возврат прихода» или «Возврат расхода». А нам ведь нужно выполнить корректировку операции «Возврат прихода». Видимо никак? Либо это текущие ограничения ФФД, либо это явные ограничения кассового чека коррекции…

    Мы же не можем в чеке коррекции указать вид операции «Приход», но при этом передать сумму с «минусом»?

    Никто не задавался вопросом?

    P.S. просто у меня по кассе никогда не проходят и не будут проходить операции изъятия денег (т.е. операция «Расход»)…

    P.P.S задал этот вопрос еще ТП атола

    Reply
  25. AleSSandre

    (24) Чек «Возврат прихода» осуществляет операцию «Расход» (Вы же выдаёте денежные средства при возврате?). При корректировке такого чека нужно делать «Чек коррекции расхода».

    Reply
  26. cassper

    (25)

    Чек «Возврат прихода» осуществляет операцию «Расход»

    Ну подождите, есть же 4 типа чека:

    1. Приход

    2. Возврат прихода

    3. Расход

    4. Возврат расхода

    Тип чека №1 используется при печати кассового чека продажи

    Тип чека №2 используется при печати кассового чека возврата продажи (пусть даже с возвратом денежных средств).

    Читаю информацию http://prntscr.com/fdb2vs

    И понимаю, что не понимаю. Обычно выдача ДС клиенту осуществляется при операции «Возврат», когда и товар вернули и деньги выдали (вне зависимости от смены, текущая или нет).

    Не знаю, когда может использоваться операции именно «выдачи» средств клиенту. Везде участвует термин «возврат».

    По факту ведь мы клиенту не вернули «БОЛЬШЕ» денег, чем надо. Ошибка может быть вызвана тем, что чек не напечатался, например, в случае отсутствия чековой ленты и по какой-то причине этот чек не ушел в ОФД. Вот такую ситуацию рассматриваю (для примера). Не понимаю, зачем здесь нужно использовать операцию «Расход» для чека коррекции «возврата прихода» (я ведь чеком возврата совершал именно операцию возврата прихода, значит и корректировать тоже должен возврат прихода)

    Reply
  27. AleSSandre

    (26) В чеке коррекции могут быть лишь признаки расчета «Приход» и «Расход».

    Проще говоря чек коррекции необходим для корректировки данных, совершенных вне текущей кассовой смены.

    Если заметили ошибку в текущей кассовой смене, то пользуетесь обычными видами чеков. Например: при ошибочном Приходе — делаете Возврат прихода на ту сумму, которую пробили, и потом пробиваете Приход с верной суммой. По остальным чекам тоже самое: «Приход-Возврат прихода» и «Расход-Возврат расхода».

    Если чек не ушёл в ОФД, то тем более нет необходимости для пробития чека коррекции. Исправьте все ошибки и пробейте чек на ККТ.

    Reply
  28. cassper

    (27)

    Если чек не ушёл в ОФД, то тем более нет необходимости для пробития чека коррекции. Исправьте все ошибки и пробейте чек на ККТ.

    Давайте по порядку попробуем вместе: создали документ в 1с. На его основании пробили чек. По данным 1с чек считается пробитым, документ более не доступен для редактирования и дополнительно для повторной печати чека. В момент печати на ККТ что-то произошло (либо чек не пробился на ККТ, либо просто не ушел в ОФД). Пока не привязываемся к конкретному случаю. Смену закрыли. Послезавтра обнаружили проблему. По 1с все хорошо. По ККТ не очень хорошо. Что делать? Если имеем недостачу по ККТ, то нужно выполнить печать чека коррекции. Другого варианта вне текущей смены я не вижу, как исправить это недоразумение.

    Если методом костыльным идти, то я могу в 1с сделать так, чтобы по текущему документу можно было пробить чек повторно, но тогда выручка с этого чека попадет в текущую смену, но мне такой картины не нужно, ибо будет недостача денег в кассе по данным ККТ (Z-отчету).

    ТП атола пока молчит.

    P.S. про текущую смену все понятно. Ни о каких чеках коррекции и речи быть не может, даже если клиент уже ушел* (хотя тут спорно)

    Reply
  29. AleSSandre

    (28)

    Давайте по порядку попробуем вместе: создали документ в 1с. На его основании пробили чек. По данным 1с чек считается пробитым, документ более не доступен для редактирования и дополнительно для повторной печати чека. В момент печати на ККТ что-то произошло (либо чек не пробился на ККТ, либо просто не ушел в ОФД).

    Если чек не ушёл в ККТ по каким либо причинам, то 1С не получит ответ с данными чека и данный чек не может считаться пробитым. Если это не так — ищите косяки в своей конфигурации. Во всех остальных случаях данные о чеке будут загружены в память ФН ККТ и будут переданы в ОФД.

    Если по какой-либо причине Вы все-таки обнаружили расхождение между 1С и ККТ уже в закрытой смене, то тогда нужно пользоваться чеком коррекции. Например, если Вы обнаружили неучтенную по ККТ продажу на 500р, то делаете чек коррекции прихода на сумму 500р.

    Reply
  30. cassper

    (29)Были описаны ситуации утрированно. Не нужно брать в расчет идеальную ситуацию. Можно ведь пофантазировать на тему «а что, если…»

    Вот я и нафантазировал.

    И кстати, в последнем вашем предложении есть фраза:

    (29)

    обнаружили неучтенную по ККТ продажу на 500р, то делаете чек коррекции прихода на сумму 500р.

    Я читаю это как: если в 1с есть продажа, а по ККТ она не отражены была, то делаем чек коррекции «Приход» на эту сумму.

    Но есть и ситуация, которую я описывал ранее (пусть даже при наличии ошибки в 1с, если вам так легче воспринимать информацию): в 1с есть продажа одна, а по ККТ 2 чека.

    По сути здесь я тоже должен сделать чек коррекции «Приход» на сумму «лишнюю».

    Но прочитав снова понимаю, что это 2 разные ситуации, но при этом необходимо выполнить одинаковую операции корректировки 🙂 Путаница да и тольно 🙂

    Reply
  31. AleSSandre

    (30) Это Вы запутались и меня запутали 🙂

    Давайте рассматривать ситуацию проще.

    Ситуаций для применения чека коррекции может быть только 2:

    1. Увеличение денежных средств в кассовой смене — это чек коррекции «Приход»

    2. Уменьшение денежных средств в кассовой смене — это чек коррекции «Расход»

    При каких, общих или частных, случаях получилось расхождение уже не важно 🙂

    Reply
  32. cassper

    (31)

    1. Увеличение денежных средств в кассовой смене — это чек коррекции «Приход»

    2. Уменьшение денежных средств в кассовой смене — это чек коррекции «Расход»

    Моя проблема в том, что я воспринимаю чек коррекции как корректировку вида операции пробитого чека.

    Если чек пробит с видом «приход», значит это чек коррекции прихода

    Если чек пробит с видом «Возврат прихода», значит это чек коррекции возврата прихода

    …и т.д.

    Но видимо моя логика ломается именно в том момент, когда нужно действовать и понимать совершенно иначе (переворачивая все с ног на голову) и получается, что если в кассе денег больше, чем должно быть — нужно делать чек коррекции «расход».

    А если недостает денег — «Приход».

    Бред и никак иначе 🙂

    Reply
  33. AleSSandre

    (32) Нынешний 54 ФЗ внёс очень много бреда, которые не всегда получается решить не только на программном уровне, но и на законодательном 🙂

    Хорошо, что Вы ещё с этим не столкнулись, вопросов было бы ещё больше 🙂

    Если интересно, то можете для начала углубиться в авансы и подарочные сертификаты.

    Reply
  34. cassper

    (33) закон сегодня есть, завтра его нет. И какие-то моменты иногда проще решить не по закону, а потому что так быстрее, проще и прозрачнее. Но нет, закон запрещает. Да кто, нахрен, проверит, что я, например, пробил чек возврата прихода без присутствия оригинального чека и самого покупателя с заявлением? Вместо того, чтобы сделать противную корректировку))

    Кстати, поделюсь опытом по решению моей проблемы, описанной выше…или не решению а еще большему усугублению.

    Пообщавшись с кем только можно было, пришел к выводу, что второй чек нужно корректировать и корректировать «расход». Ну думаю ок. В чем проблема? В 1с еще не внедрил еще из бпо чек коррекции. Касса вики принт 57ф. Есть утилита по работе с ккт fito. Начинаю пробивать чек коррекции. Все Ок, пробилось. Смотрю в офд — тип коррекции «приход». Твою ж мать! Еще общения с тп, форумы, звонки. Выяснили, что нужно делать снова чек коррекции»расход», но уже на задвоенную сумму.

    Доработал в1с чек коррекции через XML по стандарту разработки. Пробиваю чек коррекции «расход» на удвоенную сумму. Сижу довольный, что вопрос закрыт. Лезу в офл проверить чек по реквизитам — извините, Хер! Снова «приход».

    Я в тп к разработчику касс, тот ерунду пишет, что я должен пробить чек с типом «возврат». Я ему — такого типа нет. И если речь про чек возрата прихода, то по закону я его выполнить не могу без присутствия покупателя…

    А общем, теперь ситуация хуже некуда))

    Reply
  35. karpik666

    (33) подтверждаю=)

    Reply
  36. cassper

    Я как бабка, которая осталась сидеть у разбитого корыта, а ТП дримкаса сообщила, что их кассы могут выполнить пробитие чека коррекции только с видом «Приход».

    Вот уж радость так радость

    Reply
  37. botcc

    (11) ПКО реально пробить дважды! НомерЧекаККМ 1ска получает после того как ККТ отпечатает чек, а дальше при установки полученного (НомерЧекаККМ) в соответствующий реквизит ПКО — ловим транзакцию и алеоп. Кассир просто не глядя на ошибку закрывает документ и всё реквизит «НомерЧекаККМ» в ПКО пуст — печатай не хочу.

    Reply
  38. AleSSandre

    (36) А Вы поинтересуйтесь в налоговой, каким таким образом аппараты Дримкаса, при их неполном функционале, попали в реестр одобренных?

    Ну и собственно пинайте производителей Ваших касс.

    Как вариант, вместо чека «Расход» пробивать «Приход» со знаком минус. Сам такого не пробовал, но вдруг получится 🙂

    Reply
  39. AleSSandre

    (37) При таком раскладе можно любой вид чека пробить кучу раз, не только ПКО.

    А зачем заполнение данных реквизитов производить в транзакции?

    Reply
  40. cassper

    (38) эти чубрики ответили, что сроков не знают, когда доработка будет и касса сможет спокойно пробивать чек коррекции расход.

    Налоговая совместно с офд дали ответ, что можно в моем случае сделать чек возврата прихода без покупателя. И вообще — пока долой коррекцию.

    Reply
  41. steini

    Подскажите, пожалуйста, откуда взялось на чеке коррекции (в примере на фотографии) имя кассира, если через 1С оно никак не передается?

    Что я имею в виду под «не передается»: в типовых конфах используется процедура МенеджерОборудованияВызовСервера.ПолучитьXMLПакетДляЧекаКоррекции(…), в ней формируется xml-ник, он максимально простой — только сумма и тип платежа. В приведенных выше ссылках на форматы имя кассира тоже никак не фигурирует.

    Reply
  42. AleSSandre

    (41)

    Function ProcessCorrectionCheck(DeviceID As String, CashierName As String, CheckCorrectionPackage As String, CheckNumber As Long, SessionNumber As Long, FiscalSign As String, AddressSiteInspections As String) As Boolean

    CashierName — Это и есть имя кассира.

    Передаётся оно в параметрах чека, а не в XML

    Reply
  43. user808602

    Здравствуйте, у меня такая проблема кассовый аппарат «Викки Принт 57 Ф», пробила чек на сумму 739 рублей, а по факту поступило 628,15 руб., заметила это только на следующий день. Теперь не знаю какой чек коррекции сделать и на какую сумму. чек коррекции прихода на сумму разницы (т.е. на 110,85 руб)?

    Reply
  44. ForeverMike

    Народ, подскажите, в чеках коррекции , которые вы пробивали ставка НДС никак не задается? У меня просто выводится строка Сумма с НДС 0% и далее моя сумма, но у нас чаще всего используется ставка НДС 18%, поэтому возникает вопрос, корректна ли в данном случае такая строка со ставкой 0%?

    Reply
  45. AleSSandre

    (43), да, всё верно

    Reply
  46. user611975_na__svyazi

    Нормальна ли ситуация, что чек коррекции не отображается в z отчете?

    Reply
  47. AleSSandre

    (46) А что Вы хотите увидеть в Z отчете ?

    Reply
  48. user845639

    Добрый день, нужен ли чек коррекции прихода, если ошибка в чеке оплаты по безналу? В драйвере атолл можно выбрать только оплату наличными.

    Reply
  49. user888203

    Здравствуйте. Пробили ошибочно чек коррекции прихода, что делать?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *