
BG Development · За реклама · За контакти |
![]() ![]() ![]() ![]() ![]() |
Здравей! ( Включване | Регистриране ) |
Страници: (13) [1] 2 3 ... последна » ( Първото ново мнение ) | ![]() ![]() ![]() |
Penjurov |
Публикувано на: 12-09-2010, 12:56
|
||||||||||||
![]() Име: Група: Потребител Ранг: Новопостъпил Мнения: 39 Регистриран на: 18.04.06 ![]() |
Здравейте, Имам фискален принтер Datecs FP60 и се да направя автоматично изкарване на фискалните бонове. За връзка през Com port-a към принтера ползвам компонент Cportlib, но това няма пряка връзка към въпроса ми. Открих една тема в друг български форум относно връзка с матричен принтер и ползвах функцията на колегата за изчисляване на BCC, като тя си работи идеално. Успешно отварям фискален бон чрез подаване на :
Успешно и затварям фискалния бон чрез 1) Изчисляване на сбор(тотал)
2) Затваряне на бона
Проблема идва при регистриране на продажба между тях.... Ако реша да печатам свободен фискален текст :
, няма никакъв проблем, но при Регистриране на продажба(стока). И по-точно областта за данни на командата. Във файла за описание на командите е дадено, че областта за данни на команда Регистриране на продажба трябва да съдържа следните елементи : [<L1>][<Lf><L2>]<Tab><TaxCd><[Sign]Price>[*<Qwan>][,Perc|;Abs] или [<L1>][<Lf><L2>]<Tab><Dept><Tab><[Sign]Price>[*<Qwan>][,Perc|;Abs] , като L1 Текст до 30 байта съдържащ ред, описващ продажбата Lf Един байт със съдържание 0Ah. L2 Текст до 30 байта съдържащ втори ред, описващ продажбата Tab Един байт със съдържание 09h. TaxCd Един байт съдържащ буквата показваща видът на данъка (‘А’, ‘Б’, ‘В’, ...). Има ограничение зависещо от параметъра Enabled_Taxes, който се установява при задаването на данъчните ставки в команда 83. Dept Номер на департамент. Цяло число от 1 до 60 включително. Продажбата се причислява към данъчната група, с която е асоцииран департаментът при програмирането му. Sign Един байт със стойност ‘-‘. Price Това е единичната цена и е до 8 значещи цифри. Qwan Незадължителен параметър, задаващ количеството на стоката. По подразбиране е 1.000. Дължина до 8 значещи цифри (не повече от 3 след десетичната точка). Произведението Price*Qwan се закръгля от принтера до зададения брой десетични знаци и също не трябва да надхвърля 8 значещи цифри. Perc Това е незадължителен параметър, показващ стойността на надбавката или отстъпката (в зависимост от знака) в проценти върху текущата продажба. Допустими стойности са от -99.00 % до 99.00 %. Приемат се до 2 десетични знака. Abs Това е незадължителен параметър, показващ стойността на надбавката или отстъпката (в зависимост от знака) като сума. Не е допустима отстъпка със стойност по-голяма от стойността на продажбата. Това което аз съм пробвал е вариант 2(без TaxCd) :
, като Lf и TAB са ми предварително зададени константи :
Уж съм спазил Областта за данни, ама не.......и тотално забих ![]() Молбата ми е ако някой, някога се е занимавал с подобно нещо и има идея да помогне с тази част ![]() Благодаря предварително! Това мнение е било редактирано от Penjurov на 12-09-2010, 12:58 -------------------- Ne varietatem timeamus
|
||||||||||||
wqw |
Публикувано на: 12-09-2010, 13:35
|
![]() ![]() Име: Владимир Висулчев Група: VIP Ранг: Почетен член Мнения: 6148 Регистриран на: 10.06.04 ![]() |
Според мен си прекалил със запетайки в командата. Къде в спецификацията видя тези запетайки? В момента подаваш Кока,\n,Кола,\t,1,\t,-,0.01 вместо Кока\nКола\t1\t-0.01 (Btw, имаш ли department 1 настроен?)
Също, като подаваш отрицателна цена принтера изписва "КОРЕКЦИЯ" и отдолу реда. Работата е, че до този момент трябва да имаш натрупана достатъчна стойност, така че след корекцията стойността на бона да не е отрицателна. Просто във фискалната памет не могат да се записват бонове с отрицателна стойност по закон. cheers, </wqw> -------------------- |
Penjurov |
Публикувано на: 12-09-2010, 14:38
|
||
![]() Име: Група: Потребител Ранг: Новопостъпил Мнения: 39 Регистриран на: 18.04.06 ![]() |
Златен да си ![]() Проблемът е, че както явно се вижда не съм много запознат от фискални принтери(изобщо). За това и гледам като малко индианче. С дадената програма от диска InitFP60BG проверих, че департамента не е програмиран. За това използвах другия вариант с буквата показваща вида на данъка :Р и всичко стана тип топ ![]() Много благодаря за бързия и ползотворен отговор! Поздрави!!! P.S. Това е кода, ако на някой му трябва ![]()
-------------------- Ne varietatem timeamus
|
||
Penjurov |
Публикувано на: 12-09-2010, 14:46
|
||
![]() Име: Група: Потребител Ранг: Новопостъпил Мнения: 39 Регистриран на: 18.04.06 ![]() |
И веднага нов проблем :Р Пиша преди да се видял, че е приключило и да си си казал отървах се от този ![]() Проблема сега е при изкарване на дневния отчет. Според Специализацията трябва да бъде така : 45h (69) ДНЕВЕН ФИНАНСОВ ОТЧЕТ Област за данни: [<Option>[N][A]] Отговор: Closure,FM_Total,TotA,TotB,TotC,TotD,TotE,TotF,TotG,TotH Option Незадължителен параметър, управляващ вида на генерирания отчет: ‘0’ Отпечатва се Z-отчет. Разпечатката завършва с надпис “ФИСКАЛЕН БОН”. ‘2’ Прави се дневен финансов отчет без нулиране (т. е. не се извършва запис във фискалната памет и нулиране на регистрите). Разпечатката завършва с лого “СЛУЖЕБЕН БОН”. N Наличието на този символ в края на данните забранява изчистването на натрупаните данни по оператори при отчет с нулиране. A Наличието на този символ в края на данните забранява изчистването на натрупаните данни от продажби на артикули при отчет с нулиране. Closure Номер на фискалния запис - 4 байта. FM_Total Сумата от всички продажби без ДДС - 12 байта със знак TotX Сумите по всяка от данъчните групи ‘А’, ‘Б’, ‘В’, … - 12 байта със знак. Командата с опция ‘0’ (Z-отчет) трябва да се изпълни непосредствено след печат и изтриване на контролната лента. Ако в контролната лента има данни, командата е недопустима. Дневен отчет без нулиране може да се предизвика и чрез задържането на бутон <FEED> при включване на принтера до третия звуков сигнал. Аз пробвах следните неща :
Нищо от тях дори и не предизвика интерес в принтера ![]() Идея? Благодаря предварително! -------------------- Ne varietatem timeamus
|
||
Penjurov |
Публикувано на: 12-09-2010, 15:03
|
![]() Име: Група: Потребител Ранг: Новопостъпил Мнения: 39 Регистриран на: 18.04.06 ![]() |
Интересното е че пробвах и :
68h (105) ОТЧЕТ ОПЕРАТОРИ Област за данни: Няма данни Отговор: Няма данни Разпечатва се информация за продажбите по оператори. За всеки оператор се отпечатва името, номера, броя фискални бонове, отстъпки, надбавки, отстъпки, корекции и натрупаните суми. , което дори няма област на данни и се извиква просто номера му...но отново нищо, явно изпускам нещо генерално и важно...продължавам да чета, дано пък успея да го намеря, ако някой тук не успее да подскаже ![]() Поздрави -------------------- Ne varietatem timeamus
|
wqw |
Публикувано на: 12-09-2010, 15:38
|
![]() ![]() Име: Владимир Висулчев Група: VIP Ранг: Почетен член Мнения: 6148 Регистриран на: 10.06.04 ![]() |
Най-вероятно имаш отворен фискален/служебен бон. Фискалните бонове се отпечатват все едно са в транзакция, т.е. begin fiscal bon, print, print, ..., commit fiscal bon или rollback fiscal bon.
Ако имаш "outstanding" (неприключен) бон повечето команди връщат грешка. В тази връзка, трябва да си подобриш error handling-а, щеше веднага да се ориентираш какво ти отговаря принтера (той не те гледа тъпо:-)) cheers, </wqw> -------------------- |
Penjurov |
Публикувано на: 12-09-2010, 17:56
|
![]() Име: Група: Потребител Ранг: Новопостъпил Мнения: 39 Регистриран на: 18.04.06 ![]() |
![]() ![]() Но в случая няма отворен бон...нито фискален, нито служебен. Винаги го пробвам след приключване на такъв, а и след това нямам проблем на отваряне на нов бон(ако не съм приключил предишния няма да ми позволи). Няма проблем при ваденето на отчет от тяхната си програма(тази на диска), нито чрез задържане на копче Feed. Пробвах да извадя Отчет по артикули(макар че нямам въведени такива). Отчета излиза, като разбира се ми казва, че нямам артикули, но поне реагира ![]() Благодаря за помощта днес ![]() ![]() Поздрави и приятна вечер! -------------------- Ne varietatem timeamus
|
JanBirdX |
Публикувано на: 13-09-2010, 12:32
|
Име: Група: Потребител Ранг: Почетен член Мнения: 1656 Регистриран на: 21.02.05 ![]() |
Пробвай първо да пуснеш команда 0x78 (работа с електроната лента) с под команда "PL" (печат...) после пак 0x78 с под команда "Е"(изчистване) и тогава Z отчета.
|
wqw |
Публикувано на: 13-09-2010, 13:24
|
||
![]() ![]() Име: Владимир Висулчев Група: VIP Ранг: Почетен член Мнения: 6148 Регистриран на: 10.06.04 ![]() |
Това някаква нова версия на протокола ли е? Дай връзка да видим, че ми стана интересно. Аз ползвам FP 3530-05 Command.pdf за reference. cheers, </wqw> -------------------- |
||
JanBirdX |
Публикувано на: 13-09-2010, 13:35
|
Име: Група: Потребител Ранг: Почетен член Мнения: 1656 Регистриран на: 21.02.05 ![]() |
Малко за раличните принтери се различава портокола.
Това мнение е било редактирано от JanBirdX на 13-09-2010, 13:36 Прикачен файл ( Брой сваляния: 2298 ) ![]() |
![]() |
![]() ![]() ![]() |