Имя: Пароль:
1C
 
Переход между колонками в табличной части
,
0 Мафусаил
 
08.07.19
17:37
Всем привет!
Есть у меня одна непонятка, как работает переключение фокуса между колонками по завершению редактирования, на обычных формах.
Мне необходимо настроить уникальный порядок перехода между колонками. Я решил это сделать кодом:

ЭлементыФормы.Товары.ТекущаяКолонка = ЭлементыФормы.Товары.Колонки.Количество;

Код этот срабатывает, текущая колонка устанавливается, проверял через отладчик.
но в некоторых случаях текущая колонка становиться другой. Я заметил это бывает в том случае, если добавить новую строку. Запустив обработчик, колонка в отладчике установиться на нужную, но по завершению перейдет на следующую (ед. изм) при этом после ничего не перезаписывает её на новую, смотрел в замере производительности.
Если редактировать уже добавленные строки в тч, то всё работает на ура. В чём может быть причина?

Может быть есть альтернативный вариант решения данной задачи?

п.с. у всех колонок снята галка в свойствах "пропускать при вводе"
1 Мафусаил
 
08.07.19
17:54
неужели никто не знает?
2 Eg0rkas
 
08.07.19
18:20
если добавляешь/удаляешь колонки, то лучше их обрабатывать с конца
3 Мафусаил
 
08.07.19
18:33
(2) в плане?
4 Мафусаил
 
08.07.19
18:51
(2) при чём тут удаление колонки?
5 Eg0rkas
 
09.07.19
07:53
(4) я неправильно тебя понял, извини. не обращай внимание на мое сообщение
6 Мимохожий Однако
 
09.07.19
07:56
Что это за "уникальный порядок"?
7 Мимохожий Однако
 
09.07.19
08:04
Иногда удобнее добавить отдельную форму для редактирования строки.
8 Сияющий в темноте
 
09.07.19
08:32
фича первая-если редактирование поля не закончено и введено неверное значение,то переключить фокус ввода нельзя.
фича вторая,при использовании enter поля обходятся в порядке следования,а на последнем заканчивается редактирование.
фича третья-чтобы мышью завершить редактирование строки,нужно ткнуть мимо строки,и фокус отправится туда.

вам точно нужно переключать активную колонку ПОСЛЕ окончания редактирования?
9 Мафусаил
 
09.07.19
13:17
(8) хочу сделать быстрый ввод. прикол в том что пользователь поменял местами колонки, например, характеристика перед номенклатурой, стандартный обход уже не работает, по этому пишу кодом, на событие при изменение.

то есть человек выбрал номенклатуру, или вписал артикул, нажал энтер, текущая колонка перескочила на колонку назад, на характеристику (тут всё работает) вписал характеристику, текущая колонка стала количеством (а вот тут, что то не так) и текущая колонка с количества перескакивает на ед. изм. Не понятно по какой причине, в коде нету строки, которая меняет текущую колонку.

у меня получилось это хоть как то сделать, что каждой колонке я установил свойство "пропускать при вводе" и потом снял это свойство номенклатуре, характеристики и количеству.

но для меня всё равно остается не понятным почему так, почему колонка количество пропускается и становиться активной следующая стоящая колонка за количеством.
10 mistеr
 
09.07.19
14:18
(9) Пользователь наверное не просто так поменял местами колонки, а потому что ему так удобнее. Я бы не стал ограничивать пользователя там, где в этом нет необходимости.
11 Ёпрст
 
09.07.19
14:38
(0) всё не читал, в свойствах колонки есть "пропускать при вводе" это свойство и отрабатывает у вас для новой строки
12 DTX 4th
 
09.07.19
15:00
ОбновлениеОтображения
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой