Имя: Пароль:
1C
1C 7.7
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");
ВК.ЗаголовокСистемы(СокрЛП(Константа.ЗаголовокСистемы));
   
КонецПроцедуры // ПриНачалеРаботыСистемы()
Независимо от того, куда вы едете — это в гору и против ветра!