Памятка по настройке копирования средствами программы Effector Saver баз + 1С Платформа 8.3.

Автор: Исаков Азиз Ильбекович. 26.09.2015

Памятка по настройке копирования средствами программы Effector Saver баз 1С бухгалтерии, ред 3.0 Платформа 8.3. Серверный вариант + выгрузка в dt файл.


Инструкция нужна при использовании СУБД SQL — PostgresSQL!


(Инструкция подходит и для все конфигураций 1С, например, база «Зарплата и Кадры» или «Торговля» и.т.д.).


СОДЕРЖАНИЕ:


Глава 1.


1. Устанавливаем программу Effector Saver (бесплатный вариант), настраиваем следующие параметры. Инструкция взята сервера Effector Saver


Пункты главы 1:


1. Введение


2. Установка программы.


3. Настройка параметров автозапуска.


3.1 Выбор варианта автозапуска программы «Агент».


3.1.2 Настройка варианта запуска как сервис NT.


3.3 Сохранение параметров автозапуска.


4. Создание задачи архивирования.


4.1 Создаем задачу.


4.2 Чем архивировать.


4.3 Что архивировать.


4.4 Куда архивировать.


4.5 Когда архивировать.


4.6 Активация задачи.


4.7 Сохранение настройки задачи.


5. Проверка работы задачи.


6. Просмотр результатов работы.



Глава 2.

Установка приложения для запуска скриптов 1С V83.COMConnector.


Глава 3.

Настойка скриптов запуска и остановки регламентных заданий 1С.


1. Пункт настройка скриптов «Скрипт остановки регламентных заданий 1С».


2. Пункт настройка скриптов «Скрипт запуска и остановки службы 1С» .


3. Пункт настройка скриптов «Скрипт запуска регламентных заданий 1С».


4. Пункт настройка скриптов «Скрипт сброса зависших соединений в сервере 1С».


Дополнение. Листинг скриптов.


Глава 1.


Устанавливаем программу Effector Saver (бесплатный вариант), настраиваем следующие параметры. Инструкция взята сервера Effector Saver :


Быстрый старт Effector saver


1. Введение


Фактически программа Effector Saver 3 состоит из трех взаимосвязанных компонентов (исполняемых файлов), каждый из которых отвечает за свой «фронт работы».

Программа «Агент» (файл fagent.exe)


это приложение без пользовательского интерфейса, которая собственно и выполняет задачи архивирования. Можно сказать, что это ядро программы. Настроить параметры работы «Агента», посмотреть результаты работы, а также проверить или изменить статус «Агента» можно в программе «Менеджер». Для выполнения задач архивирования агент должен быть постоянно запущен.

Программа «Менеджер»· (файл fmanager.exe)


это приложение с пользовательским интерфейсом через который пользователь управляет задачами для программы «Агента». Так же, через «Менеджер» производится настройка параметров работы «Агента». Программу можно запустить двойным кликом на иконке «Монитора». Закрытие программы не влияет на работу «Агента».

Программа «Монитор»· (файл fmonitor.exe)


отображает состояние «Агента» в системном трее, а также· содержит возможность для быстрого запуска программы «Менеджер».·Использование данной·программы не обязательно. Настройка параметров автозапуска производится в программе «Менеджер»


2. Установка программы.


1. Вариант поставки программы с инсталлятором. Запустите fsaver3.exe и следуйте инструкциям инсталлятора.

Linux Calculate Scratch Server 14.16.2 + 1C+ PostgreSQL Вторая статья (первая часть).

2.Вариант поставки программы в архиве. Извлеките архив программы в произвольный каталог (например) fsaver3.


3. Настройка параметров автозапуска «Агента».


Запустите программу «Менеджер»


1. Если установка происходила инсталлятором. «Пуск» –· «Программы» - «Effector Saver 3» – «Effector Saver 3», или запустите ярлык программы «Effector Saver 3» на рабочем столе.


2. Другой вариант - зайдите в каталог программы, запустите файл fmanager.exe


Выберите меню «Сервис» - «Параметры программы».


3.1 Выбор варианта автозапуска программы «Агент»


Агент


Как видите, программа «Агент» может запускаться в 2-х вариантах как «приложение» и как «сервис NT».


Если необходимо что бы программа· «Агент» запускалась даже если пользователь не зашел в свой рабочий стол установите программу как сервис NT.

Если вы устанавливаете программу на сервере (выделенном компьютере) за· которым, не работают пользователи и компьютер не выключается, или выключается редко установить запуск программы как сервис NT.



3.1.2 Настройка варианта запуска как сервис NT


Для варианта запуска «как сервис NT» в поле пользователь укажите имя учетной записи и пароль под которой будет запускаться сервис NT.


Для локальных пользователей компьютера имя должно иметь вид (точка и слеш обязательны)


.\имя_пользователя


Для пользователей домена

ваш_домен\имя_пользователя


Возможен вариант установки сервиса с учетной записью операционной системы «System».


Для данного варианта оставьте поля имя пользователя и пароль пустыми.


Замечание: необходимо учитывать, что по умолчанию у данной учетной записи нет прав на запись в сетевые ресурсы. Например «Агент » не сможет копировать архивы на сетевые диски.


Нажмите «Инсталлировать NT сервис». Если указаны верные имя и пароль появится сообщение «Операция успешно завершена».


Замечание: если текущему пользователю не достаточно прав на установку сервисов NT зайдите в систему под учетной записью с правами администратора.


3.3 Сохранение параметров автозапуска.


Для завершения настройки нажмите кнопку «Сохранить»


4. Создание задачи архивирования.



Рассмотрим данный вариант на примере настройки архивирования средствами 1С:Предприятия 8.


Цель – ежедневные архивы.


Условия - на компьютере где производится настройка должна быть установлена программа 1С:Предприятие и подключена необходимая база данных.


4.1 Создаем задачу.


В «Менеджере» выбираем меню «Задачи» - «Добавить задачу». Откроется окно настройки новой задачи.


4.2 Чем архивировать.


В верхней части окна из выпадающего списка «Вид задачи» выберите «Архивирование средствами 1С:Предприятие 8».


4.3 Что архивировать.


На первой закладке «Основные параметры» нажмите кнопку «Выбрать базу и заполнить». В открывшемся окне «Выбор базы 1С:Предприятия» укажите необходимую базу и нажмите кнопку «Выбрать». После этого остается заполнить имя и пароль пользователя указанной базы под которым будет запускаться архивирование средствами конфигуратора 1С:Предприятия. Замечание: у данного пользователя в базе должны быть соответствующие права.Обратите внимание, что имя задачи изменилось на имя выбранной базы


4.4 Куда архивировать.


Перейдите на закладку «Настройка архивов». Укажите каталог для хранения архивов: нажмите на кнопку с тремя точками в конце поля «Каталог архивов» и выберите в диалоге каталог (если требуется, в диалоге выбора создайте новый каталог кнопкой «Создать папку»).


Так - как архивировать данные мы будем часто, а место на жестком диске может со временем исчерпаться, установим в параметре «Количество одновременно хранимых архивов» число 10. Таким образом, программа будет самостоятельно удалять самые старые архивыГлава 3. данной задачи, как только их число превысит 10 штук.


Для большей гарантии восстановления данных (в случае если выйдет из строя жесткий диск) желательно копировать созданные архивы на другой жесткий диск или на сетевой диск другого компьютера (например на сервер предприятия). Для этого установите флажок «Дублировать архивы в каталоги…» , нажмите кнопку «+», поставте курсор в новой созданной строке в результате чего в конце строки появиться уже знакомая кнопка выбора каталога. Выберите необходимый каталог. Повторите данную операцию (начиная с кнопки «+») столько раз, сколько требуется создать копий архива.



4.5 Когда архивировать.


В данном вопросе есть небольшой момент, который сужает круг возможного периода выполнения архивирования - чем производится архивирование? Если используются штатные средства 1С: Предприятия, тогда обязательным условием (программы 1С:Предприятие) является то, что в базе в момент архивирования НЕ ДОЛЖНО быть работающих пользователей (вот Вам обратная сторона простейшего способа архивирования). Таким образом, время работы архиватора выходит, или граничит со временем рабочего дня пользователей базы.


Перейдите на закладку «Расписание».


Если архивирование производится на рабочей станции, выберите в поле «Назначить задание» «Ежедневно после загрузки системы». Что бы при перезагрузке компьютера в течении рабочего дня система не пыталась сделать повторный архив, установите флажок «единожды за день». Если необходимо, что бы после старта программы и архивированием прошла некоторая пауза, установите «время задержки» в формате «чч:мм»


«Архивирование средствами 1С:Предприятие 8».Если архивирование производится на сервере, выберите в поле «Назначить задание» «Ежедневно», «Время начала» установите произвольное время в формате «чч:мм» в периоде, когда прекращает работу с базой последний пользователь и до момента начала работы первого пользователя. Например ночь 01:00



4.6 Активация задачи.


Установите флаг «Выполнять задачу» в верхней части окна настройки. Данный параметр позволяет включать/отключать задачу для выполнения «Агента».



4.7 Сохранение настройки задачи.


Нажмите кнопку «Сохранить». Если параметры настроены верно, окно задачи закроется. Если в заполнении есть ошибки, появится окно с описанием ошибок в заполнении, после которого можно продолжить настройку задачи. Замечание: если нужно сохранить настройку, невзирая на ошибки в заполнении, снимите флажок «Выполнять задачу» и нажмите «Сохранить». Проверка корректного заполнения производится не будет, но и задача «Агентом» выполняться тоже не будет.



5. Проверка работы задачи.


Простой метод проверки - это выполнить задачу. Удостоверимся, что пользователи вышли из базы 1С:Предприятия. В главном окне «Менеджера» установим курсор на нашей задаче. Выберите меню «Задачи» - «Выполнить сейчас». Если «Агент» запущен, задача будет выполнена немедленно.



6. Просмотр результатов работы.


Дата и результат выполнения задач будет отображаться в табличном виде на закладке «Журнал». Что бы просмотреть детальный отчет, сделайте двойной клик мыши на нужной записи в журнале, или выберите меню «Журнал» - «Открыть запись». Если результат выполнения архивирования удачный, на закладке «Файлы» отображается запись о созданном архиве. Что бы открыть каталог содержащий созданный файл архива установим на нужной записи курсор, выберите меню «Файлы» - «Открыть папку файла» -«имя_созданного_архива.dt» (имя_созданного_архива.zip для версии 1С:Предприятие 7.7).

---------------------------------------------------------------------------------------------------------------------



В нашем случае расписание запуска задачи копирование «Архивирование средствами 1С:Предприятие 8». запускается в 00.25 (каждый день)!



Глава 2.


Установка приложения для запуска скриптов 1С V83.COMConnector.


Сначала нам надо создать com. Connect - делаем все, согласно этой инструкции.


На сервере с Ядром системы создать COM-коннектор.


Откроем Пуск - Панель управления - Администрирование - Службы компонентов:

В оснастке "Службы компонентов" развернуть узлы корень консоли - службы компонентов - компьютеры - мой компьютер.

Щелкнуть правой клавишей мыши по узлу "Приложения COM+" и выбрать пункт Создать - Приложение:

На втором шаге мастера установки приложений COM+ выбрать пункт "Создать новое приложение".

На третьем шаге мастера укажите имя нового приложения точно "V83COMConnector" и установите способ активации - библиотечное приложение:

После создания нового приложения COM+ разверните новый узел V83COMConnector, щелкните правой кнопкой мыши по узлу "Компоненты" и выберите пункт Создать - Компонент:

На втором шаге мастера установки новых компонентов COM+ выберите пункт "Установка новых компонентов":

Следующим этапом мастер предложит выбрать файл, содержащий необходимые компоненты. Мы должны выбрать системный файл платформы 1С comcntr.dll, находящийся в папке bin, находящейся в папке, куда была установлена платформа 1С. В нашем примере 1С была установлена в C:\Program Files\C:\Program Files\1cv8. В этой папке располагается папка вида "8.3.3.687", которая представляет собой номер версии и сборки платформы 1С и может иметь другое похожее имя. Внутри этой папки есть папка "bin", в которой и находится требуемый файл comcntr.dll. Выберем его.:На следующем этапе мастера нажимаем на кнопку "далее", ничего не меняя.После завершения работы мастера мы опять попадаем в оснастку консоли "Службы компонентов". Теперь нажмем F5 для обновления списков и убедимся, что у нашего приложения появился новый компонент — V83.COMConnector.1.


После сделайте принудительную регистрацию Com — DDL.


Пример:


Regsvr32 "C:\Program Files\1cv82\8.2.13.205\bin\comcntr.dll"




ВНИМАНИЕ!

Все эти действие нужно делать каждый раз, когда вы устанавливаете новую платформу 1С ред.8.3. Удаляете старый «коннект» и создаёте новый!



Глава 3.


Настойка скриптов запуска и остановки регламентных заданий 1С и удаление всех соединений заданной ИБ сервера 1С (сброс зависших соседний).

Файлы с приложенными скриптами имеют следующие имена:

1. block_fz_Buh83_v3_3.vbs.

2. unblock_fz_Buh83_v3_3.vbs.

3. buh83_drop_session.vbs


Все скрипты внутри полностью задокументированы — на русском языке, а то есть над каждой строкой есть комментарий!




1. Пункт настройка скриптов «Скрипт остановки регламентных заданий 1С».

Это скрипт в программе Effector saver настраиваем, как запуск скриптов — Вид задачи: «Произвольные команды»


Добавляем в пункте основное следующие задание:


cd C:\Windows\SysWOW64\


cscript.exe C:\script_1c\block_fz_Buh83_v3_3.vbs


Запуск задачи в 00.01


2. Пункт настройка скриптов «Скрипт запуска и остановки службы 1С» .

Это скрипт в программе Effector saver настраиваем, как запуск скриптов — Вид задачи: «Произвольные команды»


Добавляем в пункте основное следующие задание:

net stop "1C:Enterprise 8.3 Server Agent"

timeout /t 60

net start "1C:Enterprise 8.3 Server Agent"


Запуск задачи в 00.10


3. Пункт настройка скриптов «Скрипт запуска регламентных заданий 1С».

Это скрипт в программе Effector saver настраиваем, как запуск скриптов — Вид задачи: «Произвольные команды»


Добавляем в пункте основное следующие задание:


cd C:\Windows\SysWOW64\


cscript.exe C:\script_1c\unblock_fz_Buh83_v3_3.vbs


Запуск задачи в 01.05


4. Пункт настройка скриптов «Скрипт сброса зависших соединений в сервере 1С».

Это скрипт в программе Effector saver настраиваем, как запуск скриптов — Вид задачи: «Произвольные команды»


Добавляем в пункте основное следующие задание:


cd C:\Windows\SysWOW64\


cscript.exe C:\script_1c\buh83_drop_session.vbs


Запуск задачи в 00.00


Конец.


Дополнение. Листинг скриптов.


1. «Скрипт остановки регламентных заданий 1С» и «Скрипт запуска регламентных заданий 1С».


------------------------------------------------------------------------------------------------------------------------

' СКРИПТ БЛОКИРОВКИ РЕГЛАМЕНТНЫХ ЗАДАНИЙ БД - ВНИМАНИЕ! СКРИПТ ВЫПОЛНЯЕТСЯ СОВМЕСТНО СО СКРИПТОМ СОЗДАНИЯ РЕЗЕРВНОЙ КОПИИ БД!

' ЗАПУСКАЕТСЯ ПЕРВЫМ А ПОТОМ ЧЕЕРЗ 4~5 ЧАСОВ ЗАПУСКАЕТСЯ СКРИПТ СОЗДАНИЯ РЕЗЕРВНОЙ КОПИИ БД. ИНАЧЕ БУДУТ ПРОБЛЕМЫ С БД!

' ДЛЯ БД, хранимой в серверном варианте!


Dim WshShell, Programs1c


' Используются для серверного варианта хранения

ServerName = "Ваш сервер" ' Название сервера 1С Предприятия

InfoBaseName = "Имя Вашей базы" ' Имя архивируемой базы

' Кластер на сервере 1С

ClasterPortNumber = 1541


' Для серверного варианта: Chr(34) + ServerName + "\" + InfoBaseName + Chr(34)

DBPath = Chr(34) + ServerName + ":" + CStr(ClasterPortNumber) + "\" + InfoBaseName + Chr(34)


' Для серверного варианта: "/S"

BaseParam = "/S"


' Эти данные лучше в скрипте не светить, а использовать Windows аунтификацию

' Имя и Пароль пользователя назначенного для архивирования

InfoBasesAdminName = "Имя пользователя"

InfoBasesAdminPass = "Ваш пароль"


' Имя и Пароль Администратора кластера

' Не используется --------------------

ClasterAdminName = "Admin"

ClasterAdminPass = "admin"


ClasterAdminName = ""

ClasterAdminPass = ""


' LockPermissionCode = "ПакетноеОбновлениеКонфигурацииИБ" ' Код блокировки базы

' LockMessageText = vbCrLf + "БАЗА ЗАКРЫТА НА СОЗДАНИЕ РЕЗЕРВНОЙ КОПИИ" + vbCrLf + "Администратор - БАЗЫ"


' LockTimeHours = 0.2 'Время блокирования БД в часах

' На самом деле данный параметр достаточно установить равным 1,

' ибо блокировка с БД всё равно снимается после архивирования


FindInfoBase = False 'Флаг, что ИБ найдена

Done = False 'Флаг выполнения архивирования


Set WshShell = CreateObject("WScript.Shell")

' Для корректного определения зарегистрированного приложения 1С

'PrgDirx86 = WshShell.RegRead("HKEY_CLASSES_ROOT\CLSID\{b3a7d9db-3cba-47f4-b80a-5dda79d8925a}\LocalServer32\")


' PrgDirx86 = "C:\Program Files\1cv8\8.3.6.2100\bin\1cv8.exe"

' PrgDirx86 = "C:\Program Files (x86)\1cv8\8.3.6.2100\bin\1cv8.exe"

' If InStr(PrgDirx86, " ") <> 0 Then

' PrgDirx86 = Chr(34) + PrgDirx86 + Chr(34)

' End If


' strNow = Now()

' FullPathName = DumpPath & "\" & _

' Right("0" & Day(strNow), 2) & "_" & Right("0" & Month(strNow), 2) & "_" + Right(Year(strNow), 2) & "_" & _

' Right("0" & Hour(strNow), 2) & "_" & Right("0" & Minute(strNow), 2) & "_" + Right(Second(strNow), 2) & "_" & _

' FileName & ".dt"


' If InStr(FullPathName, " ") <> 0 Then

' FullPathName = Chr(34) + FullPathName + Chr(34)

' End If


'------------------------------------------------------------------------------

' НАЧАЛО СЕРВЕР ---------------------------------------------------------------

'------------------------------------------------------------------------------

Set ComConnector = CreateObject("v83.COMConnector")

Set ServerAgent = ComConnector.ConnectAgent(ServerName)

' Получим массив кластеров сервера у агента сервера

Clasters = ServerAgent.GetClusters()

' Найдем необходимый нам кластер

For Each Claster In Clasters

'Wscript.Echo "Крутим в цикле кластеры: " & Claster.MainPort


If Claster.MainPort = ClasterPortNumber Then


'Wscript.Echo "Нашли искомый кластер!!! " & Claster.MainPort


ServerAgent.Authenticate Claster, ClasterAdminName, ClasterAdminPass

' Получаем список рабочих процессов

WorkingProcesses = ServerAgent.GetWorkingProcesses(Claster)

For Each WorkingProcess In WorkingProcesses

If WorkingProcess.Running = 1 Then

' Для каждого рабочего процесса создаем соединение с рабочим процессом

Set connecttoworkprocess = ComConnector.ConnectWorkingProcess("tcp://" + WorkingProcess.HostName + ":" + CStr(WorkingProcess.MainPort))

connecttoworkprocess.AuthenticateAdmin ClasterAdminName, ClasterAdminPass

connecttoworkprocess.AddAuthentication InfoBasesAdminName, InfoBasesAdminPass


If Not FindInfoBase Then

' Получаем список ИБ рабочего процесса

InfoBases = connecttoworkprocess.GetInfoBases()

For Each InfoBase In InfoBases

'Wscript.Echo UCase(InfoBase.Name)


' Ищем нужную базу

If UCase(InfoBase.Name) = UCase(InfoBaseName) Then

FindInfoBase = True

Exit For

End If

Next


If Not FindInfoBase Then ' Не нашли нужную базу

Wscript.Echo "Не нашли нужную базу " & UCase(InfoBaseName)

Exit For

End If


' Устанавливаем запрет на подключение новых соединений


' InfoBase.ConnectDenied = True

'Устанавливаем запрет на подключение новых регламентных заданий!

InfoBase.ScheduledJobsDenied = True

' InfoBase.ScheduledJobsDenied = False



' InfoBase.DeniedFrom = CStr(Now())

' InfoBase.DeniedTo = CStr(Now() + 1 / 24 * LockTimeHours)


' InfoBase.DeniedMessage = LockMessageText

' InfoBase.PermissionCode = LockPermissionCode

connecttoworkprocess.UpdateInfoBase (InfoBase)


'Wscript.Echo "Запретили доступ к ИБ"


End If


If FindInfoBase Then


'Wscript.Echo "Разрываем соединения с ИБ: " & UCase(InfoBaseName)


' Получаем массив соединений с ИБ

Connections = connecttoworkprocess.GetInfoBaseConnections(InfoBase)

For Each Connection In Connections


'Wscript.Echo Connection.AppId

' Разрываем Connections с ИБ

If Connection.AppId <> "SrvrConsole" Then

connecttoworkprocess.Disconnect (Connection)

End If

Next


'----end-----

Exit For

End If

End If

' End If

Next

End If

Next


ComConnector = Null

ServerAgent = Null

Clasters = Null

WorkingProcesses = Null

connecttoworkprocess = Null

InfoBases = Null

InfoBase = Null

Connections = Null

'------------------------------------------------------------------------------

' КОНЕЦ СЕРВЕР ----------------------------------------------------------------

'------------------------------------------------------------------------------


В этой строке:

'Устанавливаем запрет на подключение новых регламентных заданий!

InfoBase.ScheduledJobsDenied = True

' InfoBase.ScheduledJobsDenied = False

True — выключить

False — включить


------------------------------------------------------------------------------------------------------------------------





2. «Скрипт сброса зависших соединений в сервере 1С».




____________________________________________________________


'VBS. Cкрипт осуществляет отключение всех подключений к ИБ 1С:Предприятия v8.2.
'На сервере подразумевается наличие только одного кластера и только одного рабочего процесса

'имя пользователя 1С:Предприятия
UserName = "Имя пользователя"

'пароль пользователя 1С:Предприятия
UserPass = "Ваш пароль"

'имя сервера 1С
ServerName = "Ваш сервер"
BaseName = "Имя Вашей базы"


'Удаление всех соединений заданной ИБ сервера 1С


Dim Connector

Dim AgentConnection

Dim Cluster

Dim WorkingProcess

Dim WorkingProcessConnection

Dim ibDesc

Dim connections

Dim ConnectString


Set connector = CreateObject("v83.COMConnector")

Set AgentConnection = Connector.ConnectAgent(ServerName)

Set Cluster = AgentConnection.GetClusters()(0)

AgentConnection.Authenticate Cluster, "", ""

Set WorkingProcess = AgentConnection.GetWorkingProcesses(Cluster)(0)

ConnectString = WorkingProcess.HostName & ":" & WorkingProcess.MainPort

Set WorkingProcessConnection = Connector.ConnectWorkingProcess(ConnectString)

WorkingProcessConnection.AddAuthentication UserName, UserPass

Set ibDesc = WorkingProcessConnection.CreateInfoBaseInfo()

ibDesc.Name = BaseName

Connections = WorkingProcessConnection.GetInfoBaseConnections(ibDesc)


Dim i

Dim Connection

For i = LBound(Connections) To UBound(Connections)

set Connection = connections(i)

If (Connection.AppID <> "COMConsole") then

WorkingProcessConnection.Disconnect Connection

End if

Next


' connector = Null

' AgentConnection = Null

' Cluster = Null

' WorkingProcess = Null

' WorkingProcessConnection = Null

' ibDesc.Name = Null

' Connection = Null



------------------------------------------------------------------


Удачи!





Linux Calculate Scratch Server 14.16.2 + 1C+ Postg...
Linux Calculate Scratch Server 14.16.2 + 1C+ Postg...