Имя: Пароль:
1C
1С v8
Открытие форм
0 gmax007
 
06.08.13
09:29
Доброго времени. Подскажите пожалуйста. Есть записанный документ, при его создании открывается его не основная форма и все нормально, нужно чтобы при открытии этого уже записанного документа открывалась тоже не основная форма а одна из дополнительных. Если делать ОткрытьФорму то перелетаем в обработку заполнения, а нужно открыть уже записанный документ с нужной формой
1 1Сергей
 
06.08.13
09:32
>>Если делать ОткрытьФорму то перелетаем в обработку заполнения

жестоко
2 Godofsin
 
06.08.13
09:32
"ОткрытьФорму то перелетаем в обработку заполнения," - ЛПП
Получаешь ссылку дока и открываешь форму, какую тебе надо
3 Shurjk2
 
06.08.13
09:32
Перед открытием смотри - и там открывай нужное
4 Defender aka LINN
 
06.08.13
09:33
Не знаю, как остальные, а я не возражаю
5 Shurjk2
 
06.08.13
09:37
+(1) Особенно шикарны термины типа "Перелетаем", "Съехало" и т.д. это какой то новый пользовательский стиль общения с программистом.
6 gmax007
 
06.08.13
09:38
(5)  это сисадминский стиль "полетело" "слетело"
(2) а можно привести в пример примерный код
7 1Сергей
 
06.08.13
09:39
(6) ты покажи как ты открываешь нужную тебе форму
8 Shurjk2
 
06.08.13
09:40
(6) А я думал что так говорят люди которые просто сами не понимают о чем говорят и вместо того чтобы просто описать то что видят, придумывают какие то мистические термины. Хотя к админам это тоже подходит.
9 Godofsin
 
06.08.13
09:41
(6)
Док = Документы.АвансовыйОтчет.НайтиПоНомеру("123");
Форма = Док.ПолучитьФорму("МояФорма");
Форма.Открыть();
10 gmax007
 
06.08.13
09:43
(9) это нужно в ПриОткрытии основной формы выполнять, передавать номер, получать ссылку или где выполнять этот код?
11 Shurjk2
 
06.08.13
09:44
(10) Перед открытием, и не забыть в ней поставить отмену, а то сразу две формы откроется.
12 gmax007
 
06.08.13
09:46
(7) в модуле основной формы пишу

&НаКлиенте
Процедура ПриОткрытии()
    
    Если выполняется условие Тогда
    ОбщийМодуль.ОткрытиеНужнойФормы();

      КонецЕсли;
КонецПроцедуры
13 gmax007
 
06.08.13
09:49
(11) В списке заготовленных 1с-ом обработчиков событий формы хоть убей не вижу ПередОткрытием (8.2 УФ)
14 Shurjk2
 
06.08.13
09:50
(13) УФ?
15 1Сергей
 
06.08.13
09:50
Внезапно всплыли УФ :)
16 gmax007
 
06.08.13
09:50
(14) управляемые формы, а так УТ11
17 Shurjk2
 
06.08.13
09:52
(15) Ага вылетели:)
18 Godofsin
 
06.08.13
09:53
(17) Перелетели )
19 gmax007
 
06.08.13
10:00
ребят, ну как открыть то мне ее
20 gmax007
 
06.08.13
10:44
Сделал наконец только у меня 2 формы открываються (еще и основная)

&НаКлиенте
Процедура ПриОткрытии()
          Ссылка = Объект.Ссылка;
    ОбщийМодуль.ФормаСебестоимостиРубли(Ссылка);
   КонецПроцедуры

////////////Общий модуль////////////////
&НаКлиенте
Процедура ФормаСебестоимостиРубли(Ссылка)      Экспорт
    ПараметрыСсылка = Новый Структура("Ключ", Ссылка);
Форма = ПолучитьФорму("Документ.ДопРасходыдлясебестоимости.Форма.ФормаДокументаРуб", ПараметрыСсылка);
Форма.Открыть();
КонецПроцедуры
////////////////////////////////////
только нужно запретить открытие дефолтной формы, это что-то типа СтандартнаяОбработка=Ложь наверное?
21 1Сергей
 
06.08.13
10:46
(20) да.

Процедура ПриОткрытии(Отказ)
    Отказ = Истина;
22 Shurjk2
 
06.08.13
10:47
(21) А в УФ при открытии есть отказ?
23 gmax007
 
06.08.13
10:51
(22) Когда создавал обработчик из менюшки выбора то он просто добавил (), а в СП вот:

УправляемаяФорма (ManagedForm)
ПриОткрытии (OnOpen)
Синтаксис:

ПриОткрытии(<Отказ>)
Параметры:

<Отказ>

Тип: Булево.
Признак отказа от открытия формы. Если в теле процедуры-обработчика установить данному параметру значение Истина, то открытие формы произведено не будет.
Значение по умолчанию: Ложь
Описание:

Возникает на клиенте при открытии формы, до показа окна пользователю.
24 gmax007
 
06.08.13
10:53
Да, все работает с Отказом. Всем спасибо, пошел прописывать условия для каждой из 4-х форм
25 Shurjk2
 
06.08.13
10:58
(23) В не управляемых там отказа нет.
26 gmax007
 
06.08.13
11:01
(25) а что там?
27 Godofsin
 
06.08.13
11:02
(25) да ну?
28 Shurjk2
 
06.08.13
11:02
(26) Но там зато есть ПередЗаписью
29 Shurjk2
 
06.08.13
11:02
(27) Ага
30 Godofsin
 
06.08.13
11:03
(29) Точно нет. В ПередОткрытием есть
31 Shurjk2
 
06.08.13
11:03
+(28) То есть перед открытием
32 gmax007
 
06.08.13
11:04
(28) ПередЗаписью и в УФ есть, а вот ПередОткрытием нету
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший