Перейти к публикации
Функция ВесЧислом(Знач ВесСтрокой) Вернуть = 0; ВесСтрокой = СокрЛП(ВесСтрокой); Если СтрДлина(ВесСтрокой) <> 0 Тогда Вернуть = Число(Лев(ВесСтрокой, Найти(ВесСтрокой, "g") - 1)); КонецЕсли; Возврат Вернуть; КонецФункции Функция ПолучитьВес(АдресМакетВесы) Экспорт Если Не ЗначениеЗаполнено(АдресМакетВесы) Тогда ГС_ВесыСервер.ПолучитьМакетВесы(АдресМакетВесы); //АдресМакетВесы = "d:\Develop\VC\Scale_TBE\bind\AddInNative.dll"; //УстановитьВнешнююКомпоненту(АдресМакетВесы); КонецЕсли; ВКПодключениеВыполнено = ПодключитьВнешнююКомпоненту( АдресМакетВесы, "LibraVK", ТипВнешнейКомпоненты.Native ); Если Не ВКПодключениеВыполнено Тогда УстановитьВнешнююКомпоненту(АдресМакетВесы); ВКПодключениеВыполнено = ПодключитьВнешнююКомпоненту( АдресМакетВесы, "LibraVK", ТипВнешнейКомпоненты.Native ); Если Не ВКПодключениеВыполнено Тогда Сообщить("Не удалось подключить компоненту : "+ОписаниеОшибки()); Возврат Неопределено; КонецЕсли; КонецЕсли; ВКВесы = Неопределено; Попытка ВКВесы = Новый("AddIn.LibraVK.TechnoScale"); ВКВесы.Включить(); Рез = ВКВесы.Включен; //Сообщить("Результат включения : "+Рез); ВКВесы.ИмяПорта = "COM" + НастройкиПодразделения.ВесыПорт; ВКВесы.Скорость = Формат(НастройкиПодразделения.ВесыСкорость,"ЧГ="); ВКВесы.Задержка = Формат(НастройкиПодразделения.ВесыЗадержка,"ЧГ="); Исключение Сообщить("Ошибка создания компоненты весов : " + ОписаниеОшибки()); Возврат Неопределено; КонецПопытки; ВКВесы.ПолучитьВес(); Вес = 0; Если ВКВесы.Результат Тогда //Сообщить("Вес строкой : "+СокрЛП(ВКВесы.Вес)); Вес = ВесЧислом(ВКВесы.Вес); Иначе Сообщить("Не удалось получить вес"); Возврат Неопределено; КонецЕсли; Попытка ВКВесы.Выключить(); Исключение Сообщить("Не удалось выключить весы"); Возврат Неопределено; КонецПопытки; Возврат Вес; КонецФункции