Имя: Пароль:
1C
1С v8
Создание баз на сервере 1С - внешней обработкой?
0 Trance_1C
 
11.02.13
12:09
Подскажите плиз может есть какие методы во встроенном языке для управления базами на сервере, нужно выгрузить список баз с одного сервера 1С, и прописать их на другом.
1 Wobland
 
11.02.13
12:09
взять v8i и перекинуть
2 Wobland
 
11.02.13
12:10
и да, методов нет
3 acsent
 
11.02.13
12:10
файл скопировать, не?
4 Trance_1C
 
11.02.13
12:15
(3) копированием не получается, после подмены файла 1cv8reg.lst консоль баз не видит.
5 Trance_1C
 
11.02.13
12:16
(1) в v8i базы прописаны на первом сервере а мне нужно прописать их на втором.
6 MaxS
 
11.02.13
12:17
(0) Методы есть. На ИТС по моему была обработка, где можно подключиться к 1С серверу...

Если база на сервере БД остаётся там же, то  достаточно погасить один 1С перекинуть файлик и запустить другой 1С.
7 Trance_1C
 
11.02.13
12:17
жесть вообще у меня там 45 баз :(
8 Maxus43
 
11.02.13
12:17
чегой то нету методов?
CREATEINFOBASE <строка соединения> [/AddInList [<имя ИБ>]] [/UseTemplate <имя файла шаблона>] — создание информационной базы.
<Строка соединения> — строка, задающая параметры информационной базы, каждый из которых представляет собой фрагмент вида <Имя параметра>=<Значение>, где:

<Строка соединения> — строка, задающая параметры информационной базы, каждый из которых представляет собой фрагмент вида <Имя параметра>=<Значение>, где:

Имя параметра — имя параметра;
Значение — его значение.

/AddInList — параметр, показывающий, под каким именем добавлять базу в список, если не указан, база не будет добавлена в список.

<имя ИБ> — имя информационной базы, под которым сведения о базе будут добавлены в список информациионных баз. Если не указано, используется имя по умолчанию, аналогичное имени, предлагаемому системой при интерактивном создании информационной базы.

/UseTemplate — создание информационной базы осуществляется по шаблону, указанному в <имя файла шаблона>. В качестве шаблонов могут быть файлы конфигурации (.cf) или файлы выгрузки информационной базы (.dt). Если шаблон не указан, параметр игнорируется.

Пример:
      CREATEINFOBASE File=e:\test3; /AddInList TEST33 /UseTemplate "C:\Documents and Settings\User\My Documents\tmplts\TestVendor\TestConfig\1Cv8.cf"
9 Wobland
 
11.02.13
12:18
(8) это не методы встроенного языка
10 Maxus43
 
11.02.13
12:18
(9) обработку сложно замутить чтоб она запускала 1с с таким параметром?)
11 MaxS
 
11.02.13
12:19
(5) v8i не нужен.  В службе Вгент сервера 1С прописан путь, где сервер хранит настройки...
12 MaxS
 
11.02.13
12:19
Вгент - это Агент
13 Wobland
 
11.02.13
12:20
(10) такие методы встроенного языка не предназначены для управления списками баз
14 Конфигуратор1с
 
11.02.13
12:21
(10) а почему нельзя? Вот сижу ваяю)
15 Maxus43
 
11.02.13
12:21
(13) ну тут фантазию надо включать. основа есть, и по получению списка баз и т.д.
Соединитель = Новый COMObject("V81.COMConnector");

ИмяМашины         = "MOBILE-ADS";
Порт             = "1540";
СтрокаСоединения = "TCP://" + ИмяМашины + ":" + Порт;

СоединениеСАгентом = Соединитель.ConnectAgent(СтрокаСоединения);
МассивКластеров    = СоединениеСАгентом.GetClusters();

// получается первый массив кластера
ОписаниеКластера = МассивКластеров.GetValue(МассивКластеров.GetLowerBound());

// в случае если определены администраторы кластера должны
// быть указаны данные о логине
СоединениеСАгентом.authenticate(ОписаниеКластера, "", "");
   
МассивБаз           = СоединениеСАгентом.GetInfoBases(ОписаниеКластера);
МаксимальныйИндекс = МассивБаз.GetUpperBound();

Для ТекущийИндекс = МассивБаз.GetLowerBound() По МаксимальныйИндекс Цикл
   ОписаниеБазы = МассивБаз.GetValue(ТекущийИндекс);
   
   Сообщить(ОписаниеБазы.Descr);
   Сообщить(ОписаниеБазы.Name);
   
КонецЦикла;
16 Maxus43
 
11.02.13
12:22
вообще приконектившись к серверу 1с можно и рулить им
17 Trance_1C
 
11.02.13
12:23
(15) Супер, спасибо :) а где это описано?
18 Trance_1C
 
11.02.13
12:25
(15) может там есть пример добавления серверной базы через такое ком соединение :)
19 krbIso
 
11.02.13
12:27
у меня есть скрипт готовый
20 Trance_1C
 
11.02.13
12:30
(19) Оказывается все можно сделать из встроенного языка в СП - Менеджер COM соединений эти методы описаны.
не могу там найти пример добавления базы, но такой точно должен быть :)
21 Trance_1C
 
11.02.13
12:32
Соединение с рабочим процессом (IWorkingProcessConnection)
CreateInfoBase (CreateInfoBase)
Синтаксис:

CreateInfoBase(<ИнформационнаяБаза>, <Режим>)

кажется нашел :)
22 Trance_1C
 
11.02.13
12:32
Обязательно сделаю обработину, странно что на исе еще нет :(
23 Trance_1C
 
11.02.13
12:35
(16) Maxus43, у вас какая-то обработка по обслуживанию сервера, можете поделиться на lolionp[@]gmail.com?
24 Maxus43
 
11.02.13
12:49
(23) нет, это примеры из шаблонов
25 Maxus43
 
11.02.13
13:10
впринципе и в СП всё описано, но таких обработок универсальных не встречал (да и не искал собсно), сделать можно
26 Trance_1C
 
11.02.13
15:31
А как можно увидеть свойства сервера БД на котором крутится база, способ описанный в (15) возвращает только имя и описание, метод СоединениеСРабочимПроцессом CreateInfoBaseInfo тоже возвращает только имя и описание, а где бы увидеть свойства размещения на сервере БД?
27 Trance_1C
 
11.02.13
15:33
Вообще одного имени на сервере источнике достаточно для того чтобы опубликовать базу на другом сервере 1С, но вдруг мне попадется кластер серверов БД :)
28 Maxus43
 
11.02.13
15:37
смотри в сторону IInfoBaseInfo
29 Maxus43
 
11.02.13
15:38
(28) +  Уже заполненные объекты могут быть получены методом GetInfoBases. В последнем случае для чтения значений всех их свойств, кроме Name, необходимы административные права.