BG Development


Страници: (14) « първа ... 5 6 [7] 8 9 ... последна »  ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Delphi и фискален принтер
wqw
Публикувано на: 26-01-2013, 12:11
Quote Post


Group Icon
Име: Владимир Висулчев
Група: VIP
Ранг: Почетен член

Мнения: 6379
Регистриран на: 10.06.04



Аз лично ползвам документацията на FP-60KL и сверявам с оригиналния FP-3530 (пак там я има) дали има много разлики та чак да са несъвместими.

По принцип с новите KL ядохме голяма тесла с void-овете -- не можеш да имаш ред с отрицателна стойност ако името на продукта буква по буква не съвпада с някой от предишните редове (не просто мeждинната сума да не е отрицателна както прeдишните firmaware-и). При Тремол няма такава "екстра", т.е. Датекс сами са си измислили това ограничение. Сътветно това не беше така преди КЛЕН-овете и можеше да приспадаш аванси лесно (просто ред с Аванс за -100.00 лв.) От Датекс ни посъветваха да вадим аванса с отстъпка на междинна сума. Там пък командата няма параметър данъчна група (както е при екв. команда на Тремол) и съответно може да се използва само ако всички редове в бона са от една и съща данъчна група.

Другата боза в тази връзка е, че старите ФП не можеха да имат 100% отстъпка на реда (бога ми който го е решил да е до +/-99% ушите му са почервеняли) и затова сумата я void-ирахме обратно на 100% с отделен ред. В новите пак не може отстъпка 100%, но можеш да правиш отстъпка за сума, което решава проблема без да се налага обратен void.

Аз лично не знам за никакви разлики между ФП и каси (без значение КЛЕН или DV), освен парола по подразбиране на операторите. При мен е така:
CODE
   If IsEcr Then
       IDeviceProtocol_GetDefaultPassword = OperatorCode
   Else
       IDeviceProtocol_GetDefaultPassword = DEF_PASSWORD
   End If

т.е. при касите на Оператор 1 е 1, на Оператор 2 е 2 и т.н., при ФП на всички е 0000. Най смешно е като търговци на касов апарат вземат, че променят парола на Оператор 1 на 0000 -- и направят мечешка услуга на клиентите си :-))

cheers,
</wqw>

Това мнение е било редактирано от wqw на 26-01-2013, 13:06


--------------------
PMEmail PosterUsers Website
Top
Dido
Публикувано на: 26-01-2013, 12:44
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 52
Регистриран на: 17.11.10



QUOTE (wqw @ 26-01-2013, 12:11)
при касите на Оператор 1 е 0, на Оператор 2 е 1 и т.н., при ФП на всички е 0000.

Гледам, че в документацията на касите пише
QUOTE
Парола на оператор До 8 цифри
Стойност по подразбиране: съвпада с номера на оператора.

Не съм го тествал на каса все още, но би трябвало на
оператор 1 паролата да е 1, а не 0.
А това за Void-a при KL е ценна информация, че за отстъпка ползвам
отрицателна сума, защото 550-05DV не поддържа отст. сума.

Това мнение е било редактирано от Dido на 26-01-2013, 12:46
PMEmail Poster
Top
wqw
Публикувано на: 26-01-2013, 13:06
Quote Post


Group Icon
Име: Владимир Висулчев
Група: VIP
Ранг: Почетен член

Мнения: 6379
Регистриран на: 10.06.04



@Dido: Прав си: на Оператор 1 паролата е 1 по подразбиране -- вярвай на кода, не на коментарите в него :-))

Да, отстъпки/аванси правим с команда 51 (междинна сума) вече.

cheers,
</wqw>


--------------------
PMEmail PosterUsers Website
Top
ivan84
Публикувано на: 26-01-2013, 13:13
Quote Post



Име:
Група: Форумен член
Ранг: Почетен член

Мнения: 8170
Регистриран на: 01.04.11



Паролата я правиме на 0000 именно заради неграмотни софтуерни решения (съвместимост с фискален принтер). В момента се налага да помниме на кой клиент какъв му е софтуерът (с каква парола на оператор работи, на каква скорост, ползва ли фпринт ...). Много често си губим по цял ден с "програмисти" докато нацелиме как трябва да е програмиран апаратът за "неговия" продукт. Кат вземеш че споменатите "експерти" взимат по 50 кинта на започнат час, стават едни драми ... Затова и казвам да се направи динамично задаването на паролата.
Дори фпринт на датекс не предлагаше указване на операторска парола дълго време след появата на КЛ-ите.

