![]() |
|
Переход на следующую строку | ☑ | ||
---|---|---|---|---|
0
Макаров
11.05.07
✎
09:31
|
Всем привет. Возникла такая проблема. Есть док. с заполненой таб частью. необходимо чтобы после ввода данных в графу кол-во активизаровалась следующая строка таб части. попытался сделать так
НомСтр=НомерСтроки; НомСТР=НомСТР+1; Если НомСтр > КоличествоСтрок() Тогда Возврат; Иначе ПолучитьСтрокуПоНомеру(НомСтр); КонецЕсли; Не работает. Вообще возможно ли реализовать то что мне нужно? |
|||
1
Дурилко Картонная
11.05.07
✎
09:32
|
АктивизироватьСтроку
|
|||
2
Макаров
11.05.07
✎
09:34
|
Пробывал тоже почимуто не работает
|
|||
3
Дурилко Картонная
11.05.07
✎
09:35
|
а у меня почимуто работает
|
|||
4
Макаров
11.05.07
✎
09:40
|
В процедуре при открытии работает, АктивизироватьСтроку(2);
А когда док уже открыт и ввел данные, переход на другую строку не происходит, хотя процедура вызывается. |
|||
5
ZanderZ
11.05.07
✎
10:07
|
Процедура ПриОкончанииРедактированияСтроки(Флаг)
АктивизироватьСтроку(НомерСтроки+1); КонецПроцедуры//***************************************************************************** |
|||
6
Mikle Shaman
11.05.07
✎
10:27
|
Если ввод данных интерактивный, а не программный, то просто поставить в свойствах табличной части галку "Автоматический ввод новой строки".
|
|||
7
ZanderZ
11.05.07
✎
10:30
|
ему надо не ввод новой строки а переход уже на существующую как я понял
|
|||
8
Mikle Shaman
11.05.07
✎
10:41
|
(7) Тогда должен работать метод АкивизироватьСтроку()
|
|||
9
Ёпрст2
11.05.07
✎
10:44
|
(0) Можно с ложным закрытием поиграться ....
|
|||
10
Макаров
11.05.07
✎
11:50
|
(5) Спасибо так работает. А при переход на др. строку, можно сделать чтобы значение открывалось для редактирования?
|
|||
11
Программист 484
11.05.07
✎
11:52
|
(10) Нажать enter?
|
|||
12
Макаров
11.05.07
✎
11:57
|
А без нажатия? автоматически при переходе на др. строку
|
|||
13
Программист 484
11.05.07
✎
11:59
|
Ввестичисло() ?
|
|||
14
Макаров
11.05.07
✎
12:01
|
Так тоже не подходит.
Может можно както програмно нажать кнопку enter? |
|||
15
ZanderZ
11.05.07
✎
12:03
|
Процедура ПриОкончанииРедактированияСтроки(ФЛаг)
АктивизироватьСтроку(НомерСтроки+1); Активизировать("ИмяРеквизита",1); КонецПроцедуры |
|||
16
Программист 484
11.05.07
✎
12:03
|
(14) Активизировать - смотри второй реквизит 1
|
|||
17
Программист 484
11.05.07
✎
12:04
|
(15) Опять+1?
|
|||
18
Макаров
11.05.07
✎
12:07
|
Огромное спасибо!
|
|||
19
Ёпрст2
11.05.07
✎
12:25
|
(18) И что, как в (15) работает ?...
|
|||
20
Макаров
11.05.07
✎
12:30
|
Нет, не коректно работает. глюки просходят
|
|||
21
Ёпрст2
11.05.07
✎
12:31
|
(20) :)~
|
|||
22
Программист 484
11.05.07
✎
12:33
|
(20) и что за глюки?
|
|||
23
Chieftain
11.05.07
✎
12:33
|
А так не пройдет?
WshShell=СоздатьОбъект("WScript.Shell"); WshShell.SendKeys("{ENTER}"); |
|||
24
ZanderZ
11.05.07
✎
12:34
|
(21) сам предложи че нить...
|
|||
25
Макаров
11.05.07
✎
12:34
|
Мне тоже стало весело когда увидел глюки. А может всеже кто знае как из 1с програмно нажать кнопку enter?
|
|||
26
Chieftain
11.05.07
✎
12:34
|
(25) Смотри (23)
|
|||
27
Макаров
11.05.07
✎
12:36
|
(22) во всех стоках отображается только та строка на которую ты перешел
|
|||
28
ZanderZ
11.05.07
✎
12:37
|
можно конечно без редактироания
типа Активизировать("ИмяРеквизита",0); Потом в зависимости от типа резквизита выбирать значения (ВвестиЧсило, ВвестиСтроку,ОткрытьФорму и т.д.) |
|||
29
Ёпрст2
11.05.07
✎
12:36
|
Учись, студент ..!
Перем фл; Процедура ПриОкончанииРедактированияСтроки(флаг) Если флаг =0 Тогда фл=1; Форма.Закрыть(0); КонецЕсли; КонецПроцедуры Процедура ПриЗакрытии() Если фл=1 Тогда АктивизироватьСтроку(НомерСтроки+1); Активизировать("Реквизит",1); фл=0; СтатусВозврата(0); КонецЕсли; КонецПроцедуры |
|||
30
Программист 484
11.05.07
✎
12:38
|
(27) а форма.обновить(1) попробуй вставить
|
|||
31
ZanderZ
11.05.07
✎
12:38
|
(29) че за х...
|
|||
32
Макаров
11.05.07
✎
12:38
|
(23) спосибо так все ок.
|
|||
33
Программист 484
11.05.07
✎
12:40
|
Процедура ПриОкончанииРедактированияСтроки(ФЛаг)
АктивизироватьСтроку(НомерСтроки+1); Активизировать("ИмяРеквизита",1); форма.обновить(1) КонецПроцедуры Проверь - скажи результат - стало интересно |
|||
34
Ёпрст2
11.05.07
✎
12:39
|
+29 Только еще вот так лучше, а то из последнего реквизита не выплывешь:
Если НомерСтроки+1<=КоличествоСтрок() Тогда Активизировать("Реквизит",1); КонецЕсли; |
|||
35
Ёпрст2
11.05.07
✎
12:42
|
(33) Молодец ...сам то хоть проверял своё творение ? ...
|
|||
36
Макаров
11.05.07
✎
12:44
|
(33) полная ерунда получается. а работает так
Процедура ПриОкончанииРедактированияСтроки(Флаг) НомСтр=НомерСтроки+1; Если НомСтр > КоличествоСтрок() Тогда Возврат; Иначе АктивизироватьСтроку(НомСтр); WshShell=СоздатьОбъект("WScript.Shell"); WshShell.SendKeys("{ENTER}"); КонецЕсли; КонецПроцедуры Только WshShell=СоздатьОбъект("WScript.Shell"); - вынесу в проц. при открытии |
|||
37
Макаров
11.05.07
✎
12:47
|
А что это за объект такой WScript.Shell?
|
|||
38
Ёпрст2
11.05.07
✎
12:49
|
(36) Да ну ???!!! Не верю!!! 100% не рабочий код.
|
|||
39
Макаров
11.05.07
✎
12:51
|
Попробуй 100% работает и не глючит
|
|||
40
Ёпрст2
11.05.07
✎
12:52
|
(39) На что забьёмся, что код в (36) не работает ? ...
|
|||
41
Барбариска
11.05.07
✎
12:54
|
Через Форма.Закрыть() и СтатусВозврата() при закрытии - все работает. Без этого - режим редактирования строки не заканчивается, и новая строка не активизируется.
Со скриптами - почему-то неустойчиво; в модальном режиме по-моему проблемы; за давностью проблемы - не помню точно )) |
|||
42
Макаров
11.05.07
✎
12:55
|
А чего забивать та, если у меня работает, проверял.
Если не вериш давай забъем на чё хочеш. |
|||
43
Программист 484
11.05.07
✎
12:57
|
(41) для этого вобще то галочка в свойствах таблицы ставиться - переходить на новую строку
|
|||
44
Chieftain
11.05.07
✎
12:58
|
(40),(42) - тока что проверил - работает, но с косяками.
Многократно вызывается процедура "ПриОкончанииРедактированияСтроки" А такой вариант лучше работает: Процедура ПриОкончанииРедактированияСтроки(Флаг) Если НомерСтроки<КоличествоСтрок() Тогда WshShell=СоздатьОбъект("WScript.Shell"); WshShell.SendKeys("{DOWN}{ENTER}"); КонецЕсли; КонецПроцедуры |
|||
45
Chieftain
11.05.07
✎
12:59
|
(43) Вообще-то галка только на ввод новой строки
|
|||
46
Ёпрст2
11.05.07
✎
12:59
|
(42) 500$ для начала.
Условия - выкладываешь базу с 1 документом, где только 1 реквизит и код в (36) |
|||
47
Программист 484
11.05.07
✎
13:00
|
(45) Сорри да - просмотрел
так форма.обновить(1) тоже нефига неработает? |
|||
48
Макаров
11.05.07
✎
13:04
|
(44) Действительно так работает быстрее, только WshShell=СоздатьОбъект("WScript.Shell"); вынести в проц приОткрытии, чтобы каждый раз не создавать.
|
|||
49
Ёпрст2
11.05.07
✎
13:04
|
(44) И чего ? На новую строку переходит? ... нЕ верю.
|
|||
50
Ёпрст2
11.05.07
✎
13:06
|
+49 я именно про (36) говорил
|
|||
51
Chieftain
11.05.07
✎
13:07
|
(49) Сабж читай - табличная часть есть - надо просто перейти на следующую строку
|
|||
52
Барбариска
11.05.07
✎
13:09
|
(47) да вот - представляешь - нефига ))
|
|||
53
Ёпрст2
11.05.07
✎
13:09
|
(51) Биомать , ну не работает АктивизироватьСтроку просто так...!
И код в (36) не рабочий... |
|||
54
Программист 484
11.05.07
✎
13:09
|
(52) Спасибо
|
|||
55
Chieftain
11.05.07
✎
13:10
|
(53) Код из (44) должен железно работать
|
|||
56
Ёпрст2
11.05.07
✎
13:11
|
(55) Про (44) речи не было ... :)
|
|||
57
Chieftain
11.05.07
✎
13:17
|
(56) При условиях как в (46) точно циклит
|
|||
58
Макаров
11.05.07
✎
13:42
|
(51) код в (36) 100 пудово рабочий, если денег не жалко тогда я выложу тебе базу
с данной процедурой. |
|||
59
Chieftain
11.05.07
✎
13:54
|
(58) На типовой торговле идет, но "ПриОкончанииРедактированияСтроки" вызывается несколько раз. Поэтому начальная строка мерцает - несколько раз обновляется форма
Самый оптимальный код, по-моему Процедура ПриОкончанииРедактированияСтроки(Флаг) Если Флаг=1 Тогда Возврат;КонецЕсли; Если НомерСтроки<КоличествоСтрок() Тогда WshShell=СоздатьОбъект("WScript.Shell"); WshShell.SendKeys("{DOWN}{ENTER}"); КонецЕсли; КонецПроцедуры |
|||
60
Макаров
11.05.07
✎
14:03
|
(58)не спрорю, только лучше WshShell=СоздатьОбъект("WScript.Shell"); вынести в проц приОткрытии, чтобы каждый раз не создавать.
|
|||
61
Ёпрст2
11.05.07
✎
14:08
|
(58) Выкладывай.
|
|||
62
Макаров
14.05.07
✎
09:22
|
Для Ёпрст2 Куда тебе прислать базу? Она весит меньше метра.
|
|||
63
Макаров
14.05.07
✎
09:25
|
Для Ёпрст2, можеш скачать http://dvusrachek.ifolder.ru/2002324
|
|||
64
DenGr
14.05.07
✎
10:05
|
(63) у меня циклит и вылетает
|
|||
65
Макаров
14.05.07
✎
10:26
|
А у меня работает без проблем. Какая у тебя платформа. У меня 27.
|
|||
66
DenGr
14.05.07
✎
11:00
|
(65) 25
может в этом дело, попробую на 27 |
|||
67
Макаров
14.05.07
✎
11:17
|
(66)ну как на 27 работает?
|
|||
68
Ёпрст2
14.05.07
✎
11:23
|
(63) Ни и ? Циклит и вылетает ...что на 25, что на 27.
|
|||
69
kiroy
14.05.07
✎
11:43
|
(63) )))) жесть
|
|||
70
Lals1
15.04.08
✎
02:20
|
(68) Летает код (59)
|
|||
71
sapphire
15.04.08
✎
03:02
|
Ребята совсем отупели... Про Метод ТекущаяСтрока() совсем забыли :(
|
|||
72
smaharbA
15.04.08
✎
06:31
|
(70) ну-ну...
|
|||
73
Ёпрст2
15.04.08
✎
09:06
|
(71) Гыы... это в Документе то??? Ну-ну ...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |