Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Обробка для МІНІ-ФП54.01 (Бухгалтерия для Украины 1.2.)
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Работа с торговым оборудованием
Cordelia
Доброго дня!
Згідно документації та стандартної обробки для 1С вдалось реалізувати роботу КА МІНІ-ФП54.01 по стандартним командам. Але є задача виводити на форму обробки дані по руху грошових коштів.
В КА Мария є команда GetCashInfoXML(), за допомогою якої раніше виводили необхідні дані:

НачОстаток     = "rest";
СлужВнесение = "income";
СлужИзъятие   = "outcome";
Получено        = "sales";
Выдано           = "return";
КонОстаток     = "total";


В МІНІ-ФП подібної команди не знайшли. Можливо хтось зможе підказати як краще реалізувати даний функціонал?

Вичитали в документації про команду get_report, за допомогою якої можна зберегти в BIN-файл звіт. Викликаємо її ПриОткрытии() форми.

Приклад коду:
КассовыйАппаратОбъект.T400me("get_report;0;"); // має зберігати Х1 звіт.


Тут вилітає помилка (і не завжди її можна зловити):
"308,"Ошибки DLL-библиотеки №308 'касса не доступна '" і "Cash Register is busy and can not run a command".

Не розуміємо, чи це може бути проблеми з DLL-библиотекою чи ще з чим. Чи може хтось порадити/допомогти з цим питанням?
Gazulo
Cordelia @ Сегодня, 10:07 необходимо зарегистрироваться для просмотра ссылки ,
Добрий день, спробуйте утилітою TstT400Server виконати команду...
volodya1122
Cordelia @ Сегодня, 10:07 необходимо зарегистрироваться для просмотра ссылки ,

Я працюю з MINI-T400, але драйвер використовується той самий що і для фіскального реєстратора. Зараз якраз була Кампанія по перепрошивках Касових апаратів і реєстраторів під нові вимоги законодавства для друку штрихкодів акцизних марок.
Тому насамперед питаненя:
1. Ви перепрошивали свій реєстратор? і помилка виникла після перепрошивки?
2. Попередній драйвер видалили?
3. після цього новий драйвер зареєстрували (від імені адміністратора) (І згідно інструкціі повинен ще лежати в папці C:\olesrv)
Gazulo
volodya1122 @ Сегодня, 14:47 необходимо зарегистрироваться для просмотра ссылки ,
Я так розумію, що все працює, відбувається друк і т.д., тобто всі вказані вами дії вже зроблені, проблема при виконанні конкретної команди.

Цитата(Cordelia @ 12.10.21, 10:07) необходимо зарегистрироваться для просмотра ссылки
Викликаємо її ПриОткрытии() форми

Може спочатку треба відкрити порт......
volodya1122
Gazulo, Це не до мене.
Cordelia
Все працює, друкує всі необхідні чеки і звіти, але саме ця команда не виконується.

Так, спочатку відкриваю порт:

Функция Инит() Экспорт
    
    НомерПорта = ПолучитьКомПортКА();
    
    КассовыйАппаратОбъект = Новый COMОбъект("ecrmini.t400");
    
    КассовыйАппаратОбъект.T400me("open_port;"+НомерПорта+";115200");
    КодОшибки=КассовыйАппаратОбъект.get_last_error;
    
    Если  КодОшибки = 0 Тогда
        
        КассовыйАппаратОбъект.T400me("open_port;"+НомерПорта+";115200");
        КассовыйАппаратОбъект.T400me("cashier_registration;1;0;");
        КассовыйАппаратОбъект.T400me("set_error_log;0");
        
    Иначе
        Сообщить(" Ошибка открытия порта= "+КодОшибки+", "+КассовыйАппаратОбъект.get_error_info);
    КонецЕсли;
    
    Возврат КассовыйАппаратОбъект;
    
КонецФункции



volodya1122 @ Сегодня, 14:47 необходимо зарегистрироваться для просмотра ссылки ,

1. Ви перепрошивали свій реєстратор? і помилка виникла після перепрошивки?
- Сказали, що підакцизний товар не продають, тому не перепрошивали КА.
2. Попередній драйвер видалили?
- якщо не перепрошивали, значить це також не робили.
3. Після цього новий драйвер зареєстрували (від імені адміністратора) (І згідно інструкціі повинен ще лежати в папці C:\olesrv)
- зможу уточнити завтра, хтось із спеціалістів підключався і налаштовував КА (можу зателефонувати і запитати це).

Ситуація така, що поки що працюють в старій програмі, але будуть найближчим часом переходити на 1С. А в 1С була обробка під Марію, тому потрібно зараз переробити під МІНІ, але зі збереженням функціоналу.

Цитата(Gazulo @ 12.10.21, 14:41) необходимо зарегистрироваться для просмотра ссылки
спробуйте утилітою TstT400Server виконати команду...

Дякую, спробую. Ще через утиліту не пробувала викликати команди.
Sharzem
Цитата(Cordelia @ 12.10.21, 10:07) необходимо зарегистрироваться для просмотра ссылки
Cash Register is busy and can not run a command

Що тут не зрозуміло ?

get_report 44000000.gif
такого немає....
Є execute_report....
Cordelia
Цитата(Sharzem @ 13.10.21, 16:55) необходимо зарегистрироваться для просмотра ссылки
Що тут не зрозуміло ?

get_report 44000000.gif
такого немає....
Є execute_report....


в документації є, і потрібно зберегти файл, а не друкувати звіт
ValeryZ
Cordelia @ 12.10.21, 9:07 необходимо зарегистрироваться для просмотра ссылки ,
Доброго дня.
Може запізно і проблема вирішилася, але вставлю свої 17 копійок.

Я так розумію, що ви проводите ініціювання послідовного порту один раз?

Як показала багаторічна практика 54 апарати полюбляють, щоб їм постійно нагадували про те, до якого порту вони підключені. Окрім того, можливо, що КА не знає, куди записати файл.

Тому, я б вчинив наступним чином:
1. Повідомив би ЕККА, куди писати файл (точніше OLE-серверу):
1.1. Підключаю порт: "open_port;3;115200;"
1.2. Налаштовую каталог: "set_dir;D:\OLE\Exemple;"
1.3. Закриваю порт: "close_port;"
2. Виконав би звіт:
2.1. Відкриваю порт
2.2. Виконую звіт: "get_report;0;"
2.3. Закриваю порт;

По Вашому коду я бачу, що ви у обов’язковому порядку при ініціалізації порту проводите реєстрацію касира. Не знаю, наскільки це виправдано для кожного випадку зверенення до порту. Наприклад при внесенні товарної позиції до чека це не обов’язково. А от при оплаті - так.
Можливо цей звіт не вимагає реєстрації касира. Я сам не користуюся get_report (немає необхідності).

І ще одне. Якщо КА перепрошитий на 5401F3, то йому потрібно поставити останній драйвер (там є зміни, які OLE-сервер попередніх версій не розуміє). Якщо не перепрошитий - ситуація дзеркально подібна, тож оновлювати драйвер не потрібно, або, якщо це відбулося - поставити попередню версію.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.