|
Автообмен в UAT | ☑ | ||
---|---|---|---|---|
0
Adgjj
24.11.11
✎
14:35
|
Здравствуйте!
Есть внешняя обработка и батник для запуска автообмена в UAT. Батник: @set @x=0 /* @echo off TaskKill /F /IM 1cv8.exe echo _____ 1 ЗАПИСЬ ИЗ центральной базы "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F C:\UAT8_les /N obmen /P obmen /DisableStartupMessages/Execute Obmen.epf echo _____ 2 ЧТЕНИЕ В периф базу echo _____ 2.1 ИЗМЕНЕНИЕ КОНФ-ЦИИ "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F C:\UAT8_les_KOT /N obmen /P obmen /DisableStartupMessages/Execute Obmen.epf cscript //nologo /e:jscript "%~f0" 60000 TaskKill /F /IM 1cv8.exe echo _____ 2.2 ДОГРУЗКА ДАННЫХ ИЗ центр базы __ И __ 3 ЗАПИСЬ ИЗ периф. базы start "" /wait "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F C:\UAT8_les_KOT /N obmen /P obmen /DisableStartupMessages/Execute Obmen.epf echo _____ 4 ЧТЕНИЕ В центральную базу start "" /wait "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F C:\UAT8_les /N obmen /P obmen /DisableStartupMessages/Execute Obmen.epf goto:eof */ if(isFinite(WScript.Arguments(0))) WScript.Sleep(WScript.Arguments(0)) Пункт 2.1 должен выполняться только когда изменена конф-я центральной базы (иначе чтение файла обмена, выгруженного из центральной базы, происходит 2 раза и выдается ошибка, связанная с номерами сообщений. Не представляю, как записать такое условие. Кусок из внешней обработки (по периф. базе): Иначе СчиталиФайлЦентрБазы = 0; //ЧТЕНИЕ xml-файла, выгруженного из центр. базы Попытка Состояние("Читается файл в периферийную базу."); ЧтениеXML = Новый ЧтениеXML(); ИмяФайлаСообщения = КаталогВременныхФайлов() + "Message_KOR_KOT.xml"; ЧтениеXML.ОткрытьФайл(ИмяФайлаСообщения); ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения(); ЧтениеСообщения.НачатьЧтение(ЧтениеXML,); ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения); ЧтениеСообщения.ЗакончитьЧтение(); ЧтениеXML.Закрыть(); СчиталиФайлЦентрБазы = 1; //ЗАПИСЬ xml-файла из периф. базы для загрузки в центральную если СчиталиФайлЦентрБазы = 1 тогда Состояние("Записывается файл из периферийной базы."); ЗаписьXML = Новый ЗаписьXML(); ИмяФайлаСообщения = КаталогВременныхФайлов() + "Message_KOT_KOR.xml"; ЗаписьXML.ОткрытьФайл(ИмяФайлаСообщения); ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения(); ЗаписьСообщения.НачатьЗапись(ЗаписьXML,УзелЗагрузки); ПланыОбмена.ЗаписатьИзменения(ЗаписьСообщения); ЗаписьСообщения.ЗакончитьЗапись(); ЗаписьXML.Закрыть(); ЗавершитьРаботуСистемы(Ложь); //периф. базы конецесли; Исключение СтрОписания="Обновление может быть выполнено в режиме Конфигуратор."; Если Прав(ОписаниеОшибки(),СтрДлина(СтрОписания))=СтрОписания Тогда ОбновитьКонфигурацию(); /// !!! Иначе Сообщить("ОБМЕН: Ошибка при получении данных обмена: " + ОписаниеОшибки(),СтатусСообщения.ОченьВажное); КонецЕсли; КонецПопытки; КонецЕсли; |
|||
1
Adgjj
24.11.11
✎
14:44
|
попробую ввести в конф константу "СчиталиФайлЦентрБазы" и менять е значение своей внешней обработкой
|
|||
2
Wobland
24.11.11
✎
14:45
|
держи нас в курсе ;)
|
|||
3
Wobland
24.11.11
✎
14:46
|
блин, ты шутку про тасккилл приняла за чистую монету? я ж говорил
|
|||
4
Adgjj
24.11.11
✎
14:47
|
(3) не помню шутки
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |