Как программно установить курсор на редактирование в ячейке ТЧ? #760318


#0 by Bot01
Добрый день. УТ 11.1, 8.3. Тонкий клиент, управляемая форма. При открытии формы нужно установить курсор в первую ячейку первой строки табличной части (ТЧ) документа (туда будут заноситься данные со сканера). После этих манипуляций всё равно нужно нажать ВВОД, чтобы перейти в режим редактирования ячейки. А сразу как?
#1 by mikeA
РежимРедактирования= РежимРедактированияКолонки.ВходПриВводе
#2 by mikeA
+ у поля ввода
#3 by Bot01
у поля ввода и так стоим режим редактирование "Вход при вводе". Но, попробую ещё.
#4 by Bot01
* стоит режим редактирования
#5 by НЕА123
непосредственно
#6 by Bot01
Визуальные эффекты не изменились.
#7 by Bot01
Тоже требует нажатия ВВОД.
#8 by Lexey_
Синтаксис: ИзменитьСтроку Описание: Начинает интерактивное изменение данных текущей строки, аналогично выполнению команды "Изменить".
#9 by Fedor-1971
У тебя нет строки, что ты хочешь Изменить? Попробуй примерно так:
#10 by Bot01
Есть строки) В они закомментированы что бы показать, что и без них получается тот же результат. Так не работает: Элементы.ТЧ.ТекущаяСтрока ожидает не "элемент коллекции". А так:
#11 by Fedor-1971
В каком месте вызываешь сей код в ПриОткрытии или в ПриСозданииНаСервере? Что будешь делать если открывают уже созданный документ?
#12 by Bot01
ПриОткрытии. Только для документа с Пустой ссылкой.
#13 by Fedor-1971
пробуй добавить строку так: а не через Элементы.
#14 by Bot01
Есть строка, она текущая, только нужно ВВОД нажать, чтобы перейти в режим редактирования ячейки.
#15 by Fedor-1971
сделай кнопку с этим кодом, если строка перейдёт в режим редактирования, значит где-то в форме отрабатывает параллельная процедура установки текущей строки. Как вариант, чисто для проверки, вынеси код в процедуру ПриАктивацииСтроки у ТЧ.
#16 by Bot01
Да, с кнопкой сработало.
#17 by Bot01
Сделал внешнюю обработку. Тот же самый код работает при нажатии кнопки и не работает при открытии...
#18 by Bot01
а "параллельных процедур установки текущей строки" там нет...
#19 by НЕА123
В конец ПриОткрытии попробовать добавить
#20 by Bot01
Осталась одна строка, но ячейка для редактирования не доступна.
#21 by Fedor-1971
так в любом случае после ПриОткрытии вызываются ПриАктивацииСтроки у ТЧ, правда в каком порядке не понятно, они и сбивают твоё редактирование или, что более вероятно, ИзменитьСтроку тупо не отрабатывает в ПриОткрытии, т.к. потом отработают активации и всё равно собьют.
#22 by Fedor-1971
21+ Для решения твоей задачи хорошо бы иметь событие ПолностьюОткрытаФорма, но такового нет. Попробуй опереться на ОбработкаВнешнегоСобытия - Сканировали, значит добавляем строку и открываем её редактирование в колонке количество.
#23 by Bot01
Да, в при выполнении Элементы.ТЧ.ДобавитьСтроку; отрабатывает ТЧПриАктивизацииСтроки... КонецПроцедуры мне ни чего не дало. А ещё варианты?
#24 by Bot01
Спасибо. Буду думать.
#25 by Nuobu
Вот так пробовал?
#26 by Bot01
Так заработало! Спасибо большое всем за помощь.
#27 by Bot01
А почему тАк работает?
#28 by Nuobu
Ну, "ПриОткрытии"  вызывается передоткрытием формы, когда её еще нет на экране. Ты писал, что юзал кнопку и оно нормально отработало. Выходит, форма должна появиться, а потом должен вызваться твой код. Отсюда и задержка в 0.2 секунды.
#30 by Bot01
Спасибо.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С