Сообщения без ответов | Активные темы Текущее время: Чт мар 28, 2024 11:51 pm



Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 4 ] 
Как работать с двумя ФР 
Автор Сообщение
Сообщение Как работать с двумя ФР
К 1С подключены 2 ФР Штрих-ФР-К. Как должна выглядеть последлвательность команд, переключающих регистраторы? У меня все печатается на одном ФР, а нужно часть чеков на одном, а часть - на втором.


Пт мар 18, 2005 6:54 pm
Постоянный участник
Аватара пользователя

Зарегистрирован: Чт мар 10, 2005 6:41 pm
Сообщения: 9908
Откуда: ЗАО "ШТРИХ-М", г. Москва
Сообщение 
Для организации работы с двумя фискальными регистраторе необходимо в коде использовать методы работы с логическими устройствами. В данном случае можно использовать метод SetActiveLD (УстановитьАктивноеЛУ). Этот метод устанавливает параметры логического устройства с номером из свойства LDNumber (НомерЛогическогоУстройства) как текущие параметры драйвера, т.е. делает активным данное логическое устройство. Одновременно можно использовать только одно логическое устройство. Следовательно, Вы можете организовать работу сначала с одним ФР, а потом с другим.

_________________
С уважением, Гонтарь Тимофей Владимирович
Инженер технической поддержки ЗАО "Штрих-М"
mailto: support@shtrih-m.ru
тел. (495) 787-60-96
ВНИМАНИЕ: Работает Официальный Интернет-Магазин от компании Штрих-М www.shels-m.ru


Пт мар 18, 2005 7:51 pm
Профиль WWW
Сообщение 
Завожу 2 логических устройства через тестовую утилиту. Пишу в теле процедуры:

ЗагрузитьВнешнююКомпоненту("DrvFR.dll");
FR = СоздатьОбъект("AddIn.DrvFR");
FR.LDNumber=1;
FR.SetActiveLD();
FR.Quantity=1;
FR.Price=100;
FR.Department=1;
FR.StringForPrinting="товар";
FR.Sale();
ОтветДрайвера();
Если Result<>0 Тогда
Сообщить(Result);
Сообщить(ОшибкаПараметра);
КонецЕсли;
FR.Summ1=100;
FR.Summ2=0;
FR.Summ3=0;
FR.Summ4=0;
FR.StringForPrinting="";
FR.CloseCheck();
ОтветДрайвера();
Если Result<>0 Тогда
Сообщить(Result);
Сообщить(ОшибкаПараметра);
КонецЕсли;

FR.LDNumber=2;
FR.SetActiveLD();
FR.Quantity=1;
FR.Price=100;
FR.Department=1;
FR.StringForPrinting="товар";
FR.Sale();
ОтветДрайвера();
Если Result<>0 Тогда
Сообщить(Result);
Сообщить(ОшибкаПараметра);
КонецЕсли;
FR.Summ1=100;
FR.Summ2=0;
FR.Summ3=0;
FR.Summ4=0;
FR.StringForPrinting="";
FR.CloseCheck();
ОтветДрайвера();
Если Result<>0 Тогда
Сообщить(Result);
Сообщить(ОшибкаПараметра);
КонецЕсли;

На первом ФР печатается чек, а потом выходит ошибка 80 (идет печать предыдущей команды), т.е. второй чек пытается печататься тоже на первом ФР. Что в процедуре не так?


Пн мар 21, 2005 4:04 pm
Новичок

Зарегистрирован: Чт мар 10, 2005 6:35 pm
Сообщения: 824
Откуда: ЗАО "ШТРИХ-М", г. Москва
Сообщение 
Какая у Вас версия драйвера ФР?
Вы завели два логических устройства с номерами 1 и 2?
При проверки через Тест драйвера ФР, при переключении между логическими устройствами, связь устанавливается с каждым из них? Т. е. проверьте параметры логических устройств: скорость и номер COM порта.
Также метод SetActiveLD() необходимо обработать на ошибки, возможно в процессе его выполнения возникает ошибка.

_________________
С уважением, Козлов Денис Сергеевич,
инженер технической поддержки ЗАО "ШТРИХ-М",
e-mail: support@shtrih-m.ru,
тел. (495) 787-60-96.


Пн мар 21, 2005 5:26 pm
Профиль
Показать сообщения за:  Поле сортировки  
Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.   [ Сообщений: 4 ] 

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF.
Русская поддержка phpBB