Имя: Пароль:
1C
1С v8
ККТ и передача данных в ОФД
0 MaiorovYury
 
22.10.18
15:13
Всем доброго дня!
У кого есть опыт работы с ККТ (в моем конкрентном случае Атол 11Ф), подскажите, пожалуйста, такой вопрос
Есть ли какая-то команда для принудительной отправки данных в ОФД?
Суть в следующем, есть самописная конфигурация для мобильного приложения, через которую курьеры пробивают чеки и закрывают смену.
Сегодня прилетел запрос сделать так, чтобы не было случаев, что смена закрыта, а данные в офд не отправлены.
Я так понимал, что ККТ должен отправлять все данные в ОФД при закрытии смены. Эта идея верная?
В любом случае не нашел отдельно команды, которая отправляла бы данные в ОФД.
Сорри за сумбур, не очень понимаю как это вообще все должно работать, так что просьба, если и пинать, то не сильно) а лучше подсказать, как это должно работать)))
1 karpik666
 
22.10.18
15:20
(0) идея неверная, ккт передает данные в офд сразу как настраивается связь с этим ОФД, для этого обычно используются отдельные службы, например EOU для АТОЛ, RNDIS для Штрихм, ComProxy для ВикиПринт и т.д.
2 MaiorovYury
 
22.10.18
15:24
(1) Спасибо за ответ. Только хочется уточнить - "сразу как настраивается связь с этим ОФД" - это значит появляется интернет на ККТ?
По идее в моем случае интернет на ККТ работает через мобильный телефон и в большинстве случаев данные в ОФД уходят, но я так понял клиента, что не всегда.
Хотя при закрытии смены на мобильном телефоне есть интернет - вызывается веб сервис из основной 1с
Все же вопрос тогда такой
Как можно принудительно заставить ККТ выгрузить данные в ОФД?
3 karpik666
 
22.10.18
15:27
(2) никак, нет такой команды, касса сама проверяет доступность связи с офд и передает туда информацию, можно не отправлять данные в течение 30 дней, после этого касса блокируется.
4 MaiorovYury
 
22.10.18
15:29
(4) понял.
Спасибо большое!
5 zippygrill
 
22.10.18
15:30
(0) в ОФД чеки уходят сразу после пробития (при условии что интернет есть)
Если на момент пробития  чека, не была связь, они копятся и при первой же возможности (опять же наличие интернета) - улетают в ОФД.
6 Kigo_Kigo
 
22.10.18
15:36
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // //
// ----------- Получение состояния связи фискального накопителя --------------//
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // //

var textForPrint = "";
driver.Mode = 0;
driver.SetMode();
// Код ошибки сети
driver.RegisterNumber = 43;
driver.OFDLastError = 1;
driver.GetRegister();
textForPrint += "Код ошибки сети: " + driver.OFDLastError + "\n";
//  Код ошибки ОФД
driver.RegisterNumber = 43;
driver.OFDLastError = 2;
driver.GetRegister();
textForPrint += "Код ошибки ОФД: " + driver.OFDLastError + "\n";
// Код ошибки ФН
driver.RegisterNumber = 43;
driver.OFDLastError = 3;
driver.GetRegister();
textForPrint += "Код ошибки ФН: " + driver.OFDLastError;
dump(textForPrint);
driver.Caption = textForPrint;
driver.PrintString();

// // // // // // // // // // // // // // // // // // // // // // // // // // // // // //
// ----------- Получение количества неотправленных документов и --------------//
//------------------- даты самого старого неотправленного -------------------------//
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // //

var textForPrint = "";
driver.Mode = 0;
driver.SetMode();
// Количество неотправленных документов:
driver.RegisterNumber = 44;
driver.GetRegister();
textForPrint += "Количество неотправленных документов: " + driver.Count + "\n";
// Дата самого старого неотправленного документа
driver.RegisterNumber = 45;
driver.GetRegister();
textForPrint += "Дата самого старого неотправленного документа: " + driver.Day + "." + driver.Month + "." + driver.Year + " " + driver.Hour + ":" + driver.Minute;
dump(textForPrint);
driver.PrintString();
Все что есть
то есть перед закрытием смены ты можешь - проверить есть ли связь с офд и/или количество не отправленных чеков и принимать решение, закрывать смену или нет или как то предупредить об этом пользователя
7 dezss
 
22.10.18
15:49
И еще один момент.
Когда закрывается смена, в отчете о состоянии счетчиков с гашением есть строка "Состояние обмена с ОФД", в ней пишется сколько непереданных ФД в данный момент и пишут дату первого непереданного. Вот это и должно служить "звоночком", что что-то не так.
8 MaiorovYury
 
22.10.18
16:09
(6), (7) предупредить конечно можно, только что пользователь должен потом делать с этой информацией, если ККТ никак не заставить выгрузить данные?
Проверить что ККТ подключен к телефону и на телефоне есть интернет? Без этого закрытие смены не пройдет
9 MaiorovYury
 
22.10.18
16:14
(5) у меня в приложении есть кнопка "Закрыть смену" по этой кнопке закрывается смена на ККТ и вызывается веб сервис открытой в инете 1с. Получается на этот момент телефон видит и интернет, и ККТ, но видимо данные не всегда уходят
Отсюда и взоник вопрос какой-нибудь принудительной выгрузки данных по кнопке.
10 MaiorovYury
 
22.10.18
16:15
В общем, всем спасибо за информацию!
По крайней мере у меня в голове все уложилось
И постараюсь связаться с тех поддержкой АТОЛ, чтобы узнать есть ли все же принудительная выгрузка
11 opus70
 
22.10.18
16:20
как вариант  можешь раскрутить ккт вытащить фн и вот отсюда
скачать все что нужно для чтения и передачи в том числе

https://www.ss-20.ru/index.php?topic=428.0

но это так для общего ознакомления больше
12 Kigo_Kigo
 
22.10.18
16:20
(10) Нет и быть не может, если есть связь с ОФД, ккт передает данные, нет связи не передает, дав команду на принудительную выгрузку вы получите ошибку связи с офд, что тоже не решает никакой проблемы
13 dezss
 
22.10.18
16:26
(8) это значит, что сама касса не видит ОФД..
что-то с настройками или прослойкой, которая осуществляет связь кассы с инетом...
14 dezss
 
22.10.18
16:26
(12) + 100500
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.