Как найти чек в 1с штрих м

Обновлено: 07.07.2024

Продолжая тему подключения онлайн-касс, сегодня мы рассмотрим подключение устройств второго популярного производителя кассовой техники - компании ШТРИХ-М. В отличие от своего конкурента, у ШТРИХа не все так гладко при подключении касс через USB и даже официальная документация не отличается полнотой, предлагая только один, не самый удачный вариант настройки. Он не отличается стабильностью и справедливо вызывает множество нареканий, тем не менее при грамотной настройке онлайн-кассы ШТРИХ-М способны вполне стабильно работать в данном режиме. Как это сделать - мы расскажем в данной статье.

В очередной раз сделаем небольшое отступление и сразу предупредим вас: онлайн-кассы - это сложное и специфическое оборудование, которое требует для своего обслуживания наличия специальных знаний и опыта. Поэтому мы настоятельно не рекомендуем заниматься прошивкой и регистрацией касс самостоятельно, цена ошибки здесь может быть гораздо выше, чем стоимость услуг сервисных организаций. Тем более у некоторых моделей ШТРИХ-М превратить кассу в "кирпич" можно было при полностью штатной процедуре прошивки, т.е. не совершив со своей стороны ошибок в этом процессе.

Второе предупреждение связано с 1С:Предприятие, в силу определенных особенностей реализации драйвера эта связка чувствительна к соответствию версий всех составляющих комплекса: версии прошивки ККТ, драйвера ШТРИХ-М и драйвера 1С (входит в состав конфигурации). При несовпадении версий касса либо будет работать с ошибками, либо вы ее подключите вообще. Комбинации новая прошивка - старый драйвер - старая конфигурация или старая прошивка - новый драйвер - новая конфигурация будут приводить к ошибкам при работе с кассой в 1С, а сочетания новый драйвер - старая конфигурация или старый драйвер - новая конфигурация не дадут подключить кассу вообще.

Основная линейка ККТ ШТРИХ невелика, всего три модели:

KKT-SHTRIH-M-1C-003.jpg

Младшая - ШТРИХ-ON-LINE, как и полагается бюджетной модели, предполагает только USB или RS-232 подключение:

KKT-SHTRIH-M-1C-001.jpg

Слева направо: денежный ящик, RS-232, USB.

На старших моделях присутствует дополнительно сетевой интерфейс, также кассы могут иметь на борту Wi-Fi адаптер. Но подключать ККТ по беспроводной сети, разве что кроме младшей модели, мы бы не рекомендовали, в реальных условиях такое подключение характеризуется большим временем отклика, что делает работу кассы "задумчивой".

Сетевое подключение наиболее простое с точки зрения эксплуатации и настройки, но в младших моделях его нет, да и не всегда бывает возможным подвести к кассовому месту еще один сетевой кабель (часто это требует фактической переделки всей сети магазина). Поэтому остается только одна альтернатива - USB.

KKT-SHTRIH-M-1C-004.jpg

При установке драйвера обязательно выберите два компонента: Драйверы и тесты и Служба ofdconnect.

KKT-SHTRIH-M-1C-005.jpg

Теперь подключим к USB саму кассу, здесь может быть два варианта: касса уже переведена в RNDIS-режим и в этом случае у вас в системе появится новый сетевой адаптер, либо находится в режиме VCOM. Мы не будем пока касаться RNDIS, рассмотрим подключение устройства в режиме VCOM.

Перейдем в Тест драйвера ФР - Настройка свойств. В открывшемся окне заполним параметры подключения: Локально с указанием используемого COM-порта и скорости. Затем нажмите Проверка связи и внизу вы должны увидеть наименование ККТ и ее серийный номер.

KKT-SHTRIH-M-1C-006.jpg

Если подключиться не удается или вы сомневаетесь в правильности указания обмена, то нажмите Поиск оборудования, утилита определит нужные параметры автоматически:

KKT-SHTRIH-M-1C-007.jpg

Имейте ввиду, что после технологического обновления ККТ имеет скорость порта 4800, а не 115200, если вы неправильно укажете скорость - связи с ККТ не будет. Поэтому обязательно обращайте внимание на этот параметр, а не только на номер порта.

Все настройки кассы хранятся в Таблицах, которые доступны по одноименной кнопке в окне Свойства. При их редактировании будьте внимательны, если не уверенны в своих действиях - предварительно сделайте экспорт. Ну а если совсем ничего не помогает или вы взяли кассу бывшую в эксплуатации, то лучшим решением будет сбросить таблицы на значения по умолчанию кнопкой Инициализировать.

Из всего множества настроек практический интерес представляет таблица 1 - Тип и режим кассы, где сосредоточено большинство самых востребованных настроек. Большинство опции интуитивно понятны, в остальных случаях следует обратиться к документации на вашу ККТ.

KKT-SHTRIH-M-1C-009.jpg

Обратите внимание, что структура таблиц общая для всех моделей ККТ, поэтому часть опций могут быть неприменимы к вашей модели. Скажем, если в ней нет отрезчика, то настраивать его опции бесполезно, несмотря на то что они есть.

В таблице 4 - Текст в чеке можно отредактировать клише.

KKT-SHTRIH-M-1C-010.jpg

Ненадолго вернемся в сам Тест драйвера. Пункт 01. Состояние позволяет получить разнообразную информацию о кассе: статус смены, наличие бумаги, состояние датчиков и т.д. и т.п.

KKT-SHTRIH-M-1C-011.jpg

В разделе 03. Отчеты можно выполнить открытие / закрытие смены, снять отчет без гашения.

KKT-SHTRIH-M-1C-012.jpg

Для работы с фискальным накопителем перейдите в 11. ФН, однако здесь нужно быть предельно осторожным, так как вам будут доступны потенциально деструктивные операции с накопителем.

KKT-SHTRIH-M-1C-013.jpg

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

KKT-SHTRIH-M-1C-014.jpg

Закладка ОФД позволяет контролировать обмен с оператором фискальных данных и позволяет получить квитанцию по номеру фискального документа.

Отдельного разговора заслуживает раздел 17. Прочее - Команда, который позволяет отправлять на кассу низкоуровневые команды. Очевидно, что использовать эту возможность надо осмотрительно, но в ряде случаев она способна сильно облегчить жизнь. Например, для удаленной перезагрузки ККТ ШТРИХ следует послать команду:

KKT-SHTRIH-M-1C-015.jpg

Перевод ККТ в режим RNDIS

Теперь, когда мы рассмотрели основные возможности драйвера, перейдем к настройке нашей кассы. Прежде всего переведем ее в режим RNDIS. Для этого откроем таблицу 21 - Сетевые интерфейсы и установим значение опции 9 - Rndis равным 1. После чего ККТ следует перезагрузить.

KKT-SHTRIH-M-1C-016.jpg

После чего порт VCOM пропадет, но появится новый сетевой адаптер с типом Remote NDIS based Internet Sharing Device, по умолчанию ККТ имеет адрес 192.168.137.111, поэтому присваиваем адаптеру любой иной адрес из этой подсети, в нашем случае 192.168.137.1.

KKT-SHTRIH-M-1C-017.jpg

Если вам необходимо изменить IP-адрес ККТ, от откорректируйте значения в таблице 16 - Сетевой адрес. Будьте внимательны, если вы введете некорректные значения, то получить доступ к кассе можно будет только через физический COM-порт или делать технологическое обнуление (требует вскрытия корпуса).

Снова откроем Тест драйвера и укажем следующие параметры подключения: TCP-сокет, Адрес - 192.168.137.111, порт - 7778. Если все сделано правильно - связь с ККТ будет.

KKT-SHTRIH-M-1C-018.jpg

Аналогичным образом будут выглядеть настройки ККТ ШТРИХ и для сетевого подключения. Для касс, работающих по Wi-Fi может потребоваться увеличить таймаут, если связь с ними будет нестабильной или ее не будет вообще (при условии видимости устройства в сети).

Подключение ККТ к 1С:Предприятие

Необходимый для работы ККТ ШТРИХ драйвер торгового оборудования поставляется в составе конфигурации и никаких дополнительных действий выполнять не надо. Создаем новый экземпляр оборудования, тип оборудования - ККТ с передачей данных, драйвер оборудования - ШТРИХ-М:ККТ с передачей данных в ОФД.

KKT-SHTRIH-M-1C-019.jpg

Сохраним его и перейдем к настройкам, где укажем тип подключения TCP socket, а также IP-адрес и порт. В общем все тоже самое, что и в Тесте драйвера.

Настройка работы с ОФД через службу OFDConnect

В большинстве руководств обычно советуют расшарить на основном сетевом адаптере интернет. Но это не всегда возможно, да и работает такая связка нестабильно, поэтому компания ШТРИХ-М выпустила специальную службу - OFDConnect, которая теперь поставляется в составе драйвера, но документацию обновить не спешит, и многие, в том числе работники сервисных организация продолжают подключать ШТРИХи по-старинке.

Откроем Тест драйвера и перейдем Настройка свойств - Дополнительные параметры - Настройка RNDIS/ОФД.

KKT-SHTRIH-M-1C-021.jpg

Теперь важно правильно соблюсти последовательность действий:

KKT-SHTRIH-M-1C-022.jpg

Прежде всего включим и запустим службу: кнопки Включить передачу данных и Активировать, по умолчанию служба будет использовать порт 7878, можете изменить это значение. Следующим шагом прочитаем необходимые настройки из ККТ одноименной кнопкой. Будет получен сетевой адрес кассы и параметры подключения к ОФД. Затем определим адрес RNDIS-адаптера, либо заполните это поле вручную. После чего нажмите Записать в ККТ, это изменит значения таблицы 19 - Параметры ОФД, заменив адрес сервера ОФД на адрес службы OFDConnect. Ниже показаны значения до и после.

KKT-SHTRIH-M-1C-023.jpg

И наконец нажмем Применить изменения, что внесет необходимые изменения в конфигурацию службы, ККТ после этого будет необходимо перезагрузить.

Сама служба находится в C:\Program Files (x86)\SHTRIH-M\DrvFR 4.14\Bin\OFDConnect и состоит из исполняемого файла и двух конфигурационных.

KKT-SHTRIH-M-1C-024.jpg

Файл Settings.ini содержит настройки самой службы:

Как видим, настроек ровно столько, сколько было в графическом интерфейсе, каких-либо скрытых опций нет. Настройки касс хранятся в KKTProfiles.ini:

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

Проконтролировать обмен с ОФД можно в логах, которые находятся здесь же в отдельной папке. Логи ведутся в текстовом формате и отображают процесс получения службой данных от ККТ, передачу их в ОФД, получение и запись в ККТ ответа от оператора.

KKT-SHTRIH-M-1C-025.jpg

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

Как видим настройка ККТ ШТРИХ совместно с OFDConnect не представляет существенной сложности, не требует изменения сетевой конфигурации компьютера и обеспечивает стабильное, управляемое и диагностируемое решение. Данная схема неоднократно была опробована на практике и проверена длительным сроком работы, поэтому мы можем смело рекомендовать ее к применению.

И вот когда собирается много данных за несколько лет, то возникает логичный вопрос: что с ними можно ещё делать? (кроме как загружать в авансовые отчеты и домашние бухгалтерии). И вот после некоторых размышлений появилась такая интересная (возможно, что только для меня) задача.

Что за задача?
Анализ деятельности сети магазинов (или отдельного магазина) только на основании случайных кассовых чеков.

Что дано?
Имеется сеть магазинов (СМ) с одним общим ИНН. В сеть входит N магазинов, каждый из которых располагается по своему i-адресу (где i *224; 1…N). Адрес каждого магазина является уникальным идентификатором магазина. В каждом магазине есть Mi кассовых аппаратов (ККТ), каждый из которых имеет свой уникальный идентификатор (РН) и порядковый номер ij (где j *224; 1…Mi). За время работы в каждый ККТ помещается Fij фискальных накопителей, имеющих свой уникальный идентификатор (ФН) и порядковый номер ijk (где k *224; 1…Fij). За время работы фискального накопителя в КТТ может быть создано Lijf кассовых чеков, имеющих свой идентификатор (ФД), который одновременно является порядковым номером ijkz (где z *224; 1…Lijf), и дату tijkz.


Какие условия и ограничения?
- Нет доступа к внутренним информационным системам и процессам СМ
- Имеются только отдельные кассовые чеки из СМ, на каждом из которых есть: ИНН, адрес магазина, РН, ФН, ФД и дата.


Что можно со всем этим сделать?
Имея несколько разных чеков с одинаковыми ИНН, адресом магазина, РН и ФН, есть возможность вычислить:
Tijk – период в днях между самыми минимальным и максимальными чеками ijkz по датам tijkz.
Dijk – количество фискальных документов - разница между самыми максимальными и минимальным чеками ijkz по датам tijkz.
dijk – среднее число чеков в день: dijk = Dijk/Tijk.

Что это нам даёт?
Среднее число чеков в день позволяет судить только о динамике пробития чеков отдельной ККТ, отдельного магазина (при наличии необходимого количества чеков с разных ККТ этого магазина) или всей сети магазинов (при наличии необходимого количества чеков с разных ККТ разных магазинов одной сети). Например, по рисунку ниже можно говорить, что АЗС №7 выдаёт больше чеков в день (700), чем АО Тандер (445).



Вы можете самостоятельно создать обработку и выполнить анализ чеков. Для этого вам помогут структура обработки и текст запроса. Или скачать уже готовую обработку. Разработка и тестирование обработки осуществлялись на типовой конфигурации «1С:Бухгалтерия предприятия, редакция 3.0» (3.0.105.31) и платформе 1С:Предприятие 8.3 (8.3.19.1229). Работать данная обработка должна практически на любой управляемой конфигурации 1С под управляемой более-менее современной платформы 1С 8.

Текст запроса и структура обработки для анализа чеков


Текст запроса (для указанной выше структуры обработки):

Как можно реализовать печать копии чека (требуется когда идет оплата по банковской карте) в 1С 8.1 - если возможность управления повтором печати последнего чека? Ну или как реализовать печать повторного чека в нефискальном режиме?

По вопросам доработки конфигураций Вам необходимо обратиться в наш отдел внедрения (495)787-6090 доб. 271. Так же Вы можете обратиться к своим разработчикам 1С. дык вроде сам программист.
просто я не нашел примера в поставке с печатью такого чека
В данном случае Вам необходимо использовать метод драйвера ФР RepeatDocument (ПовторДокумента). Метод выводит на печать копию последнего закрытого документа продажи. Спасисбо, нашел руководство программиста на сайте, буду пробовать.

В общем ПовторДокумента реализован для обычного драйвера, для драйвера, написанного с учетом требований 1С, такого метода нет. Пришлось печатать нефискальные строки. Модификацию делал для 1С:Розница 1.0.5.6: В функции "ПечатьЧекаККМ(Идентификатор, НомерЧека, НомерСмены,
ОписаниеЧека, СуммаНал, СуммаБезнал, ПризнакВозврата)" вместо строк "Если НЕ ЗначениеЗаполнено(Результат) Тогда

Результат = ПолучитьСерверТО().ЗакрытьЧек(Идентификатор, СуммаНал, СуммаБезнал);

Если НЕ ЗначениеЗаполнено(Результат) Тогда

Результат = ПолучитьСерверТО().ЗакрытьЧек(Идентификатор, СуммаНал, СуммаБезнал);

Если Не СуммаБезнал = 0 Тогда
МассивСтрокДляПечати.Вставить(0, "КОПИЯ ЧЕКА");
МассивСтрокДляПечати.Добавить(". ");
МассивСтрокДляПечати.Добавить("Всего:");
МассивСтрокДляПечати.Добавить("1 * " + Строка(СтрокаЧека.Цена) + " Отдел: №" + Позиция.НомерСекции);

МассивСтрокДляПечати.Добавить(". ");
МассивСтрокДляПечати.Добавить("ИТОГО: " + Строка(СтрокаЧека.Цена));
МассивСтрокДляПечати.Добавить("Оплачено наличными: " + Строка(СуммаНал));
МассивСтрокДляПечати.Добавить("Оплачено безналичными : " + Строка(СуммаБезнал));
МассивСтрокДляПечати.Добавить("Сдача: " + Строка(СуммаНал + СуммаБезнал - СтрокаЧека.Цена));

Результат = ПОлучитьСерверТО().ПечатьТекста(Идентификатор, МассивСтрокДляПечати, СтруктрураШаблона.ШиринаЧека);

повторно закрывать чек не решился потому как не знаю что происходит в этом случае с фискалкой (нет не фискализированного аппарата). Естесственно отрезка чека в этом случае не происходит, а метода "отрезать чек" не нашел.
Посему вопрос: что же происходит при вызове метода "ЗакрытьЧек"? Только лишь подсчет сдачи, печать итогов и отрезка чека или еще что то, что влияет на процесс обмена данными?
Надеюсь данная информация будет полезна многим.

Откройте нефискальный документ с помощью "ОткрытьЧек" с параметром ФискальныйЧек = Ложь.
Затем выполняйте команды печати нефискальных строк "НапечататьНефискСтроку"
После этого закрываете нефискальный чек командой "ЗакрытьЧек". При этом будет выполнена автоматическая протяжка и отрезка ленты.

Посему вопрос: что же происходит при вызове метода "ЗакрытьЧек"? Только лишь подсчет сдачи, печать итогов и отрезка чека или еще что то, что влияет на процесс обмена данными?
Надеюсь данная информация будет полезна многим.
Собственно, когда вызывается метод "ЗакрытьЧек" происходит следующее: если ранее был открыт фискальный документ, то он закрывается с указанными в параметрах суммами оплаты - соответственно с записью в фискальную память. Если был открыт нефискальный чек, то производится просто протяжка и отрезка.
Внутри фискального чека можно выполнять регистрации позиций и печать нефискальных строк. Внутри нефискального чека могут печататься только нефискальные строки.

А производится ли печать итогов нала и безнала по команде "ЗакрытьЧек" в не фискальном режиме?
Исходя из обработки 1С: Эмулятор ФР сделал вывод что не важно какой чек - фискальный или не фискальный - нумерация чеков идет учитывая и нефискальные чеки - так ли это происходит и в реальном ФР и критично ли это для налоговой и государства в частности?

P.S. В описании требований от 1С ошибка в методе открыть чек, параметр ФискальныйЧек идет шестым параметром судя по обработке 1С эмулятор ФР.

Решил выложить итог:

вместо строк

"Если НЕ ЗначениеЗаполнено(Результат) Тогда

Результат = ПолучитьСерверТО().ЗакрытьЧек(Идентификатор, СуммаНал, СуммаБезнал);

Если НЕ ЗначениеЗаполнено(Результат) Тогда

Результат = ПолучитьСерверТО().ЗакрытьЧек(Идентификатор, СуммаНал, СуммаБезнал);

Если Не (ЗначениеЗаполнено(Результат) Или СуммаБезнал = 0) Тогда

//откроем чек в нефискальном режиме - последний параметр = Ложь
Результат = ПолучитьСерверТО().ОткрытьЧек(Идентификатор, "", ПризнакВозврата, 0, НомерСмены, Ложь);
Если НЕ ЗначениеЗаполнено(Результат) Тогда

