Настроила автообмен.Планировщик запускает программу после работы.вот код:
"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"
В главном узле запускается под админом обработка автообмена и записывются измененные данные и конфигурация,затем запускается то же самое в подчиненной базе и вот в чем проблема : когда есть изменения в конфигурации, пишется предупреждение, что получена измененная конфигурация и надо обновить базу и это окошко не закрывается.Так вот КАК ЕГО ЗАКРЫТЬ ПРОГРАММНО?????потому как дальше надо обновить базу.
//читаем примерно так
Попытка
ПланыОбмена.ПрочитатьИзменения(ЧтениеСообщения, СтруктураНастроекОбменаДанными.ДанныеНастройки.КоличествоЭлементовВТранзакцииНаЗагрузкуДанных);
ЧтениеСообщения.ЗакончитьЧтение();
ЧтениеXML.Закрыть();
Исключение
здесь делаем батник с обновлением и запускаем его
Попытка
ЧтениеXML=Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ИмяСообщения);
... бла-бла...
Исключение
// автоматическое обновление конфигурации БД запускаем только при автообмене
СтрОписания="Обновление может быть выполнено в режиме Конфигуратор.";
Если РольДоступна("Автообмен") И Прав(ОписаниеОшибки(),СтрДлина(СтрОписания))=СтрОписания Тогда
Сообщить("Получены изменения конфигурации. Попытка обновления конфигурации БД...",СтатусСообщения.Внимание);
ОбновитьКонфигурацию();
Иначе
Сообщить("Ошибка при записи изменений. "+ОписаниеОшибки(),СтатусСообщения.ОченьВажное);
КонецЕсли;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший