Программа автоматического обновления 1с

Суть рассматриваемого вопроса изложена в заголовке, повествование разобьем на три части. Отдельно внизу будут приведены тексты скриптов.

1) Предисловие

Вопрос необходимости резервного копирования в автоматическом режиме не подлежит сомнению ни у корифеев, ни у новичков. В статье рассмотрим резервное копирование средствами 1С (что имеет ряд преимуществ перед копированием средствами СУБД). При этом будут применены средства пакетного запуска платформы 1С, powershell и планировщик задач Windows.

Задачи обновления информационных давно автоматизированы, но только для типовых конфигураций, либо тех, что используют библиотеку стандартных подсистем. В моем случае мы работаем со старенькой Альфа-Авто редакции 4, которая распространяется на 12 серверов. Изменения вносятся примерно два раза в неделю, поэтому выгода от автоматизации налицо.

В обоих случаях мы имеем следующие исходные данные:

  • Операционная система Windows Server (версии от 2008 до 2012);
  • Клиент-серверный вариант платформы 1С 8.3 (с обязательно установленным компонентом COM-соединение).

2) Резервное копирование

После прочтения указанных ссылок мы уже знаем, что надо сделать, чтобы запустить скрипт powershell, поэтому сразу перейду к делу.

1C Автоматическое обновление

Сделать резервную копию информационной базы в пакетном режиме очень просто, надо только «выгнать» всех пользователей. Делать мы это будем, подключившись COM-объектом к базе данных. Это в нашем примере делает функция ExitAll. В тело функции зашито, что она вызывается на том сервере, на котором, собственно, установлен кластер серверов 1С. Вызовите эту функция безо всяких параметров в своем скрипте на сервере — и ВСЕ пользователи из ВСЕХ баз кластера вылетят.

Приношу свои извинения человеку, чьим кодом я воспользовался при написании этой процедуры — авторство восстановить не удалось.

После этого следует вызвать функцию BackUpBase с параметром — имя информационной базы. У меня во всех ИБ есть служебный администратор с одинаковыми учетными данными, поэтому я их просто захардкодил. При необходимости можно их параметризовать, либо обойтись аутентификацией ОС.

Итоговый скрипт сохраняем в файл.

В планировщике задач создаем «Простую задачу», имя, разумеется, на ваше усмотрение.
У меня работает ежедневно, но и тут хозяин — барин. Запускать лучше всего ночью, когда никто не работает, например, в 3:00. Действие для задачи — «Запустить программу». Сама программа у нас «powershell.exe». А вот ее аргументы —

-File «D:1C_automatizationExitAllUsersAndBackup.ps1» -ExecutionPolicy RemoteSigned

где ExitAllUsersAndBackup.ps1 — как раз наш сохраненный скрипт.
-ExecutionPolicy RemoteSigned — ключ, который разрешает выполнение пакетных скриптов powershell, если в системе они глобально не разрешены. Работает через раз (возможно, не хватает компетенции чтобы разобраться, но закономерности не нашёл). В случаях, когда не работает с этим ключом, приходится разрешать выполнение скриптов для всего сервера.

Настройка автоматического обновления базы 1С

Для этого Win+R, powershell.exe,

Set-ExecutionPolicy RemoteSigned

и подтверждаем действие.

Время работы с данными скриптами — более трех месяцев. Перебои были, но связаны с отключением электричества и прочими внешними факторами.

3) Обновление конфигурации

После того, как все пользователи вышли (или выгнаны, как в предыдущем случае), можно обновлять конфигурацию. Наличие регламентных заданий может помешать обновлению, так как с момента отключения всех пользователей и открытия конфигуратора для загрузки конфигурации вполне может начать работу какое-то задание. Поэтому расписание следует обдумать.

Конфигурацию мы храним на ftp-сервере, на который помещаем ее вручную. Файл конфигурации называется GK.cf, в приведенном примере обновляется одна единственная конфигурация. Потенциально можно так же обновлять и несколько различных конфигураций.
На ftp рядом с GK.cf помещаем файл с названием flag.txt. Наличие этого файла сигнализирует о том, что обновляться надо. Можно проверять наличие самого фйла GK.cf, но мы используем флаг так же для других целей.

Скрипт работает следующим образом:

  • Удаляет GK.cf и flag.txt, если таковые есть в рабочем каталоге (у пользователя, от имени которого будет запускаться планировщик, должно быть право на запись в этот каталог);
  • Предпринимается попытка скачать файл флага;
  • Если такой файл скачать получилось — скачиваем .cf;
  • Собственно, обновление функцией UpdateCf.

