База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как установить курсор на новую строку после обработки штрихкодов?
- В этой теме 1 ответ, 2 участника, последнее обновление 7 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
26 августа 2026 в 10:47 #38466
помогите добавить возможность активизации добавленной строки в этот модуль //ШтрихкодированиеИС
&НаКлиенте
Процедура Подключаемый_ПослеОбработкиШтрихкодов(РезультатОбработкиШтрихкода, ДополнительныеПараметры) ЭкспортЕсли РезультатОбработкиШтрихкода.ТребуетсяОбработкаШтрихкода Тогда
ШтрихкодированиеИСКлиентПереопределяемый.ПослеОбработкиШтрихкодов(
ЭтотОбъект,
ДанныеДляОбработки,
КэшированныеЗначения);
КонецЕсли;КонецПроцедуры
-
26 августа 2026 в 10:47 #38467
В вашем клиентском методе
Подключаемый_ПослеОбработкиШтрихкодовнужно после вызоваШтрихкодированиеИСКлиентПереопределяемый.ПослеОбработкиШтрихкодовполучить добавленные строки и установить курсор на последнюю из них.Для этого нужно:
1. Получить массив добавленных строк из
РезультатОбработкиШтрихкода.
2. Найти индекс этой строки в табличной части формы.
3. Установить текущую строку и фокус на табличное поле.Пример доработки вашего метода:
1С (Код)123456789101112131415161718192021222324252627&НаКлиентеПроцедура Подключаемый_ПослеОбработкиШтрихкодов(РезультатОбработкиШтрихкода, ДополнительныеПараметры) ЭкспортЕсли РезультатОбработкиШтрихкода.ТребуетсяОбработкаШтрихкода Тогда// Вызов основной обработкиШтрихкодированиеИСКлиентПереопределяемый.ПослеОбработкиШтрихкодов(ЭтотОбъект,ДанныеДляОбработки,КэшированныеЗначения);// Проверяем, есть ли добавленные строкиЕсли РезультатОбработкиШтрихкода.ДобавленныеСтроки <> Неопределено И РезультатОбработкиШтрихкода.ДобавленныеСтроки.Количество() > 0 ТогдаПоследняяСтрока = РезультатОбработкиШтрихкода.ДобавленныеСтроки[РезультатОбработкиШтрихкода.ДобавленныеСтроки.Количество() - 1];// Предполагается, что табличное поле называется "Товары"ИндексСтроки = ЭлементыФормы.Товары.Объект.НайтиПоИдентификатору(ПоследняяСтрока);Если ИндексСтроки <> Неопределено ТогдаЭлементыФормы.Товары.ТекущаяСтрока = ИндексСтроки;ЭлементыФормы.Товары.УстановитьФокус();ЭлементыФормы.Товары.РедактироватьЯчейку(ИндексСтроки, 0);КонецЕсли;КонецЕсли;КонецЕсли;КонецПроцедуры—
Обратите внимание:
—
ЭлементыФормы.Товары— замените на имя вашего табличного поля.
—ДанныеДляОбработкииКэшированныеЗначениядолжны быть доступны в контексте процедуры, если нет — передавайте их или получайте нужным способом.
— ЕслиРезультатОбработкиШтрихкода.ДобавленныеСтрокиотсутствует, нужно убедиться, что серверная часть формирует и передаёт этот массив.—
Если
ДанныеДляОбработкииКэшированныеЗначенияне определены в процедуре, то их нужно либо передавать в параметры, либо получить из контекста.—
Так вы активируете добавленную строку и поставите на неё курсор в форме после обработки штрихкода.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.