Имя: Пароль:
1C
1С v8
v7: Где хранится часть настроек УРБД
0 mishaPH
 
05.01.10
11:21
Собственно коллеги, что-то не могу найти где хранятся настройки УРБД, в частности пути к файлам обмена для центральной базы.
В реестре есть ключь "HKCU\Software\1C\1Cv7\7.7\Имя базы\Config\Upload/Download directories\";
Но там хранит ПБ настройки, ЦБ же туда записей не делает.
1 ДенисЧ
 
05.01.10
11:23
У меня и для ЦБ там есть...
2 Ёпрст
 
05.01.10
11:25
(0) там же..
3 Ёпрст
 
05.01.10
11:26
4 mishaPH
 
05.01.10
11:47
(3) Я это в курсе.

(1) черт. точно. в регедите не обновил ветку и не видел
5 Mikeware
 
05.01.10
11:48
(4) И вроде меняется значение в реестре только после закрытия пофигуратора...
6 mishaPH
 
05.01.10
11:48
(5) ага
7 mishaPH
 
05.01.10
12:22
Еще вопросик. по скриптам реестра.
Допустим есть ветка со списком баз "HKCU\Software\1C\1Cv7\7.7\Titles\"

в ней списки баз где имя это путь к базе а Значение - имя базы.

как проверить есть ли база в списке по Именив реестре (путь к базе) и если нет такого пути - создать новый.

конструкция типа

   WSHShell = CreateObject("WScript.Shell");
   ключ = "HKCU\Software\1C\1Cv7\7.7\Titles\";
   WSHShell.RegWrite(ключ, "ТестБаза");

прописывает в Значение записи (по умолчанию) "ТестБаза"
8 Mikeware
 
05.01.10
12:28
ОткрытьКлюч(Ключ, Имя, Режим)
9 mishaPH
 
05.01.10
12:35
(8) прям по русски писать? и режим что такое
10 Mikeware
 
05.01.10
13:05
(9) 1C++ :: Дополнительные классы и ЭУ    
РеестрWin :: ОткрытьКлюч / OpenKey

Синтаксис: ОткрытьКлюч(Ключ, Имя, Режим)

Параметры:

Ключ - тип: Строка. Название ветви реестра. Названия строго определены и бывают следующих видов:

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
Имя - тип: Строка. Названием ключа реестра. (например: "Software\1C\1Cv7\7.7")

Режим - тип: Строка. Режим создания ключа. Названия строго определены и бывают следующих видов:

KEY_CREATE_LINK Permission to create a symbolic link .
KEY_CREATE_SUB_KEY Permission to create subkeys.
KEY_ENUMERATE_SUB_KEYS Permission to enumerate subkeys.
KEY_EXECUTE Permission for read access.
KEY_NOTIFY Permission for change notification.
KEY_QUERY_VALUE Permission to query subkey data.
KEY_SET_VALUE Permission to set subkey data.
KEY_ALL_ACCESS Combines the KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, KEY_NOTIFY, KEY_CREATE_SUB_KEY, KEY_CREATE_LINK, and KEY_SET_VALUE access rights, plus all the standard access rights except SYNCHRONIZE.
KEY_READ Combines the STANDARD_RIGHTS_READ, KEY_QUERY_VALUE, KEY_ENUMERATE_SUB_KEYS, and KEY_NOTIFY access rights.
KEY_WRITE Combines the STANDARD_RIGHTS_WRITE, KEY_SET_VALUE, and KEY_CREATE_SUB_KEY access rights
Возвращает: Число.

0 - ошибка
1 - ключ открыт
Описание: Открывает ключ реестра с указанным именем.
11 mishaPH
 
05.01.10
13:07
(10) а это 1с++ ок в синтаксисе смотрю есть как раз.
12 Mikeware
 
05.01.10
13:13
(11) Чего ваяешь?
13 mishaPH
 
05.01.10
13:17
(12) да блин тут трабл такой. периодически на серваке реестр слетает и исчезают пути в1с список баз + УРБД настройки каталоги (пути к файлам нестандартны).
УРБД сделал работает, а вот теперь борюсь с записями в Titles.

Будет при старте автообмена реестр приписывать все а то зависает обмен т.к. база исчезает из списка и пути слетают.

Кстати ОткрытьКлюч() вызывается через создание объекта Сервис. ?
14 mishaPH
 
05.01.10
13:19
а не. сервис это от формекса
15 Mikeware
 
05.01.10
13:21
(13) СоздатьОбъект("РеестрWin")
16 Mikeware
 
05.01.10
13:22
(13) если "при старте автообмена", то тебе надо все-таки не через 1с++ делать, а скриптом.
А по-хорошему, надо разобраться, почему "слетает"
17 mishaPH
 
05.01.10
13:22
(15) мерси
19 mishaPH
 
05.01.10
13:23
(16) скрипт через 1с выполняется. 1с сама себя стартует получает письма, запускает конфигуратор

да фиг с ним, пусть слетает. системщики пусть ковыряются.
20 mishaPH
 
05.01.10
13:24
+19 этот трабл проявляется постоянно и в разных конторах.
22 mishaPH
 
05.01.10
13:26
я скриптом пробовал создавать
       WSHShell.RegWrite(ключ+""c:\111"","ТестБаза");

создает подключь с:\ в ветке реестра Titles
Значение ТестБаза все правильно а имя 111. а для 1с надо c:\111 он с:\ зараза разделяет
24 mishaPH
 
05.01.10
13:35
Реестр = СоздатьОбъект("РеестрWin");
Если Реестр.ОкрытьКлюч("HKEY_CURRENT_USER","Software\1C\1Cv7\7.7\Titles","KEY_READ ")=0 Тогда
       
КонецЕсли;    


выдает


Если Реестр.ОкрытьКлюч("HKEY_CURRENT_USER","Software\1C\1Cv7\7.7\Titles","KEY_READ ")=0 Тогда
{J:\МОЛОЧКА\333.ERT(68)}: Поле агрегатного объекта не обнаружено (ОкрытьКлюч)
25 Mikeware
 
05.01.10
13:38
О_Т_крытьКлюч()
26 mishaPH
 
05.01.10
13:41
блин. в синтаксисе ошибка
27 mishaPH
 
05.01.10
13:42
от туда скопировал. прикольно
Основная теорема систематики: Новые системы плодят новые проблемы.