|
ФР Штрих-Мини-ФР-К. Как задать протяжку и обрезку ленты? | ☑ | ||
---|---|---|---|---|
0
Антиквар
19.07.11
✎
10:33
|
Всем привет!
Мне нужно из Розницы напечатать на указанный в теме ФР произвольный отчет. Как это сделать я разобрался, но по окончании печати ФР не протаскивает и не обрезает ленту.Приходится это делать вручную. Нашел в принципе выход: перед печатью своего отчета делать открытие чека с признаком нефискальности, а по окончании - закрытие чека. В этом случае лента протягивается и обрезается, но в заголовке перед моим отчетом появляется надпись "Нефискальный документ". Без этой надписи никак не обойтись? Обработка обслуживания не включает функций протяжки и обрезки? |
|||
1
Shurjk
19.07.11
✎
10:36
|
А фискальник зарегистрирован?
|
|||
2
PLUT
19.07.11
✎
10:42
|
(0) читай "Руководство программиста" с сайта производителя
|
|||
3
Антиквар
19.07.11
✎
11:16
|
(1) Мне дали фискальник для опытов. Т.е. я печатаю фисальные чеки из 1С и нигде это не отразится и отчитываться не надо будет. Т.е. с нят с учета я так полагаю? Но при печати заголовок фирмы печатается, т.е. значит был зарегистрирован? Я просто с ФР не работал до сих пор, не совсем понимаю что значит зарегистрирован. Но реальные ФР, на которых будет работать моя конфа, будут реальными, т.е. зарегистрированными:) Единственное, там ЕНВД, может ЭКЛЗ и не нужно.
|
|||
4
Ткачев
19.07.11
✎
11:18
|
(0)Он тормоз, крайне не советую такой в продуктовый маг. ставить.
|
|||
5
Антиквар
19.07.11
✎
11:20
|
(2) я пытался.
Но там типа такого: Закрытие чека Команда: 85H. Длина сообщения: 71 байт. Ну и далее побайтовая расшифровка. А насколько я понял, я могу оперировать лишь функциями из 1С-ной обработки обслуживания. Допустим я найду, что протяжка ленты - это команда к примеру 45Н, а дальше что ? :) |
|||
6
Антиквар
19.07.11
✎
11:22
|
(4) спасибо за отзыв, предупрежу. Но магаз не продуктовый, нет очереди. Возможно у клиента будет не конкретно такой ФР, но аналогичный Штриховский, обработка 1с-ная у них одна.
|
|||
7
mikecool
19.07.11
✎
11:23
|
протяжка и обрезка задается в настроке драйвера ФР, емнип
|
|||
8
PLUT
19.07.11
✎
11:23
|
(5) х.з. где ты пытался
тут смотрел? http://www.shtrih-m.ru/modules.php?name=Downloads&d_op=showpage&cid=253&lid=254&typeid=18 руководство драйвера ФР (руководство программиста) |
|||
9
maxar
19.07.11
✎
11:25
|
(0) штрих-фр-к - поставить драйвер Штрих-М - там есть редактирование таблиц - в одной из них задать обрезку ленты - вместо 0 поставить 1...
|
|||
10
PLUT
19.07.11
✎
11:30
|
(9) можно и программно резать
CutCheck ОтрезатьЧек Метод подает на принтер чеков команду «Отрезать чек». Перед исполнением метода необходимо задать способ отрезки («Полная» или «Неполная») в свойстве CutType. Перед вызовом метода в свойстве Password указать пароль оператора. В свойстве OperatorNumber возвращается порядковый номер оператора, чей пароль был введен. Метод может вызываться в любом режиме, кроме 8, 10, 11, 12, 14 и подрежимов 4 и 5 (см. свойства ECRMode и ECRAdvancedMode). Не меняет режима ККМ. взято из (8) |
|||
11
Антиквар
19.07.11
✎
11:41
|
(8) Спасибо! Там и смотрел, правда более старую версию драйвера, тут только демо. Там несколько руководств было, увлекся не тем руководством :) Т.е. я могу данные команды прямо из 1С вызывать при обращению к драйверу? Спасибо, буду пробовать.
|
|||
12
PLUT
19.07.11
✎
11:46
|
(11) пожалуйста ;) Смотри для примера, как пробитие чека сделано в типовой, с использованием драйвера ФР
|
|||
13
Smallrat
19.07.11
✎
11:51
|
я делал так
|
|||
14
Антиквар
19.07.11
✎
12:45
|
(13) Странно, но у меня ругается на:
Объект.Драйвер.ТипОтрезки = Ложь; Объект.Драйвер.ОтрезатьЧек(); Говорит: "Метод объекта не обнаружен (ОтрезатьЧек)". Ну и про ТипОтрезки аналогично. Пробовал и английские аналоги команд. Но при этом у меня работает например: Объект.Драйвер.ОткрытьЧек() Точнее я пробовал вызывать из внешней 1С-ной обработки драйвера функцию ОткрытьЧек(): ВнешняяОбработкаДрайвера.ОткрытьЧек(Объект,,,,,Ложь); А уже в этой функции идет вызов самой функции драйвера: Объект.Драйвер.ОткрытьЧек() (10) Кстати вот что странно, в описании программисту не написано никаких параметров при вызове функций, например при вызове той же функции открытьЧек(), но из 1С эта функция вызывается с кучей параметров: Объект.Драйвер.ОткрытьЧек(Объект.ИДУстройства, ФискальныйЧек, ЭтоВозврат, Истина, НомерЧека, НомерСмены) Откуда эти данные взяты, если в руководстве программиста, которое Вы посоветовали, про них ничего? |
|||
15
xazrad
19.07.11
✎
12:54
|
Feed() - команда протяжки
|
|||
16
Ткачев
19.07.11
✎
13:04
|
Процедура ПолнаяОтрезкаЛенты();
FR.Password=Password; FR.CutType=0; FR.CutCheck(); ОтветДрайвера(); КонецПроцедуры Процедура НеполнаяОтрезкаЛенты(); FR.Password=Password; FR.CutType=1; FR.CutCheck(); ОтветДрайвера(); КонецПроцедуры Процедура ПротяжкаЛенты() FR.Password=Password; FR.UseJournalRibbon=КонтрольнаяЛента; FR.UseReceiptRibbon=ЧековаяЛента; FR.UseSlipDocument=ПодкладнойДокумент; FR.FeedDocument(); ОтветДрайвера(); КонецПроцедуры |
|||
17
poligraf
19.07.11
✎
13:07
|
Влезу сюда, про принтер такой же:)
Заменили Штрих-ФР на Штрих-Мини-ФР и в чеке не отрабатывает перенос строки. Бумажка вроде одна по размеру. Куда посмотреть? 1С - 7.7 |
|||
18
Антиквар
19.07.11
✎
13:19
|
(16) "FR" - это в стандартном исполнении 1С наверное "Объект.Драйвер"
Я пробовал так, но мне пишет, что поле объекта не обнаружено "Password" И метод не обнаружен "CutCheck". Не понимаю пока, как из 1С вызывать эти процедуры. |
|||
19
Ткачев
19.07.11
✎
13:25
|
Процедура ПриОткрытии()
Password=FR.Password; Name="Булка"; Department=1; Price=25; Quantity=1; Summ1=100; Summ=5; Caption="Строка для печати"; ЧековаяЛента=1; КонтрольнаяЛента=1; КонецПроцедуры Процедура ОтветДрайвера() Result=FR.ResultCode; ОшибкаПараметра=FR.ResultCodeDescription; КонецПроцедуры |
|||
20
Ткачев
19.07.11
✎
13:26
|
Там в драйвере есть примеры программирование на 7.7, я оттуда копирую.
|
|||
21
Ткачев
19.07.11
✎
13:27
|
FR = СоздатьОбъект("AddIn.DrvFR");
|
|||
22
Ткачев
19.07.11
✎
13:29
|
||||
23
Антиквар
19.07.11
✎
14:46
|
(20) у меня 1С 8.1
|
|||
24
poligraf
19.07.11
✎
14:48
|
(23) а разницы-то?
принцип один |
|||
25
GStiv
19.07.11
✎
14:49
|
Рекомендую не ставить обрезку, из 6 ФР-К на двух вылетела через несколько месяцев, сервис говорит о том, что проблемное место, на остальных выключили.
|
|||
26
Антиквар
19.07.11
✎
14:56
|
(24) дак не пойму почему не работает
Например Объект.Драйвер.ОткрытьЧек() работает А вот Объект.Драйвер.ОтрезатьЧек() не работает, пишет, что метод объекта не обнаружен. |
|||
27
Ткачев
19.07.11
✎
15:16
|
||||
28
Ткачев
19.07.11
✎
15:21
|
ftp://ftp.shtrih-m.ru/download/FR/Doc/DriverFR_4.9.pdf
|
|||
29
Ткачев
19.07.11
✎
15:21
|
Все что в (28), все работает, проверено лично.
|
|||
30
Антиквар
19.07.11
✎
15:31
|
(27) Я тут и смотрю, но мне кажется я что-то не понимаю.
У 1С для фискальных регистраторов есть внешние обработки, которые как раз и позволяют управлять ФР-ом из 1С. В этих внешних обработках вызываются функции, которые допустимы драйвером этого ФР. И если смотреть стандартный код управления ФР-ом в 1С, то там создается объект - внешняя обработка управления ФР-ом. Далее вызываются 1С-ные методы этой обработки. А уже в этих 1С-ных методах вызываются те функции, которые непосредственно через драйвер управляют ФР-ом. И по идее описание этих функций я и должен увидеть в руководстве программиста. Например, в руководстве есть метод ОткрытьЧек(). Обработка 1С также его вызывает: Объект.Драйвер.ОткрытьЧек(Объект.ИДУстройства, ФискальныйЧек, ЭтоВозврат, Истина, НомерЧека, НомерСмены) Но откуда все эти параметры в скобках? В руководстве программисту этого нет. Далее, чтобы напечатать произвольную строку, обработка 1С вызывает вот это: Объект.Драйвер.НапечататьНефискСтроку(Объект.ИДУстройства, НашаСтрока); И это работает, но в руководстве программисту такого метода нет!!! Ну и то, с чем я мучаюсь: в руководстве есть метод ОтрезатьЧек(), а 1С на него ругается при попытке вызова Объект.Драйвер.ОтрезатьЧек(); Видимо те функции, что вызываются в 1С-ной обработке обслуживания через Объект.Драйвер - это ещё не те функции, которые описаны в руководстве. Но тогда вообще не понимаю как это работает... :( |
|||
31
PLUT
19.07.11
✎
15:59
|
(30) у тебя есть ФР и отладчик. дерзай!
|
|||
32
Антиквар
19.07.11
✎
16:05
|
(31) В отладчике Объект.Драйвер = "Неизвестный объект", т.е. отладчик не может посмотреть, какие функции доступны внутри драйвера.
При этом Объект.Драйвер.ОткрытьЧек() работает, и есть в описании. Объект.Драйвер.НапечататьНефискСтроку() работает, но нет в описании. Объект.Драйвер.ОтрезатьЧек() не работает, но есть в описании :) |
|||
33
Антиквар
20.07.11
✎
10:25
|
(13) Smallrat, я смотрю Ваш пример, реализовано всё через Объект.Драйвер
Т.е. как и в стандартной конфе розницы в 1С8. И я именно так пробую. Но никак не могу понять в чем дело. Уже в отладчике пишу например: Объект.Драйвер.НапечататьНефискСтроку() - срабатывает, сразу на печать идет строка. А пишу тут же Объект.Драйвер.ОтрезатьЧек() - ошибка, метод не найден. И главное, что внутрь Объект.Драйвер в отладчике не заглянешь, пишет НеизвестныйОбъект. |
|||
34
Антиквар
20.07.11
✎
10:27
|
А может моя проблема говорит о несоответствии драйвера моему ФР-ру? Может какой другой драйвер надо поставить?
Дело в том, что я скачал с сайта родной драйвер для этого ФР, но у него версия 4.6, 1С отказалась с ним работать, т.к. 1С-ная обработка обслуживания только для версии 4.9. Тогда я скачал драйвер версии 4.9, но уже от другого ФР, но тоже штриховского. И всё заработало. Все стандартные механизмы 1С работают, чеки печатаются, но вот такая проблема нерешаемая :( |
|||
35
Леха Дум
20.07.11
✎
10:47
|
(33), (34) Драйвера, описанные в руководстве и используемые в стандартных обработках разные и интерфейсы разные. Еще заметил, что драйвер для 1С тормозит в сравнении с обычным драйвером.
|
|||
36
Smallrat
20.07.11
✎
10:47
|
(34) Мне кажется дело где-то на уровне дров все-таки. Почему 1С отказалась работать со старыми ? что сказала ?
|
|||
37
Антиквар
20.07.11
✎
10:53
|
(36) Я уж точно не помню что сказала, помню что не работало. Я открыл справочник обработок обслуживания, сделал отбор по виду оборудования: ФР, и увидел, что для штриха всего одна обработка и в ней явно написано, что только для драйвера версии 4.9.
Скачал 4.9. от другого штриховского ФР и всё заработало сразу. Попробую вернуть старый драйвер, что из этого получится. |
|||
38
Антиквар
20.07.11
✎
15:18
|
(36) Скачал с сайта Штриха:
Описание работы с ПО «ШТРИХ-М: Драйвер ФР» в соответствии с «требованиями к разработке драйверов для фискальных регистраторов» компании 1С Я так понял, что там перечень методов, которые доступны для 1С. И именно там в описании методов как раз те параметры, которые в 1С и задаются. Например ОткрытьЧек() имет те параметры, как в 1С и вызывается. В руководстве же программисту для ОткрытьЧек() этих параметров нет. И в этом описании нет метода ОтрезатьЧек(). Может поэтому 1С его и не видит. Но тогда я не понимаю как у других работает. Smallrat, у вас точно работает это: Объект.Драйвер.ОтрезатьЧек() ??? |
|||
39
Smallrat
20.07.11
✎
16:23
|
(38) У меня работало, но у меня "ШТРИХ-М-ФР-К", а не "Штрих-Мини-ФР-К"
|
|||
40
Smallrat
20.07.11
✎
16:25
|
(38) У меня тоже есть это описание и там всё есть (Штрих-М: Драйвер ФР» Руководство программиста):
CutCheck ОтрезатьЧек Метод подает на принтер чеков команду «Отрезать чек». Перед исполнением метода необходимо задать способ отрезки («Полная» или «Неполная») в свойстве CutType. Перед вызовом метода в свойстве Password указать пароль оператора. В свойстве OperatorNumber возвращается порядковый номер оператора, чей пароль был введен. Метод может вызываться в любом режиме, кроме 8, 10, 11, 12, 14 и подрежимов 4 и 5 (см. свойства ECRMode и ECRAdvancedMode). Не меняет режима ККМ. |
|||
41
Антиквар
20.07.11
✎
16:33
|
(40) Это описание всех методов, но это не методы, доступные из 1С.
Вот посмотрите например как в 1С вызывается метод ОткрытьЧек(), там куча всяких параметров. А теперь в руководстве программиста посмотрите, там нет этих параметров. И я говорю уже не про руководство программиста, а про: "Описание работы с ПО «ШТРИХ-М: Драйвер ФР» в соответствии с «требованиями к разработке драйверов для фискальных регистраторов» компании 1С". В нем именно все функции, доступные в 1С. И метод Открытьчек() описан в нем как раз со всеми параметрами, как в 1С и вызывается. А вот метода ОтрезатьЧек() там нет. Но раз у Вас работало, я тогда не знаю что думать... Встретил в инете, что нужно через COM-объект подключаться, тогда будет всё доступно. Ещё не пробовал... |
|||
42
Антиквар
20.07.11
✎
17:51
|
(29) Ткачев, попробовал я описанным Вами механизмом, подключение через COM. Тогда в самом деле стали доступны все методы, и обрезка чека и протяжка.
Но теперь другая проблема. Если я в 1С-Рознице напечатал хоть один обычный чек, то моя обработка уже не работает. Код ошибки -3: "СOM порт занят другим приложением". И после выхода из 1С и выключения ФР ничего не меняется, только перезагруз компа. И наоборот, если, зайдя в Розницу, я напечатал сначала своей обработкой через COM-объект, то обычная печать чеков уже не работает, пишет что драйвер не установлен. Вы как решили эту проблему, может сбросить что-то надо, как освободить порт? |
|||
43
Torquader
21.07.11
✎
00:33
|
Чтобы сделать всё честно нужно:
1) Считать из памяти ФР заголовок чека, то есть клише (надо покопаться в таблицах). 2) Напечатать пустую строку и строки заголовка (их там, по-мойму, 4). 3) Вызвать команду отрезки чека. P.S. некоторые ФР поддерживают команду печать клише (именно клише, а не "заголовка документа", так как заголовок документа состоит из клише и служебных строк с номером. (42) Если вы используете стандартный драйвер, то его объект доступен через подключение торгового оборудования - попытка подключить второй драйвер приводит именно к тому, что у вас. |
|||
44
Антиквар
21.07.11
✎
09:36
|
(43) Пункт 3) - вызвать команду отрезки чека - не работает. Я правда не считывал клише, но суть в том, что 1С не видит вообще такого метода.
Я использую стандартный драйвер. Т.е. нет возможности совместить работу 1С со своим подключением к драйверу, и моей обработки с подключением через COM ? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |