Версия для печати темы (https://pro1c.org.ua/index.php?s=23505e26528c89e2fcd9a1451972bce7&showtopic=60384)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Работа с торговым оборудованием _ Мини ФП 54.01 кроме X отчета ничего не работает

Автор: Irinel 21.07.20, 14:51

Здравствуйте. Работодатель купил это счастье "Мини ФП 54.01"...

Но возникла проблема. Аппарат подключен через USB, который создал вирт.компорт. И в общем не работает.
Х-отчет по процедуре

ФПР = CreateObject("ecrmini.t400");
        СтрокаКоманды = "open_port;5;115200;";
    ФПР.t400me(СтрокаКоманды);
    сообщить("Результат выполнения Команды open_port - "+ФПР.get_last_result());    
    СтрокаКоманды = "execute_report;x1;12321;";  
    Результат = ФПР.t400me(СтрокаКоманды);
    СтрокаКоманды = "close_port;";
    ФПР.t400me(СтрокаКоманды);
    сообщить("Результат выполнения Команды close_port - "+ФПР.get_last_result());

выдаёт. Но на этом всё!

Нулевой чек по процедуре
ФПР = CreateObject("ecrmini.t400");
    СтрокаКоманды = "open_port;5;115200;";
    ФПР.t400me(СтрокаКоманды);
    СтрокаКоманды = "cashier_registration;1;0;";
    ФПР.t400me(СтрокаКоманды);
        СтрокаКоманды = "print_empty_receipt;";  
    Результат = ФПР.t400me(СтрокаКоманды);  
        СтрокаКоманды = "close_port;";  
    Результат = ФПР.t400me(СтрокаКоманды);

- реакции аппарата ноль!

простенькая процедура тестовой продажи
    ФПР = CreateObject("ecrmini.t400");
    
    СтрокаКоманды = "open_port;5;115200;";
    ФПР.t400me(СтрокаКоманды);
    
    СтрокаКоманды = "cashier_registration;1;0;";  
    ФПР.t400me(СтрокаКоманды);

    Для Индекс = 1 По 5 Цикл
        
        КодТовара  = Строка(Индекс);
        ИмяТовара  = "Товар для теста_"+Строка(Индекс);
        Код        = КодТовара;
        Цена       = 10 + Индекс;
        Количество = 5  + Индекс;
        
        СтрокаКоманды = "add_plu;"+Код+";1;0;0;0;1;1;"+СокрЛП(Формат(Цена,"Ч10.2"))+";"+КодТовара+";"+ИмяТовара+";"+СокрЛП(Формат(Количество,"Ч10.3"))+";";
        ФПР.t400me(СтрокаКоманды);
    КонецЦикла;            
                
       СтрокаКоманды = "open_receipt;0";
       ФПР.t400me(СтрокаКоманды);
       Для Индекс = 1 По 5 Цикл
        
        КодТовара  = Строка(Индекс);
        ИмяТовара  = "Товар для теста_"+Строка(Индекс);
        Код        = КодТовара;
        Цена       = 10 + Индекс;
        Количество = 5  + Индекс;
        
        СтрокаКоманды = "sale_plu;0;0;0;"+СокрЛП(Формат(Количество,"Ч10.3"))+";"+Код+";"+СокрЛП(Формат(Цена,"Ч10.2"))+";";
        ФПР.t400me(СтрокаКоманды);

    КонецЦикла;
    СтрокаКоманды = "pay;0;0";
    ФПР.t400me(СтрокаКоманды);
    СтрокаКоманды = "close_port;";
    ФПР.t400me(СтрокаКоманды);

реакции тоже ноль!

По командам
СтрокаКоманды = "get_cashbox_sum;";

и
СтрокаКоманды = "get_date_time;";

выдаёт минус единицу.

Проблема осложняется тем, что работаю удалённо.
Прошу помощи. Хотя бы скажите в каком направлении копать!

Заранее огромное спасибо!

Acid @ 21.05.15, 7:14 * ,

Здравствуйте. Не могли бы Вы глянуть моё сообщение выше? И, возможно, помочь?

pereb @ 21.05.15, 10:51 * ,
Не могли бы вы посмотреть на код и помочь советом - что не так я делаю? Спасибо

Автор: Alegzander 21.07.20, 16:50

Irinel @ Сегодня, 15:51 * ,
get_last_error после каждой команды может поможет?

Автор: Irinel 21.07.20, 18:44

Alegzander @ Сегодня, 17:50 * ,
Благодарю, попробую..
Вообше - по моему пробовала. У меня уже шутк пять этих внешних обработок лежит... И через файл чек пробивать и напрямую..
Потом уже плюнула и просто - с условным товаром продажу пыталась...

Автор: onsamuy 21.07.20, 21:53

На какой конфигурации 1С пробуете работать с ФП?
Апарат давно проверен, работает с 1С без проблем. Попробуйте на сайте Артсофт скачать бесплатные обработки

Автор: Irinel 22.07.20, 7:33

Цитата(onsamuy @ 21.07.20, 22:53) *
На какой конфигурации 1С пробуете работать с ФП?

Изначально - 1С ТиС для Украины. На базе неё доработка для кафе - марочные отчёты, счета официантов, фронт-АРМы под тачскрины ну и всё такое.
К этой конфигурации были подключены "Datecs FP-3530T", "Datecs FP-3141T", "MINI FP-6" (естественно в разное время и у разных клиентов). До последнего времени (и сейчас пока тоже) с базой работает (без жалоб и нареканий) - "MINI ФП-6"...

Цитата(onsamuy @ 21.07.20, 22:53) *
Апарат давно проверен, работает с 1С без проблем.

Да я понимаю... Если бы вообще бы не работал! А так - Х-отчёт то делает. Значит порт видет, скорость устраивает... А вот чеки - не бьёт... Я думала, что чего-то в коде напутала... Где-то 1\0 не так поставила...

Автор: Gazulo 22.07.20, 9:30

Irinel @ Вчера, 15:51 * ,
Пробуйте, після кожної команди отримувати результат виконання чи немає помилки.Якщо є то після якої команди і тоді вже дивитись по списку помилок.

Автор: sava1 22.07.20, 9:50

аппарат не фискализован ? (чисто случайно...)

Автор: Gazulo 22.07.20, 9:53

Irinel @ Вчера, 15:51 * ,
Також якщо апарат вже фіскалізовано, то якщо 72 години не передавалась інформація із фіскального, то він блокується..

Автор: Irinel 22.07.20, 13:00

Цитата(sava1 @ 22.07.20, 10:50) *
ппарат не фискализован ? (чисто случайно...)

Чисто случайно - был не фискализированный. не работаро.
Сегодня привезли с регистрации. И чеки пробиваются...
Но зато - не отрабатывает - копия чека print_receipt_copy , команда суммы в кассе get_cashbox_sum; - выдаёт -1 (хотя Х - бьётся нормально и сумма совпадает с чеками)

И не отрабатывает - внесение-инкасациия.

Я в шоке...

get_last_error - как правильно пользоваться?

СтрокаКоманды = "get_cashbox_sum;";
ФПР.t400me(СтрокаКоманды);
СтрокаКоманды = "get_last_error ";
ФПР.t400me(СтрокаКоманды);

Так?

Автор: Sharzem 22.07.20, 13:30

Irinel @ Вчера, 14:51 * ,
faceoff.gif
СтрокаКоманды = "execute_report;x1;12321;";
Чому?:
СтрокаКоманды = "cashier_registration;1;0;";

Не зрозуміли ?
Потрібно: СтрокаКоманды = "cashier_registration;1;12321;";

У Вас не відбувається ідентифікація, тому воно і мовчить, і нічго не працює.

Sharzem @ Сегодня, 13:23 * ,
Вийшло ? Чи ще ні ?

Автор: Irinel 22.07.20, 14:35

=

Цитата(Sharzem @ 22.07.20, 14:30) *
СтрокаКоманды = "execute_report;x1;12321;";
Чому?:
СтрокаКоманды = "cashier_registration;1;0;";

Не зрозуміли ?
Потрібно: СтрокаКоманды = "cashier_registration;1;12321;";

У Вас не відбувається ідентифікація, тому воно і мовчить, і нічго не працює.




Менi казали (у сервисi, що обслуговуе реестратор), що пароль "12321", це пароль старшого касира, и вiн потрiбен тiльки для звiniы. А для прото продажу е касир з нольовим паролем.
Сюгоднi привезли аппарат у кафе, ми його пiдключини до ПК, i - о щастя нам велике - чеки почали вiдбиватись!
З командою у кодi:
СтрокаКоманды = "cashier_registration;1;0;";

Але не вiдпрацьовуе службове внесення, iнкасацiя, та копiя чеку...
Можнливо в цьоиу разi тэж потрiбен старший касир?
Зараз буду пробувати

Дякую за допомогу!

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua