Переход на другую колонку по нажатию Enter
В табличной части документа при создании новой строки можно перемещаться по ячейкам строки по нажатию Enter. В уже созданной строке такого нет, по нажатию Энтер редактируется ячейка
Сейчас поставили задачу сделать так, чтобы подобие такого функционала срабатывало в уже введенной строке, а именно:
Нужно после ввода цены по нажатию на Enter перемещаться на колонку количества. Нигде не могу найти можно ли это реализовать и как.
Сейчас поставили задачу сделать так, чтобы подобие такого функционала срабатывало в уже введенной строке, а именно:
Нужно после ввода цены по нажатию на Enter перемещаться на колонку количества. Нигде не могу найти можно ли это реализовать и как.
По теме из базы знаний
Найденные решения
(3) Для того, чтобы перейти к след строке ТабличноеПоля надо:
вычислить номер текущей:
Инкриментировать
Собственно перейти, указав новую ссылку строчку набора данных (ТабличнойЧасти)
вычислить номер текущей:
Код |
---|
СтрокаТабличнойЧасти = ЭлементыФормы.Получатели.ТекущиеДанные;
Если СтрокаТабличнойЧасти = Неопределено Тогда
Возврат;
КонецЕсли;
ИндексСтроки = СтрокаТабличнойЧасти.НомерСтроки; Показать полностью |
Инкриментировать
Код |
---|
ИндексТекСтроки = ИндексТекСтроки + 1; Показать полностью |
Собственно перейти, указав новую ссылку строчку набора данных (ТабличнойЧасти)
Код |
---|
ЭлементыФормы.Получатели.ТекущаяСтрока = Продукция[ИндексТекСтроки - 1];
Показать полностью |
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) Для того, чтобы перейти к след строке ТабличноеПоля надо:
вычислить номер текущей:
Инкриментировать
Собственно перейти, указав новую ссылку строчку набора данных (ТабличнойЧасти)
вычислить номер текущей:
Код |
---|
СтрокаТабличнойЧасти = ЭлементыФормы.Получатели.ТекущиеДанные;
Если СтрокаТабличнойЧасти = Неопределено Тогда
Возврат;
КонецЕсли;
ИндексСтроки = СтрокаТабличнойЧасти.НомерСтроки; Показать полностью |
Инкриментировать
Код |
---|
ИндексТекСтроки = ИндексТекСтроки + 1; Показать полностью |
Собственно перейти, указав новую ссылку строчку набора данных (ТабличнойЧасти)
Код |
---|
ЭлементыФормы.Получатели.ТекущаяСтрока = Продукция[ИндексТекСтроки - 1];
Показать полностью |
(3) А если надо после выбора продукции перейти на поле количество, тогда 1 индекс передаешь номенклаитуру, 2му индексу передаешь поле количество.(Условие при изменении номенклатуры)
Код |
---|
ЭлементыФормы.Получатели.ТекущаяСтрока = СтрокаТабличнойЧасти.НомерСтроки;(колличество) Показать полностью |
(5)
Ну ты понял, по аналогии выбери свои колонки
Процедура ТоварыПриИзмении(Элемент)
ПодключитьОбработчикОжидания("ИзменитьЦену",0.1,Истина);
КонецПроцедуры
Процедура ИзменитьЦену()
ЭлементыФормы.Товары.ТекущаяКолонка = ЭлементыФормы.Товары.Колонки.Цена;
ЭлементыФормы.Товары.ИзменитьСтроку();
КонецПроцедуры
ПоказатьНу ты понял, по аналогии выбери свои колонки
Еще одно решение есть. через недокументированную возможность 1С
создай Командную Панель, скрой ее, добавь кнопку "Энтер"
при открытии формы назначь ей сочетание клавиш = БыстрыйВызов(13)
и все работает )
создай Командную Панель, скрой ее, добавь кнопку "Энтер"
при открытии формы назначь ей сочетание клавиш = БыстрыйВызов(13)
и все работает )
Процедура КоманднаяПанель1Энтер(Кнопка)
Сообщить(ПолеВвода1);
КонецПроцедуры
Функция БыстрыйВызов(Код, Alt=0, Control=0, Shift=0) Экспорт
Возврат ЗначениеИзСтрокиВнутр("{""#"",69cf4251-8759-11d5-bf7e-0050bae2bc79,1,
|{0,"+ Формат(Код, "ЧН=0; ЧГ=0") +","+ Формат(Alt*16+Control*8+Shift*4, "ЧН=0; ЧГ=0") +"}
|}");
КонецФункции
Процедура ПриОткрытии()
ЭлементыФормы.КоманднаяПанель1.Кнопки.Энтер.СочетаниеКлавиш = БыстрыйВызов(13);
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот