![]() |
![]() |
![]() |
|
Изменить заголовок у формы "на лету" | ☑ | ||
---|---|---|---|---|
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С некоего механизма прекомпиляции процедуры для Действия?
Или нечто макросообразное?? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |