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