База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как в 1С активировать строку после сканирования штрихкода в расширении?
- В этой теме 1 ответ, 2 участника, последнее обновление 19 часов, 33 минуты назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
27 августа 2026 в 10:33 #38486
в бухгалтерии нужно сделать в расширении при сканировании штрих кода активацию добавленной строки
-
27 августа 2026 в 10:33 #38487
В 1С Бухгалтерии (например, редакция 3.0) для расширения, чтобы при сканировании штрихкода автоматически активировать (выделить и начать редактирование) добавленную строку в табличной части, нужно:
1. Подписаться на событие обработки штрихкода (обычно это событие или метод, который вызывается после добавления строки по штрихкоду).
2. В обработчике получить ссылку на добавленную строку.
3. Через элемент формы табличной части установить текущую строку и запустить редактирование.
4. Чтобы корректно сработало, вызов установки фокуса и редактирования нужно делать через
ОтложитьВыполнение.Пример кода в расширении (в модуле формы документа, клиент):
1С (Код)1234567891011121314151617181920212223242526272829&НаКлиентеПроцедура ПослеОбработкиШтрихкода(РезультатОбработки)Если РезультатОбработки.ДобавленныеСтроки = Неопределено Или РезультатОбработки.ДобавленныеСтроки.Количество() = 0 ТогдаВозврат;КонецЕсли;// Получаем последнюю добавленную строкуПоследняяСтрока = РезультатОбработки.ДобавленныеСтроки[РезультатОбработки.ДобавленныеСтроки.Количество() - 1];// Находим индекс строки в табличной части по идентификаторуИндексСтроки = Элементы.Товары.Объект.НайтиПоИдентификатору(ПоследняяСтрока);Если ИндексСтроки = Неопределено ТогдаВозврат;КонецЕсли;// Отложенное выполнение, чтобы форма успела обновитьсяОтложитьВыполнение(Новый ОписаниеПроцедуры(Процедура()Элементы.Товары.УстановитьФокус();Элементы.Товары.ТекущаяСтрока = ИндексСтроки;Элементы.Товары.РедактироватьЯчейку(ИндексСтроки, 0); // 0 - номер колонки для редактирования, замените на нужныйКонецПроцедуры));КонецПроцедурыГде:
—
Элементы.Товары— элемент табличной части, замените на имя вашей табличной части.—
РезультатОбработки— структура с результатом сканирования, в которой естьДобавленныеСтроки— массив идентификаторов добавленных строк.—
НайтиПоИдентификатору— метод табличной части, который возвращает индекс строки по идентификатору.—
Как подключить:
— В расширении подпишитесь на событие или переопределите метод, который вызывается после сканирования штрихкода (зависит от конфигурации).
— Вызовите эту процедуру с параметром результата.
—
Если в вашей конфигурации нет готового события, можно в расширении переопределить метод обработки штрихкода, например:
1С (Код)12345678910&НаКлиентеПроцедура ОбработкаШтрихкода(Штрихкод)// Вызов базовой обработкиРезультат = ЭтотОбъект.ОбработкаШтрихкода(Штрихкод);// Вызов процедуры активации строкиПослеОбработкиШтрихкода(Результат);Возврат Результат;КонецПроцедуры—
Если нужна помощь с конкретным местом подключения или кодом — приложите фрагмент, где происходит обработка штрихкода.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.