Изменение цифр в штрих-коде и его печать: Invalid barcode (БПО)

1. user659168_xec8787 3 07.06.20 10:30 Сейчас в теме
День добрый.
Есть штрих-код (EAN13), напр. - 3500000065742.
При печати этикетки - картинка штрих-кода выводится отлично.

Стоит задача - изменить первые две цифры из штрих-кода и распечатать.
Меняем первую: 3500000065742 -> 4500000065742
Картинка Штрих-кода не печатается, выводится Invalid barcode.

Внешняя компонента не может сгенерировать картинку.

Подскажите пожалуйста, я правильно понимаю, что нельзя просто заменить цифру(ы) в штрих-коде? Что нужно генерировать новый штрих-код? Возможно компонента проверяет "контрольный символ" - и если не соответствует, то валится в ошибку?
Найденные решения
2. independ 1520 07.06.20 10:42 Сейчас в теме
(1) нужно изменить 13 символ контрольный

ШтрихКод="401911430593";

Тип=13;

	Четн   = 0;
	Нечетн = 0;

	КоличествоИтераций = ?(Тип = 13, 6, 4);

	Для Индекс = 1 По КоличествоИтераций Цикл
		Если (Тип = 8) и (Индекс = КоличествоИтераций) Тогда
		Иначе
			Четн   = Четн   + Сред(ШтрихКод, 2 * Индекс, 1);
		КонецЕсли;
		Нечетн = Нечетн + Сред(ШтрихКод, 2 * Индекс - 1, 1);
	КонецЦикла;

	Если Тип = 13 Тогда
		Четн = Четн * 3;
	Иначе
		Нечетн = Нечетн * 3;
	КонецЕсли;

	КонтЦифра = 10 - (Четн + Нечетн) % 10;

	Сообщить(КонтЦифра);
Показать
Nik_1c_bitrix; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. independ 1520 07.06.20 10:42 Сейчас в теме
(1) нужно изменить 13 символ контрольный

ШтрихКод="401911430593";

Тип=13;

	Четн   = 0;
	Нечетн = 0;

	КоличествоИтераций = ?(Тип = 13, 6, 4);

	Для Индекс = 1 По КоличествоИтераций Цикл
		Если (Тип = 8) и (Индекс = КоличествоИтераций) Тогда
		Иначе
			Четн   = Четн   + Сред(ШтрихКод, 2 * Индекс, 1);
		КонецЕсли;
		Нечетн = Нечетн + Сред(ШтрихКод, 2 * Индекс - 1, 1);
	КонецЦикла;

	Если Тип = 13 Тогда
		Четн = Четн * 3;
	Иначе
		Нечетн = Нечетн * 3;
	КонецЕсли;

	КонтЦифра = 10 - (Четн + Нечетн) % 10;

	Сообщить(КонтЦифра);
Показать
Nik_1c_bitrix; +1 Ответить
3. user659168_xec8787 3 07.06.20 11:40 Сейчас в теме
(2)Спасибо большое, получилось!
4. user1719247 12.03.24 13:31 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот