Имя: Пароль:
1C
1С v8
Закрыть форму при открытии
0 Dirk Diggler
 
15.02.12
09:28
Открываю модально форму. При открытии надо проверить некое условие, и форму сразу же закрыть, если оно выполняется. Как сделать? Закрыть() в ПриОткрытии() не работает.
1 Fish
 
15.02.12
09:29
(0) А зачем тогда её вообще открывать? :)))
2 DosBot
 
15.02.12
09:29
ПередОткрытием()

Если 2*2=4 Тогда
 Отказ = Истина;
КонецЕсли
3 Ненавижу 1С
 
гуру
15.02.12
09:31
как-то гений задавался этим вопрос, так вот там убойное решение - выходить в обработчике ожидания ))
4 DosBot
 
15.02.12
09:34
а ПередОткрытием() - не?
5 Wobland
 
15.02.12
09:34
(1) телепатирую. эффект 25го кадра. пользователь не успевает увидеть изображение (помните, как в бойцовском клубе?), а в подкорке откладывается
6 Wobland
 
15.02.12
09:35
(4) не, не открыта
7 Dirk Diggler
 
15.02.12
09:35
(4) с одной стороны да, но с другой надо ведь и параметр надо вернуть.
8 Dirk Diggler
 
15.02.12
09:36
(2) как в таком случае вернуть параметр? форма модально открывается.
9 Dirk Diggler
 
15.02.12
09:36
через реквизит формы - взлетит? ща попробую...
10 DosBot
 
15.02.12
09:38
я даже боюсь спрашивать зачем нужны такие извраты... :)
11 Wobland
 
15.02.12
09:38
(9) на (1) ответь
12 Dirk Diggler
 
15.02.12
09:40
(10) для простоты
13 Wobland
 
15.02.12
09:40
(12) спасибо, поржал
14 Maxus43
 
15.02.12
09:41
(12) задачу по другому поставь, не надо открывать вобще
15 Wobland
 
15.02.12
09:42
да, кстати, я надеюсь, это УФ?
16 Dirk Diggler
 
15.02.12
09:45
(14) если не открывать, проверку придется громоздить в модуле обработки. больше писанины.
17 Maxus43
 
15.02.12
09:46
(16) это правильней, и форма не трогается.
или тогда уж (2), форма возвратит неопределено, что правильно... или чего хочеш вернуть?
18 Smallrat
 
15.02.12
09:50
(0) Странно - у меня Закрыть() в модуле ПриОткрытии() работает. Тоже делал такой изврат - для чтения сохраннённых параметров, до сих пор работает.
19 Fish
 
15.02.12
09:58
(16), (18) Да. Совсем нынешняя молодёжь не думает об оптимизации. Думают, что программа для удобства программиста, а не пользователя. Считают, что лучше инициализировать кучу лишних объектов, сожрав этим немеренно памяти, лишь бы не перетрудиться, написав нормальный код. А когда-то помню, программисты за каждый байт памяти боролись :)))
20 Aprobator
 
15.02.12
10:02
(19) так то программисты
21 DosBot
 
15.02.12
10:03
(0) не будь коекакером! делай всё по уму :)
22 Smallrat
 
15.02.12
10:24
(19) И сколько килобайт памяти отожрет лишняя открытая форма и как это сделает работу пользователя удобной ? И на кой хрен мне думать об оптимизации там, где это даст выигрыш в милисекунды ?
И задача у меня так построена что надо восстановить значения, которые сохранила форма внешней обработки. Как их вытащить по другому ?
23 Aprobator
 
15.02.12
10:29
(22) вау - интересный способ сохранения данных. В мемориз - однозначно.
24 Smallrat
 
15.02.12
10:31
(23) Предложите способ сохранения настроек по умолчанию для внешних обработок, не трогая конфигурацию.
25 Reset
 
15.02.12
10:34
(24) Для выполнения ВосстановитьЗначение Не Требуется открывать форму. (23),(19),(20) правы
26 Aprobator
 
15.02.12
10:35
(25) опередил )
27 Reset
 
15.02.12
10:36
Встречал код, для получения связанных докуметов открывавший форму структуры подчиненности и считывающий с элемента формы выведенное дерево (с последущим закрытием формы). А чо, зачем париться, "на кой хрен мне думать об оптимизации"
28 Aprobator
 
15.02.12
10:39
(27) подход по типу - работает? устраивает? значит сойдет.
29 Smallrat
 
15.02.12
10:39
(25) Хмм - вот внешняя обработка, у нее есть реквизит "ОтборОрганизация" - пользователь открыл форму, выбрал его и ткнул кнопку "Сохранить значения" и закрыл форму. Как из другой обработки прочитать что было сохранено ?
30 Reset
 
15.02.12
10:44
(29) В ПередСохранениемЗначений выполнить СохранитьЗначение. Позже, при необходимости, ВосстановитьЗначение
31 Reset
 
15.02.12
10:47
+(30) Это если не думать. Если таки подумать, то найдутся и другие варианты, например с использованием возможностей конкретной конфигурации
32 Smallrat
 
15.02.12
10:50
(30) У меня похожих обработок несколько, и в некоторых одинаковые реквизиты. Придется писать спереди еще идентификаторы, потом читать так же. В то время как форма обработки сама всё умеет - надо только галочки поставить что сохранять, только читать приходится с открытием - какая вот только пользователю разница как там настройки хранятся.

(31) Обработка универсальная, не привязанная к конкретной конфе.
33 Smallrat
 
15.02.12
10:57
(31) Как раз настройки, касающиеся конкретной конфы и которые надо прочитать и описываются во внешних обработках. А центральная, которая все читает, от особенностей конф не зависит.
34 Aprobator
 
15.02.12
11:05
(33) СохранитьЗначение и ВосстановитьЗначение работает с привязкой  к конфе.
Идентификатор можешь тупо писать один. Пофиг. Далее тупо запустить обработку 1 раз в конфе и все. Т.е. в другой конец, через восстановитьзначение, данные с другой конфы не достать.
35 Aprobator
 
15.02.12
11:06
в другой конец = в другой конфе )
36 Aprobator
 
15.02.12
11:06
+(34) а да и с привязкой к пользователю.
37 Reset
 
15.02.12
11:11
(32) Да ладно, сделано и сделано. Мне, реально, все равно, как оно у тебя организовано. Разговор в общем о подходе - сделать "хорошо" или сделать "быстро". Большинство, к сожалению, делают "быстро".
38 Smallrat
 
15.02.12
11:14
(34) Да не - я знаю, что каждая конфа хранит настройки отдельно и отдельно для каждого пользователя (там по моему один механизм - что для СохранитьЗначение, что для автоматического сохранения данных формы). Но имеется ввиду что в одной базе надо сохранить несколько одинаковых настроек.
Это у меня обработка по обмену данными - все настройки конкретных обменов: отборы и прочее лежат в обработках. Обработка обмена при выборе конкретного обмена открывает обработку настройки, считывает сохраненные раньше пользователем отборы и закрывает ее. Пользователю не надо каждый раз лазить настраивать.
(37) Я вот тоже не поклонник сделать быстро. Вот только когда я работал во франче мне это выливалось в наименьшее количество закрытых часов по фирме (((
39 Aprobator
 
15.02.12
11:32
(38) сохраняемое значение - структура, имена настроек - ключи. Это как вариант решения.
40 Dirk Diggler
 
15.02.12
11:34
Общий подход - должно работать.
41 Леха Дум
 
15.02.12
11:42
(40) Вот тебе задача: Восстановить настройку из регистра/справочника "СохранненныеНастройки" определенную настройку для предопределенного пользователя (константа/предопределенный элемент справочника) и использовать ее в регламентном задании на сервере.
42 Леха Дум
 
15.02.12
11:43
+(41) общий подход - сделать правильно, исходя из этого и работать тоже будет... всегда