Переход на другую колонку по нажатию Enter

1. squall84 22.05.18 13:32 Сейчас в теме
В табличной части документа при создании новой строки можно перемещаться по ячейкам строки по нажатию Enter. В уже созданной строке такого нет, по нажатию Энтер редактируется ячейка

Сейчас поставили задачу сделать так, чтобы подобие такого функционала срабатывало в уже введенной строке, а именно:
Нужно после ввода цены по нажатию на Enter перемещаться на колонку количества. Нигде не могу найти можно ли это реализовать и как.
По теме из базы знаний
Найденные решения
7. ranis888 104 23.05.18 10:59 Сейчас в теме
(3) Для того, чтобы перейти к след строке ТабличноеПоля надо:
вычислить номер текущей:
Код
   
   СтрокаТабличнойЧасти = ЭлементыФормы.Получатели.ТекущиеДанные;
   
   Если СтрокаТабличнойЧасти = Неопределено Тогда
      Возврат;
   КонецЕсли;             
   
   ИндексСтроки = СтрокаТабличнойЧасти.НомерСтроки;
Показать полностью


Инкриментировать
Код
  ИндексТекСтроки = ИндексТекСтроки + 1; 
Показать полностью


Собственно перейти, указав новую ссылку строчку набора данных (ТабличнойЧасти)

Код
 ЭлементыФормы.Получатели.ТекущаяСтрока = Продукция[ИндексТекСтроки - 1];
 
Показать полностью
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. x2z7yy 23.05.18 07:02 Сейчас в теме
5. squall84 23.05.18 10:25 Сейчас в теме
(4) Обычная форма. УПП. Док.-Поступление в НТТ.
2. harvester_sorrow 24 22.05.18 13:43 Сейчас в теме
Если обычные формы то все просто в конфиг. когда открыли форму заходите в заклладку
Форма - Настройка порядка обхода и вторая вкладка Порядок обхода
3. squall84 22.05.18 23:26 Сейчас в теме
(2)Порядок обхода настраивает элементы формы, но не обход табличной части. А мне нужно именно табличную часть настроить.
6. ranis888 104 23.05.18 10:50 Сейчас в теме
(3)А переходить через TAB и стрелками не удобно?
7. ranis888 104 23.05.18 10:59 Сейчас в теме
(3) Для того, чтобы перейти к след строке ТабличноеПоля надо:
вычислить номер текущей:
Код
   
   СтрокаТабличнойЧасти = ЭлементыФормы.Получатели.ТекущиеДанные;
   
   Если СтрокаТабличнойЧасти = Неопределено Тогда
      Возврат;
   КонецЕсли;             
   
   ИндексСтроки = СтрокаТабличнойЧасти.НомерСтроки;
Показать полностью


Инкриментировать
Код
  ИндексТекСтроки = ИндексТекСтроки + 1; 
Показать полностью


Собственно перейти, указав новую ссылку строчку набора данных (ТабличнойЧасти)

Код
 ЭлементыФормы.Получатели.ТекущаяСтрока = Продукция[ИндексТекСтроки - 1];
 
Показать полностью
8. ranis888 104 23.05.18 11:06 Сейчас в теме
(3) А если надо после выбора продукции перейти на поле количество, тогда 1 индекс передаешь номенклаитуру, 2му индексу передаешь поле количество.(Условие при изменении номенклатуры)
Код
ЭлементыФормы.Получатели.ТекущаяСтрока = СтрокаТабличнойЧасти.НомерСтроки;(колличество)
Показать полностью
9. x2z7yy 23.05.18 11:10 Сейчас в теме
(5)
Процедура ТоварыПриИзмении(Элемент)
 
  ПодключитьОбработчикОжидания("ИзменитьЦену",0.1,Истина);
 
КонецПроцедуры
 
Процедура ИзменитьЦену()
 
  ЭлементыФормы.Товары.ТекущаяКолонка = ЭлементыФормы.Товары.Колонки.Цена;
  ЭлементыФормы.Товары.ИзменитьСтроку();
 
КонецПроцедуры
Показать


Ну ты понял, по аналогии выбери свои колонки
чингачгук; Sinoptik_spb; squall84; +3 Ответить
10. ranis888 104 23.05.18 11:14 Сейчас в теме
Еще одно решение есть. через недокументированную возможность 1С

создай Командную Панель, скрой ее, добавь кнопку "Энтер"
при открытии формы назначь ей сочетание клавиш = БыстрыйВызов(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);
КонецПроцедуры
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот