Имя: Пароль:
1C
1С v8
УТ 11.4 и ШК весового товара.
,
0 Aleksey_a_z
 
17.07.18
13:33
При генерации ШК весового товара вываливает 2_0000100000_
полез в конфигуратор и вот функция:




Функция ПолучитьШтрихкодВесовогоТовараПоКоду(Код, ПрефиксУзлаШтрихкода = "_", Загрузка = Ложь) Экспорт

    Если Загрузка Тогда
        КодТовара = Формат(Код, "ЧЦ=5; ЧВН=; ЧГ=");
    Иначе
        КодТовара = Строка(ПрефиксУзлаШтрихкода) + Формат(Код, "ЧЦ=4; ЧВН=; ЧГ=");
    КонецЕсли;
    
    Штрихкод = "2_" + КодТовара + "00000";
    
    КонтрольныйСимволEAN = "_";
    Штрихкод = Штрихкод + КонтрольныйСимволEAN;

    Возврат Штрихкод;

КонецФункции


Намертво прописывается нижний слеш вместо кода весового товара и контрольной суммы? Это так и должно быть?
1 Aleksey_a_z
 
17.07.18
13:34
ну и предшествующая функция:

// Функция осуществляет формирование штрихкода EAN13 для
// весового товара.
//
// Возвращаемое значение:
//  Строка - Штрихкод весового товара.
//
Функция СформироватьШтрихкодВесовогоТовараEAN13() Экспорт

    ПрефиксУзлаШтрихкода = ПрефиксУзлаШтрихкода();

    Код = ПолучитьМаксимальноеЗначениеКодаВесовыхШтрихкодов() + 1;
    
    Если Код = Неопределено Тогда
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщенияНетСвободныхКодовВесовыхШтрихкодов());
        Возврат Неопределено;
    КонецЕсли;
    
    Возврат ПолучитьШтрихкодВесовогоТовараПоКоду(Код, ПрефиксУзлаШтрихкода);

КонецФункции
2 Garykom
 
гуру
17.07.18
13:35
ПрефиксУзлаШтрихкода() - посмотри

И задай его где то
3 Aleksey_a_z
 
17.07.18
13:36
(2) префикс узла 0
4 Злопчинский
 
17.07.18
13:36
(2) ага, от этого контрольный символ ЕАН, заданный литералом превратится в переменную...?
5 Garykom
 
гуру
17.07.18
13:37
Хотя какой то изврат
6 Garykom
 
гуру
17.07.18
13:37
(4) Да понял уже че то тут не так
7 Aleksey_a_z
 
17.07.18
13:39
(2) Но причем здесь префикс узла, я жму кнопку "новый шк"

Процедура НовыйШтрихкод(Команда)
    
    ОчиститьСообщения();
    
    Если ЭтоВесовойТовар(Запись.Номенклатура, Запись.Упаковка) Тогда
        Запись.Штрихкод = СформироватьШтрихкодEAN13ВесовогоТовара();
    Иначе
        Запись.Штрихкод = СформироватьШтрихкодEAN13();
    КонецЕсли;
    
КонецПроцедуры



далее попадаю в


Функция СформироватьШтрихкодВесовогоТовараEAN13() Экспорт

    ПрефиксУзлаШтрихкода = ПрефиксУзлаШтрихкода();

    Код = ПолучитьМаксимальноеЗначениеКодаВесовыхШтрихкодов() + 1;
    
    Если Код = Неопределено Тогда
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщенияНетСвободныхКодовВесовыхШтрихкодов());
        Возврат Неопределено;
    КонецЕсли;
    
    Возврат ПолучитьШтрихкодВесовогоТовараПоКоду(Код, ПрефиксУзлаШтрихкода);

КонецФункции


и уже сюда


Функция ПолучитьШтрихкодВесовогоТовараПоКоду(Код, ПрефиксУзлаШтрихкода = "_", Загрузка = Ложь) Экспорт

    Если Загрузка Тогда
        КодТовара = Формат(Код, "ЧЦ=5; ЧВН=; ЧГ=");
    Иначе
        КодТовара = Строка(ПрефиксУзлаШтрихкода) + Формат(Код, "ЧЦ=4; ЧВН=; ЧГ=");
    КонецЕсли;
    
    Штрихкод = "2_" + КодТовара + "00000";
    
    КонтрольныйСимволEAN = "_";
    Штрихкод = Штрихкод + КонтрольныйСимволEAN;

    Возврат Штрихкод;

КонецФункции
8 Aleksey_a_z
 
17.07.18
13:41
Взял паузу, надо придумать что сказать завтра клиенту ))
9 yzimin
 
17.07.18
13:56
(7) Всё нормально, для весового товара ШК задаётся как шаблон, там смысл чуть другой, чем у штучного товара. Почитай википедию
10 Garykom
 
гуру
17.07.18
14:01
Точно веса же нет еще, он с весов приходит внутри ШК и конфа по заполненному ШК с весом подбирает шаблон, находит номенклатуру и вычисляет вес.
11 GrandSportS
 
17.07.18
14:11
Советую залезть еще в ФО - Номенклатура - Настройки создания - Настройки префиксов кодов - убедиться, что верно присвоены типы штрихкодов (штучный, весовой) для нужных диапазонов.
12 GrandSportS
 
17.07.18
14:13
(0) И судя по "2_0000100000_" у вас присовен тип Штучный, а должен быть Весовой.
13 yzimin
 
17.07.18
14:17
(12) это шаблон весового. Для слепых даже два нижних подчеркивания вставлено
14 Aleksey_a_z
 
18.07.18
15:54
(12) Внимательно смотрели код?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший