На главную страницу Версия-Т
VTSoft.ru

Компонента Чековый онлайн


RSS
Компонента Чековый онлайн
 
Здравствуйте. Пишу ПО на C# для работы с ККМ Касби-02К. Имеется метод public override kasbi.kasbiClass.Open(object ValuesArray, out object DeviceID).

Подскажите, пожалуйста, что я должен передать в первом параметре и в каком формате?
 
Здравствуйте.
Параметр ValuesArray должен быть объектом "Массив" из платформы 1С8. Если Вы пишите свое ПО, Вам лучше воспользоваться другим продуктом. Библиотека режима чековый online для Касби-02К. Это Win32 dll без механизмов COM & OLE.
 
Спасибо за оперативный ответ. Сейчас пощупаю...
 
Здравствуйте.
Как сформировать чек понятно.
Посмотрите, пожалуйста, правильно ли организован вывод чека на ККМ?:

//Выводим окно с просьбой нажать клавиши ФЦ-ВВ на ККМ

bool CancelKeyPressed = false;

//Запускаем ожидание запроса от ККМ
StartWaiting(1);

//Бесконечный цикл, пока не будет нажата кнопка отмены, либо процесс ожидания не будет остановлен
while (!CancelKeyPressed || WaitingStatus() == 1)
{
Thread.Sleep(100);
}
if (!CancelKeyPressed)
{
//Если процесс ожидания остановлен и НЕ нажата кнопка отмены, то даем команду напечатать чек
if (CheckPrint() != 1)
{
//Записываем ошибку в лог и выводим пользователю
Form1.log.Write("Вывод чека: " + GetErrorMsg());
MessageBox.Show("Вывод чека: " + GetErrorMsg());
}
}
else
{
//Иначе останавливаем ожидание без печати
StopWaiting();
}

И еще вопрос. Для работы касби с компьютером обязательно требуется наличие устройства VT-CardBase?
Изменено: doos111 - 16.04.2014 18:08:42
 
Здравствуйте.
Все намного проще надо сделать. Нужна только ф-ция CheckPrint(). В ней уже присутствует цикл ожидание нажатия кнопок на кассе. Так же выводится окно с инструкцией к действиям. Поэтому после добавления покупок в базу описателей товаров пишете
Код
if (CheckPrint() != 1)
{
//Записываем ошибку в лог и выводим пользователю
Form1.log.Write("Вывод чека: " + GetErrorMsg());
MessageBox.Show("Вывод чека: " + GetErrorMsg());
} 
 
И еще вопрос. Для работы касби с компьютером обязательно требуется наличие устройства VT-CardBase?
 
В этом случае нет. Все управление и передача данных идет от ПК.

VT-CardBase нужен, если работа на кассе будет без участия ПК.
 
Здравствуйте. Спасибо за ответ. Еще пара вопросов, надеюсь последних:
1. SetSupplierСode("<Где его берут?>")
2. Если в CheckPrint() уже заложен весь функционал с ожиданиями и инструкциями, то как распознать, что кассир нажал "Отмена"?
 
Здравствуйте.
1. Код поставщика приобретается у нас.
2. По коду возврата "0" - чек не выведен. Ф-ция GetErrorCode вернет причину. Точно не помню какой код. Опытным путем быстрее выяснить.