Как из DrvFR1C получить DrvFR?
Автор |
Сообщение |
fixin
Новичок
Зарегистрирован: Пн мар 01, 2010 11:07 am Сообщения: 39
|
Re: Как из DrvFR1C получить DrvFR?
У меня работает. вы только запускайте в чистой 1С, а не из РМК.
|
Пт янв 27, 2012 2:35 pm |
|
|
sanethek
Новичок
Зарегистрирован: Пт янв 27, 2012 1:11 pm Сообщения: 3
|
Re: Как из DrvFR1C получить DrvFR?
Да действительно повтор документа пошел только клиент не подключается пишет что ком порт занят другим приложением, помогите пожалуйста с подключением клиента
Процедура ОсновныеДействияФормыПовтор(Кнопка)Экспорт ПолучитьСерверТО().ОтключитьКлиента(ЭтаФорма); ПодключитьВнешнююКомпоненту("Addin.DrvFR"); FR=Новый("Addin.DrvFR"); FR.Password=30; FR.RepeatDocument(); ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма);
КонецПроцедуры
|
Пн янв 30, 2012 10:35 am |
|
|
fixin
Новичок
Зарегистрирован: Пн мар 01, 2010 11:07 am Сообщения: 39
|
Re: Как из DrvFR1C получить DrvFR?
Вот тут я без понятия, жаль что Штрих-М не дает из драйвера 1С перейти в драйвер FR
|
Пн янв 30, 2012 10:45 am |
|
|
Selihov Dmitry
Постоянный участник
Зарегистрирован: Пт май 19, 2006 6:26 pm Сообщения: 10424 Откуда: Штрих-М
|
Re: Как из DrvFR1C получить DrvFR?
Вы можете отключиться от ФР, создать объект драйвера ФР и вызыать нужные Вам методы.
Также в последней DrvFr1C.dll есть методы посылки любой команды в порт:
DeviceControl (DeviceID, TxData, RxData): WordBool УправлениеУстройством (ИДУстройства, ВхДанные, ВыхДанные) Передает низкоуровневую команду устройству Параметры: DeviceID: WideString [IN] ИДУстройства [ВХ] Идентификатор устройства TxData: WideString [IN] ВхДанные [ВХ] Последовательность байт команды, передаваемой в ФР. (см. описание протокола). Например, для команды «гудок» последовательность будет такая (в шестнадцатеричном виде): «13 1E 00 00 00». То есть, последовательность начинается с кода команды (в данном случае «13»), за ним следуют параметры команды (в данном случае – пароль оператора: «1E 00 00 00»). RxData: Integer [OUT] ВыхДанные [ВЫХ] Последовательность байт ответа ФР.
Напишите нам запрос на почту, Вышлю Вам последнее описание DrvFr1C.dll.
_________________ С уважением, Селихов Дмитрий Юрьевич Инженер технической поддержки ЗАО "Штрих-М" mailto: support@shtrih-m.ru тел. (495) 787-60-96 ВНИМАНИЕ: Работает Официальный Интернет-Магазин от компании Штрих-М Shels-m.ru
|
Пн янв 30, 2012 11:40 am |
|
|
fixin
Новичок
Зарегистрирован: Пн мар 01, 2010 11:07 am Сообщения: 39
|
Re: Как из DrvFR1C получить DrvFR?
Запрос на почту выслал.
|
Пн янв 30, 2012 11:48 am |
|
|
sanethek
Новичок
Зарегистрирован: Пт янв 27, 2012 1:11 pm Сообщения: 3
|
Re: Как из DrvFR1C получить DrvFR?
Все, получилось, если кому надо сделать повтор документа работает вот такая процедура Процедура ОсновныеДействияФормыПовтор(Кнопка)Экспорт ПолучитьСерверТО().ОтключитьКлиента(ЭтаФорма); ПодключитьВнешнююКомпоненту("Addin.DrvFR"); FR=Новый("Addin.DrvFR"); FR.Password=30; FR.RepeatDocument(); FR.Disconnect(); ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма);
КонецПроцедуры
|
Пн янв 30, 2012 1:20 pm |
|
|
Selihov Dmitry
Постоянный участник
Зарегистрирован: Пт май 19, 2006 6:26 pm Сообщения: 10424 Откуда: Штрих-М
|
Re: Как из DrvFR1C получить DrvFR?
По запросу на почту ответил.
_________________ С уважением, Селихов Дмитрий Юрьевич Инженер технической поддержки ЗАО "Штрих-М" mailto: support@shtrih-m.ru тел. (495) 787-60-96 ВНИМАНИЕ: Работает Официальный Интернет-Магазин от компании Штрих-М Shels-m.ru
|
Пн янв 30, 2012 3:00 pm |
|
|
megatron_v
Новичок
Зарегистрирован: Сб май 05, 2012 4:00 pm Сообщения: 5
|
Re: Как из DrvFR1C получить DrvFR?
Здравствуйте. Не стал создавать новую тему. Есть проблема с методом DeviceControl для DrvFR1C. DeviceControl (DeviceID, TxData, RxData). Непонятно какую цифру нужно передавать в качестве TxData, чтобы метод сработал. Например: хочу узнать содержимое денежного регистра. в протоколе написано нужно передать 1A 1E 00 00 00 C1 (для регистра номер 193). Если пользоваться методом DeviceControlHEX, то программа отрабатывает всё нормально, вот только ответ не знаю как перевести (средствами 1С) в тип число (ответ 1A 00 1E 7E 54 00 00 00 00, а это число 216.30). Поэтому просьба, напишите как преобразовать ответ в тип число (средствами 1С).
Если же метод DeviceControl возвращает нужную цифру (в примере 216.30), то подскажите, что нужно передать вместо TxData (т.е. аналог 1A 1E 00 00 00 C1 для метода DeviceControlHEX).
|
Сб май 05, 2012 4:51 pm |
|
|
Selihov Dmitry
Постоянный участник
Зарегистрирован: Пт май 19, 2006 6:26 pm Сообщения: 10424 Откуда: Штрих-М
|
Re: Как из DrvFR1C получить DrvFR?
Номер регистра в hex, т.е. C1h = 193d. Из описания протокола: Ответ надо читать по байтам справа налево, внутри байта слева направо, т.е. для вашего примера ответ будет: 00000000547Eh = 547Eh = 21630d или 216.30р.
_________________ С уважением, Селихов Дмитрий Юрьевич Инженер технической поддержки ЗАО "Штрих-М" mailto: support@shtrih-m.ru тел. (495) 787-60-96 ВНИМАНИЕ: Работает Официальный Интернет-Магазин от компании Штрих-М Shels-m.ru
|
Чт май 10, 2012 10:50 am |
|
|
megatron_v
Новичок
Зарегистрирован: Сб май 05, 2012 4:00 pm Сообщения: 5
|
Re: Как из DrvFR1C получить DrvFR?
Спасибо за расшифровку результата.
Есть запрос для процедуры DeviceControlHex TxData=1A 1E 00 00 00 C1 (запрос денежного регистра номер 193), можете написать какие входные данные (TxData) нужны процедуры DeviceControl что бы сделать аналогичную операцию. И самое главное ответ процедуры DeviceControl будет в каком формате (шестнадцатеричный или десятичный)?
|
Чт май 10, 2012 11:12 am |
|
|
Selihov Dmitry
Постоянный участник
Зарегистрирован: Пт май 19, 2006 6:26 pm Сообщения: 10424 Откуда: Штрих-М
|
Re: Как из DrvFR1C получить DrvFR?
Разбираемся, ответим чуть позже.
_________________ С уважением, Селихов Дмитрий Юрьевич Инженер технической поддержки ЗАО "Штрих-М" mailto: support@shtrih-m.ru тел. (495) 787-60-96 ВНИМАНИЕ: Работает Официальный Интернет-Магазин от компании Штрих-М Shels-m.ru
|
Чт май 10, 2012 5:24 pm |
|
|
VadimR
Новичок
Зарегистрирован: Пт апр 24, 2009 12:28 pm Сообщения: 98 Откуда: Штрих-М
|
Re: Как из DrvFR1C получить DrvFR?
Если в случае DeviceControlHex данные передаются и возвращаются в виде текстовой строки с последовательностью символов, то в случае DeviceControl TxData должно содержать непосредственно последовательность байт команды (не текст). Ответ будет точно такой же - последовательность байт. (т.е. первый байт TxData = 1A, второй = 1E и т.д.)
|
Пт май 11, 2012 4:29 pm |
|
|
megatron_v
Новичок
Зарегистрирован: Сб май 05, 2012 4:00 pm Сообщения: 5
|
Re: Как из DrvFR1C получить DrvFR?
Спасибо за ответ. Как я понимаю из 1С лучше пользоваться вариантом DeviceControlHex.
|
Пт май 11, 2012 4:32 pm |
|
|
fixin
Новичок
Зарегистрирован: Пн мар 01, 2010 11:07 am Сообщения: 39
|
Вот и я попробовал
Вот и я попробовал получить наличность в кассе (денежный регистру 241). Получилось, правда долго не мог понять, что не работает, пока не использовал DeviceControlHex вместо DeviceControl. Но результат мне не понятен. Наличность в кассе по снятому тут же X-отчету 132943.86, а я получил ответ: 1A 00 1E 32 DB CA 00 00 00 Сколько байт слева нужно пропускать, один или два? И что-то этот ответ не похож на сумму наличности в кассе... 132943d = 02074Fh а 86d = 56h Код ниже (хорош тем, что его можно сразу из консоли кода вызывать):
|
Пн июн 04, 2012 5:52 pm |
|
|
Timofey Gontar
Постоянный участник
Зарегистрирован: Чт мар 10, 2005 6:41 pm Сообщения: 9908 Откуда: ЗАО "ШТРИХ-М", г. Москва
|
Re: Как из DrvFR1C получить DrvFR?
Ответ на данный вопрос можно получить из протокола ФР, а именно данная последовательность "1A 00 1E 32 DB CA 00 00 00" раскладывается следующим образом: 1А - код команды; 00 - код ошибки; 1Е - пароль оператора; 32 DB CA 00 00 00 - содержимое регистра. В Вашем случае получается число : 00 00 00 CA DB 32h = 13294386d = 132943 руб. 86 коп.
_________________ С уважением, Гонтарь Тимофей Владимирович Инженер технической поддержки ЗАО "Штрих-М" mailto: support@shtrih-m.ru тел. (495) 787-60-96 ВНИМАНИЕ: Работает Официальный Интернет-Магазин от компании Штрих-М www.shels-m.ru
|
Вт июн 05, 2012 8:52 am |
|
|
Кто сейчас на конференции |
Сейчас этот форум просматривают: Google [Bot] и гости: 1 |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|
|