BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 23 июн 2025, 13:08

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 19 ] 
Автор Сообщение
СообщениеДобавлено: 26 май 2010, 15:19 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Добрый день.
Есть ли возможность в BGБиллинге печати приходно-кассовых ордеров при принятии платежа кассирами???
Изображение

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 май 2010, 16:11 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
есть, посмотрите плагин CashCheck

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 май 2010, 16:37 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Спасибо.
Но что-то не понял есть ли возможность печати на обычные принтеры? К примеру HP LJ 1020 или Canon LBP2900??
Есть ли возможность печати на сетевой принтер?

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 май 2010, 17:23 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Да, конечно, на обычный принтер и печатается. Печатать можно на любой принтер, зарегистрированный в системе, в том числе и сетевой.

хинт: В сервере печати cashcheck есть скрипт testserver, если его запустить, то в результирующем логе тестируются все драйвера и для драйвера fop выводится список имён принтеров, которые видятся программой.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 май 2010, 18:51 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Цитата:
#driver: ru.bitel.frk.driver.shtrih.Driver
#driver: ru.bitel.frk.driver.shtrih2.Driver
#driver: ru.bitel.frk.driver.emu.Driver
driver: ru.bitel.frk.driver.fop.Driver
#driver: ru.bitel.frk.driver.sp101frk.Driver
#driver: ru.bitel.frk.driver.atol.Driver

# -----------------
# Для FOP-драйвера:
# -----------------

ru.bitel.frk.driver.fop.Driver:{
# Название принтера в системе (если не указан, то возьмётся дефолтный,
# прописнный в системе, если и такого нет, будет ошибка)
printer: ЧТО ЗДЕСЬ ПИСАТЬ???

# Шаблон xsl. Прямой путь к файлу (можно, конечно, положить его в xsl сервера
# биллинга, тогда сервер печати, конечно, не стартует без запущенного него)
#xsl: http://127.0.0.1:8080/bgbilling/xsl/cashcheck_pko.xsl
#xsl: file:///home/dimon/workspace/bgbilling/modules/cashcheck/server/server_files/xsl/cashcheck_pko.xsl
xsl: C:\BGCashcheckServer\xsl\cashcheck_pko.xsl
#xsl: file:///usr/local/BGCashcheckServer/xsl/cashcheck_pko.xsl

# Имя задания печати (произвольное), может быть не задано
jobName: Печать кассового чека BG

# Количество копий, может быть не задано
jobCopies: 1
}


Никак не могу понять что нужно написать в строке с printer:

Уже все что угодно попробовал...

Вот что по поводу FOP в testserver.out

Код:
16:33:35,906 DEBUG testserver:? - [!]driver: 'ru.bitel.frk.driver.fop.Driver'
16:33:35,953 DEBUG testserver:? - fop driver ready
available print services:
'\\10.0.6.12\Canon LBP2900'
default print service:
'\\10.0.6.12\Canon LBP2900'


Если ничего не прописывать, то служба даже не запускается. Пишет
Изображение

В случае же если прописать неправильно, то служба запускается, тут же выключается и лог пополняется записью вида
Код:
INFO   26.05.2010 16:37:48,515 : server: run 'CmdTcpServer v 5.0 build 136 from 13.05.2010 11:49:42' with command 'start'
INFO   26.05.2010 16:37:49,015 : server: driver: ru.bitel.frk.driver.fop.Driver
ERROR  26.05.2010 16:37:49,031 : server: server error
java.lang.Exception: error lookup print service '\\10.0.6.12\Canon LBP2900'; available:
   at ru.bitel.frk.driver.fop.Driver.setConfig(Unknown Source)
   at ru.bitel.frk.server.CmdTcpServer.main(Unknown Source)

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 май 2010, 02:18 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Наверно, поможет, если насовсем закаментить printer:
Код:
#printer: бла бла

Тогда возьмётся дефолтный системный принтер.
Либо прописать что-то типа того:
Код:
printer: \\10.0.6.12\Canon LBP2900

Но почему может не сработать и не найти - не понимаю пока.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 июн 2010, 12:57 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
АПну тему.

Разобрался с печатью чека. Переименовал принтер и печать прошла.
Временно поставил pdfFactory и тестирую на нем.

Проблема вот в чем.
Изображение
Не печатает сумму, организацию, ФИО абонента и пр.
Используется обычный шаблон xsl который поставлялся с cash сервером.
Код:
# -----------------
# Для FOP-драйвера:
# -----------------