Мойте решения например не работят само с един оператор, а с всички налични (30 при касовите апарати и 16 при принтерите). Весп пак боновете трябва да отговарят на изискванията. В противен случай името на оператирът трябва да се принтира като свободен текст.
Иначр Дидо е прав. Паролите са от 1 до 30 при всички машини (без 500 - там са 4 цифрени).
Относно разликите - при командите необходими за работа на клиент, разлики няма. Разликите са при обслужването. При касовите апарати най-удачно е четене на таблична информация (по спомен команда 0хFF но не се сещам има ли я документирана). Друга разлика има при четене/печат на клен (което е хубаво да се поддържа от клиентския софтуер, но не и задължително)

Това мнение е било редактирано от ivan84 на 27-01-2013, 12:22
PMEmail Poster
Top
wqw
Публикувано на: 26-01-2013, 23:12
Quote Post


Group Icon
Име: Владимир Висулчев
Група: VIP
Ранг: Почетен член

Мнения: 6379
Регистриран на: 10.06.04



Реално командите на касите са двубайтови
CODE
ucsFpcEcrReadRow = &HFF84&
ucsFpcEcrWriteRow = &HFF86&

Това можеш да го интерпретираш като команда 0xFF и първия символ от параметърите е 0x84 и т.н.

Не си спомням дали ги имаше някъде документирани таблиците на касите или съм reverse-вал нещо, щото не ги ползвам освен да проверя дали е каса с read-row.

cheers,
</wqw>


--------------------
PMEmail PosterUsers Website
Top
ivan84
Публикувано на: 27-01-2013, 12:20
Quote Post



Име:
Група: Форумен член
Ранг: Почетен член

Мнения: 8170
Регистриран на: 01.04.11



Трябват ти таблица и ред
<0xff><0x89><1>;<1>;
чете 1-ва таблица, 1-ви ред. Идиотското е че полетата ги връща в един стринг със сепаратор ;

Но така или иначе това не трябва да се ползва в потребителско приложение. Но например от тук може да се програмира оператор и парола (по удобно е от принтерските команди). Или пък да се прочете паролата на 1-ви оператор (Устройството не трябва да е в сервизен режим, май. Трябва да проверя).

Това мнение е било редактирано от ivan84 на 27-01-2013, 12:23
PMEmail Poster
Top
Dido
Публикувано на: 27-01-2013, 15:50
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 52
Регистриран на: 17.11.10



Тази команда 0xFF с какви параметри е и какво връща?
Работи ли и при каси и при ФП?
Като гледам с нея могат да се разберат някои неща,
вместо да се параметризират.
PMEmail Poster
Top
wqw
Публикувано на: 27-01-2013, 18:06
Quote Post


Group Icon
Име: Владимир Висулчев
Група: VIP
Ранг: Почетен член

Мнения: 6379
Регистриран на: 10.06.04



QUOTE (Dido @ 27-01-2013, 16:50)
Работи ли и при каси и при ФП?
Като гледам с нея могат да се разберат някои неща...

Само при каси. Къде гледаш?

cheers,
</wqw>


--------------------
PMEmail PosterUsers Website
Top
Dido
Публикувано на: 27-01-2013, 18:29
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 52
Регистриран на: 17.11.10



QUOTE (wqw @ 27-01-2013, 18:06)
QUOTE (Dido @ 27-01-2013, 16:50)
Работи ли и при каси и при ФП?
Като гледам с нея могат да се разберат някои неща...

Само при каси. Къде гледаш?

Никъде не съм я виждал в документация на ФП /за каси така и не намерих/,
видях, че я коментирате и за това попитах.

QUOTE
Реално командите на касите са двубайтови

@wqw, какво значи това? Не е ли като при принтерите?

Това мнение е било редактирано от Dido на 27-01-2013, 18:29
PMEmail Poster
Top
ivan84
Публикувано на: 27-01-2013, 20:54
Quote Post



Име:
Група: Форумен член
Ранг: Почетен член

Мнения: 8170
Регистриран на: 01.04.11



Самата команда се състой от два байта (затова wqw казва че са двубайтови). Първия бит винаги е 0xFF втория определя видът на командата: 0х89 значи че ще четеш а 0х84 че ще пишеш. След това следват параметрите: номер на таблица, сепаратор ( ; ), номер на ред и сепаратор ( ; ). Ако ще пишеш следва и целия ред (всички полета от него, разделени със ; ).

Ама общо взето това си е екзотика в касите на датекс. Не го ползвай освен ако не ти се налага наистина. Ако го ползваш ще си закотвиш приложението при датекс. А чесно да ти кажа въпреки че бяха лидер с тези апарати направо се насраха (буквално). Та сега се чудят как да си забършат задникът.

Това мнение е било редактирано от ivan84 на 27-01-2013, 20:55
PMEmail Poster
Top
0 потребители преглеждат тази тема в момента (0 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (14) « първа ... 5 6 [7] 8 9 ... последна » Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0