Работает просто:
1. Регистрируем с помощью regsvr32
2. Создаем объект // Новый COMОбъект("NScales.Scales")
3. Устанавливаем параметры (тип терминала, порт, скорость) //ConnectDevice(ТипВесов, ПортВесов, СкоростьПередачи, Множитель)
4. Спрашиваем вес GetWeight()
поддерживает
БУ4263М1 (Топки),
Mettler Toledo IND310,
CAS-6000,
НВТ-9 (Невские весы),
FT-11 (Flintec)
VT-220
но только в режиме непрерывной передачи данных, никакой ответной передачи, диалогового режима и всего такого в компоненте нет.
Никакой дополнительной информации, типа единицы измерения, из весов получать не умеет, настройки подключения нигде не хранит.
По большому счету, её можно заменить любой читалкой ком-порта, а данные разобрать уже в 1С.
Вижу два плюса -
1. С указанными моделями весовых терминалов она точно работала.
2. Чтение данных из порта не блокирует работу 1С (чтение перенесено в отдельный поток)
В комплекте есть документация и пример использования на обычных формах.
Сама компонента никаких форм не имеет, требованиям к разработке компонент для торгового оборудования не удовлетворяет (применяется в самописной конфигурации).
Скомпилирована для 32-бит Windows XP.
Попытка
Компонента = Новый COMОбъект("NScales.Scales"); //Создаём объект
Если (не Компонента.InitModule("")) Тогда //Инициализируем
Сообщить(Компонента.GetStateInfo()); //Получаем сообщение об ошибке
Возврат;
КонецЕсли;
Сообщить(Компонента.GetVersionInfo()); //Получаем версию
Сообщить(Компонента.GetHelp()); //Получаем краткую справку
//Подключаемся к весам Mettler Toledo IND310 на порту COM1:
Компонента.ConnectDevice("Mettler Toledo IND310", "COM1 ",9600,1);
Исключение
Сообщить(ОписаниеОшибки());
Компонента = Неопределено;
Возврат;
КонецПопытки;
Вес = Компонента.GetWeight(); //Получаем вес
Если (Компонента.IsOK()) Тогда //Проверяем состотяние
Сообщить("Вес: "+Вес);
Иначе
Сообщить(Компонента.GetStateInfo()); //Получаем сообщение об ошибке
КонецЕсли;
Компонента.DisconnectDevice(); //Отключаем терминал
Компонента = Неопределено; //Удаляем компоненту