Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 ноя 2024, 01:34

Не могу победить автозаполнение штрихкодами

Автор Barberhate, 27 апр 2020, 12:56

0 Пользователей и 1 гость просматривают эту тему.

Barberhate

Добрый день. Прошу помощи в решении проблемы:

В типовой обработке ПечатьЭтикетокИЦенников пытаюсь сделать автоматическую установку штрихкодов для товаров из подбора, если у товара они отсутствуют.

Делаю, как на скриншоте..


Почему-то не взлетает. Происходит следующее:
1. Если добавлять в пустую табличную часть, то штрихкода нет.
2. Если в табличной части есть товары, то при добавлении нового, штрихкода всё-равно нет.
3. Если в табличной части есть товары и, "встать" на какой-либо, после чего добавить новые товары, тогда у того, на котором стояли, появляется штрихкод.

При этом на соседнем форуме, человек, давший это решение, прислал видео, на котором видно, что работает нормально.. ЧЯДНТ?


УТ 11,3

АлександрВладимирович

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

antoneus

Что делает и возвращает УстановитьНовыеШтрихкодыEAN13НаСервере?

Barberhate

Цитата: antoneus от 27 апр 2020, 16:16УстановитьНовыеШтрихкодыEAN13НаСервере

Это типовая функция, которая генерит штрихкоды.
Добавлено: 27 апр 2020, 16:27


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


О чудо! Заработало! А не подскажете, в чём фишка очищать выделенные строки и потом добавлять с получением идентификатора? Логику не пойму

АлександрВладимирович

УстановитьНовыеШтрихкодыEAN13НаСервере() создает штрихкоды для номенклатур, которые присутствуют в выделенных строках таблицы Товары. Возвращает количество созданных штрихкодов, или ноль если что-то пошло не так.

"очищать выделенные строки и потом добавлять с получением идентификатора" - это чтобы в выделенных строках гарантированно была строка, которую надо обработать. Так как вот это:
Элементы.Товары.Текущая строка = НоваяСтрока.НомерСтроки - 1;
иногда работает правильно, иногда нет. Например, одна из ваших ситуаций, когда штрихкод появлялся, но не там где ожидалось.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск