Имя: Пароль:
1C
1С v8
Порядок обновление базы с РИБ
0 Admin_Net_1C
 
20.09.16
08:51
Добрый день, народ.
Просьба проконсультировать по следующему вопросу: имеется база УПП 1.3 с несколькими настроенными узлами РИБ (план обмена Полный). Необходимо внести изменения в конфигурацию.
До сегодняшнего дня не приходилось сталкиваться с обновлением баз у которых настроен РИБ. Я нашел в интернете инструкцию из 7 шагов (пример http://it-terminal.ru/infobox/index.php/503/ по остальным ссылкам, в основном этот же вариант). Но предыдущий программист сказал, что все гораздо проще, а именно: 1) выполняем обмен с периферийными узлами; 2) обновляем центральный узел; 3) стартуем обмен с периферийными узлами и вручную выполняем обмен на периферийном узле с заходом в конфигуратор.
Подскажите плиз, кто имеет опыт в данном вопросе, каким путем выполнять обновление?
1 Повелитель
 
20.09.16
09:10
Я так и делаю.

1) выполняем обмен с периферийными узлами; 2) обновляем центральный узел; 3) стартуем обмен с периферийными узлами и вручную выполняем обмен на периферийном узле с заходом в конфигуратор.
2 Admin_Net_1C
 
20.09.16
09:12
(1) спасибо за отклик, буду пробовать по этой схеме
3 aleks_default
 
20.09.16
09:12
Ну почти все правильно сказал.
1) Не обязательно.
2)Обновляем центральную базу
3)Выгружаем обменные файлы из центральной и грузим в периферийные. Если обмен не автоматом, а вручную, то да, загрузка обменного файла осуществляется в три этапа.
а) загружаем обменник
б) заходим в конфигуратор и нажимаем F7(обновление конфигурации базы данных).
в) заходим в режиме предприятия и дозагружаем обменник
4) (Обязательно)Выгружаем обменный файл из периферийной базы и загружаем в центральную(для подтверждения выполнения обновления периферийной базы).
4 Admin_Net_1C
 
20.09.16
09:15
(3) ок, обмен настроен автоматом по расписанию, но на процесс обновления сделаю вручную
5 Admin_Net_1C
 
20.09.16
09:16
Судя по отзывам, вторая схема из (0) вполне работоспособная. В связи с этим вопрос к гуру, почему в большинстве ссылок в инете описывается именно первая схема? В каких случаях она применяется?
6 kennetmccormick
 
20.09.16
10:20
делаю как (1) и (3) сделав копии всех баз
то что по ссылке в (0) - непонятно для чего обнулять номера пакетов
7 eskor
 
20.09.16
10:28
Есть вариант делать обновление конфигурации в автомате, когда прилетают изменения.

Процедура ОбновитьКонфигурацию() Экспорт
    Перем мас, СтрокаСоединения2;
    мас = СтрокуВМассивСразделителем(СтрЗаменить(СтрокаСоединенияИнформационнойБазы(), """", ""), ";");
    СтрокаСоединения2 = "/F""""" + СтрокуВМассивСразделителем(мас[0], "=")[1] + """""";
    СтрокаСоединения = СтрокаСоединения2 + " /N""""Администратор"""" /P""""ПарольАдминистратора"""" ";
    СтрокаСоединения1 = СтрокаСоединения2 + " /N" + ПараметрыСеанса.ТекущийПользователь;
    Макет = ПолучитьМакет("Макет");
    Макет.ВставитьСтроку(1, "
    |'Option Explicit
    |Dim OutFile
    |Dim Way1c
    |Dim ConStr
    |OutFile=""" + КаталогВременныхФайлов() + "Обновление.txt""
    |Way1c=""" + КаталогПрограммы() + """
    |ConStr1=""" + СтрокаСоединения1 + """
    |ConStr=""" + СтрокаСоединения + """");
    Макет.Записать(КаталогВременныхФайлов() + "update.vbs", КодировкаТекста.Системная);
    ЗапуститьПриложение("wscript """ + КаталогВременныхФайлов() + "update.vbs" + """ ", , Ложь);
    ЗавершитьРаботуСистемы(Ложь);

КонецПроцедуры

И сам макет как текстовый документ:

' Объявляем переменные
Dim strComputer      ' Имя компьютера
Dim strNamespace      ' Имя пространства имен
Dim objService        ' Объект SWbemServices    
Dim colProcesses      ' Коллекция экземпляров класса WMI
Dim objProcess        ' Элемент коллекции
Dim WshShell          ' Объект WshShell
Dim Res
Dim objExplorer
Dim objFSO
Dim File
Dim strCurrentLine
Dim rez                      

'************************************************
' Функция создает процесс в Windows.
' ЖДЁТ ОКОНЧАНИЯ ВЫПОЛНЕНИЯ
Function CreateProcess(Command,wait)
    on error resume next
    set ttt=Createobject("Wscript.shell")
    CreateProcess=ttt.Run(Command,1,wait)
    if err then Msgbox Err.Description & VbNewLine & Command end if
    CreateProcess=-1
End Function

Function CreateTracking()
    on error resume next
    Set CreateTracking = WScript.CreateObject("InternetExplorer.Application")
    CreateTracking.Navigate "about:blank"  
    CreateTracking.ToolBar = 0
    CreateTracking.StatusBar = 0
    CreateTracking.Width=400
    CreateTracking.Height = 200
    CreateTracking.Left = 0
    CreateTracking.Top = 0
    Do While (CreateTracking.Busy)
        Wscript.Sleep 200
    Loop    
    CreateTracking.Visible = 1            
    CreateTracking.Document.Body.InnerHTML = "Подготовка к обновлению конфигурации..."
    Wscript.Sleep 5000
End function


'********************** Начало *************************************
' Присваиваем начальные значения переменным
strComputer = "."
strNamespace = "Root\CIMV2"

' Подключаемся к пространству имен WMI
Set objService = GetObject("WinMgmts:\\" & _
                                   strComputer & "\" & strNamespace)
'Создаем объект WshShell
Set WshShell = WScript.CreateObject("WScript.Shell")

' Формируем коллекцию процессов NOTEPAD.EXE
Set colProcesses = objService.ExecQuery(_
           "SELECT * FROM Win32_Process WHERE Name='1cv8.EXE'")

  'Перебираем коллекцию
  For Each objProcess in colProcesses
    ' Завершаем приложение
    objProcess.Terminate()
  Next
                

Set objExplorer = CreateTracking()
objExplorer.Document.Body.InnerHTML = "Идет обновление!!!<br>"
Wscript.Sleep 1000
ret=CreateProcess(""""+Way1c+"1cv8.exe"" CONFIG "+conStr+"  /UpdateDBCfg /Out""" & OutFile & """",true)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set File = objFSO.OpenTextFile(OutFile, 1 )
rez=""
Do While File.AtEndOfStream <> TRUE
    strCurrentLine = File.ReadLine
    rez=rez+strCurrentLine+"<br>"
Loop

File.Close
objExplorer.Document.Body.InnerHTML = "<b>Обновление закончено :</b><br>"+rez
objFSO.DeleteFile OutFile

ret=CreateProcess(""""+Way1c+"1cv8.exe""  ENTERPRISE "+conStr1,true)

objExplorer.quit
Закон Брукера: Даже маленькая практика стоит большой теории.