|
Автоматическое обновление конфигурации РИБ | ☑ | ||
---|---|---|---|---|
0
УПП
30.07.13
✎
11:34
|
Добрый день, реализовал РИБ с обменом в одностороннем направлении (так нужно было), но никак не могу разобраться с обновлением конф. у дочерних узлов. В дочернем узле никто не работает (база для других нужд) как можно организовать автоматическое обновление конфигурации при обмене, в случае изменении конфигурации в центре? Никто ничего подобного не реализовывал?
|
|||
1
Naumov
30.07.13
✎
11:34
|
разумеется никто
|
|||
2
Aleksey
30.07.13
✎
11:35
|
а в чём проблема?
|
|||
3
cw014
30.07.13
✎
11:35
|
Да легко. Грузишь, если обновилась конфа, открываешь батником конфигуратор с параметрами обновления, закрываешь основную прогу. Как конфигуратор закрылся, после него открываешь снова 1С и грузишь поновой
|
|||
4
УПП
30.07.13
✎
11:39
|
(3) хорошая идея :) есть пример батника? :)
|
|||
5
Aleksey
30.07.13
✎
11:40
|
Процедура ОбновлениеКонфигурацииБД(User,Pasword) Экспорт
Если Не КонфигурацияИзменена() Тогда Возврат; КонецЕсли; // строка с вызовом программы ИмяКаталога = КаталогПрограммы(); ИмяПрограммы = """" + ИмяКаталога + ?(Прав(ИмяКаталога, 1) = "\", "", "\") + "1cv8.exe" + """"; // строка для определения базы СтрокаСоединения = СтрокаСоединенияИнформационнойБазы(); Если Найти(Врег(СтрокаСоединения), "FILE=") Тогда //Файловая версия КлючБазы = СтрЗаменить("/F" + Сред(СтрокаСоединения,6),";",""); Иначе СтрокаСоединения = СтрЗаменить(СтрокаСоединения,";",Символы.ПС); ИмяСервера = Сред(СтрПолучитьСтроку(СтрокаСоединения,1),6); ИмяБазы = Сред(СтрПолучитьСтроку(СтрокаСоединения,2),5); КлючБазы = "/S" + СтрЗаменить(ИмяСервера,"""","") + "/" + СтрЗаменить(ИмяБазы,"""",""); КонецЕсли; // строка с именем административного пользователя и его пароля SlaveUser = "/N" + User + " /P" + Pasword + " /WA- /AU-"; // Файл для ошибок ИБ=СтрЗаменить(ИмяБазы,"""",""); ФайлДляОшибок = "/Out" + """" + КаталогВременныхФайлов() + "\"+ИБ+"_1cv8.err" + """" + " -NoTruncate"; // ключ доступа КлючДоступа = "/UCКодРазрешения"; // собираем текст бат-файла ТекстФайла = " | |start " + """Заблокировать соединения""" + " /wait " + ИмяПрограммы + " ENTERPRISE " + КлючБазы + " " + SlaveUser + " /CЗавершитьРаботуПользователей " + КлючДоступа + " " + ФайлДляОшибок + " /DisableStartupMessages | |start " + """Разблокировать соединения""" + " /wait " + ИмяПрограммы + " ENTERPRISE " + КлючБазы + " " + SlaveUser + " /CРазрешитьРаботуПользователей " + КлючДоступа + " " + ФайлДляОшибок + " /DisableStartupMessages | |start " + """Обновление конфигурации""" + " /wait " + ИмяПрограммы + " CONFIG " + КлючБазы + " " + SlaveUser + " /UpdateDBCfg " + КлючДоступа + " " + ФайлДляОшибок + " | |"; // Записываем текст в бат-файл ТекстДокумент = Новый ТекстовыйДокумент(); ТекстДокумент.УстановитьТекст(ТекстФайла); // Сохраняем бат-файл ИмяФайла = КаталогВременныхФайлов() + "\"+ИБ+"_1cv8.bat"; ТекстДокумент.Записать(ИмяФайла, КодировкаТекста.OEM); // запускаем бат-файл #Если Клиент Тогда ЗапуститьПриложение(ИмяФайла); #Иначе КомОбъект = Новый COMObject("wScript.Shell"); КомОбъект.Run("""" + ИмяФайла + """"); #КонецЕсли КонецПроцедуры ОбновлениеКонфигурацииБД("User","Password"); ЗавершитьРаботуСистемы(Ложь); Вот такой код у меня во внешней обработке прописан. запускается через ключ /C В принципе в БП и УПП он должен быть встроенный |
|||
6
Капитан О
30.07.13
✎
11:45
|
(5) ЗапуститьПриложение только для клиента?
|
|||
7
Aleksey
30.07.13
✎
11:51
|
(6) Если ты запускаешь обработку вручную, т.е. на клиенте, то отрабатывает кусок #Если Клиент Тогда
Соответственено если обработка выполняется в контексте сервера (например регламентное задание ), то через сом объект |
|||
8
Капитан О
30.07.13
✎
11:53
|
(7) я просто понять не могу необходимость ком-объекта
|
|||
9
Aleksey
30.07.13
✎
11:53
|
(8) Мопед не мой, выдрал из типовой и причесал к обработке
|
|||
10
cw014
30.07.13
✎
11:55
|
(5) Эххх, вот ты только что лишился возможности за свои труды получить вознаграждение. Врочем лишил и остальных )))
|
|||
11
Aleksey
30.07.13
✎
12:05
|
(10) Потом на восстановлении базы больше заработаешь
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |