Ввиду достаточно объемного API МДЛП и дефицита опубликованного кода для 1С 7.7 буду выкладывать свои разработки связанные с этой темой. Очень уж непросто в одни руки написать полноценный обмен с МДЛП.
В данном случае выкладываю доработанный мной вариант для 1С 8.3, размещенный на этом же ресурсе. Он предполагает, что в конфигурации используется библиотека 1С++. Думаю, что в конфигурациях, в которых может потребоваться данная разработка, она применяется по-умолчанию. Также предполагается, что подсистема работы со сканером совместима с 1С:Торговля и склад 9.2. Если нет, то закомментируйте процедуру ОбработкаВнешнегоСобытия.
Выделяемые компоненты из штрихкода МДЛП минимально достаточны для работы. Если чего-то не хватает лично вам, то добавить это будет совершенно не сложно по аналогии с реализованным.
По мере развития функционала буду обновлять обработку. Постоянно сталкиваешься с тем, что реальная работа подкидывает разные фичи. Например, некоторые найденные мною QRCode содержат некорректные данные - SGTIN длиной 26 символов. Или QRCode, содержащий ЧЕЛОВЕКОЧИТАЕМЫЕ! данные. Типа такого: (01)18901148006024(17)220500(10)B901393(240)3004(21)B24APFFPPV7WZ
Пример использования:
СтрДанныеШК = "(01)18901148006024(17)220500(10)B901393(240)3004(21)B24APFFPPV7WZ";
авШК = РасшифровкаШКМаркировки(СтрДанныеШК);
Если авШК.ТипШК = 2 Тогда //штрихкод упаковки SGTIN
Сообщить("SGTIN = " + авШК.SGTIN);
Если ПустоеЗначение(авШК.СрокГодности_17) = 0 Тогда
Сообщить("Срок годности: " + авШК.СрокГодности_17);
КонецЕсли;
ИначеЕсли авШК.ТипШК = 3 Тогда //групповая упаковка SSCC
Сообщить("SSCC = " + авШК.SSCC);
ИначеЕсли авШК.ТипШК = 0 Тогда //ошибка формата
Сообщить("Ошибка: " + авШК.СтрОшибка);
Иначе //прочий штрихкод
КонецЕсли;
Тестировалось на релизе 1С:Предприятие 7.7.027.