|
v7: Заголовок программы | ☑ | ||
---|---|---|---|---|
0
MiracMC
06.10.12
✎
15:46
|
День добрый, ув. коллеги.
Никогда не заморачивался с такой хренью, но вот заказчик потребовал. Надо динамически присваивать заголовок не форме, а окну программы. т.е. изменить то, что в программе написано в свойствах конфигурации в поле "синоним"... при этом менять надо не для всех, а именно для отдельных пользователей.. скажите.. реально ли? если реально - то как... заранее благодарен. |
|||
1
EvgeniuXP
06.10.12
✎
15:51
|
Если пользователь такой-то - синоним такой-то.
|
|||
2
Mikeware
06.10.12
✎
15:54
|
А СП читать не пробовали?
|
|||
3
Cthulhu
06.10.12
✎
16:00
|
(2): на ЗаголовокСистемы намекаешь?.. (он не заменяет, но добавляет есичо - мот автору не подойти)
|
|||
4
Torquader
06.10.12
✎
16:11
|
Начнём с того, что штатный заголовок состоит из трёх частей:
1) 1С:Предприятие - название программы. 2) Имя базы данных, которое можно задать базе данных в конфигураторе. 3) Имя открытой формы, если таковая открыта на весь экран. Имя открытой формы можно поменять, но в процессе переключения форм заголовок система восстанавливает сама, то есть если мы даже в него чего-то своё запишем, то делать это надо при каждом переключении формы. |
|||
5
MiracMC
06.10.12
✎
16:30
|
дело в том, что есть:
1. 1С Предприятие, которое я поменять не могу 2. Название конфига 3.а далее мне надо написать, к примеру "магазин1"... а вот дальше что б добавлялось, как сказано в (4) название открытой во весь экран формы... так вот как сделать по п.3. ? |
|||
6
Cthulhu
06.10.12
✎
16:34
|
(5):
1. Можешь. "В String Table 68 в ресурсе 1076 надпись "1С-Предприятие" заменяем на "1С-" - удобно, если юзеры работают с большим количеством программ одновременно. Видно название конфы..." (c) pit 1+2+3: Set Svc = CreateObject("Svcsvc.Service") Svc.SetWindowText , "Не надо бабушку лохматить!" |
|||
7
Torquader
06.10.12
✎
16:38
|
(6) Можно вообще програмулину запустить, которая интерфейс винды отлаживает - там можно каждому окну программы дать своё название, а все присвоения через WM_SETWINDOWTEXT отладчик посылает в другое место памяти.
По крайней мере, всё выгладит так, что на винду непохоже, правда, иногда, выглядит как синий экран и не работает. |
|||
8
MiracMC
06.10.12
✎
16:42
|
на самом деле мне вполне подошло ЗаголовокСистемы(), так как оно как раз и делает то, что мне надо, а именно дописывает за "Программа" + "конфиг" то, что надо мне.
Но вот идея из (6) насчет замены "1С-Предприятие" на "1С-" по своему интересна. Вот только есть 2 вопроса: 1. Как оно себя в терминале будет чувствовать, если все пользователи, территориально разбросаны по миру, будут запускаться с разными названиями магазинов 2. по подробнее можно, что и где надо заменить... |
|||
9
Скользящий
06.10.12
✎
16:46
|
у меня через вк сделано. реализовано примерно так
ВК=СоздатьОбъект("AddIn.SystComm"); ВК.ЗаголовокСистемы(СокрЛП(Константа.ЗаголовокСистемы)); КонецПроцедуры // ПриНачалеРаботыСистемы() в константу пишешь что хочешь. |
|||
10
Скользящий
06.10.12
✎
16:48
|
точнее так
//Заголовок системы Путь = КаталогИБ() + "DialMail.dll"; Если ЗагрузитьВнешнююКомпоненту(Путь) = 0 Тогда Сообщить("Неудачная попытка загрузить DialMail.dll"); КонецЕсли; ВК=СоздатьОбъект("AddIn.SystComm"); ВК.ЗаголовокСистемы(СокрЛП(Константа.ЗаголовокСистемы)); КонецПроцедуры // ПриНачалеРаботыСистемы() |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |