Имя: Пароль:
1C
 
Как узнать имя базы данных?
0 Виталий
 
29.06.10
13:45
Добрый день!
Подскажите, пож., как можно программно определить имя текущей базы данных, так, как она называется у пользователя при подключении?
1 butterbean
 
29.06.10
13:46
вот сюда лучше смотри СтрокаСоединенияИнформационнойБазы
2 Defender aka LINN
 
29.06.10
13:49
Смешались в кучу кони, люди...
База данных - на сервере СУБД
База 1С - на сервере 1С
У пользователя - просто указание на сервер и базу 1С, названное абсолютно (!) произвольным образом.

Что тебе надо-то?
3 Виталий
 
29.06.10
13:53
(2) Интересует название БД, как она задана в окне при подключении к 1С. Не в СУБД, и не на сервере 1С
4 butterbean
 
29.06.10
13:54
(3) разбирай файл %userprofile%\Application Data\1C\1Cv81\ibases.v8i
5 Виталий
 
29.06.10
13:55
(4) А проще нет варианта?
6 Виталий
 
29.06.10
13:57
(2) А как узнать название БД на сервере 1с? :)
7 acsent
 
29.06.10
13:58
Если нет админских прав то никак
8 Виталий
 
29.06.10
13:59
(7) Есть права
9 Defender aka LINN
 
29.06.10
14:03
А для нахрена это все?
10 Виталий
 
29.06.10
14:05
(9) Хочу вывести в заголовок приложения. Когда работаю с несколькими базами, начинаю путаться
11 Defender aka LINN
 
29.06.10
14:09
(10) В типовых нужный заголовок задается абсолютно штатными средствами.
12 vde69
 
29.06.10
14:11
Процедура ПриНачалеРаботыСистемы()
//......    
//......    

   ЭтоРабочееМесто = Истина;

   Если СокрЛП(ВРЕГ(Константы.КонтрольнаяСтрокаПодключения.Получить()) <> СокрЛП(ВРЕГ(СтрокаСоединенияИнформационнойБазы()))) и (СокрЛП(Константы.КонтрольнаяСтрокаПодключения) <> "") Тогда
       ЭтоРабочееМесто = Ложь;
   КонецЕсли;
   
   // установим заголовок на случай длительных действий
   ЗаголовокСистемы = Константы.ЗаголовокСистемы.Получить();
   
   Если Пустаястрока(ЗаголовокСистемы) Тогда
       ЗаголовокСистемы = Метаданные.Представление();
   КонецЕсли;
   
   Если не ЭтоРабочееМесто Тогда
       //
       // автоматическое удаление всех интеграционных настроек
       //
       ПолныеПрава.ОтключитьКритичныйФункционал ();
       // заодно и заголовок подправим
       ЗаголовокСистемы = "КОПИЯ БАЗЫ [" + ЗаголовокСистемы + "]";
   КонецЕсли;
   
   УстановитьЗаголовокСистемы(ЗаголовокСистемы + " №" + Формат(Константы.НомерВерсииКонфигурации.Получить(), "ЧЦ=6; ЧРГ=.; ЧГ=2,2,2"));
//......    
//......    
//......
13 Виталий
 
29.06.10
14:17
(12) А что в константах КонтрольнаяСтрокаПодключения и ЗаголовокСистемы? У меня их нет
14 Виталий
 
29.06.10
14:18
(12) Хотя, что в КонтрольнаяСтрокаПодключения понятно
15 Виталий
 
29.06.10
14:19
(11) Не подскажешь, какие щтатные средства существуют?
16 vde69
 
29.06.10
14:23
(14) только имей в виду, что строка с IP сервера и именем быдут разные, хотя фактически это одно и то-же,

по этому алгоритм 12 - допустимо использовать ТОЛЬКО при единообразии подключения зверей
17 Виталий
 
29.06.10
14:27
(16) А все таки, что в константе ЗаголовокСистемы?
18 Defender aka LINN
 
29.06.10
14:29
(17) Ты не поверишь - твой заголовок приложения.
19 Виталий
 
29.06.10
14:31
(18) А мне не нужен мой заголовок. Я хочу имя базы данных как в (3), или хотя бы как в (6). Знаешь где его взять?
20 Defender aka LINN
 
29.06.10
14:58
(19) кля. Запиши его в константу и будет тебе щастье.
21 Виталий
 
29.06.10
14:59
(20) Так а где его взять, что бы записать в константу?
22 acsent
 
29.06.10
15:01
23 Виталий
 
29.06.10
15:12
(22) Страница не открывается
24 Defender aka LINN
 
29.06.10
15:15
(21) "Вы знаете, на войне иногда и убивают" © анекдот
Ручками установить, посмотрев перед этим глазками.
25 acsent
 
29.06.10
15:15
(23) Проблемы на вашей стороне (с)
26 Виталий
 
29.06.10
15:29
(24) У каждого пользователя имя базы свое. Мы, наверное, говорим о разных вещах. Меня интересует имя Информационной базы, не на сервере 1с, и не на СУБД
27 hhhh
 
29.06.10
15:36
(26) сделайте у всех пользователей одинаковое имя базы. Что это за VIP-пользователи у вас?
28 Виталий
 
29.06.10
15:44
(17) В первую очередь я хочу это сделать для себя. Я все время работаю в нескольких базах. В заголовках приложений везде указан по-умолчанию Синоним конфигурации "Управление производственным предприятием для Украины, редакция 1.1". Что-бы вспомнить в какой я базе работаю мне приходиться заходить в справку "О программе". Мне надоело это делать. Поэтому я хочу видеть имя базы и некоторую другую информацию в заголовке приложения. Все, кроме имени Информационной базы, я нашел где взять.
29 Виталий
 
29.06.10
15:45
Вместо имени Информационной базы меня устроит имя БД на сервере 1С или даже в СУБД. Но и это я не нашел где взять
30 Виталий
 
29.06.10
15:46
Все, что описано ранее не может мне помочь в этом
31 takefive
 
29.06.10
15:48
а пост№1 не подходит?
32 Виталий
 
29.06.10
15:54
(31) В случае клиент-серверного варианта, можно увидеть имя БД на сервере 1С. Но в случае файлового - видно только путь к БД на диске. Это не совсем то, что бы я хотел видеть. Если не получиться вытянуть имя Информационной базы, то может использую это
33 Defender aka LINN
 
29.06.10
15:54
(28) Если у остальных пользователей эти базы будут называться так же - у них глаза вытекут, или сердце остановится?
34 Виталий
 
29.06.10
15:55
(33) Да причем здесь другие пользователи. Я же четко написал, что это нужно в первую очередь для меня. У меня может быть одновременно запущено приложение в клиент-серверном варианте и несколько - в файловом
35 takefive
 
29.06.10
15:55
ЗаголовокСистемы = Макс(НСтр(СтрокаСоединенияИнформационнойБазы(),"Ref"),НСтр(СтрокаСоединенияИнформационнойБазы(),"File"));
36 hhhh
 
29.06.10
15:58
(32) странно, у меня наоборот. Название информационной базы как раз ни о чем не говорит: Бухгалтерия копия 1, Информационная база. А вот путь к базе как раз то, что нужно.
37 Виталий
 
29.06.10
15:58
(35) Спасибо и на этом. Но это все равно не то, что бы я хотел :(
38 Defender aka LINN
 
29.06.10
15:58
(34) Скажи, какая религия тебе мешает им руками установить нужные заголовки?
Какое наказание будет тебе за это грозить в загробной жизни?
39 Виталий
 
29.06.10
15:58
(36) Я свои базы называю так, что бы только по названию сразу все было ясно, что это за база, и с чем ее едят
40 Виталий
 
29.06.10
15:59
(38) Этот вариант мне не подходит
41 Defender aka LINN
 
29.06.10
16:00
(40) Ну, дело хозяйское.
42 hhhh
 
29.06.10
16:01
(39) я проще поступаю, называю папку базы так, как нужно. На фига двойную работу делать, еще и название для базы придумывать, тем более большинство баз существует менее 1 дня.
43 Виталий
 
29.06.10
16:02
(41) Я не сторонник прописывать в коде названия, коды и прочее явным образом. Я считаю это дурным тоном программирования. Если есть возможность сделать это нормально, я делаю это нормально.
44 hhhh
 
29.06.10
16:03
(43) тогда (4) - для тебя самый лучший вариант.
45 Виталий
 
29.06.10
16:03
(42) Я думал, что нет проблемы в том, что бы определить имя ИБ. Поэтому и создал эту тему. Теперь я понимаю, что такой возможности или нет, или о ней мало кто знает. Поэтому вариант (35) мне пока подходит в большей степени
46 Виталий
 
29.06.10
16:05
(44) Вариант (4) - слишком геморно. Да и файлы в коде я пока еще не разбирал ни разу. Я с 1С пока знаком только 4 месяца и не хочу пока на это тратить время
47 Лефмихалыч
 
29.06.10
16:05
48 Виталий
 
29.06.10
16:06
(47) Смешно!
49 Виталий
 
29.06.10
16:07
Ладно, всем спасибо за советы. Считаю вопрос исчерпанным
50 tyrm
 
29.06.10
16:07
(47) :)