ru.bitel.frk.driver.fop.Driver:{
   # Название принтера в системе (если не указан, то возьмётся дефолтный,
   # прописнный в системе, если и такого нет, будет ошибка)
   printer: pdfFactory

   # Шаблон xsl. Прямой путь к файлу (можно, конечно, положить его в xsl сервера
   # биллинга, тогда сервер печати, конечно, не стартует без запущенного него)
   #xsl: http://127.0.0.1:8080/bgbilling/xsl/cashcheck_pko.xsl
   #xsl: file:///home/dimon/workspace/bgbilling/modules/cashcheck/server/server_files/xsl/cashcheck_pko.xsl
   xsl: C:\BGCashcheckServer\xsl\cashcheck_pko.xsl
   #xsl: file:///usr/local/BGCashcheckServer/xsl/cashcheck_pko.xsl

   # Имя задания печати (произвольное), может быть не задано
   jobName: fop driver printing

   # Количество копий, может быть не задано
   jobCopies: 1
}


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

Что я пропустил?

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 июн 2010, 13:22 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Прошу прощения. Вопрос решил. Нужно добавить скрипт поведения к событию Плагин CashCheck - Добавление позиции в чек и все пройдет.
Ранее я пытался добавить этот скрипт к событию "Прием платежа" :)

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 июн 2010, 17:37 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Phricker писал(а):
В документации, скрипты поведения как я понял используются только в том случае если необходимо сменить вид кассового ордера. Т.е. сейчас у меня нет никаких скриптов для приема платежа.

Что я пропустил?
Нет, это не так.
Phricker писал(а):
Прошу прощения. Вопрос решил. Нужно добавить скрипт поведения к событию Плагин CashCheck - Добавление позиции в чек и все пройдет.
Ранее я пытался добавить этот скрипт к событию "Прием платежа" :)

Всё верно, скрипт поведения "формирование вида чека" должен быть обязательно, именно он формирует строки для ККМ или xml для трансформации её в ордер при помощи шаблона. По ссылке как раз указано:

Цитата:
Замечание
Как известно, скрипты поведения привязаны к договорам. Если скрипт не привязан договору, то на чеке будет печататься предупреждение. Обратите на это внимание, если вдруг вы меняете формат чека в скрипте, а он при печати остаётся старым или с предупреждением. Итак, для печатаемого чека должен сработать скрипт формирования его вида!

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2011, 13:18 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Phricker писал(а):
АПну тему.
Разобрался с печатью чека. Переименовал принтер и печать прошла.
Временно поставил pdfFactory и тестирую на нем.


Тоже появилась задача печатать на виртуальный принтер для теста, но ничего не выходит.

Настройки BGCashcheckServer:
Код:
# -----------------
# Для FOP-драйвера:
# -----------------

ru.bitel.frk.driver.fop.Driver:{
   # Название принтера в системе (если не указан, то возьмётся дефолтный,
   # прописнный в системе, если и такого нет, будет ошибка)
   printer: FinePrint

   # Шаблон xsl. Прямой путь к файлу (можно, конечно, положить его в xsl сервера
   # биллинга, тогда сервер печати, конечно, не стартует без запущенного него)
   #xsl: http://127.0.0.1:8080/bgbilling/xsl/cashcheck_pko.xsl
   #xsl: file:///home/dimon/workspace/bgbilling/modules/cashcheck/server/server_files/xsl/cashcheck_pko.xsl
   xsl: C:\BGCashcheckServer\xsl\cashcheck_pko.xsl
   #xsl: file:///usr/local/BGCashcheckServer/xsl/cashcheck_pko.xsl

   # Имя задания печати (произвольное), может быть не задано
   jobName: fop driver printing

   # Количество копий, может быть не задано
   jobCopies: 1
}


настройки плагина в биллинге:
Код:
fr.1.address=192.168.1.160
fr.1.port=9876
fr.1.title=Локальный


cashserver.log после запуска службы:
Код:
INFO   23.09.2011 13:54:22,938 : server: run 'CmdTcpServer v 5.1 build 256 from 01.04.2011 16:49:21' with command 'start'
INFO   23.09.2011 13:54:22,939 : server: logging level DEBUG
INFO   23.09.2011 13:54:23,993 : server: driver: ru.bitel.frk.driver.fop.Driver
INFO   23.09.2011 13:54:24,682 : server: driver-status: printService=FinePrint
INFO   23.09.2011 13:54:24,689 : server: started: ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=9876]


Когда подсоединяюсь к BGCashcheckServer вижу такую информацию:

Код:
Регистратор #1

Устройство (драйвер):
FinePrint

Назначены типы платежей:
#1 (Ещё назначен на регистраторы: #2 #3 #4 #5 #6 #8)
#4 (Ещё назначен на регистраторы: #2 #3 #4 #5 #6 #7 #8)
#21 (Ещё назначен на регистраторы: #2 #3 #4 #5 #6 #7 #8)
#5 (Ещё назначен на регистраторы: #2 #3 #4 #5 #6 #7 #8)
#20 (Ещё назначен на регистраторы: #2 #3 #4 #7 #8)
#12 (Ещё назначен на регистраторы: #2 #3 #4 #5 #6 #7 #8)

Статус (драйвер):
Аттрибуты:
queued-job-count: 0
color-supported: supported
printer-is-accepting-jobs: accepting-jobs
printer-name: FinePrint


Статус сервера:
CmdTcpServer v 5.1 build 256 from 01.04.2011 16:49:21
on: 0.0.0.0/0.0.0.0:9876
device driver: ru.bitel.frk.driver.fop.Driver@67064
device status: printService=FinePrint
thread counter: 4
started: 23.09.2011 13:54:22,   uptime: 00:05:00
memory total: 16 252 928,   max: 259 522 560,   free: 13 608 464


и такую в cashserver.log

Код:
DEBUG  23.09.2011 13:56:34,255 : thread#1: try 'status' command...
DEBUG  23.09.2011 13:56:34,533 : thread#1: command 'status' processing sucessfull
DEBUG  23.09.2011 13:56:34,533 : thread#1: try 'printtext' command...
WARN   23.09.2011 13:56:34,534 : thread#1: send error driver: ru.bitel.frk.server.NotImplementedException: Команда не поддерживается драйвером
DEBUG  23.09.2011 13:56:34,535 : thread#1: command 'printtext' processing sucessfull
DEBUG  23.09.2011 13:56:34,546 : thread#1: end all commands (good work)
DEBUG  23.09.2011 13:56:34,546 : thread#1: close socket
DEBUG  23.09.2011 13:56:34,562 : server: connection accepted #2: Socket[addr=/192.168.1.160,port=54313,localport=9876]
DEBUG  23.09.2011 13:56:34,594 : thread#2: try 'name' command...
DEBUG  23.09.2011 13:56:34,595 : thread#2: command 'name' processing sucessfull
DEBUG  23.09.2011 13:56:34,595 : thread#2: try 'status' command...
DEBUG  23.09.2011 13:56:34,634 : thread#2: command 'status' processing sucessfull
DEBUG  23.09.2011 13:56:34,634 : thread#2: try statusserver command...
DEBUG  23.09.2011 13:56:34,637 : thread#2: end all commands (good work)
DEBUG  23.09.2011 13:56:34,637 : thread#2: close socket


При попытке напечатать чек вся сумма платежа переходит в "Сдачу" и чек не печатается, ошибок в скрипте формирования нет. Пробовал на различных виртуальных принтерах, OneNote2007, pdfFactory, FinePrint, результат тоже, хотя карточки, отчеты печатаются без проблем. как понимаю проблема в этом — "WARN 23.09.2011 13:56:34,534 : thread#1: send error driver: ru.bitel.frk.server.NotImplementedException: Команда не поддерживается драйвером"?
На физические принтеры кассиры печатают ордера без проблем, с идентичными настройками.

В чем может быть проблема? :(

Цитата:
Клиент: вер. 5.1 сборка 584 от 24.08.2011 13:38:37
Сервер: вер. 5.1 сборка 698 от 03.08.2011 19:27:09
ru.bitel.bgbilling.plugins.cashcheck вер. 5.1 сборка 84 от 30.03.2011 11:06:42


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2011, 15:45 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
printtext не работает с fop-драйвером. по всей видимости это пытается напечататься "привет". это не страшно.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2011, 15:47 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Скрипт покажите, который вы пытаетесь использовать при печати FOP-документа.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2011, 15:52 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Цитата:
На физические принтеры кассиры печатают ордера без проблем, с идентичными настройками.
подождите, я не понял. так вы уже карточки печатате на обычных принтерах через FOP-драйвер? т.е. на обычные принтеры нормально печатает (принтеры бумажные, не ККМ, через драйвер fop), а на виртуальный pdf - не печатает? И скрипты и всё остальное при этом одинаковое? Такого, вроде, быть не может - ни кашчек, ни драйвер знать ни знают что там у вас за принтер, они только формируют документ и отдают через стандартные java.print на принтер. Поясните ещё подробнее что именно работает, а что - нет. И какая java у вас.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2011, 16:28 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
dimOn писал(а):
Цитата:
На физические принтеры кассиры печатают ордера без проблем, с идентичными настройками.
подождите, я не понял. так вы уже карточки печатате на обычных принтерах через FOP-драйвер? т.е. на обычные принтеры нормально печатает (принтеры бумажные, не ККМ, через драйвер fop), а на виртуальный pdf - не печатает? И скрипты и всё остальное при этом одинаковое? Такого, вроде, быть не может - ни кашчек, ни драйвер знать ни знают что там у вас за принтер, они только формируют документ и отдают через стандартные java.print на принтер. Поясните ещё подробнее что именно работает, а что - нет. И какая java у вас.


Да на обычные принтеры у кассиров все печатается. Я скопировал кешчек который печатает на физические принтеры, поставил на свой пк настроил как писал выше.

Код:
import ru.bitel.bgbilling.plugins.cashcheck.server.bean.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.admin.bean.*;
import bitel.billing.common.*;
import bitel.billing.server.bill.bean.*;
 
cid = event.getContractId();
contract = new ContractManager(con).getContractById(cid);
contract_groups = contract.getGroups();
print ("Группа договора:"+contract_groups);

check = event.getCheck();
//UserManager um = new UserManager( con );   
//User user = um.getUserByID( payment.getUserID() );

int printerId = event.getPrinter().getId();
if (printerId > 4 ) {

if ( event instanceof AddPaymentCheckEvent)
{
   payment = event.getPayment();
   if (contract_groups == 128 || contract_groups == 256 || contract_groups == 32)
    {   
   check.addString( "Услуги кабельного телевидения" );
   }
   else if (contract_groups == 512 || contract_groups == 16 || contract_groups == 2 || contract_groups == 1024 || contract_groups == 64 || contract_groups == 4)
   {
   check.addString( "Телематические услуги связи" );
   }
   else
   {
   check.addString( "Договор не входит в группу" );
   print("Договор не входит в группу - Шапка не напечатана");
   return;
   }

   check.addString( " " );
   check.addString( "Договор №: " + payment.getContractTitle() );
   check.addString( "Абонент: " + payment.getContractComment() );
//Добавляем юзера
   UserManager um = new UserManager( con );   
   User user = um.getUserByID( payment.getUserID() );
   check.addString( "Кассир:" +user.getName() );

// добавляем параметр договора
   int PARAM_ID = 13;
   ContractParameterManager bgParamMan = new ContractParameterManager( con );
   paramVal = bgParamMan.getAddressParam( event.getContractId(), PARAM_ID );
   adress = paramVal.getAddress().replace( ',','.' ) ;
   adr1 = adress.replace ("Город."," ");
   adr2  = adr1.replace ("Поселок."," ");
   adr3  = adr2.replace ("Город2."," ");
   adr4  = adr3.replace ("Восточный."," ");
   adr5  = adr4.replace ("Западный."," ");
   check.addString( adr5.trim() );
    check.addString( payment.getComment());
   check.addString( " " );
   check.addPayment( payment.getSumma(), payment.getContractTitle(), 0 );

}

 
if(event instanceof EndCreateCheckEvent)
{
   if (contract_groups == 256)
    {
   //check.addString(
   //   "Ваш текущий баланс: " +
   //   (new BalanceUtils( con )).getBalance( new Date(),  event.getContractID() ).toPlainString()
   //);
    check.addString( "текст" );
   check.addString( " " );
   check.addString( "текст" );
   check.addString( "текст" );
   check.addString( " " );
//UserManager um = new UserManager( con );   
//User user = um.getUserByID( payment.getUserID() );
   }
   else if (contract_groups == 4)
   {
    check.addString( "текст" );
   check.addString( " " );
   check.addString( "текст" );
   check.addString( "текст" );
   check.addString( " " );
   }

   else if (contract_groups == 512 || contract_groups == 16 || contract_groups == 2 || contract_groups == 1024 || contract_groups == 64)
   {
    check.addString( "текст" );
   check.addString( " " );
   check.addString( "текст" );
   check.addString( "текст" );
   check.addString( " " );
   }

   else if (contract_groups == 128 || contract_groups == 32)
   {
   check.addString( " " );
   check.addString( "текст " );
   check.addString( "текст" );
   check.addString( "------------------------------------------------" );
   check.addString( "текст" );
   check.addString( "текст" + cid );
   check.addString( "------------------------------------------------" );
    check.addString( "текст" );
   check.addString( " " );
   }

   else
   {
   check.addString( "Договор не входит в группу(footer)" );
   print("Договор не входит в группу - подвал не напечатан");
   return;
   }
}
}
else {
payment = event.getPayment();

//Сумма платежа: "120,00р."
check.addString( String.valueOf(payment.getSumma()) + "р." );

//Номер договора
check.addString( payment.getContractTitle() );

//Фамилия клиента: "ИВАНОВ И.И."
check.addString( payment.getContractComment() );

//Дата платежа: 20-04-2009
check.addString( TimeUtils.format( payment.getDate(), "dd-MM-yyyy" ) );

//Организация: ООО "ПРОВАЙДЕР"
check.addString( "ООО \"Завод РТА\"" );

//ФИО кассира (пользователя биллинга)
UserManager um = new UserManager( con );   
User user = um.getUserByID( payment.getUserID() );
check.addString( user.getName() );

//Тип платежа: "СПД  №"
check.addString( payment.getComment());

//Сумма прописью: "Сто двадцать рублей 00 коп"
check.addString( SummaToString.summaToString( String.valueOf(payment.getSumma()), true ) );

}




Цитата:
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2011, 16:35 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Давайте:
1) лог сервера печати
2) лог сервера биллинга
при попытке напечатать чек

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 сен 2011, 16:37 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Файл C:\BGCashcheckServer\xsl\cashcheck_pko.xsl присутствует и такой же, как на тех "настоящих" принтерах? ибо скрипт у вас какой-то шибко хитрый, я такой не писал, вы сами писали, стало быть и шаблон меняли сами, так что стандартный не будет работать, но про это, наверно, в лог сервера печати понапишет.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 сен 2011, 09:25 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
dimOn писал(а):
Файл C:\BGCashcheckServer\xsl\cashcheck_pko.xsl присутствует и такой же, как на тех "настоящих" принтерах? ибо скрипт у вас какой-то шибко хитрый, я такой не писал, вы сами писали, стало быть и шаблон меняли сами, так что стандартный не будет работать, но про это, наверно, в лог сервера печати понапишет.


cashcheck_pko.xsl такой же как и на "настоящих", в скрипте что я скинул если id принтера больше 4 то выполняется if для фискальников, если же меньше 4х то для обычных принтеров вот этот код:

Код:
else {
payment = event.getPayment();

//Сумма платежа: "120,00р."
check.addString( String.valueOf(payment.getSumma()) + "р." );

//Номер договора
check.addString( payment.getContractTitle() );

//Фамилия клиента: "ИВАНОВ И.И."
check.addString( payment.getContractComment() );

//Дата платежа: 20-04-2009
check.addString( TimeUtils.format( payment.getDate(), "dd-MM-yyyy" ) );

//Организация: ООО "ПРОВАЙДЕР"
check.addString( "ООО \"Завод РТА\"" );

//ФИО кассира (пользователя биллинга)
UserManager um = new UserManager( con );   
User user = um.getUserByID( payment.getUserID() );
check.addString( user.getName() );

//Тип платежа: "СПД  №"
check.addString( payment.getComment());

//Сумма прописью: "Сто двадцать рублей 00 коп"
check.addString( SummaToString.summaToString( String.valueOf(payment.getSumma()), true ) );

}



Логи cashserver.log после печати:

Код:
DEBUG  26.09.2011 09:55:05,293 : server: connection accepted #1: Socket[addr=/192.168.1.160,port=60840,localport=9876]
DEBUG  26.09.2011 09:55:05,296 : thread#1: try 'status' command...
DEBUG  26.09.2011 09:55:05,325 : thread#1: command 'status' processing sucessfull
DEBUG  26.09.2011 09:55:05,326 : thread#1: try 'printtext' command...
WARN   26.09.2011 09:55:05,326 : thread#1: send error driver: ru.bitel.frk.server.NotImplementedException: Команда не поддерживается драйвером
DEBUG  26.09.2011 09:55:05,328 : thread#1: command 'printtext' processing sucessfull
DEBUG  26.09.2011 09:55:05,334 : thread#1: end all commands (good work)
DEBUG  26.09.2011 09:55:05,335 : thread#1: close socket
DEBUG  26.09.2011 09:55:05,691 : server: connection accepted #2: Socket[addr=/192.168.1.160,port=60843,localport=9876]
DEBUG  26.09.2011 09:55:05,806 : thread#2: try 'check' command...
DEBUG  26.09.2011 09:55:07,547 : thread#2: command 'check' processing sucessfull
DEBUG  26.09.2011 09:55:07,548 : thread#2: end all commands (good work)
DEBUG  26.09.2011 09:55:07,548 : thread#2: close socket



Логи выполнения скрипта server.script.log
Код:
09-26/09:55:05  INFO [http-8080-1] script - Process event cid:15997; event:Event ru.bitel.bgbilling.plugins.cashcheck.server.bean.AddPaymentCheckEvent cid: 15997; module: 0; type: 100; userId: 0
09-26/09:55:05  INFO [http-8080-1] script - Process event cid:15997; event:Event ru.bitel.bgbilling.plugins.cashcheck.server.bean.AddPaymentCheckEvent cid: 15997; module: 0; type: 100; userId: 0
09-26/09:55:05  INFO [pool-1-thread-1] ScriptInstance - Eval script Function [id:17; title:Печать приходника]
09-26/09:55:05  INFO [http-8080-1] script - Process time => 268
09-26/09:55:05  INFO [http-8080-1] script - Группа договора:4112

09-26/09:55:05  INFO [http-8080-1] script - Process event cid:15997; event:Event ru.bitel.bgbilling.plugins.cashcheck.server.bean.EndCreateCheckEvent cid: 15997; module: 0; type: 101; userId: 0
09-26/09:55:05  INFO [http-8080-1] script - Process event cid:15997; event:Event ru.bitel.bgbilling.plugins.cashcheck.server.bean.EndCreateCheckEvent cid: 15997; module: 0; type: 101; userId: 0
09-26/09:55:05  INFO [http-8080-1] script - Process time => 90
09-26/09:55:05  INFO [http-8080-1] script - Группа договора:4112

09-26/09:55:05  INFO [pool-1-thread-1] ScriptInstance - Eval script Function [id:17; title:Печать приходника]


В server.log записей про печать нет (режим DEBUG).


Щас попробую еще раз стандартным шаблоном и скриптом сделать, но думаю что толку не будет ибо пробовал уже(...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 сен 2011, 11:16 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Поставил из примера скрипт, скачал поставил новый кешчек со стандартным шаблоном cashcheck_pko.xsl. Результат и логи те же самые.

Еще cashserver.out пишет
Код:
[WARNING] Sum of fixed column widths 521000 greater than maximum specified IPD 0


но я думаю это ничего страшного? ругается на ширину и в вашем примере тоже, но на кассе с этим же варнингом все печатается на ура.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 сен 2011, 16:20 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Я вас не понимаю совершенно. Что работает, а что нет, какие ещё кассы? Проблема в том, что на обычные бумажные принтеры через драйвер fop печатается, а при тех же настройках на "виртуальные" - нет? Тогда проблема никак не может быть в цепочке плагин+сервер_печати->биллинг->java, она где-то дальше: java->дрова_вашего_принтера->система, потому что никто, начиная с java, понятия не имеет чего там у вас за принтер настроен и куда и как печатается. Вся разница (при переключении вами с настоящего принтера на pdf-принтер) будет заключаться в единственной строке в конфиге серверп печати:
Код:
   # Название принтера в системе (если не указан, то возьмётся дефолтный,
   # прописнный в системе, если и такого нет, будет ошибка)
   printer: FinePrint
и это всё, поставите сюда другое имя - печатать будет на другой принтер. Возьмите на рабочем компе, где печатаются приходники уже замените эту строку в сервере печати (поставив pdf-принтер), и проверьте - будет печататься или нет. Если нет - значит, вы как-то неправильно его настраиваете, принтер этот.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.077s | 54 Queries | GZIP : On ]