Привет. У меня есть 2 вопроса.
вопрос 1. Как я могу изменить префикс штрих-кода? Я хочу поставить 21.
вопрос 2. Пусть в штрих-коде указано количество товара, а не цена товара.
Можете ли вы привести пример, если это возможно?
SKU = Стр.SKU;
КодТовара = Стр.SKU;
Наименование = Стр.Номенклатура.Наименование;
ЦенаПродажи = Стр.ЦенаПродажи;
// Формируем строку
СтрокаВесовогоТовара = "54000D2601";
// цена за единицу веса
СтрокаВесовогоТовара = СтрокаВесовогоТовара + Прав("00000000"+СтрЗаменить(Формат(ЦенаПродажи*100,"ЧГ="),",",""),8);
//11 – номер формата этикетки – будет использоваться свободный формат F1
//06 – формат штрихкода (1 цифры флага, 6 артикула и 5 веса
СтрокаВесовогоТовара = СтрокаВесовогоТовара + BarcodeCodeFormat;
// данные штрихкода
СтрокаВесовогоТовара = СтрокаВесовогоТовара + "22" + Прав("000000000"+Формат(КодТовара,"ЧГ="),6) + "000000";
// срок продажи в днях
СтрокаВесовогоТовара = СтрокаВесовогоТовара + "0000";
// номер спец. сообщения, номер ингредиента
СтрокаВесовогоТовара = СтрокаВесовогоТовара + "0101";
// строка наименования шрифтом S4
мНаименование = СокрЛП(Наименование);
СтрокаВесовогоТовара = СтрокаВесовогоТовара + "03"+Драйвер.INTHEX(СтрДлина(Наименование));
//
Для Цкл=1 По СтрДлина(мНаименование) Цикл
СтрокаВесовогоТовара = СтрокаВесовогоТовара + Драйвер.ANSI2OEMHEX(Сред(Наименование, Цкл,1));
КонецЦикла;
СтрокаВесовогоТовара=СтрокаВесовогоТовара+"0C";
// длина записи для этого товара
СтрокаВесовогоТовара = Прав("0000" + Драйвер.INTHEX(СтрДлина(СтрокаВесовогоТовара)/2+7),4)+СтрокаВесовогоТовара;
// номер товара
СтрокаВесовогоТовара=Прав("000000000"+Формат(SKU,"ЧГ="),8) + СтрокаВесовогоТовара;
//// Посчитаем контрольную сумму
КонтрольнаяСумма = 0;
Для Цкл=1 По СтрДлина(СтрокаВесовогоТовара) Цикл
КонтрольнаяСумма=КонтрольнаяСумма+Драйвер.VALFORSTR(Сред(СтрокаВесовогоТовара,Цкл,2));
Цкл=Цкл+1;
КонецЦикла;
СтрокаВесовогоТовара=СтрокаВесовогоТовара+Прав("00"+Драйвер.INTHEX(КонтрольнаяСумма),2);
ВсеСтрокиВесовогоТовара = ВсеСтрокиВесовогоТовара+СтрокаВесовогоТовара; Показать