МассивСтрокДляПечати.Вставить(0, "КОПИЯ ЧЕКА " + Формат(НомерЧека, "ЧЦ=4; ЧВН . ");
МассивСтрокДляПечати.Добавить("Всего:");
МассивСтрокДляПечати.Добавить("1 * " + Строка(СтрокаЧека.Цена) + " Отдел: №" + Позиция.НомерСекции);

МассивСтрокДляПечати.Добавить(". ");
МассивСтрокДляПечати.Добавить("ИТОГО: " + Формат(СтрокаЧека.Цена, "ЧЦ=15; ЧДЦ=2; ЧН=0; ЧГ=0"));
МассивСтрокДляПечати.Добавить("Оплачено наличными: " + Формат(СуммаНал, "ЧЦ=15; ЧДЦ=2; ЧН=0; ЧГ=0"));
МассивСтрокДляПечати.Добавить("Оплачено безналичными : " + Формат(СуммаБезнал, "ЧЦ=15; ЧДЦ=2; ЧН=0; ЧГ=0"));
МассивСтрокДляПечати.Добавить("Сдача: " + Формат(СуммаНал + СуммаБезнал - СтрокаЧека.Цена, "ЧЦ=15; ЧДЦ=2; ЧН=0; ЧГ=0"));

Результат = ПОлучитьСерверТО().ПечатьТекста(Идентификатор, МассивСтрокДляПечати, СтруктрураШаблона.ШиринаЧека);

Если НЕ ЗначениеЗаполнено(Результат) Тогда
Результат = ПолучитьСерверТО().ЗакрытьЧек(Идентификатор, 0, 0);
КонецЕсли;


Сервисы

Случаются ситуации, когда необходимо восстановить утерянный чек. Разбираемся какие возможности существуют и какие из них будут наиболее оптимальными в вашем случае.

Потерянный чек и Z-отчет восстанавливаем из ЭКЛЗ в ФР Штрих через утилиту «Тест драйвера».

В статье разберем как распечатать контрольную ленту штрих М, ФР К, light, ПТК, Комбо, Мини, NCR самостоятельно. Выполняйте процедуру согласно инструкции, в противном случае можете вывести из строя регистратор, так и не получив потерянный чек или Z-отчет.

Важная информация! Не нажимайте кнопку «Закрыть архив ЭКЛЗ». В противном случае придется заменить блок ЭКЛЗ.

Электронная контрольная лента защищенная — ЭКЛЗ содержит все чеки продажи и гашения за период от последней замены до текущего момента. Мы можем распечатать аналог чека или Z-отчета, но только до даты замены блока на новый. Обычно дата замены отмечается в журнале учета вызовов, журнале кассира операциониста, на карточке регистрации, в дополнительном листе паспорта версии. Можно получить эту дату ближней замены и из драйвера, но из-за того что данная кнопка расположена рядом с закрытием блока ЭКЛЗ, делать этого не будем.

Распечатка контрольной ленты ЭКЛЗ

  • Отчеты ЭКЛЗ
  • Печать отчетов ЭКЛЗ
  • Операции с ЭКЛЗ

Призываю пользоваться только закладкой «Печать отчетов ЭКЛЗ», в противном случае из-за ошибочного закрытия очень легко испортить блок ЭКЛЗ с необходимостью последующей его замены.

Распечатываем потерянный чек и Z-отчет

После выбора вкладки «ЭКЛЗ», выбираем появившуюся закладку «Печать отчетов ЭКЛЗ». Откроется следующее окно:

Дубликат чека продажи из ЭКЛЗ ККМ ФР Штрих (видоизмененный аналог потерянного утраченного чека)

Для этого введем на клавиатуре или выставим мышкой в выборном календаре в поле «Начальная дата», «Конечная дата» — даты с запасом в день до и после интересующего нас дня. Запас делается на случай, если например смену сняли после 24-00 или сняли два гашения за смену.

Z-отчет — распечатать дубликат Z-отчета при помощи драйвера «Тест драйвера ККМ» из ККМ ФР (Штрих М, ФР К, light, ПТК, Комбо, Мини, NCR)

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

Распечатываем потерянный чек и Z-отчет

Список возможных ошибок

  • ошибка кассы нет связи
  • ошибка ккм нет связи
  • тест драйвера ккм ошибка 1 нет связи
  • фискальный регистратор ошибка при подключении
  • код ошибки фискального регистратора
  • ошибка фискального регистратора нет связи

Читайте также: