Имя: Пароль:
1C
1С v8
8.2 Как узнать закрывается ли управляемая форма при записи объекта
,
0 Stackmann
 
21.09.11
12:34
Здравствуйте.
Подскажите пожалуйста возможно ли определить закрывается ли форма, когда пользователь записывает документ или нет? Ведь он может нажать как кнопку "Провести и закрыть", так и просто "Записать" (или "Провести") без закрытия формы. Просто мне нужно пересчитать вычисляемые поля на форме, не хочу, чтобы они считались за каждой записью объекта, смысла в этом нет, если форма закрывается.
Заранее благодарен.
1 butterbean
 
21.09.11
12:35
повесь свой обработчик на кнопку "Провести и закрыть"
2 Stackmann
 
21.09.11
12:37
(1) Это в смысле подменить стандартную кнопку своей?
3 unregistered
 
21.09.11
12:39
(0) >> пересчитать вычисляемые поля на форме

А зачем пересчитывать то что исчезнет вместе с закрытой формой...

Бред какой-то...
4 butterbean
 
21.09.11
12:39
(2) ну да
5 Stackmann
 
21.09.11
12:43
(3) читайте внимательно первый пост, я как раз хочу пересчитать только в случае, если объект записывается, но форма его не закрывается.
6 Aprobator
 
21.09.11
12:49
(0) нефига се. А у тя где, собссно говоря поля то пересчитываются? В процедуре при записи что ли?
7 Stackmann
 
21.09.11
12:53
(6) Сейчас они пересчитываются при открытии формы и при изменении тех реквизитов от которых зависит результат этих самых вычисляемых полей. А при записи документа данные формы обновляются данными самого объекта и вычисляемые поля надо считать заново.
8 BigRoma
 
21.09.11
12:58
(0) Какая стоимость расчета вычисляемых полей? Я это к тому, что обычно такими "мелочами" пренебрегают при разработке.
9 Aprobator
 
21.09.11
13:14
(7) хм, а при записи документа, у него еще какие то его реквизиты что ли меняются? Что то я не догоняю.
(8) +100500 В ПослеЗаписи пхнул пересчет и все.
10 Phace
 
21.09.11
13:26
(8) согласен, зачем утежелять код и рисовать новые процедуры ради такой мелочи?
11 Stackmann
 
21.09.11
13:32
(8),(10) Блин, ну есть у меня реквизит формы, который считает итог по колонкам табличной части - мне нет смысла для него добавлять реквизит в ТЧ документа. А для пользователя он нужен, не считать же ему итоги на калькуляторе для каждой строки. А когда он нажимает на кнопку "Записать" - итоги в строках исчезают. Значит их надо заново пересчитать.
12 Phace
 
21.09.11
13:36
(11) надеюсь ты не обходом считаешь этот итог по колонке, а ТЧ.Итог("МояКолонка") работает достаточно шустро, я бы не парился.
13 aleks-id
 
21.09.11
13:38
вообще для таких вещей используют подвал есличо...
14 Phace
 
21.09.11
13:40
(13) как я понял из (11) у него итог по нескольким колонкам одной суммой.
15 Amiralnar
 
21.09.11
13:44
Когда он откроет для себя типовые?
16 Axel2009
 
21.09.11
13:54
а что событие для формы послезаписи уже нельзя использовать?
17 Stackmann
 
21.09.11
14:05
(14) верно. Итог не по строкам колонки, а по колонкам строки (совсем наоборот). Поэтому (13) никакие подвалы не нужны.
18 Stackmann
 
21.09.11
14:06
(15) Не понял.
19 Stackmann
 
21.09.11
14:08
(16) Именно там и буду использовать, но мне нужно только в том случае, если форма не закрывается. В противном случае зачем никому ненужный пересчет и использование лишнего процессорного времени и трафика, пускай лучше форма быстрей закроется.
20 Axel2009
 
21.09.11
14:11
(19) самое главное транзакция уже закрыта. и нет ожидания этого процесса. поэтому не горит, если не мильонами строк ворочаешь
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший