Имя: Пароль:
1C
1C 7.7
v7: Не закрывает форму
0 norbi
 
20.07.12
10:39
Процедура ПриВводеСтроки()  
   ЗакрытьФорму = 0;  
   Форма.Закрыть(0);
   СтатусВозврата(ЗаписьСтроки);
   Возврат;
КонецПроцедуры

В процедуру ПриЗакрытии() не переходит. Подскажите как исправить.

В ПриРедактированииНовойСтроки() такая же проблема
1 Ёпрст
 
20.07.12
10:43
как узнал, что "не переходит" ?
Жуколов что говорит ?
2 norbi
 
20.07.12
11:20
(1) отладчиком=/ он просто проскакивает по строке
3 Ёпрст
 
20.07.12
11:21
(2) закрой жуколов, закрой предприятие, сохрани конфу - усё должно работать.
4 norbi
 
20.07.12
11:24
(3) не помогло
5 Ёпрст
 
20.07.12
11:25
в саму ПриВводеСтроки заходит ?
6 Ёпрст
 
20.07.12
11:25
И если че, в ПриЗакрытии будет после выполнения всей ПриВводеСтроки
7 norbi
 
20.07.12
11:29
(5) заходт
(6) не понял
8 Ёпрст
 
20.07.12
11:33
(7) управление в Форма.Закрыть будет только после КонецПроцедуры.
9 Ёпрст
 
20.07.12
11:34
И это, как выявил, что в Процедура ПриЗакрытии() не заходит ?
Имя процы поди написал с синтаксис. ошибкой ?
10 alex74
 
20.07.12
11:36
Процедура ПриЗакрытии()
КонецПроцедуры
Синтаксис:
ПриЗакрытии()
Назначение:
Предопределенная процедура при интерактивном закрытии формы.
Подсказка: долго думать над словом "интерактивном"
11 Ёпрст
 
20.07.12
11:40
(10) >>>Подсказка: долго думать над словом "интерактивном"

ты не в теме
12 norbi
 
20.07.12
11:53
(8) ага, разобрался... Тогда, чтобы можно было ввести элемент только на нижнем уровне, надо удалять в ПриЗакрытии, или можно все-таки даже не создавать?
13 Ёпрст
 
20.07.12
11:56
ну, вот одно из решений
http://my1c-archive.narod.ru/knowhow/nogrspr.html
14 Ёпрст
 
20.07.12
11:56
Хотя, с удалить как-то не очень..
15 Ёпрст
 
20.07.12
12:00
А так, можно слепить так, например:

редактирование - обоими способами, в ПриОткрытии - РедактироватьВДиалоге(0,0) + Форма.ОбработкаВыбораСтроки(1)
в предопределенных процедурах воткнуть СтатусВозврата(0) + либо ОткрытьФорму нового элемента или ОткрытьФорму существующего для редактирования..

Если нового лемента - проверить, на каком уровне, если че - "пнх, альфредо!", т.е запрет на ввод.
16 norbi
 
20.07.12
12:03
(15) были похожие мысли, ща попробую собрать их во что-то цельное) спс
17 norbi
 
20.07.12
15:12
Тупик. Сначала выполняется ПриВводеСтроки(), затем ПриРедактированииНовойСтроки(). ЭтоГруппа() работает только в ПриРедактированииНовойСтроки(). Отменить ввод строки можно только в ПриВводеСтроки(). Родитель вводимого элемента определяется коректно, только если на данном уровне уже есть элемент/подгруппа.

Похоже что без удаления не полчиться(

Есть еше идеи?
18 Ёпрст
 
20.07.12
15:17
Родитель определяется всегда, в не зависимости, есть там че или нет.
В форме элемента, это .Родитель
В форме списка это ИспользоватьРодителя()
19 Ёпрст
 
20.07.12
15:19
в Форме элемента/группы в проце ВводНового отменять надо ..т.е СтатусВозврата(0) лепить.
20 Ёпрст
 
20.07.12
15:19
и там же проверить уровень/родителя и т.д.
21 norbi
 
20.07.12
15:35
Наврал, Родитель вводимого элемента не интересует. А ЭтоГруппа() выдает 0, если использовать в ВводНового() или ПриВводеСтроки().
22 norbi
 
20.07.12
15:37
а хотя, наверно я не прав, ща перепроверю
23 Ёпрст
 
20.07.12
15:42
в ПриВводеСтроки не определишь
24 norbi
 
20.07.12
15:46
в ВводНового тоже.
Или там надо как-то очень хитро сделать, а я не могу придумать как
25 norbi
 
20.07.12
15:50
в ОткрытьФорму задается элемент или группа, так что не получится так
26 Ёпрст
 
20.07.12
16:00
Тогда просто редактировать = в диалоге и отменять ввод в ВводНового по условию
27 norbi
 
20.07.12
16:12
а можно передать контекст формы списка в форму элемента в таком случае? или из формы элемента управлять способом редактирования в форме списка?
28 norbi
 
20.07.12
16:57
ну его в пень, перед отпуском нельзя так напрягатсья
29 norbi
 
20.07.12
16:57
спс за советы)