|
Как увеличить число способов оплаты при печати чекаККМ на FPRINT-55 | ☑ | ||
---|---|---|---|---|
0
GoldMax
28.08.12
✎
10:31
|
Управление торговлей 10.3.15.9 для 1С версии 8.2.
Для печати чеков используется FPrint-55 и внешняя обработка AutoFiscalPrinters_v2.epf. На сегодняшний день в чеке печатаются только 2 вида оплаты: наличные и безналичные. Но нам также необходимо видеть в чеке и другие способы оплаты, например “Банковский кредит”. Согласно документации FPrint-55 имеет возможность печатать в чеке до 10 видов оплаты. В 1С в документе “ЧекККМ” мы можем указать не менее 3 видов оплаты: наличные, пластиковые карты, банковский кредит. Но в напечатанном чеке мы видим только 2 первых вида оплаты. При этом сумма наличных указывается правильно, а сумма безналичных объединяет в себе сумму оплаты по пластиковым картам и сумму оплаты по банковским кредитам. Подскажите пожалуйста что и как необходимо исправить во внешней обработке AutoFiscalPrinters_v2.epf для того чтобы в чеке, напечатанном на Fprint-55, можно было увидеть не менее 3 способов оплаты (наличные, пластиковые карты, банковский кредит). Все изменения, необходимые для вычисления суммы по каждому виду оплаты в основную конфигурацию я уже внес. Осталось только исправить процедуру “ЗакрытьЧек” во внешней обработке AutoFiscalPrinters_v2.epf Сейчас процедура “ЗакрытьЧек” выглядит следующим образом: // Функция осуществляет закрытие текущего открытого чека на ФР. (API v2.0) // Параметры: Объект - <*> - Объект драйвера ФР. // СуммаНал - <Число> - Сумма, внесённая наличными. // СуммаБезнал - <Число> - Сумма, внесённая при помощи карты. // // Возвращаемое значение: <ПеречислениеСсылка.ТООшибки*> - Результат выполнения операции. // Функция ЗакрытьЧек(Объект, СуммаНал, СуммаБезнал) Экспорт Результат = мНетОшибки; Если Не Объект.Драйвер.ЗакрытьЧек(Объект.ИДУстройства, СуммаНал, СуммаБезнал) Тогда Результат = мОшибкаНеизвестно; Объект.Драйвер.ПолучитьОшибку(Объект.ОписаниеОшибки); ОтменитьЧек(Объект); КонецЕсли; Возврат Результат; КонецФункции // ЗакрытьЧек() |
|||
1
aleks-id
28.08.12
✎
10:36
|
а кредит это не безнал? какая тебе разница то?
|
|||
2
GoldMax
28.08.12
✎
10:38
|
Да, кредит это тоже безналичная оплата. Но ее обязательно необходимо выделить отдельной строкой
|
|||
3
aleks-id
28.08.12
✎
10:40
|
тогда пиши разработчикам Объект.Драйвер.ЗакрытьЧек
|
|||
4
Шапокляк
28.08.12
✎
10:41
|
(0) Если в конфигурации определена передача только двух параметров - суммы нал и суммы безнал, то при чем тут внешняя обработка фискальника? Будете вычислять и передавать 10 сумм, тогда и во внешней обработке имеет смысл что-то менять.
|
|||
5
GoldMax
28.08.12
✎
10:47
|
(4) Если внешняя обработка сможет печатать более 2 способов оплаты, то изменить основную конфигурацию так чтобы вычислялась сумма отдельно по каждому виду оплаты не представляет никакой сложности.
|
|||
6
GoldMax
28.08.12
✎
10:53
|
(3) Написал разработчику. Они отказались от тех. поддержки конечных пользователей и оказывают тех. поддержку только партнерам.
|
|||
7
DEVIce
28.08.12
✎
10:58
|
(6). Напиши партнеру
|
|||
8
GoldMax
28.08.12
✎
11:03
|
(7) Партнеры интересуются почему не покупали у них
|
|||
9
GoldMax
28.08.12
✎
11:15
|
А другой партнер порекомендовал обратиться к программистам 1С
|
|||
10
GoldMax
28.08.12
✎
11:35
|
Так как же увеличить количество печатаемых спосбов оплаты в чеке ККМ?
|
|||
11
GoldMax
28.08.12
✎
12:18
|
Неужели данная задача не имеет решения?
|
|||
12
Lokli
28.08.12
✎
12:25
|
(11) Имеет конечно. :)
Если я правильно понимаю, то это атоловский аппарат. У вас сколько видов оплаты планируется и какие? |
|||
13
GenAcid
28.08.12
✎
12:26
|
(11) Есть, перепиши работу с ФР так, чтобы вместо стандартного интерфейса 1С использовался родной атоловский.
|
|||
14
GoldMax
28.08.12
✎
12:29
|
(12) Да, это атоловский апарат FPrint 55
Сейчас необходимо иметь 3 вида оплаты: 1) Наличные 2) Пластиковые карты 3) Банковский кредит |
|||
15
GoldMax
28.08.12
✎
12:30
|
(13) Вот я и пытаюсь изменить внешнюю обработку управления ФР.
|
|||
16
Lokli
28.08.12
✎
12:33
|
(14) В общем алгоритм работы такой:
1. В настройках самого аппарата необходимо прописать нужные варианты оплаты. 2. Т.к. изначально в типовой конфигурации и в обработках торг.оборудования по ККМ всё рассчитано на два вида обплаты, вам придётся доработать парочку типовых процедур и обработку по работе с ККМ до 3-х видов оплат. УТ 10.3 у меня под рукой нет, поэтому точно где, как и что менять подсказать не могу. Если вам долго разбираться и у вас небольшой опыт работы с ТО, советую обратиться к партнёру Атола. В принципе, им всё равно где это покупалось, а за денежку они эту проблему решат. |
|||
17
Lokli
28.08.12
✎
12:34
|
(11) Переписывать интерфейс?! Хм, мне кажется, это будет очень долго, нудно и не продуктивно.
|
|||
18
GenAcid
28.08.12
✎
12:36
|
(15) Так скачай книжку «АТОЛ: Драйвер ККМ» с оффсайта и почитай, особо обрати внимание на описание метода "ЗакрытьЧек" в основном разделе и в разделе Интерфейс драйвера по стандарту компании «1С». Осознай что используются 2 разные библиотеки и перепиши с ущербной универсально-1Совой на расово-верную атоловскую.
(16) Хаха. Тоже скачай и прочитай. |
|||
19
Neg
28.08.12
✎
12:36
|
(15) Посмотри как реализованы в обработке два вида оплат, по аналогии сделай третий.
|
|||
20
del123
28.08.12
✎
12:41
|
(15) в прошлой ветке тебе ответил. Не знаю что у тебя за обработка, но у меня в типовой позволяет три вида оплаты передавать в закрытие чека. Проверь у себя.
|
|||
21
Neg
28.08.12
✎
12:45
|
Вообще-то 4 вида оплаты в обработках по умолчанию.
|
|||
22
GoldMax
28.08.12
✎
12:47
|
(16) В настройках аппарата (в драйвере) уже давно все варианты оплаты прописаны. Их сейчас 4, даже больше чем нам нужно.
Да, действительно в стандартной конфигурации все обработки расчитаны только на 2 вида оплаты: наличная и безналичная. Исправить все эти обработки не представляет труда. Проблема только во внешней обработке AutoFiscalPrinters_v2.epf в процедуре ЗакрытиеЧека() |
|||
23
del123
28.08.12
✎
12:50
|
попробуй в строке
Если Не Объект.Драйвер.ЗакрытьЧек(Объект.ИДУстройства, СуммаНал, СуммаБезнал) дописать один или два параметра после "суммабезнал" и посмотри, может проканает |
|||
24
GoldMax
28.08.12
✎
12:52
|
(18) Давно уже скачал и почитал книжку «АТОЛ: Драйвер ККМ» с оффсайта. Особо внимательно читал метод ЗакрытьЧек. В книге команды приведены не на языке 1С, а совместить их с языком 1С мне никак не удается
|
|||
25
GenAcid
28.08.12
✎
12:52
|
(21)(23)Ну как вам сказать: "ЗакрытьЧек (ИДУстройства, НаличнаяОплата, БезналичнаяОплата)" / «АТОЛ: Драйвер ККМ» v.8.0 стр.203.
(22)Еще раз: проблема в драйвере который по умолчанию использует УТ. Если использовать атоловскую FPrnM1C.dll можно будет использовать старый интерфейс, но нужно будет найти старую обработку ФР и немного подправить или переписать новую под стандартный интерфейс. |
|||
26
GenAcid
28.08.12
✎
12:53
|
(24) смотри (25)
|
|||
27
GoldMax
28.08.12
✎
12:54
|
(23) Добавлял еще 1 параметр. Пишет что слишком много параметров передано при вызове процедуры
|
|||
28
GoldMax
28.08.12
✎
12:56
|
(21) А не могли бы вы показать текст процедуры ЗакрытьЧек в используемой вами внешенй обработке?
|
|||
29
GoldMax
28.08.12
✎
12:59
|
(25) Ваше решение мне кажется наиболее удачным, возможно даже заработает
Уточните пожалуйста какие версии драйверов мне необходимо поставить и какую именно обработку необходимо для них использовать. |
|||
30
Lokli
28.08.12
✎
13:02
|
А попробуй взять обработку по работе с ТО не от 1С, а от Атол.
|
|||
31
GenAcid
28.08.12
✎
13:04
|
(29)Любая версия драйвера FPrnM1C.dll, чем новее тем лучше естественно, и обработка с ФР с интерфейсом ТО версии 1.хх. Скорее всего придется скрестить ее с обработкой текущей версии.
|
|||
32
GoldMax
28.08.12
✎
13:10
|
(25) На стр. 203 нашел только ЗакрытьЧек (ИДУстройства, НаличнаяОплата, БезналичнаяОплата). Всего лишь 2 способа оплаты. У меня сейчас именно так и работает. Не пойму что же вы предлагаете. Пожалуйста уточните
|
|||
33
GenAcid
28.08.12
✎
13:19
|
(32) Предлагаю использовать не "драйвер по стандарту компании «1С»" ака AddIn.ATOL_KKM_1C, а обычный стандартный драйвер ака AddIn.FPrnM45 или AddIn.FPrnM8(если драйвер 8ой версии). Описание первого это 5 страничек в конце книги, описание вторых почти 200 страниц в начале.
|
|||
34
GenAcid
28.08.12
✎
13:21
|
(32) Пример простейшего чека кстати есть в ЗакрытьЧек(), выглядит так:
// Формирование простого чека продажи // Открытие чека (является необязательным, т.к. ККМ // автоматически открывает чек при первой регистрации в чеке). // Войти в режим регистрации Драйвер.Password = 30; Драйвер.Mode = 1; Драйвер.SetMode(); // Устанавливаем параметры регистрации Драйвер.Name = “Чипсы”; // Название товара Драйвер.Price = 12.34; // Цена товара Драйвер.Quantity = 1.234; // Количество товара Драйвер.Registration(); // Регистрация позиции // Для остальных позиций чека повторять действия Драйвер.CloseCheck(); // Закрыть чек |
|||
35
GenAcid
28.08.12
✎
13:23
|
Если лень полностью переписывать ищи обработку фискальника с _v1 в конце, в ней все через нормальные драйвера работало, можно оттуда кусков надергать.
|
|||
36
GoldMax
28.08.12
✎
13:35
|
Да, мне понравилось начало описания функции ЗакрытьЧек() в предложенной вами книге. Именно это я и пытаюсь внедрить. Но пример там очень неудачный. Самое интересное - оплата разными сособами даже не рассматривается. Именно это вы и показали здесь. К сожалению данный пример прост и понятен но мою задачу пока что не решает.
|
|||
37
GoldMax
28.08.12
✎
13:40
|
(35) Информации получилось немного больше чем нужно. Давайте пожалуйста уточним то что надо сделать. Я думаю что мне необходимо:
1) На сайте разработчика по адресу http://www.atol.ru/support/programs/ скачать АТОЛ: Драйверы торгового оборудования v8.X 2) Установить скачанные драйвера 3) Там же скачать внешнюю обработку. Обработка для типовых конфигураций (УТ 10.3 и Розница 1.0) на платформе 8.2 по обмену данными с Frontol 4) Попытаться изменить скачанную внешнюю обработку. |
|||
38
GenAcid
28.08.12
✎
13:51
|
(37) Обработку можешь не качать, потому что скачаешь то, что у тебя уже есть. С минимальными изменениями.
У тебя есть 2 пути: - переписать обработку самому, с помощью описания драйвера и метода научного тыка. - найти обработку которая называется не atolfiscalprinters_v2.epf, а atolfiscalprinters_v1.epf и выдернуть(посмотреть как реализованы) основные функции в ней. |
|||
39
GenAcid
28.08.12
✎
13:54
|
Драйвер.Password = 30;
Драйвер.Mode = 1; Драйвер.SetMode(); // Устанавливаем параметры регистрации Драйвер.Name = “Чипсы”; // Название товара Драйвер.Price = 12.34; // Цена товара Драйвер.Quantity = 1.234; // Количество товара Драйвер.Registration(); // Регистрация позиции // Для остальных позиций чека повторять действия Драйвер.Summ = 12.34 * 1.234; //Сумма оплаты Драйвер.TypeClose = 3 //Вид оплаты. 0 - наличные, 1 - тип оплаты 1, итд Драйвер.Payment(); // Оплата Драйвер.CloseCheck(); // Закрыть чек |
|||
40
GenAcid
28.08.12
✎
13:58
|
Либо:
Драйвер.Password = 30; Драйвер.Mode = 1; Драйвер.SetMode(); // Устанавливаем параметры регистрации Драйвер.Name = “Чипсы”; // Название товара Драйвер.Price = 12.34; // Цена товара Драйвер.Quantity = 1.234; // Количество товара Драйвер.Registration(); // Регистрация позиции // Для остальных позиций чека повторять действия Драйвер.TypeClose = 3 //Вид оплаты. 0 - наличные, 1 - тип оплаты 1, итд Драйвер.CloseCheck(); // Закрыть чек РТФМ же, http://prntscr.com/ejkcx |
|||
41
GoldMax
28.08.12
✎
14:26
|
(40) Т.е. вы хотите сказать что у меня старая версия драйвера. Тогда заменив ее новой версией драйвера мне достаточно будет в существующей внешней обработке поправить процедуру ЗакрытьЧек
Процедура ЗакрытьЧек() Драйвер.Summ = 5 Драйвер.TypeClose = 0 //Наличная оплата Драйвер.Summ = 2 Драйвер.TypeClose = 0 //Пластиковая карта Драйвер.Summ = 10 Драйвер.TypeClose = 0 //Банковский кредит Драйвер.CloseCheck() КонецПроцедуры Все остальные процедуры проверки наличия подключенного оборудования, открытия чека я все же хочу оставить без изменений. Если в результате внесенных изменений в процедуре ЗакрытьЧек() существующей внешней обработки я у вижу напечатанные 3 вида оплаты с моими фиксированными суммами (5, 2, 10), то тогда лишь останется поправить вызов данной процедуры из основной конфигурации, а в этом я сейчас проблемы не вижу. Основную конфигурацию исправить гораздо проще чем внешнюю обработку. (40) Надеюсь я вас правильно понял? |
|||
42
GoldMax
28.08.12
✎
14:29
|
Я уже пробовал данный алгоритм применить с существующими настройками оборудования. И при вызове Драйвер.Summ = 5 получал сообщение о том, что такой метод (переменная) отстутствуют.
|
|||
43
GenAcid
28.08.12
✎
15:06
|
(41) Дело не в старой-новой версии драйвера. Дело в 2 разных драйверах с разными интерфейсами. И переписывать придется все, потому что ИНТЕРФЕЙС ДРУГОЙ! Но, если найти обработку которая работала по интерфейсу Атол, а не 1С можно почти все взять из нее.
(42) ясен пень там нет такого метода/переменной. Читай (33) до просветления, разрешаю даже воспользоваться поиском по модулю обработки обслуживания и описанию драйвера. Или позвони в Атол, может они тебе разжуют, у них техподдержка неплохая раньше была. |
|||
44
GoldMax
28.08.12
✎
15:18
|
(43) Так что же мне сейчас делать? Переустанавливать драйвер или оставить тот же. Я же не успею за 5 минут полностью переписать всю обработку.
Т.е. получается так что после того как я установлю новые драйвера у меня ФР FPRINT вообще перестанет работать до тех пор пока я не создам новую обработку. А старую обработку версии 1.0 я еще пока что не нашел. А написать новую обработку с неустановленными драйверами только методом научного тыка не получится. Нужно устанавливать драйвера и писать обработку. С чего же лучше всего начать? |
|||
45
GenAcid
29.08.12
✎
07:14
|
(44) Ты как думаешь, почему в описании драйвера описаны оба интерфейса? Может быть в поставку драйвера входят обе длл?
Совсем прозрачно намекаю - ищи в описании драйвера "AddIn.ATOL_KKM_1C", прочитай внимательно раздел, он всего полстраницы занимает. Потом поднимись на одну страничку вверх, и прочитай еще один раздел. Открой свою обработку обслуживания и найди ту же самую строку там. Потом включи мозг, сделай копию обработки, в копии подключи правильный AddIn, и экспериментируй на здоровье. Благо в новых версиях нормального драйвера есть тестовый режим. Но на всякий случай, суммы больше пары копеек при проверках пробивать не рекомендую. |
|||
46
GoldMax
29.08.12
✎
12:36
|
(46) Да, большое спасибо за совет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |