МаркировкаГруппа=ТипаГТИН;
МаркировкаЭкземпляр=ТипаСериал+ТипаЦена;
Для й = 1 по 13-СтрДлина(МаркировкаЭкземпляр) Цикл
МаркировкаЭкземпляр=МаркировкаЭкземпляр + " ";
КонецЦикла;
ТипМарки=5.1;
Если Ответ=0 Тогда
Попытка
Объект.CancelCheck();
Исключение
КонецПопытки;
ОтключитьсяОтФР(Объект, 0);
Возврат 0;
КонецЕсли;
Объект.ЗакончитьПозицию();
КонецЦикла;
Попытка
Объект.AttrNumber = AttrNumber;
Если флЗапись = 1 Тогда // проверять на "ПредЗначение <> текЗначение НЕЛЬЗЯ", т.к. записывать необходимо ВСЕГДА принудительно, иначе не будет результата при дальнейшем использовании
Объект.AttrValue = ?(число(AttrNumber)=1229, окр(текЗначение*100,0), текЗначение);
Объект.AttrPrint = флПечать;
Объект.WriteAttribute();
Иначе
Объект.ReadAttribute();
текЗначение = Объект.AttrValue;
КонецЕсли;
Исключение
Сообщить("Ошибка "+?(флЗапись = 1, "записи атрибута ", "обращения к атрибуту ") + AttrNumber);
Возврат 0;
КонецПопытки;
Если Объект.ResultCode <> 0 Тогда
ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект);
Сообщить("Ошибка "+?(флЗапись = 1, "записи атрибута ", "обращения к атрибуту ") + AttrNumber+": "+ОписаниеРезультата);
Возврат 0
КонецЕсли;
Возврат 1; // 0 - ошибка исполнения, 1 - успешная запись или чтение
КонецФункции
//******************************************************************************
Функция ДополнитьСтрокуЛ(Стр,Чем,Длина)
Добавить=Длина-СтрДлина(Стр);
Добавок="";
Для Сч = 1 По Добавить Цикл
Добавок=Добавок+Чем;
КонецЦикла;
Возврат Добавок+Стр;
КонецФункции //ДополнитьСтрокуЛ()
//********************************************************************************
Функция Из_10_В_Любую(Знач Значение=0,Нотация=36) Экспорт
Если Нотация<=0 Тогда Возврат("") КонецЕсли;
Значение=Число(Значение);
Если Значение<=0 Тогда Возврат("0") КонецЕсли;
Значение=Цел(Значение);
Результат="";
Пока Значение>0 Цикл
Результат=Сред("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",Значение%Нотация+1,1)+Результат;
Значение=Цел(Значение/Нотация) ;
КонецЦикла;
Возврат Результат;
КонецФункции
//******************************************************************************
//Вбайты(5,0,1,2) + ?(ПустоеЗначение(МаркировкаГруппа)=1,"",Вбайты(сокрлп(МаркировкаГруппа),0,1,6)) + Вбайты(МаркировкаЭкземпляр,0,2,ДлинаСериала)
Функция Вбайты(Зн, Порядок=0, Способ=0, Длина=0) //Порядок = 0 (big endian), 1 (little endian)
Если Способ = 0 Тогда //без преобразования
Рез1 = зн
ИначеЕсли Способ = 1 Тогда //число из 10-ой в 16-ую
Рез1 = Из_10_В_Любую(Зн,16);
ИначеЕсли Способ = 2 Тогда //строку в 16-ую
Рез1 = "";
для й = 1 по СтрДлина(Зн) Цикл
Рез1 = Рез1 + Из_10_В_Любую(КодСимв(Сред(зн,й,1)),16);
КонецЦикла;
КонецЕсли;
Рез1 = ДополнитьСтрокуЛ(Рез1, "0", Длина*2); //добиваем нулями строку, если длина задана фиксированной
//добавим пробелы для разделения байтов
кк = СтрДлина(Рез1) / 2; Рез = "";
для й = 1 по кк Цикл
Если Порядок = 0 Тогда //big endian - порядок следования байтов от старшего к младшему
Рез = Рез + Сред(Рез1,й*2-1,2)+" "
Иначе //little endian - порядок следования байтов от младшего к старшему
Рез = Сред(Рез1,й*2-1,2)+" " + Рез
КонецЕсли;
КонецЦикла;
(1) Платформу 2.5 с 31 марта уже особо не развивают, а с 2021 году вообще прекращают поддерживать. ДТО 8 и 9 уже прекратили поддерживать, так что, как ранее писали, вам стоит задуматься над переходом на платформу 5.0 и ДТО 10
ДТО 8.16 давно сняли с поддержки.
Копать в сторону "Драйвер АТОЛ 10, платформа 5.0"
http://integration.atol.ru/api/ Я бы думал о JSON-заданиях через web-сервер...
У меня код товара начинался на "00 05", еще пробывал на "44 4D".
Если отключили автоматическое форматирование реквизита, может кто знает как запускать это форматирование?