Имя: Пароль:
1C
1С v8
Как отследить нажатие кнопки "Записать и закрыть"
0 maxim_yams
 
05.11.11
16:23
Как отследить нажатие кнопки "Записать и закрыть" в форме в обработчике события "ПослеЗаписиНаСервере"?
Например, в форме Владельца выводится динамический список подчиненного справочника. При вводе нового элемента мы еще не можем установить отбор в этом списке по владельцу и поэтому, например, делаем его недоступным для редактирования и выводим пользователю сообщение, что для редактирования подчиненного справочника элемент необходимо записать. Затем в обработчике события "ПослеЗаписиНаСервере" мы открываем список для редактирования, и устанавливаем отбор по владельцу. Но если пользователь нажимает "Записать и закрыть", то делать этого не имеет смысла.
1 МишельЛагранж
 
05.11.11
16:33
отследить можно, но ненадежно.
как-то странно у вас - открывается форма Владельца, и тут же вводится сразу некий подчиненный элемент, который вот вынь и положь непосредственно на открытую форму Владельца...
поменяйте логику программы, и не запутывайте сами себя ))
2 МишельЛагранж
 
05.11.11
16:35
.. или уж если вводится новый элемент подчиненного справочника из формы Владельца, так это событие (создание элемента подчиненного справочника) и отслеживайте, и перечитывайте содержимое динсписка...
3 maxim_yams
 
05.11.11
16:44
Можно в принципе и не париться, и использовать стандартный механизм 1С: подчиненный справочник будет доступен через панель навигации. Но все же интересно: возможно отследить, или нет?
4 МишельЛагранж
 
05.11.11
16:53
да можно, можно, через события ПередЗаписью, ПриЗаписи, ПослеЗаписи - нажато ОК; ПередЗакрытием, ПриЗакрытии (нажат крестик или после ОК и событий записи) - ставите везде флаги (или в определенных событиях, как уж придуматете), потом эти флаги отслеживаете, и выполняете действия необходимые.
5 maxim_yams
 
05.11.11
17:47
(4) Да Вы правы,если исключить из команд формы "ЗаписатьИЗакрыть", тогда процессы записи и закрытия можно будет контролировать при помощи флагов. А если не исключать? Тогда в обработке события "ПослеЗаписиНаСервере" не понятно будет ли потом закрытие: если пользователь нажал "Записать и закрыть" или нет: если пользователь нажал "Записать".
6 basicm
 
05.11.11
17:57
И вот зачем это все в 1С?
7 maxim_yams
 
05.11.11
18:10
(6) Для удобства работы пользователя! А он сейчас очень капризный пошел :))
Для развития (вопрос то в принципе теоретический и решений существует уже как минимум 2)
1- описанное в (4) и (5).
2- создать свою кнопочку "Записать и закрыть".

Но оба эти решения не отвечают на главный вопрос: Можно ли различить нажатие стандартных кнопок "Записать" и "Записать и закрыть" в обработчике "ПослеЗаписиНаСервере"?
8 basicm
 
05.11.11
18:12
(7)
1. По поводу удобства - 1С это платформа для решения учетных задач
2. Делать два команды и исключать стандартные. Проблема решена?!
9 basicm
 
05.11.11
18:13
(7) "Но оба эти решения не отвечают на главный вопрос: Можно ли различить нажатие стандартных кнопок "Записать" и "Записать и закрыть" в обработчике "ПослеЗаписиНаСервере"?"

И опять же зачем?))
10 maxim_yams
 
05.11.11
18:18
(9) Ну интересно мне!!! :)) Сижу уже пол дня этим занимаюсь, а бросить рука не поднимается.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn