8.х Обновить конфигурацию базы данных в режиме 1С:Предприятия

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем PsyTech, 18 ноя 2009.

  1. TopicStarter Overlay
    PsyTech
    Offline

    PsyTech Опытный в 1С

    Регистрация:
    4 янв 2008
    Сообщения:
    198
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте!
    Можно ли как нибудь обновить конфигурацию базы данных в режиме 1С:Предприятия?
    Если да, то как?
    При типовом обмене (РИБ), когда изменения конфигурации прилетает в подчиненный узел, нужно выйти из Предприятия, зайти в Конфигуратор и нажать синенькую кнопочку. Может гдето далеко в настройках можно волшебную галочку поставить?
    Конфа: УТ.
    Заранее спасибо.
  2. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Копай в "Форме выполнения обмена данными", меню "Действия".
  3. TopicStarter Overlay
    PsyTech
    Offline

    PsyTech Опытный в 1С

    Регистрация:
    4 янв 2008
    Сообщения:
    198
    Симпатии:
    0
    Баллы:
    26
    Смотрел уже там. Не получается обновить. Нажимаю в этом меню кнопку "Обновить конфигурацию базы данных" - открывается еще один сеанс 1СПредприятия и ничего не обновляется.
    Может кто-нибудь настраивал эту тему... Поделитесь опытом.
  4. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Я сам попиывал.
    Где-то в просторах интернета нашел код, доработал под себя.

    Код:
    роцедура ВыполнитьОбновлениеИнформационнойБазыПриОбмене() <span style='cursor: pointer; color:red' Onclick="window.open('http://www.1c-pro.ru/wiki/index.php/экспорт')">Экспорт	</span>
    #Если Клиент Тогда
    МассивСоединений=ПолучитьСоединенияИнформационнойБазы();
    Если МассивСоединений.Количество()>1 Тогда
    Предупреждение("Невозможно перейти в монопольный режим!");
    Возврат;  	
    КонецЕсли;
    СтрокаСоединения=СтрокаСоединенияИнформационнойБазы();
    ПутьКСкрипту=КаталогВременныхФайлов()+"exchange.vbs";
    Скрипт=Новый ЗаписьТекста(ПутьКСкрипту,КодировкаТекста.ANSI);
    Скрипт.ЗаписатьСтроку("WScript.Sleep 5000"); // на всякий случай
    Скрипт.ЗаписатьСтроку("Set WshShell=CreateObject(""WScript.Shell"")");
    Команда=""""""+КаталогПрограммы()+"1CV8.EXE"""" DESIGNER"+" /F "+"""""" +НСтр(СтрокаСоединения,"File") + """""" + " /N "+ СокрЛП(глТекущийПользователь.Код) +" /P PASS /UpdateDBCfg /Visible";
    Скрипт.ЗаписатьСтроку("ReturnCode=WshShell.Run("""+Команда+""",1,1)");
    Скрипт.ЗаписатьСтроку("If ReturnCode=0 Then"); // если обновились удачно, то пытаемся дочитать сообщение
    Команда=""""""+КаталогПрограммы()+"1CV8.EXE"""" ENTERPRISE"+" /F "+"""""" +НСтр(СтрокаСоединения,"File") + """""" + " /N "+ СокрЛП(глТекущийПользователь.Код) +" /P PASS";
    Скрипт.ЗаписатьСтроку("WshShell.Run """+Команда+""",1,0");
    Скрипт.ЗаписатьСтроку("End If");
    Скрипт.ЗаписатьСтроку("Set FSO=CreateObject(""Scripting.FileSystemObject"")");
    Скрипт.ЗаписатьСтроку("Set File=FSO.GetFile(WScript.ScriptFullName)");
    Скрипт.ЗаписатьСтроку("File.Delete");
    Скрипт.Закрыть();
    ЗавершитьРаботуСистемы(Ложь);
    ЗапуститьПриложение(ПутьКСкрипту);   
    #КонецЕсли
    КонецПроцедуры
    
    Это в файловом режиме, обмен выполняется по требованию пользователем.
  5. TopicStarter Overlay
    PsyTech
    Offline

    PsyTech Опытный в 1С

    Регистрация:
    4 янв 2008
    Сообщения:
    198
    Симпатии:
    0
    Баллы:
    26
    То что надо. Спасибо!

Поделиться этой страницей