forum.bitel.ru
http://forum.bitel.ru/

CashCheck 5.2
http://forum.bitel.ru/viewtopic.php?f=28&t=6269
Страница 1 из 1

Автор:  Phricker [ 28 дек 2011, 18:22 ]
Заголовок сообщения:  CashCheck 5.2

Поставил обновления.
Скачал новый сервер CashCheck.
Настроил все дела.
Если запускать сервис через Управление/Службы (Windows), то при попытке печатать чек выводится вот такое вот
Вложение:
cash.png

Если log4j перевести в режим DEBUG то в логе cashserver.out следующее
Код:
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
   at org.apache.fop.apps.FopFactory.<clinit>(FopFactory.java:64)
   at ru.bitel.frk.driver.fop.Driver.setConfig(Unknown Source)
   at ru.bitel.frk.server.CmdTcpServer.main(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
   at java.net.URLClassLoader$1.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   ... 3 more

Если же сервер стартовать через CMD/server.bat start - то печать проходит успешно.
Пока никаких динамических кодов и прочее.
Как работало в 5.1 так и работает

Автор:  Phricker [ 28 дек 2011, 18:36 ]
Заголовок сообщения:  Re: CashCheck 5.2

А да. Печатаю приходный кассовый ордер.
FOP принтер

Автор:  dimOn [ 28 дек 2011, 18:52 ]
Заголовок сообщения:  Re: CashCheck 5.2

хм... не хватает коммонс-логгинг, что странно, он видимо используется, а в server.ini не прописано в класспатхе?

Автор:  Phricker [ 28 дек 2011, 18:55 ]
Заголовок сообщения:  Re: CashCheck 5.2

Код:
[service]

appname = BGCashcheckServer
servicename = BGCashcheckServer
displayname = BGCashcheckServer
servicedescription = BGCashcheckServer service

jrepath=%JAVA_HOME%

stopclass=ru/bitel/frk/server/CmdTcpServer
stopmethod=exit
stopsignature=()V

;stdout=%BGCASHCHECK_SERVER_DIR%\log\jsl-stdout.log
;stdoutappend=no
;stderr=%BGCASHCHECK_SERVER_DIR%\log\jsl-stderr.log
;stderrappend=no

systemout=%BGCASHCHECK_SERVER_DIR%\log\cashserver.out
systemoutappend=yes
systemerr=%BGCASHCHECK_SERVER_DIR%\log\cashserver.out
systemerrappend=yes

[java]

jrepath=%JAVA_HOME%
wrkdir=%BGCASHCHECK_SERVER_DIR%

params = 4
param00 = -cp
param01 = %BGCASHCHECK_SERVER_DIR%;%BGCASHCHECK_SERVER_DIR%\lib\server.jar;%BGCASHCHECK_SERVER_DIR%\lib\avalon-framework.jar;%BGCASHCHECK_SERVER_DIR%\lib\batik.jar;%BGCASHCHECK_SERVER_DIR%\lib\fop.jar;%BGCASHCHECK_SERVER_DIR%\lib\log4j.jar
param02 = ru.bitel.frk.server.CmdTcpServer
param03 = start

Скачал буквально полчаса назад http://bgbilling.ru/v5.2/download.shtml#

Автор:  dimOn [ 28 дек 2011, 22:56 ]
Заголовок сообщения:  Re: CashCheck 5.2

уже всё понятно, да? надо коммонс-логгинг добавить туда. я бы удалил его да никак

Автор:  Phricker [ 29 дек 2011, 11:18 ]
Заголовок сообщения:  Re: CashCheck 5.2

Не понятно честно говоря, но волшебные слова сервер.ини и коммонс-логгин натолкнули на мысль добавить %BGCASHCHECK_SERVER_DIR%\lib\commons-logging-1.1.1.jar в сервер.ини :D
Все заработало :D

И еще единственное.
Не помню как оно было в 5.1 но в 5.2 выдает окошко вот так
Вложение:
cash2.png

Платеж был на 1 рубль
И в окошке "Принято от клиента" тоже стояло 1.0

Автор:  dimOn [ 29 дек 2011, 12:22 ]
Заголовок сообщения:  Re: CashCheck 5.2

Его использует просто новый fop, похоже, без ведома. Потому для этого драйвера он понадобился. Вроде я добавлял все новые либы в server.ini, но видимо эту забыл или подумал что не надо.

А про ноль рублей надо поглядеть. Для фоп драйвера ведь там нет понятия суммы, потому что никаких платежей и не добавляется, руками вроде вычислялось или вообще окошко не выводилось...

Автор:  Phricker [ 29 дек 2011, 12:25 ]
Заголовок сообщения:  Re: CashCheck 5.2

Да ерунда то по идее. Туда не смотрят я так понимаю иначе бы давно сказали мне :)
хотя у нас практикуется промолчать в тихую и потом шефу пожаловаться что все х***я :x но я на такое с пробором ложил :D

Автор:  Phricker [ 29 дек 2011, 14:18 ]
Заголовок сообщения:  Re: CashCheck 5.2

C сетевым принтером все такая же проблема как и раньше
Есть компьютер на котором установлен сетевой принтер HP 1010
Если прописывать его
Код:
printer: hp LaserJet 1010 Series Driver

вываливается служба через пару секунд после запуска
Если строчку оставить
Код:
printer:

служба вываливается с сообщением что была автоматически остановлена т.к. делать нечего
и если полностью убрать эту строку то служба тупо выключается через пару секунд после запуска

все три ошибки в логе

Код:
INFO   29.12.2011 12:14:33,750 : server: run 'CmdTcpServer v 5.2 build 309 from 06.12.2011 11:59:54' with command 'start'
INFO   29.12.2011 12:14:33,765 : server: logging level DEBUG
INFO   29.12.2011 12:14:33,953 : server: driver: ru.bitel.frk.driver.fop.Driver
ERROR  29.12.2011 12:14:34,234 : server: server error
java.lang.Exception: error lookup print service 'hp LaserJet 1010 Series Driver'; available:
   at ru.bitel.frk.driver.fop.Driver.setConfig(Unknown Source)
   at ru.bitel.frk.server.CmdTcpServer.main(Unknown Source)
INFO   29.12.2011 12:16:01,234 : server: run 'CmdTcpServer v 5.2 build 309 from 06.12.2011 11:59:54' with command 'start'
INFO   29.12.2011 12:16:01,250 : server: logging level DEBUG
ERROR  29.12.2011 12:16:01,328 : error parse config file
ru.bitel.frk.A.C$_B: error parse symbol '   '/#9, position: 3362, state: WAITVALUELN, keyvalue: 'printer'->''
   at ru.bitel.frk.A.C.A(Unknown Source)
   at ru.bitel.frk.A.C.A(Unknown Source)
   at ru.bitel.frk.A.C.<init>(Unknown Source)
   at ru.bitel.frk.server.CmdTcpServer.main(Unknown Source)
INFO   29.12.2011 12:16:23,171 : server: run 'CmdTcpServer v 5.2 build 309 from 06.12.2011 11:59:54' with command 'start'
INFO   29.12.2011 12:16:23,171 : server: logging level DEBUG
INFO   29.12.2011 12:16:23,296 : server: driver: ru.bitel.frk.driver.fop.Driver
ERROR  29.12.2011 12:16:23,375 : server: server error
java.lang.Exception: error lookup default print service
   at ru.bitel.frk.driver.fop.Driver.setConfig(Unknown Source)
   at ru.bitel.frk.server.CmdTcpServer.main(Unknown Source)


Ошибки идут в порядке описания :)

Автор:  dimOn [ 29 дек 2011, 15:30 ]
Заголовок сообщения:  Re: CashCheck 5.2

там ещё чего-то не хватало, подправил всё, выложил для 5.2

Автор:  dimOn [ 29 дек 2011, 15:37 ]
Заголовок сообщения:  Re: CashCheck 5.2

1) пишет, что "hp LaserJet 1010 Series Driver" не найден
2) пишет, что некорректный конфиг - какая-то табуляция, так оно и есть, не надо такой конфиг писать
3) пишет, что дефолтный принтер не настроен, а он точно настроен?

По всей видимости java не видит этот печатный сервис почему-то :lupa:

Что даёт

Цитата:
./testserver.sh --dotest --dotouch --driversru.bitel.frk.driver.fop.Driver > testserver.log 2>&1

Автор:  Phricker [ 29 дек 2011, 16:05 ]
Заголовок сообщения:  Re: CashCheck 5.2

там Windows XP стоит.
Результат команды
Код:
C:\BGCashcheckServer>testserver.bat -dotest -dotouch -driversru.bitel.frk.driver.fop.Driver > testserver.log 2>&1

дать?

Принтер то нормальный :) Все другое на него печатает. И кешчек установленный на том компьютере к которому цепляется этот - тоже печатает

Автор:  Phricker [ 29 дек 2011, 16:16 ]
Заголовок сообщения:  Re: CashCheck 5.2

Странно. После того как я вот эту фигню запустил - мне звонят говорят печатаются приходники. Пока отбой - позже чуть гляну в чем там дело.

Автор:  dimOn [ 29 дек 2011, 17:43 ]
Заголовок сообщения:  Re: CashCheck 5.2

это какой-то абсурд, ну да ладно)

результат да, надо было файл testserver.log, там в том числе список принтеров который драйвер видит и попытка их пооткрывать.
тока там по два '-' в параметрах, типа по гнушному сделано было почему-то

Автор:  dimOn [ 29 дек 2011, 17:44 ]
Заголовок сообщения:  Re: CashCheck 5.2

так может он просто не так называется, раз сетевой. берётся по имени которая java из системы видит.. эти имена списком можно в том же тестсервер поглядеть

Автор:  dimOn [ 10 янв 2012, 13:42 ]
Заголовок сообщения:  Re: CashCheck 5.2

Phricker писал(а):
И еще единственное.
Не помню как оно было в 5.1 но в 5.2 выдает окошко вот так
Вложение:
cash2.png

Платеж был на 1 рубль
И в окошке "Принято от клиента" тоже стояло 1.0

проверяю сейчас, короче, если скрипт формирования xml для принтера не менялся, то было то же самое) чтобы считалась сумма, то позиции суммы надо добавлять не через addString, а через addPayment. Если речь о стандартном скрипте приведённом в доке и xml, то наверно надо попробовать заменить
Код:
check.addString( String.valueOf(payment.getSumma()) + "р." );

на
Код:
check.addPayment( payment.getSumma(), String.valueOf(payment.getSumma()) + "р.", 0 );

при этом xsl вроде не надо будет менять, т.к. xml выдаётся такая же, тока с доп.атрибутами, а в драйвере будет информация о том, что надо суммировать по позициям. попробуйте проверьте и отпишитесь, пожалуйста :idea:

Автор:  rush [ 16 янв 2012, 13:16 ]
Заголовок сообщения:  Re: CashCheck 5.2

А при изменении динамического класса что нужно сделать чтобы новый начал работать? А то я уже и перекомпилировал, и сервер перезапустил - все равно печатается строка, которой в коде нет.

Автор:  skyb [ 16 янв 2012, 13:50 ]
Заголовок сообщения:  Re: CashCheck 5.2

rush писал(а):
А при изменении динамического класса что нужно сделать чтобы новый начал работать? А то я уже и перекомпилировал, и сервер перезапустил - все равно печатается строка, которой в коде нет.

скомпилировать?

Автор:  rush [ 16 янв 2012, 14:01 ]
Заголовок сообщения:  Re: CashCheck 5.2

Перекомпилировать и скомпилировать - не одно и то же?;)

Автор:  dimOn [ 16 янв 2012, 20:58 ]
Заголовок сообщения:  Re: CashCheck 5.2

rush писал(а):
А при изменении динамического класса что нужно сделать чтобы новый начал работать? А то я уже и перекомпилировал, и сервер перезапустил - все равно печатается строка, которой в коде нет.

а какая строка печатается то? откуда она берётся? из старого скрипта? тогда в конфиге плагина имя дин.класса прописано? если не прописано, то пытается использоваться старый скрипт, если и его нет для этого договора, то отправляется просто сумма платежа и комментарий "НЕТ СКРИПТА"

Автор:  dimOn [ 16 янв 2012, 20:59 ]
Заголовок сообщения:  Re: CashCheck 5.2

Достаточно указания параметра одного:
Код:
# динамический класс для формирования вида чека
checkbuilder=ru.bitel.bgbilling.cashcheck.SimpleCheck

viewtopic.php?f=28&t=6194

Автор:  skyb [ 17 янв 2012, 07:26 ]
Заголовок сообщения:  Re: CashCheck 5.2

rush писал(а):
Перекомпилировать и скомпилировать - не одно и то же?;)

Упс, незаметил ... )

Автор:  rush [ 17 янв 2012, 10:17 ]
Заголовок сообщения:  Re: CashCheck 5.2

Прошу прощения - мой косяк. Неправильно указал в конфиге имя класса.

Автор:  dimOn [ 17 янв 2012, 12:18 ]
Заголовок сообщения:  Re: CashCheck 5.2

Вы что-то путаете. Тогда должно просто всё падать ещё до печати, а не печатать что-то там другое :lupa:

Автор:  rush [ 19 янв 2012, 09:43 ]
Заголовок сообщения:  Re: CashCheck 5.2

Ну так я и указал другой класс) Ваш вместо своего.

Автор:  dimOn [ 19 янв 2012, 15:29 ]
Заголовок сообщения:  Re: CashCheck 5.2

А, ну понятно...

Автор:  skyb [ 30 янв 2012, 09:05 ]
Заголовок сообщения:  Re: CashCheck 5.2

dimOn писал(а):
Достаточно указания параметра одного:
Код:
# динамический класс для формирования вида чека
checkbuilder=ru.bitel.bgbilling.cashcheck.SimpleCheck

viewtopic.php?f=28&t=6194

я так понимаю что при обновлении правленный скрипт будет меняться на дефолтовый? и что стоит лучше указать какой то свой, чтоб не перетирался?

Автор:  dimOn [ 30 янв 2012, 12:09 ]
Заголовок сообщения:  Re: CashCheck 5.2

Да, файл, кажется, перетрётся, пока не подумал об этом. Тогда да, всё верно. Это же просто дефолтный пример класса, который должен быть обязательно, можете написать любой свой, положить с другим именем/путём и в параметре его указать, как обычный динамический класс.

Автор:  skyb [ 30 янв 2012, 15:17 ]
Заголовок сообщения:  Re: CashCheck 5.2

dimOn писал(а):
Да, файл, кажется, перетрётся, пока не подумал об этом.

этопять!!!

Автор:  dimOn [ 30 янв 2012, 16:48 ]
Заголовок сообщения:  Re: CashCheck 5.2

skyb писал(а):
dimOn писал(а):
Да, файл, кажется, перетрётся, пока не подумал об этом.

этопять!!!

Ну, так этот механизм недавно сделали, а что гагага. Если файл меняется самостоятельно, то, очевидно, надо его под другим именем обозвать.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/