Надежность этого скрипта чуть меньше. Обновление проходит до конца на 100% в тех случаях, когда меняется структура метаданных. В других случаях бывает, как я предупреждал ранее, появление активного пользователя. В результате конфигурация загружена в базу, но конфигурация базы данных не обновлена (снова прошу прощения за подобную кривоватую терминологию перед людьми, не связанными с 1С). В остальном — полет нормальный.

Скрипт резервного копирования

# параметры общие ++ $BAKUPDIR=»D:1C_automatizationBACKUP» $CEXE=»C:Program Files (x86)1cv8common1cestart.exe» # параметры общие — function ExitAll < # Сценарий разрывает все сессии пользователей во всех ИБ на выбранном кластере сервера приложений 1С # Если часть сессий остается активными после этого, то он останавливает все рабочие процессы кластера # Параметры запуска сценария: адрес сервера, основной порт кластера #$SrvAddr = «tcp://y001-ap-01:1640» $SrvAddr = «tcp://127.0.0.1» ######################################## $V83Com = New-Object -COMObject «V83.COMConnector» # Подключение к агенту сервера $ServerAgent = $V83Com.ConnectAgent($SrvAddr) $ClusterFound = $FALSE #Получим массив кластеров сервера $Clasters = $ServerAgent.GetClusters() foreach ($Claster in $Clasters)< # Аутентификация к выбранному кластеру # если у пользователя, под которым будет выполняться сценарий нет прав на кластер, # можно прописать ниже имя пользователя и пароль администратора кластера $ServerAgent.Authenticate($Claster,»»,»») #получаем список сессий кластера и прерываем их $Sessions = $ServerAgent.GetSessions($Claster) write-host «Разрывается» $Sessions.Count «сессий. » foreach ($Session in $Sessions)< $ServerAgent.TerminateSession($Claster,$Session)>if (($Sessions.Count -eq 0)) < continue># Если часть сессий осталась активной можно остановить рабочие процессы # Они перезапустятся автоматически главным менеджером кластера, но без «зависших» сессий # Получаем список рабочих процессов кластера $WorkingProcesses = $ServerAgent.GetWorkingProcesses($Claster) foreach ($WorkingProcess in $WorkingProcesses)< if ($WorkingProcess.Running -eq 1)< write-host «Останавливаем процесс с PID =» $WorkingProcess.PID #. здесь хорошо бы проверить что компьютер с которого запущен сценарий это выбранный в параметрах запуска сервер приложений 1С Stop-Process $WorkingProcess.PID -Force>> > $V83Com = «» > function BackUpBase($IbName) < #Сформируем текущие дату и время $NOWDATETIME = Get-Date -UFormat «%Y_%m_%d_%H-%M» #Укажем, куда копировать (можно так же параметризовать, чтобы разные базы копировались в разные каталоги) $TARGETDIR = $BAKUPDIR #Сформируем имя файла резервной копии $BAKFN=$TARGETDIR + $IbName + «_» + $NOWDATETIME + «.dt» #Сформируем массив параметров $PARAMS = («DESIGNER»,»/UseHwLicenses+»,»/S»,»127.0.0.1$IbName»,»/N»,»ИМЯАДМИНА1С»,»/P»,»ПАРОЛЬАДМИНА1С»,»/DumpIB»,$BAKFN) #Собственно, поехали #Выгонем всех ExitAll #Вот эти базы будут скопированы BackUpBase RingAlpha BackUpBase MazdaAlpha BackUpBase RingAcc BackUpBase RingZup BackUpBase MazdaHRM BackUpBase MazdaAcc BackUpBase RingAcc48 BackUpBase RingHRM48 BackUpBase RingAccNorth BackUpBase RingHRMNorth

Читайте также:
Структура программы развития учреждения

Скрипт обновления конфигурации

function Download_File ($si_UserName, $si_Password, $si_Source_Path, $si_Target_Path) < $oi_Credentials = New-Object System.Net.NetworkCredential($si_UserName,$si_Password) $oi_Web_Client = New-Object System.Net.WebClient $oi_Web_Client.Credentials = $oi_Credentials $oi_Web_Client.DownloadFile($si_Source_Path, $si_Target_Path) while($oi_Web_Client.IsBusy)<>> Clear-Host; $curDir = $MyInvocation.MyCommand.Definition | split-path -parent $curDir = $curDir + «» $server = «111.222.33.4» #FTP сайт $flagfoldername = «/1C/flag.txt» #удаленная папка с флаг-файлом $flagurl = «ftp://$server$flagfoldername» #url для закачки флага $cffoldername = «/1C/GK.cf» #удаленная папка с файлом кофигурации $cfurl = «ftp://$server$cffoldername» #url для закачки файла конфигурации $login = «MYFTPUSER» #ftp-логин $password = «MYFTPPWD» #ftp-пароль $flagfile = $curDir + «flag.txt» $cffile = $curDir + «GK.cf» #файл с конфигурацией на локальном диске $SERVERNAME=»127.0.0.1″ $CEXE=»C:Program Files (x86)1cv8common1cestart.exe» $ADMINNAME=»1CUSER» $ADMINPASS=»1CPWD» function UpdateCf($IBNameLocal) < function FileExist($fpath) < $isfile = Test-Path $fpath return ($isfile -eq «True») >#собственно, начало выполнения скрипта if (FileExist $flagfile) < Remove-Item $flagfile >if (FileExist $cffile) < Remove-Item $cffile >Download_File $login $password $flagurl $flagfile if (FileExist $flagfile) < Download_File $login $password $cfurl $cffile if (FileExist $cffile)>

Благодарю за внимание. Готов к конструктивной критике.

  • администрирование
  • резервное копирование
  • автоматическое обновление
  • powershell

Источник: habr.com

Как автоматически обновлять базы с помощью Обновлятора 1С?

Обновление баз 1С не всегда получается осуществлять так быстро, как хотелось бы. Тем более, если этим вопросом решил заняться сотрудник с недостаточной квалификацией. Тогда это может грозит в первую очередь большим количеством потраченного времени и нервов, а в самом плачевном исходе к полной или частичной потере базы данных.

Естественно сотрудник с более профессиональным уровнем навыков работы и обслуживания 1С сделает эту же процедуру куда профессиональнее. Но в штате компании может не оказаться подобного сотрудника, тогда как быть в этой ситуации?

Нанимать внештатного человека, занимающегося обслуживанием программных продуктов 1С , что явно не одобрит начальство из-за внеплановых финансовых затрат. Или воспользоваться специализированной программой, которая осуществляет автоматическое обновление баз. Эта программа известна, как обновлятор 1С. Давайте рассмотрим плюсы этого ПО, а также приведем примеры работы.

Плюсы обновлятора 1С.

  • Продуманность. Беспроблемная автоматизация процессов внешних баз, в том числе и архивация СУБД на MS SQL и Postgres SQL. Производит автоматическое обновление, а также тестирование после обновления базы. Это позволит забыть рутинные манипуляции и сильно сократит время.
  • Безопасность. Действия с базами производятся с помощью пакетного запуска платформы 1С. Это дает обеспечить идентичное сходство с ручным обновлением базы из конфигуратора, тем самым гарантирует безопасное обновление.
  • Универсальность. Обновлятор 1С подходит для автоматического обновления, как файловый, так и серверных баз 1С. Главный пункт универсальности заключается в одинаковом обновлении типовых, доработанных или написанных с нуля конфигураций. Обновлятор работает с любым из перечисленных вариантов, с помощью реализованного в нем функционала.
  • Быстродействие. Программа работает в поддержке параллельного многопоточного выполнения манипуляций над базами данных 1С.
  • Сохраняет резервные копии 1С в облако. Еще одни плюс, который гарантирует высокую защиту резервных архивов от воздействия шифрования. Эта функция программы поддерживает работу с такими хранилищами как: ftp, ssh, google drive, Яндекс-облако и многие другие.
  • Осторожность. Работа в программе рассчитана на абсолютно любой уровень профессионализма пользователей. Обновить базу данных сможет, как обычный бухгалтер, так и специалист по обслуживанию. При этом и в первом и во втором случае остаться без резервной копии, а также ненароком испортить базу просто не получится.
  • Технологичность. Позволяет программе поддерживать и обновлять доработанных конфигураций, есть возможность обновления из хранилища, обновляет собственноручно написанные скрипты автоматизации, а также может работать с расширениями. Эти пункты полностью отражают гибкость и технологичность обновлятора 1С.
Читайте также:
Как печатать программы в питоне

Перечислять положительные качества этого продукта можно еще долго, поэтому выделил основные и наиболее полезные возможности. В ходе эксплуатации в этом можно убедиться. Поэтому теперь перейдем к сквозному примеру работы с обновлятором и увидим все на практике.

Пример работы с обновлятором 1С

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

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

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

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

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

Для неопытного пользователя будет достаточно указать путь папки, куда будут сохранятся бэкапы 1С и на этом в принципе все. После этого можно со спокойным сердцем приступить к обновлению базы. И так, вот в принципе и все необходимые манипуляции, которые проводятся перед обновление базы в обновляторе 1С. Далее требуется перейти на главную закладку «Базы», выбрать базу и нажать кнопку «Обновить базу». После этого, будет произведено автоматическое подключение к базе, поиск и скачивание обновлений на указанном сайте и в завершении база обновиться до последней версии.

На этом работа с Обновлятором 1С заканчивается. А по началу казалось куда сложнее, чем получилось на самом деле. Используя эту программа, обновления не будут являться головной болью. Буквально пару кликов и база будет мгновенно обновлена без сторонних усилий. На этом все, я с Вами прощаюсь.

Всего доброго и успехов в работе.
Приобрести ключ активации обновлятора 1С можно у нас. Стоит эта программа всего 950 руб (!) Вдумайтесь, за 950 руб, вы получаете постоянно обновленные базы 1С и кроме того вовремя сделанные резервные копии!

Источник: dzen.ru

Обновлятор-1С: обновление всех баз за один раз!

Наш канал в Телеграм

Программа архивирует, обновляет и тестирует сразу все выбранные базы в «тихом» режиме, то есть без участия пользователя.

Поддерживаются все типовые базы; практически не требуется настройка; возможен запуск по расписанию и отправка на почту результатов работы.

Главное окно Обновлятора-1с

Настройки программы

Обновлятор 1С, созданный, чтобы кошмар долгих обновлений ушёл в прошлое

nastroiki.png

Ключевые возможности Обновлятора-1С

  • Сам скачивает все нужные обновления с сайта 1С или подхватывает уже имеющиеся.
  • Сам выгоняет пользователей, запрещает работу регламентных заданий на сервере, завершает зависшие сеансы.
  • Сам (без участия пользователя) архивирует и обновляет выбранные базы. Для мощных серверов может обновлять параллельно в несколько потоков.
  • Сам после обновления выполняет служебные действия в режиме пользователя.
  • Умеет обновлять платформу 1С.
  • Подходит для всех типовых и отраслевых баз 1С (базовых и проф версий, файловых и серверных), в том числе доработанных, которые находятся на поддержке.
  • Работает с базой через запуск платформы 1с (её пакетных команд), поэтому результат обновления полностью совпадает со штатным.

Даже одну единственную базу обновлять легче и безопаснее, чем через 1с предприятие или конфигуратор.

Меня зовут Владимир Милькин. Рад представить вам инструмент, работу над которым веду начиная с 2014 года.

Для меня и моих клиентов программа «Обновлятор-1С» оказалась долгожданной и очень востребованной. Не мне вам рассказывать насколько мучительно долго обновляются базы 1С. Особенно долго этот процесс происходит для тройки.

А если у вас не одна база и на носу отчетность — зачастую не остаётся выбора кроме как запускать обновление в рабочее время, следить за ним, периодически нажимая на кнопки «Далее». Во время обновления — компьютер ощутимо тормозит и работа с базами в этот момент (да и просто с компьютером) становится невыносимой.

Читайте также:
Программа исправить ошибки Андроид

Я всегда мечтал предоставить бухгалтерам (хотя программа подходит для любых типовых конфигураций, в том числе «Зарплата и управление персоналом», «Управление торговлей») инструмент, в котором можно перед уходом с работы (на ночь глядя) отметить все нужные базы, нажать на кнопку «Обновить всё» и уйти со спокойной совестью домой, зная что утром все базы будут в актуальном состоянии.

Я неоднократно предпринимал попытки найти уже что-то готовое у коллег, но это были либо сырые недоделки (например, скрипты — разобраться с которыми было непросто даже мне самому — а ведь я программист), либо решения стоимость которых зашкаливает за все разумные пределы.

Мне ничего не оставалось кроме как сесть за мой любимый инструмент разработки Visual Studio C# и долгими бессонными (но счастливыми) ночами писать новый проект для пакетного обновления баз, который, я надеюсь, сделает жизнь тысячи пользователей 1С в нашей стране комфортнее.

Групповое обновление всех баз за один раз

  • Очень простая настройка. В большинстве случаев вам достаточно будет один раз выбрать галками нужные базы и забить логин/пароль от сайта users.v8.1c.ru (они уже должны у вас быть, если вы обновляете базы самостоятельно). Всё. Можно нажимать кнопку «Обновить».
  • Обновлятор-1С поддерживает автоматическое обновление практически всех видов баз 1С.
  • Обновлятор-1С умеет самостоятельно скачивать все нужные обновления с сайта 1С (при наличии логина и пароля).
  • Если у вас нет доступа к обновлениям через сайт, но есть уже скачанные обновления — вы можете установить их в папку с шаблонами 1С, обновлятор их найдёт и подхватит автоматически, для этого не нужен ни логин, ни пароль, ни доступ в интернет.
  • Все конфиденциальные данные баз (например, пароли) хранятся в зашифрованном виде.
  • Обновлятор-1С поддерживает как файловые, так и серверные базы данных.
  • Обновлятор-1С использует тот же самый механизм обновления, что и сама 1С.
  • Обновлятор-1С делает обязательное резервное копирование баз перед обновлением. Для файловой базы происходит архивация файла 1Cv8.1CD, для серверной — выгрузка в dt-файл.
  • Обновлятор-1С автоматически восстанавливает базу из резервной копии, если обновление не удалось для файловой базы (для серверной просто пишет путь к выгрузке, сделанной перед началом обновления).
  • Сделанные резервные копии остаются в вашем распоряжении, хранятся 2 (и более) самых свежих копий для каждой базы.
  • Обновлятор-1С автоматически подтверждает легальность полученных обновлений и выполняет обновление базы в режиме 1С:Предприятие после каждого из обновлений (даже если их было несколько для одной базы).
  • Обновлятор-1С автоматически завершает работу пользователей перед запуском обновлений.
  • Обновлятор-1С может запускаться по расписанию.
  • Обновлятор-1С может уведомлять вас о результатах обновления на почту.

В чём особенности корпоративной лицензии для Обновлятора-1С

Обращаю ваше внимание на то, что вся информация, которую я изложу ниже, отражена в лицензионном соглашении с пользователем для обновлятора.

Корпоративная лицензия в 2.5 раза дороже обычной, но при этом имеет ряд преимуществ:

  • Корпоративная лицензия позволяет производить неограниченное количество перевыпусков ключа на протяжении всего срока действия корпоративной лицензии (этот срок составляет 3 года). Такие перевыпуски могут понадобиться, если у вас полностью или частично меняется оборудование сервера (материнская плата или процессор). Эта возможность особенно полезна для виртуальных систем.
  • Обычная лицензия позволяет производить перевыпуск ключа только один раз в течение первого года после активации ключа.
  • Обычная лицензия даёт доступ к базовой технической поддержке в течение 12 месяцев с момента её активации.
  • предоставление подробной информации о всех возможностях программы
  • помощь в настройке программы
  • помощь в разработке сценариев автоматизации процессов пользователя при помощи программы
  • возможность удаленного подключения к пользователю для более оперативного решения вопросов по использованию программы

Расширенную техническую поддержку всегда оказывает сам разработчик программы. Техническая поддержка работает с понедельника по пятницу с 9-00 до 18-00 по Владивостокскому времени (+7 часов к Москве), гарантированное время ответа на запрос — 1 сутки.

Скриншоты могут сильно отставать от текущих версий программ.

Запрос на демонстрацию

  • По вопросам демонстрации обращайтесь по контактам указанным на сайте. Демо и тестовых версий нет по определенным причинам.
  • Для Мегалайт есть возможность показать загрузку на ваших прайс-листах. Если вы сомневаетесь что ваши прайс-листы будут загружаться — мне достаточно их просто увидеть без 1С, скриншот или файл.
  • Для получения счета необходимо оформить заказ. Договор-оферта опубликован в разделе Инфо.
  • Все продукты поставляются в электронном виде после автоматического оповещения об оплате.
  • Все материалы сайта являются объектами авторского и имущественного права. Распространение, публикация, размещение материалов на иных ресурсах должно быть согласовано с авторами программ.

Создание 07.07.2016 03:23:27

Обновление 26.06.2019 12:27:00

Просмотры 9157

Мегапрайс PRO является модульной программой

  • Вы можете купить любой отдельный модуль, например «Мегалайт-загрузка прайс-листов» (если вам нужно только загружать).
  • До полного комплекта действует система доплата разницы.

Источник: subsystems.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru