|
Штрих-М+1С и результат выгрузки чека в ФНС | ☑ | ||
---|---|---|---|---|
0
SuperMario
19.05.17
✎
14:30
|
Всех форумчан категорически приветствую!
Вопрос: совпадает ли наименование товара в чеке кассы и в чеке ФНС у вас? Использую драйвер ПрогИД = "AddIn.DrvFR"; ПодключитьВнешнююКомпоненту(ПрогИД); в методе sale есть параметр StringForPrinting, в который передается наименование. Но дело в том, что если длина строки превышает 40 символов, то наименование не переносится на новую строку (даже если использовать Символы.ПС) Т.о. на чеке ККМ часть данных просто пропадает. Погуглил проблему и на форуме штрих-м нашел решение: 1.разбить строку на массив подстрок нужной длины 2. выводить каждую подстроку методом ДрайверФР.StringForPrinting=подстрокаДляМПечати; ДрайверФР.PrintString(); Но в приложении "проверка чеков" наименование пустое (оно и верно, ведь параметр StringForPrinting для метода "sale" я передаю пустой) У кого как выводится строка? з.ы. понимаю, что панацея = своять наименование , длиной в ширину чековой ленты. Но может есть более оригинальное решение? |
|||
1
SeriyP
19.05.17
✎
16:47
|
(0) Обновите прошивку на кассе до апрельской последней - начнет переносить строки.
+ Если хотите, чтобы больше символов в строку влезало: Тест Драйвера/Таблица 8 / Поле 4 = 5 Таким образом уменьшиться шрифт |
|||
2
SeriyP
19.05.17
✎
16:53
|
(0) + в ОФД передается относительно товара то, что находится в FiscalString
|
|||
3
SeriyP
19.05.17
✎
16:56
|
||||
4
SuperMario
23.05.17
✎
12:52
|
(1) Спс за ответ. Будем шить)
(2) курю мануал 4.13 "Руководство программиста" Sale Продажа Продажа – торговая операция, при которой товар перемещается от оператора к клиенту, а деньги – в обратном направлении: от клиента к оператору. Команда производит регистрацию продажи определенного количества товара в определенную секцию с вычислением налогов (см. «Инструкцию по эксплуатации»/«Руководство оператора») без закрытия чека. Перед вызовом метода в свойстве Password указать пароль оператора и заполнить перечисленные в таблице используемые свойства. В свойстве OperatorNumber возвращается порядковый номер оператора, чей пароль был введен. Работает в режимах 2 (проверка на окончание 24 часов производится запросом из ФП до выполнения операции), 4, 7, 8 (если статус 8-го режима ККМ=0) и 9 (см. свойства ECRMode и ECRMode8Status). Переводит ККМ в режим 8 подрежим 0, или из режима 2 в режим 3 при истечении 24 часов смены (см. свойства ECRMode, ECRMode8Status). Используемые свойства: Password Целое до 8 разрядов RW Пароль для исполнения метода драйвера. Quantity Дробн. 0,001.. 9999999,999 RW Количество товара 252 Price Денеж. 0.. 99999999,99 RW Цена за единицу товара. 251 Department Целое 0..16 RW Номер отдела (секции). 206 Tax1 Целое 0..4 RW 1 -ый номер налоговой группы. 279 Tax2 Целое 0..4 RW 2-ой номер налоговой группы. 282 Tax3 Целое 0..4 RW 3-ий номер налоговой группы. 284 Tax4 Целое 0..4 RW 4-ый номер налоговой группы. 287 StringForPrinting Строка – RW Строка символов кодовой таблицы WIN1251 для печати (печатается на чеке в строке, идущей перед строкой, содержащей цену(сумму) и/или количество). Модифицируемые свойства OperatorNumber Целое 1..30 R Порядковый номер оператора, чей пароль был введен. Нет FiscalString (( |
|||
5
LienXo
23.05.17
✎
13:32
|
drv.Sale()
drv.StringForPrinting = "//Наименование уходящее в ОФД" Строчка не печатается на чеке, но уходит в ОФД |
|||
6
LienXo
23.05.17
✎
13:33
|
(+5) при этом не печатается вся строка, включая количество и цену
|
|||
7
SuperMario
26.05.17
✎
11:05
|
(5) как это- не печатается?
В какое тогда свойство метода передается строка для печати на ленте? |
|||
8
SuperMario
26.05.17
✎
11:10
|
(5) сорь! вкурил.
надо попробовать. Но это костыль - имхо)) |
|||
9
LienXo
26.05.17
✎
11:27
|
(8) Почему костыль? В ОФД ты строки передал как надо, а на печатной форме рисуй как бог на душу положит, главное требования к чеку соблюсти
|
|||
10
SuperMario
26.05.17
✎
11:33
|
(9) я был уверен, что в StringForPrinting значение надо передавать до вызова Sale()
|
|||
11
LienXo
26.05.17
✎
11:35
|
(10) скажу больше - перед закрытием чека его еще и сбросить надо
drv.StringForPrinting = ""; drv.closecheck(... иначе вылазить будет |
|||
12
SuperMario
26.05.17
✎
11:42
|
(11) эт само собой)
|
|||
13
SuperMario
26.05.17
✎
13:03
|
(5) не работает.
на ОФД пустая строка наименования. |
|||
14
SuperMario
26.05.17
✎
13:04
|
резюмирую - менять прошивку.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |