НА ГЛАВНУЮ СТРАНИЦУ

УНИВЕРСАЛЬНАЯ ВНЕШНЯЯ КОМПОНЕНТА ДЛЯ 1С

РАСПАРСИТЬ ДАННЫЕ ПРИХОДЯЩИЕ НА COM ПОРТ И ПЕРЕДАТЬ ИХ В 1С

ВНЕШНЯЯ КОМПОНЕНТА НАПИСАНА ПО ТЕХНОЛОГИИ COM. РАБОТАЕТ С МНОЖЕСТВЕННЫМИ COM ПОРТАМИ ОДНОВРЕМЕННО

БОЛЬШЕ ВСЕГО ПРИМЕНЯЕТСЯ ДЛЯ ВЕСОВ, ПЕРЕДАВАТ ВЕСОВИЕ ЗНАЧЕНИЕ В 1С

Суть программы состоит в собирании данных приходящих на ком порт (RS232) распарсить эти данные и передавать в 1С, Программа состоит из двух частей сама внешняя компонента reader.dll и конфигуратор в внешнего компонента то есть reader.dll-а

Интерфейс программы состоит из одного окна

Группа COM PORTS

В этой группе можно вы” ком порт с каким ком портом хотите работать, команда «Open Com Port» открывает выбранный ком порт и при этом становится доступным две команды «Close Com Port» и «Enable monitor Com Port» команда «Close Com Port» закрывает открытий ком порт, команда «Enable monitor Com Port» включает мониторинг ком порта то есть вся информация приходящая в ком порт будет выведено соответствующих окнах.

 

Группа LIST OF COM PORTS

в этой группе, командой «ADD COM port information to list» добавляем выбранный ком порт в список а командой «REMOVE SELECTED COM port from list» удаляем выбранный ком порт из списка.

 

 

 

 Группа COM port Parameters

В этой группе можно устанавливать параметры ком порта.

 

 

 

 

 

Группа Reader Templates

В этой группе все команды и поля ввода относятся к тому, как вы хотите преобразовать данные, приходящие на ком порте.

Поле ввода «Input template» здесь прописываем то, что приходит на ком порте допустим на ком порте приходит =02000000 это и записываем, можно командой «Copy value From com», будет активна после включение мониторинга ком порта, скопировать приходящие данные в это поле.

Поле ввода «Output template» здесь прописываем то что хотим брать от поле «Input template» пример, если в «Input template» =02000000 и в поле «Output template» запишем 011111111 то из =02000000 будет пропущена символ = и будет взата 02000000 символы, значит цифра 0 говорит что соответственный номер символа не надо брать а цифра 1 говорит соответственный номер символа надо брать.

Пример 1

Пример 2

Выпадавший список «After action»

можно вы” арифметические действие которое будет применятся к результату преобразованную числу, то есть если на ком порт приходит данные =02000000 и по шаблону мы взяли 02000000 и при этом «After action» выбрана * (умножение) и в поле «Action value» запишем число 2 на выходе мы получим число 4000000 то есть 2000000 умноженное на 2

 

Переключатель  «Reverse value»

 если включен данные, приходящие на ком порт будут реверсивными то есть если приходит строка =02000000 и по шаблону 011111111 мы взяли 02000000 на выходе получим 00000020

 

Следующие три поля ввода «Line Start Character»  «Line Ende Character» и «Characters count»

работают вместе, в поле ввода «Line Start Character»  пишется символ по которому программа будет считать началом строки данных в поле ввода «Line Ende Character» пишется символ по которому программа будет считать концом строки данных то есть, если на кои порте приходит данные непрерывно  =02000000#=02000000#=02000000#=02000000#=02000000#=02000000#=02000000#

в поле ввода «Line Start Character»  запишем символ = а в поле ввода «Line Ende Character» запишем # на выходе получим уже распарсенную строку 02000000

второй пример, если на кои порте приходит данные непрерывно

=02000000=02000000=02000000=02000000=02000000=02000000=02000000 =02000000=02000000

в поле ввода «Line Start Character»  запишем символ = а в поле ввода «Line Ende Character» оставим  пустим а в поле ввода  «Characters count» запишем число 8 на выходе получим уже распарсенную строку 02000000

 

Поле ввода «Line end hex string» и переключатели

С помощью поле ввода «Line end hex string» можно задавать конец строки в шестнадцатеричном формате пример 0D0A соответствует совокупность Carriage Return +Line feed

 

 

Группа For 1C

В поле ввода «Event Name» пишется название например datareader1 по которому 1С в процедуре ВнешнееСобытие(Источник, Событие, Данные) в Событие будет отображено это называние, то есть  по этому названию 1С будет определят от которого ком порта приходят данные,

 

Команда загружает ранее сохраненную конфигурацию

 

Команда сохраняет конфигурацию

 

 

Сохранить на диске reader.dll

 Зарегистрировать reader.dll в системе

 Снят с регистрации reader.dll из системы

 

Приходящих на ком порт данных можно наблюдать здесь

в поле «values converted from template» будет выводится уже распарсенная строка которая будет передаваться в 1С

 

 

 

 

 

 

 

 

 

Вызов из 1С

ПодключитьВнешнююКомпоненту("C:\dll\reader.dll","Ves");

                Попытка

                                UNIVERSAL_READER=Новый ("AddIn.Ves.readerEx");     

                Исключение

                                Сообщить( ОписаниеОшибки())             

    КонецПопытки

 

Данные будут поступать

Процедура ОбработкаВнешнегоСобытия(Источник,Событие, Данные)            

                Сообщить(Источник);

                Сообщить(Событие);

                Сообщить(Данные);

КонецПроцедуры

 

Инициализации

Процедура Команда1(Команда)            

                Попытка

               UNIVERSAL_READER.иницКом();

                Исключение

               Сообщить( ОписаниеОшибки());

                КонецПопытки

КонецПроцедуры