|
Автообмен.РИБ.Обновление конфигурации у подчиненной базы. ₽ | ☑ | ||
---|---|---|---|---|
0
Vika64
18.05.07
✎
10:17
|
Настроила автообмен.Планировщик запускает программу после работы.вот код:
"C:\Program Files\1cv8\bin\1cv8.exe" config /F "E:\BUH" /n "ADMIN" /p "ADMIN" /DepotUpdateCfg /DepotF "E:\Work\Hranil" /DepotN "ADMIN" /DepotP "ADMIN" /UpdateDBCfg обновляется конфигурация главного узла из хранилища и обновляется база.Затем: "C:\Program Files\1cv8\bin\1cv8.exe" enterprise /F "E:\BUH" /n "ADMIN" /p "ADMIN" "C:\Program Files\1cv8\bin\1cv8.exe" enterprise /F "E:\TABAK" /n "ADMIN" /p "ADMIN" В главном узле запускается под админом обработка автообмена и записывются измененные данные и конфигурация,затем запускается то же самое в подчиненной базе и вот в чем проблема : когда есть изменения в конфигурации, пишется предупреждение, что получена измененная конфигурация и надо обновить базу и это окошко не закрывается.Так вот КАК ЕГО ЗАКРЫТЬ ПРОГРАММНО?????потому как дальше надо обновить базу. |
|||
1
Vika64
18.05.07
✎
10:31
|
ау, кто-нить!!
|
|||
2
ASV
18.05.07
✎
10:32
|
//читаем примерно так
Попытка ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения, СтруктураНастроекОбменаДанными.ДанныеНастройки.КоличествоЭлементовВТранзакцииНаЗагрузкуДанных); ЧтениеСообщения.ЗакончитьЧтение(); ЧтениеXML.Закрыть(); Исключение здесь делаем батник с обновлением и запускаем его |
|||
3
Vika64
18.05.07
✎
11:24
|
спасибо, попробую
|
|||
4
coder1cv8
18.05.07
✎
11:33
|
Попытка
ЧтениеXML=Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл(ИмяСообщения); ... бла-бла... Исключение // автоматическое обновление конфигурации БД запускаем только при автообмене СтрОписания="Обновление может быть выполнено в режиме Конфигуратор."; Если РольДоступна("Автообмен") И Прав(ОписаниеОшибки(),СтрДлина(СтрОписания))=СтрОписания Тогда Сообщить("Получены изменения конфигурации. Попытка обновления конфигурации БД...",СтатусСообщения.Внимание); ОбновитьКонфигурацию(); Иначе Сообщить("Ошибка при записи изменений. "+ОписаниеОшибки(),СтатусСообщения.ОченьВажное); КонецЕсли; Процедура ОбновитьКонфигурацию() КаталогИБ=ПолучитьКаталогИБ(); ПутьКСкрипту=КаталогВременныхФайлов()+"exchange.vbs"; Скрипт=Новый ЗаписьТекста(ПутьКСкрипту,КодировкаТекста.ANSI); Скрипт.ЗаписатьСтроку("WScript.Sleep 5000"); //на всякий случай ) Скрипт.ЗаписатьСтроку("Set WshShell=CreateObject(""WScript.Shell"")"); Команда=""""""+КаталогПрограммы()+"1CV8.EXE"""" CONFIG /F "+КаталогИБ+" /N Exchange /P Exchange /UpdateDBCfg"; Скрипт.ЗаписатьСтроку("ReturnCode=WshShell.Run("""+Команда+""",1,1)"); Скрипт.ЗаписатьСтроку("If ReturnCode=0 Then"); // если обновились удачно, то пытаемся дочитать сообщение Команда=""""""+КаталогПрограммы()+"1CV8.EXE"""" ENTERPRISE /F "+КаталогИБ+" /N Exchange /P Exchange"; Скрипт.ЗаписатьСтроку("WshShell.Run """+Команда+""",1,0"); Скрипт.ЗаписатьСтроку("End If"); Скрипт.ЗаписатьСтроку("Set FSO=CreateObject(""Scripting.FileSystemObject"")"); Скрипт.ЗаписатьСтроку("Set File=FSO.GetFile(WScript.ScriptFullName)"); Скрипт.ЗаписатьСтроку("File.Delete"); Скрипт.Закрыть(); ЗапуститьПриложение(ПутьКСкрипту); ЗавершитьРаботуСистемы(Ложь); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |