Имя: Пароль:
1C
1С v8
УТ 10. Не получается распечатать ШК
0 егаис
 
05.01.13
09:09
Хелп! FPrint-55 принтер документов.
в ТОСервер добавил функцию
Функция ПечатьШК(Идентификатор, ШК) Экспорт

   Обработка = Неопределено;
   Объект    = Неопределено;
   Результат = ПолучитьОбъектДрайвера(Идентификатор, Обработка, Объект);

   Если НЕ ЗначениеЗаполнено(Результат) Тогда
       Результат = Обработка.НапечататьШК(Объект, ШК);
       мОписаниеОшибки = Объект.ОписаниеОшибки;
   Иначе
       мОписаниеОшибки = ПолучитьТекстОшибкиПодключенияТО("ФР");
   КонецЕсли;

   Возврат Результат;
   
КонецФункции


непосредственно в обработку обслуживания добавил функцию печати

Функция НапечататьШК(Объект, ШК) Экспорт

   Результат = мНетОшибки;

   Объект.Драйвер.ШтрихКод = ШК;
   Объект.Драйвер.Выравнивание = 1;
   Объект.Драйвер.ШтрихКодТип = 1;
   Объект.Драйвер.Масштаб = 149;
   Объект.Драйвер.ПечататьТекстШтрихКода = 2;
   Если Не Объект.Драйвер.ПечатьШтрихКода() Тогда
       Результат = мОшибкаНеизвестно;
       Объект.Драйвер.ПолучитьОшибку(Объект.ОписаниеОшибки);
       Объект.Драйвер.ОтменитьЧек(Объект.ИДУстройства);
   КонецЕсли;

   Возврат Результат;

КонецФункции

Но выходит ошибка
{ВнешняяОбработка.АТОЛФискальныеРегистраторы.МодульОбъекта(675)}: Поле объекта не обнаружено (ШтрихКод)
   Объект.Драйвер.ШтрихКод = ШК;

В режиме теста драйвера ШК печатаются без проблем.
1 егаис
 
05.01.13
09:14
Объект - это структура
Объект.драйвер - AddIn.ATOL_KKM_1C
2 егаис
 
05.01.13
09:33
гуру, срочно нужна помощь
3 егаис
 
05.01.13
09:48
скрипт через тестирование в тесте драйвера тоже печатает шк.
В чем косяк?
4 viraboy
 
05.01.13
10:11
Предлагаю ознакомится с описанием AddIn.ATOL_KKM_1C в описании драйвера и вопросов не будет
5 hhhh
 
05.01.13
10:13
вот это бредовое какое-то выражение.

  Если НЕ ЗначениеЗаполнено(Результат) Тогда

что оно означает?
6 егаис
 
05.01.13
10:16
(4) конечно же, пните в нос что я упустил. Методы вырезаны из FprnM_Pm.pdf (описание драйвер ККМ Атол)

(5) Функция ПолучитьОбъектДрайвера(Идентификатор, Обработка, Объект)

   Результат = мНетОшибки;

   ТО = ПолучитьТО();

   Оборудование = ТО.Найти(Идентификатор, "Идентификатор");
   Если Оборудование = Неопределено Тогда
       Результат = мОшибкаНеизвестно;
   Иначе
       Обработка = Оборудование.Обработка;
       Объект    = Оборудование.Объект;
   КонецЕсли;

   Возврат Результат;

КонецФункции // ПолучитьОбъектДрайвера()
типовой функционал. Заостряете проблему не там где нужно
7 viraboy
 
05.01.13
10:26
Еще раз. В описании есть отдельный раздел, что-то про стандарт 1С. Если там есть методы печати штрихкода - тогда, соглашусь, был не прав.
8 hhhh
 
05.01.13
10:28
(6)  НЕ ЗначениеЗаполнено - бредлво выглядит у вас.
9 егаис
 
05.01.13
10:29
(7) соглашусь, в интерфейсе 1С не описан метод печати ШК. Следовательно вопрос  - как распечатать тогда? Разве не достаточно использовать методы самого ККМ?
10 егаис
 
05.01.13
10:29
(8) все аналогичные функции печати оформлены так же.
11 егаис
 
05.01.13
10:31
+(7) использовать FPrnM1C.dll?
блокировка не возникнет, если использовать оба драйвера?
12 viraboy
 
05.01.13
10:34
использовать можно только один из них, т.к. захватывается устройство - вывод переписывать обработку под стандартный драйвер.
13 егаис
 
05.01.13
10:44
(12) есть опыт?
тупо подменил в обработке обслуживания
ПрогИД = "AddIn.ATOL_KKM_1C"
на
ПрогИД = "AddIn.FPrnM45"
Начал ругаться на все методы - и подключения и теста...((
14 viraboy
 
05.01.13
11:39
Описание прилагается к драйверу )). Можете взять для примера обработку обслуживания от 8.0 и допилить ее.
15 егаис
 
06.01.13
10:14
голову поломака (
Функция НапечататьШК(Объект, ШК) Экспорт

   ПрогИД45 = "AddIn.FprnM45";
   Драйвер = Новый (ПрогИД45);
   
   Драйвер.Строка = "Регистрация";
   Драйвер.ПечатьСтроки();
   
   Драйвер.ШтрихКод = ШК;
   Драйвер.Выравнивание = 1;
   Драйвер.ШтрихКодТип = 1;
   Драйвер.Масштаб = 149;
   Драйвер.ПечататьТекстШтрихКода = 2;
   Драйвер.ПечатьШтрихКода();
   Драйвер = "";
   
   Возврат мНетОшибки
   
КонецФункции

не печатает (((
16 егаис
 
06.01.13
10:23
причина понятна собственно
порт блокируется. (
Как победить?
17 егаис
 
06.01.13
10:26
чувствую без обработки обслуживания под AddIn.FPrnM45 никаким образом. Может у кого завалялась под 8.1 (8.0)? Буду благодарен...
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.