Имя: Пароль:
1C
 
Узнать UUID информационной базы
0 Codimca
 
29.04.08
12:42
Который день ищу решение. Буду очень признателен, если подскажете, как программно узнать гуид базы. Тот самый, что хранится в файле C:\Documents and Settings\User\Application Data\1C\1Cv81\ibases.v8i:
[Название БД]
Connect=File="Путь к базе";
ID=ce8765a0-aac9-43a3-a214-c14d2a108603 << гуид
OrderInList=32768
Folder=/
OrderInTree=32768
External=0
1 Ануфрий
 
29.04.08
12:45
Ну можно взять из этого файла.
2 Salvador Limones
 
29.04.08
12:50
Но он такой только у User и на данном компе будет.
Смысл?
3 Hadgehogs
 
29.04.08
12:54
Я тоже пытался, пока был молод. Потом плюнул.
4 Codimca
 
29.04.08
12:55
Дело в том, что надо импортировать документы и справочники из сторонней базы данных. Импортировать приходится в несколько 1с-ных баз. Таблица импортированных объектов хранится в сторонней базе. При импорте делается выборка неимпортированных документов, одним из параметров которой является идентификатор 1С-шной бд. По логике вещей, разумнее было бы использовать этот самый гуид, как мне кажется. Буду рад советам с Вашей стороны.
5 Ануфрий
 
29.04.08
12:57
Ну так он же меняется для разных пользователей для разных компьютеров. А достать его, если нужно, можно из этого файла, который указан в (0).
6 Codimca
 
29.04.08
13:04
Ануфрий,Salvador Limones, спасибо за нотку здравого смысла:) Тем не менее, задача идентификации базы данных остаётся в силе. Hadgehogs, как Вы решили данную проблему? Очень не хотелось бы вносить изменения в 1С-ную конфигурацию БД.
7 Ануфрий
 
29.04.08
13:05
Можно по строке подключения. Она по идее одинаковая для всех пользователей и компьютеров будет (если SQL, для файловой может отличаться, но тоже можно свести к одинаковой), и получить ее легко.
8 Codimca
 
29.04.08
13:24
Спасибо за идеи. Как Вам видится возможность ипользования следующего идентификатора: ЗначениеВСтрокуВнутр(Справочники.Валюты.НайтиПоКоду("810"))? Работаю с Бухгалтерией. Думаю, уникальность гарантирована, а базу данных можно хранить где угодно и перемешять сколько угодно раз.
9 Ануфрий
 
29.04.08
13:27
Думаю можно и так...

Ну тогда проще
Справочники.Валюты.НайтиПоКоду("810").УникальныйИдентификатор()
10 Hadgehogs
 
29.04.08
13:34
Ну тогда проще
Перем ИдентификаторБазы Экспорт;

ПриНачалеРаботыСистемы()

ИдентификаторБазы=Константы.ИдентификаторБазы.Получить();
Если ИдентификаторБазы="" Тогда
ИдентификаторБазы=Строка(Новый УникальныйИдентификатор());
Константы.ИдентификаторБазы.Установить(ИдентификаторБазы);
КонецЕсли;
11 Hadgehogs
 
29.04.08
13:35
Или СтрашилищеЗначений + УникальныйИдентификатор() не преобразуя в строку...
12 Ануфрий
 
29.04.08
13:36
(10) Ну это уже надо изменения в конфигурацию вносить, думаю, если бы это было можно, то вопрос не стоял бы. Зато это гарантированный вариант, потому что справочника Валюты тоже может не быть, если база не типовая 1с-вская.
13 Codimca
 
29.04.08
14:45
Спасибо вам. Вчера кучу времени просидел - ничего не нашёл в инете по теме, а сейчас - враз решилась задача:) ... Вот что значит активный поиск