Имя: Пароль:
1C
 
Изменить заголовок у формы "на лету"
0 ice777
 
24.10.08
10:54
Пользователь открывает форму (неописанную в конфигураторе, т.е. по умолчанию). Она имеет заголовок с именем синонима соответствующего регистра.

Как, не заводя специально форму, установить ей СВОЙ заголовок?
Синоним менять не хочу.. бо не знаю, что будет при обновлении версии 1с.

Сорри, если элементарно, но я только начал.
1 asady
 
24.10.08
11:06
(0) ты наверное и код писать не хочешь?
2 ice777
 
24.10.08
11:13
хочу. очень хочу.
но куда его вставить даже не представляю. В процедуру ПриСтартеСистемы?
3 Валерыч
 
24.10.08
11:16
ага. именно туда и сразу ЗавершитьРаботуСистемы
4 asady
 
24.10.08
11:23
(2) если все-таки хочешь код написать, то задумайся куда его пихать.

и сам ответишь на свой вопрос.
5 ice777
 
24.10.08
11:24
Валерыч: Ну, кому что. :)
мне чоб бухи не дивились на кривую локализацию.
6 ice777
 
24.10.08
11:27
asady: больше в голову ничего не приходит, разве при старте 1С заменить синоним.
А вписать в пустой модуль набора записей этого регистра мне кажется, ничего даст.
7 asady
 
24.10.08
11:29
(6) потому что нет такого места кроме модуля формы. Только из него можно поменять реквизит - ты ООП изучал когда нибудь?
ведь форма это объект класса и заголовок его свойство. Про инкапсуляцию слышал?
8 ice777
 
24.10.08
11:31
Я на дельфи раньше писал. Там я видел, где и что.
А в 1С пока не все так ясно.
9 ice777
 
24.10.08
11:32
дюже много в угоду упрощению спрятали и перелопатили.
10 asady
 
24.10.08
11:32
(6) если все таки очень хочется то можно так:

стартует твоя форма (пустая ) как диспетчер и из нее грузи формы документов так вот при загрузке формы документа (даже если эта форма сделана на "лету" платформой) ты можешь получить ее и изменить ее заголовок.
11 ice777
 
24.10.08
11:34
кстати я и хотел при старте 1С вписать нечто вроде РегистрТакойто.Синоним = ..
12 ice777
 
24.10.08
11:35
asady: не знаю, в какое место вписать код
13 Валерыч
 
24.10.08
11:36
(11) это уже метаданные, которые правятся в кофигураторе
14 ice777
 
24.10.08
11:36
небось событие какое-то есть типа ПриОткрытии. эх
15 dk
 
24.10.08
11:40
конт = 0;
открытьформу("Справочник.ххх", конт)
конт.форма.Заголовок("мой заголовок", 0);
16 dk
 
24.10.08
11:41
хотя это для 7-ки :)
17 ice777
 
24.10.08
11:42
dk: а куда этот код вписывать?
18 dk
 
24.10.08
11:45
если не смущает, что для 7-ки, то пропиши на любую кнопку
19 ice777
 
24.10.08
11:50
ну.. задача стоит не так. Надо, чтобы пользователь, открыв форму, видел ее с моим заголовком. Напоминаю, что форма в конфигураторе не определена.
20 Bober
 
24.10.08
12:47
(19) Если форма не определена тогда только так

Форма = РС.***.ПолучитьФормуСписка();
Форма.Заголовок = "мой заголовок";
Форма.Открыть();
21 ice777
 
24.10.08
13:36
а как к ней обратиться? это я и сам знаю про "Форма.Заголовок".
Например пробую так : РегистрыСведений.МойРегистр.ПолучитьФорму().Заголовок..
и все, 1С вопит, что недостаточно фактич.параметров.
22 ice777
 
24.10.08
13:37
РегистрыСведений.МойРегистр.ПолучитьФормуСписка().Заголовок... - уже прокатывает, но ничего не делает (не туда попал, значит)
23 ice777
 
24.10.08
13:44
т.е. работает!!! но только сразу там, где я это вписал и сразу открываю, в процедуре ПриНачалеРаботыСистемы().  Потом снова то, что было
25 ice777
 
24.10.08
15:22
Для замены заголовков форм испробовал "УстановитьДействие".

да... грусна. метод УстановитьДействие может воспользоваться Действием тока в модуле формы(кнопки, и т п). Хоть объявлял процедуру Действия как Экспорт - не видит процедуру, пока в модуль формы не всунеш, - а это уже ее создание.
Ну и как я после этого сделаю массовую обработку кучи неопределенных форм?  

Может есть еще идеи??
26 eklmn
 
гуру
24.10.08
15:25
(25) пишиу лучше на дельфях, ну нафиг этот 1С, забей на него, не стоит...
27 MSensey
 
24.10.08
15:32
Зато сколько уже всего изучил
28 MSensey
 
24.10.08
15:34
У тебя форма как открывается?
30 ice777
 
24.10.08
15:36
eklmn: нет сейчас выбора.
32 ice777
 
24.10.08
15:38
MSensey: она не открывается, пока пользователь не откроет по меню.
а сделал так:

Процедура ПодменаЗаголовковФорм()  Экспорт
     АвтоЗаголовок = ложь;
   Заголовок="Новый Заголовок";
КонецПроцедуры


Процедура ПриНачалеРаботыСистемы()
   
   //Сообщить("стартанули!     oo");
   
   ТекФорма=РегистрыСведений.НекийРегистр.ПолучитьФормуСписка();
   ДействиеПриОткрытииФормы = Новый Действие("белПодменаЗаголовковФорм");
   ТекФорма.УстановитьДействие("ПриОткрытии", ДействиеПриОткрытииФормы);
КонецПроцедуры
33 MSensey
 
24.10.08
15:40
(32) если пользователь открывает через меню, в котором явно указано что нужно открыть форму, то никак не получится.
Есть вариант заменить команду меню на свою процедуру, в которой открывать форму с нужным заголовком
34 ice777
 
24.10.08
15:40
так не видит процедуру 1С - ПодменаЗаголовковФорм()  Экспорт.

Вот вам и инкапсуляция, наследование и полиморфизм, как верно заметил asady.
35 ice777
 
24.10.08
15:42
MSensey: а тоже идея.. тока не катит, бо вместо одной обработки я должен везде по менюхам пройтись руками..
36 MRAK
 
24.10.08
15:42
Да ладно, забей, нарисуй свою форму... обноовишься быстрей, чем щас изобретать бушь....
37 Регистратор
 
24.10.08
15:43
Нажать кнопку для создания формы лень а программировать переименование заголовка не лень.
т.к. формы нет если при обновлении она вдруг появится то ничего страшного на нее еще раз посмотрть
38 MRAK
 
24.10.08
15:43
(36) + я тож много чего наизобретал, а в 8.1 сделали подписку на события...
39 MRAK
 
24.10.08
15:44
(36) + (0) таким извратом не пришлось заниматься, но возможно, что при обновлении ничего даже трогать не придется...
40 MSensey
 
24.10.08
15:44
айс, ты вообще раскажи, нафик это надо?
41 ice777
 
24.10.08
15:51
есть конфиг РФ, его ставят в Гондурас. Соответственно налдо, чтоб гондурасские девушки не пугались слов РФ и Россия :)
42 ice777
 
24.10.08
15:51
а потом придет обновление - меньше геморрою
43 MSensey
 
24.10.08
15:52
Может возможнсти языков использовать?
44 MSensey
 
24.10.08
15:52
Добавить новый язык и сделать его основным
45 MSensey
 
24.10.08
15:55
Похоже, что не получится, т.к. нужно будет все надписи переписывать
46 ice777
 
24.10.08
15:55
MSensey: да ну.. безумная идея и не менее трудоемкая, чем менюшки снабжать открывашкой.
47 MSensey
 
24.10.08
15:58
Ну да, особо не знаю этот механизм, просто предположил
48 ice777
 
24.10.08
16:10
А нет ли в 1С некоего механизма прекомпиляции процедуры для Действия?
Или нечто макросообразное??