Имя: Пароль:
1C
1С v8
Настройка порядка обхода в УП. 8.2
0 Спящая
 
21.01.13
12:50
Добрый день столкнулась с проблемой настройки порядка обхода в управляемой форме. Суть проблемы ; собственноручно разработанный документ с табличной частью. В табличной части, при вводе строки выбирается Реквизит 1 и далее идет  заполнение следующих реквизитов. При этом реквизиты располагаются так Реквизит1, Реквизит2, Реквизит3,Реквизит4. При вводе значений Реквизита1 есть процедура автоматического расчета Реквизита2, далее пользователем заполняется Реквизит3 и соответственно расчет Реквизита4. Каким образом настроить управляемую форму так, что бы после окончания ввода в поле Реквизит1, курсор перескакивал на Реквизит3 ? Можно ли это сделать программно ? У меня были мысли что-то типа Элемент.ТекущееЗначение = Элемент.Реквизит3
1 vicof
 
21.01.13
12:52
Пропускать при вводе?
2 Спящая
 
21.01.13
12:55
(1) установила - не работает.
3 vicof
 
21.01.13
12:57
ладно, начнем издалека...Что отладчик говорит?
4 Спящая
 
21.01.13
13:04
(3) вполне возможно что тут какие то фокусы с кнопкой Enter. Я пытаюсь перейти на следующей реквизит либо Enter-ом, либо стрелочкой на клавиатуре ( так привыкли пользователи, стараюсь подстроить под них . так как документ большой ) . Отладчиком порядок обхода элементов я не проверяла, не знала что такое возможно.
5 Спящая
 
21.01.13
13:05
(3) что именно мне следует посмотреть в отладчике ?
6 vicof
 
21.01.13
13:09
какой элемент выбирается при очередном нажатии энтера
7 Спящая
 
21.01.13
13:15
(6) никакой, у Реквизит1 и Реквизит3 в свойствах заполнен СписокВыбора исходя из их значения, а Реквизиты2 и Реквизит4 - это число. При выборе по энтеру реквизита1 активность так и остается на этом реквизите, никуда не переходит, ее приходится переводить на следующий реквизит вручную. Возможно в этом проблема.
8 vmv
 
21.01.13
13:16
(0)

1. создай группу типа "Страницы>>СтраницаПоследовательныхРеквизитов"

2. Закладки на родительской странице убери

3. Все последовательные реквизиты расположи на созданной странице без с дефолтными палитрами свойств(ничего там не тыкать - УФ 1С любит страницы и понимает их без дурацких шорканий)

4. наслаждайся результатом.

5. выложи фото
9 vmv
 
21.01.13
13:18
(7) если реквизит со списком выбора, то немного сложнее, возможно нужно будет переопредилить обработчики элемента формы, но страница все равно надо
10 Спящая
 
21.01.13
13:22
(8) Возможно я не до конца все написала -  порядок обхода я пытаюсь настроить в табличной части документа.
как туда поместить страницу ?
и потом  следует видеть результат расчета, то есть Реквизиты2 и Реквизит4.
11 vmv
 
21.01.13
13:26
(10) это же меняет дело кардинально.

в ТЧ на УФ есть методы перевода фокуса строки/колонки - не помню точно их идентификацию, СП лень открывать, т.к. нет фото(
12 vmv
 
21.01.13
13:27
+(11) ну и группы колонок должны стоять ровненько - штык к штыку
13 Спящая
 
21.01.13
13:29
(12)Фото загрузила, группы колонок так
Группа1
  Реквизит1
  Реквизит2
Группа2
  Реквизит3
  Реквизит4
а вот метод перевода фокуса - не знала, сейчас посмотрю.
14 vmv
 
21.01.13
13:35
(13)

набираем в СП "ТаблицаФормы" и смотрим описание свойств/методов

красивая, может еще чем помогу, пока этого достаточно)
15 Спящая
 
21.01.13
13:39
(14)Спасибо, и за помощь и за комплимент ;-)
16 Спящая
 
21.01.13
14:09
(14) вот что то  в СП и не могу найти ничего похожего.
17 Спящая
 
21.01.13
14:39
апну , что -то не могу разобраться, в инете ничего такого нет
18 Спящая
 
21.01.13
15:35
вот что то типа такого, только на упр.формахhttp://help1c.com/help/view/9217.html
19 vmv
 
21.01.13
15:52
(18) на критичных колонках таблицы формы(тех с которых нужно скакать на следующую при выборе, но этого не происходит либо нужно сразу активизировать ввод в ячейке скачка) необходимо инициализировать стандартный отбработчик ПриИзменении()

примерно так

Процедура Реквизит1ПриИзменении(Элемент)

   Элементы.МояТаблица.ТекущийЭлемент = Элементы.Реквизит2;
       Элементы.МояТаблица.ИзменитьСтроку(); // это сразу будет предлагать ввод, полезно для чисел, если есть список выбора, то создать вложенное условие


КонецПроцедуры
20 vmv
 
21.01.13
15:56
+(19) ну там с первого на 3-й приыгать, а расчетному Реквизит2 только просмотр поставить и на него не пригать, т.е.

Процедура Реквизит1ПриИзменении(Элемент)

Элементы.МояТаблица.ТекущийЭлемент = Элементы.Реквизит3; // прыгаем с 1-го на 3-й
Элементы.МояТаблица.ИзменитьСтроку();  // 3-й число, посему сразу входим в режим ввода

КонецПроцедуры

усе мамзеля)
21 Спящая
 
21.01.13
16:20
(20) я Вам благодарна, все работает )))