Андрей Смирнов
Время чтения: ~16 мин.
Просмотров: 9

Установка и обновление платформы на большом числе компьютеров через общий сетевой каталог

Как обновлять свои доработки конфигурации у пользователей?    оглавление    Как настроить использование сетевых папок (дисков)

</span>

Обновлятор-1с. Автоматическое обновление доработанных конфигураций.

Обновлятор >> Инструкции

Задать вопрос разработчику программы

Новая возможность

В свойствах баз обновлятора (в версиях после 3 ноября 2017 года) появилась вот такая замечательная опция:

Image-2017-11-03-15-35-25.png

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

Когда она может быть полезна

Ну, например, вы регулярно обновляете одну и ту же дописанную конфигурацию и хотите облегчить себе работу.

При этом все дописки вы знаете и они у вас задокументированы.

В таком случае может быть проще и быстрее:

  1. Сначала обновить конфигурацию обновлятором (установив соотв. галку в свойствах базы)
  2. Затем посмотреть отчёт обновления в обновляторе (там будут указаны свойства,измененные дважды)
  3. И только после этого проверить, что все доработки на месте и вернуть те, что были утеряны (об этом смотрите ниже, где я рассказываю как работает автоматическое обновление доработанных конфигураций)

При таком способе работы вам не нужно:

  1. Скачивать необходимые обновления
  2. Открывать конфигуратор и применять эти обновления
  3. Ожидать пока выполнится обновление конфигурации
  4. Ожидать пока выполнится обновление базы данных

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

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

Ваше вмешательство будет нужно тогда, когда в обновлении будет изменен тот же самый объект, что изменен у вас (это и называется «измененные дважды»). И вы можете легко находить такие объекты, просматривая отчёт обновлятора:

Image-2017-11-03-15-50-36.png

Как работает автоматическое обновление доработанных конфигураций

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

Обновление происходит с приоритетом новой конфигурации, при этом:

  1. Если вы добавляли в конфигурацию новый объект — обновление его не затронет.
  2. Если вы добавляли в конфигурацию новый реквизит в уже существующий объект типовой (от поставщика) — обновление его также не затронет.
  3. Если вы меняли в конфигурации объект поставщика, но он не изменился в этом обновлении, то он останется как есть.
  4. Но, если вы меняли в конфигурации объект поставщика, и он изменился в этом обновлении, то возьмётся версия из обновления. При этом в отчёте обновлятора этот объект будет отмечен как «дважды измененный«.

При этом, при настройке по умолчанию…

Image-2017-11-08-17-22-09.png

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

Я очень надеюсь, что эта возможность позволит высвободить ещё немного часов от ручного, монотонного труда.

Если у вас есть замечания или пожелания по этой возможности — я всегда рад вас выслушать, пишите мне на helpme1c.box@gmail.com

Как настроить финальное объединение с эталонной конфигурацией

Чтобы стало понятнее о чём речь, приведу рабочий пример у одного из пользователей обновлятора.

У него 40 бухгалтерских баз. Все они содержат одну и ту же доработанную конфигурацию.

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

Алгоритм работы до автоматизации у него был такой:

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

Он обратился ко мне за помощью в автоматизации всей цепочки действий кроме «в последнем релизе тестирую, добавляю все изменения, которые были потеряны, в модулях форм документов, общих модулях».

С пакетным обновлением доработанных баз до последнего релиза обновлятор (учитывая возможность, описанную выше) справляется на ура, но вот объединять конфигурацию с подготовленным cf в пакетном режиме обновлятор не умел.

И я доработал эту возможность.

Чтобы заставить обновлятор после применения обновления следом выполнить ещё и объединение с конфигурацией из файла — необходимо расположить файл с конфигурацией для объединения в папку обновления под именем MergeThisFileAfterUpdate.cf

В рассмотренном выше примере предположим, что требуется обновить все 40 конфигураций на следующие релизы (и пусть они для упрощения задачи будут ключевыми, то есть их нельзя перескакивать): 2.0.60.1, 2.0.60.2 и 2.0.60.3.

Алгоритм наших действий с учётом автоматизации обновлятором будет следующим:

  1. Обновить при помощи обновлятора одну из конфигураций до версии 2.0.60.3
  2. Добавить все изменения, которые были потеряны… проверить работоспособность обновлённой конфигурации.
  3. Выгрузить эту конфигурацию в папку с обновлением 2.0.60.3 под именем MergeThisFileAfterUpdate.cf
  4. Запустить обновление (с включенной возможностью обновления доработанных конфигураций) оставшихся 39 баз.
  5. Обновлятор в этом случае для каждой из 39 баз:
    1. выполнит пакетное обновление на 2.0.60.1
    2. выполнит обработчики обновления
    3. выполнит пакетное обновление на 2.0.60.2
    4. выполнит обработчики обновления
    5. выполнит пакетное обновление на 2.0.60.3
    6. обнаружит, что в папке с обновлением 2.0.60.3 лежит файл MergeThisFileAfterUpdate.cf
    7. выполнит пакетное объединение нашей конфигурации с конфигурацией из файла MergeThisFileAfterUpdate.cf (о настройках такого объединения смотрите ниже)
    8. выполнит обработчики обновления

При этом пакетное объединение выполняется через пакетный ключик конфигуратора mergecfg и следующий файл настроек (передаётся через ключ settings):

<?xml version="1.0" encoding="UTF-8"<Settings xmlns="http://v8.1c.ru/8.3/config/merge/settings" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.1"><Parameters><ConfigurationsRelation>SecondConfigurationIsDescendantOfMainConfiguration</ConfigurationsRelation><AllowMainConfigurationObjectDeletion>true</AllowMainConfigurationObjectDeletion><CopyObjectsMode>false</CopyObjectsMode></Parameters></Settings>

Такие настройки объединения позволяют нам привести нашу конфигурацию (которая всё ещё на поддержке) к конфигурации в файле MergeThisFileAfterUpdate.cf, в которую мы внесли и исправили все наши доработки.

Объединение с эталонной конфигурацией как отдельная операция

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

Эта возможность доступна на закладке «Скрипты» в главном окне программы.

Тип скрипта «Пакетный». Из меню следует выбрать пункт «Обновлятор»->»Методы»->»Объединить с конфигурацией из файла»:

Image-2018-11-20-16-37-51.png

В скрипт вставится вот такой текст:

Image-2018-11-20-16-38-55.png

Путь к файлу, с которым нужно выполнить автоматическое объединение, у вас, конечно, будет свой.

А чтобы сразу после изменения конфигураций выполнить обновление конфигураций баз данных, допишем этот скрипт следующим образом:

Image-2018-11-20-16-40-42.png

Получается, что в начале мы выполняем объединение конфигураций при помощи команды обновлятора merge_cfg, а затем выполняем обновление конфигураций баз данных при помощи пакетного ключика конфигуратора UpdateDBCfg.

Вторую команду можно вставить в скрипт из меню шаблонов:

Image-2018-11-20-16-43-57.png

С уважением, (преподаватель школы 1С программистов и разработчик обновлятора). Обновлятор >> Инструкции

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю). Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Milkin_Vladimir_Photo_180.jpgКак помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Как обновлять свои доработки конфигурации у пользователей?    оглавление    Как настроить использование сетевых папок (дисков)

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

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

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

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

Разумеется, у нас есть учетные данные ОС и 1С с административными правами. Для обновления конфигурации так же понадобится ftp-сервер. Чтобы не раздувать статью, рекомендую прочесть про powershell и про планировщик Windows отдельно.

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

После прочтения указанных ссылок мы уже знаем, что надо сделать, чтобы запустить скрипт powershell, поэтому сразу перейду к делу. Сделать резервную копию информационной базы в пакетном режиме очень просто, надо только «выгнать» всех пользователей. Делать мы это будем, подключившись COM-объектом к базе данных. Это в нашем примере делает функция ExitAll. В тело функции зашито, что она вызывается на том сервере, на котором, собственно, установлен кластер серверов 1С. Вызовите эту функция безо всяких параметров в своем скрипте на сервере — и ВСЕ пользователи из ВСЕХ баз кластера вылетят. Приношу свои извинения человеку, чьим кодом я воспользовался при написании этой процедуры — авторство восстановить не удалось. После этого следует вызвать функцию BackUpBase с параметром — имя информационной базы. У меня во всех ИБ есть служебный администратор с одинаковыми учетными данными, поэтому я их просто захардкодил. При необходимости можно их параметризовать, либо обойтись аутентификацией ОС. Итоговый скрипт сохраняем в файл. В планировщике задач создаем «Простую задачу», имя, разумеется, на ваше усмотрение. У меня работает ежедневно, но и тут хозяин — барин. Запускать лучше всего ночью, когда никто не работает, например, в 3:00. Действие для задачи — «Запустить программу». Сама программа у нас «powershell.exe». А вот ее аргументы —

-File "D:1C_automatizationExitAllUsersAndBackup.ps1" -ExecutionPolicy RemoteSigned

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

Set-ExecutionPolicy RemoteSigned

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

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

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

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

В отличии от предыдущего случая, параметры запуска 1С переданы не массивом, а в привычном по командной строке режиме. Надежность этого скрипта чуть меньше. Обновление проходит до конца на 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) #Собственно, поехали     &$CEXE $PARAMS  }  #Выгонем всех 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){     &$CEXE 'DESIGNER' '/S' $SERVERNAME''$IBNameLocal '/N' $ADMINNAME '/P' $ADMINPASS '/LoadCfg' $cffile '/UpdateDBCfg' '-Server'  }  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){#стартуем обновление         UpdateCf "MazdaAlpha" UpdateCf "RingAlpha"     } } 

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

  • 1C-ИжТиСи
  • Автоматизированное обновление измененных конфигураций 1C

«1С: Автоматизированное обновление измененных конфигураций» — это эффективный инструмент, максимально облегчающий и ускоряющий процесс обновления измененных конфигураций на платформах «1С: Предприятие 8.2» и «1С: Предприятие 8.3».

status_fsr.pngОсновные особенности:

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

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

Есть возможность попробовать решение бесплатно

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

Заполните форму — а всё остальное организуют наши специалисты.

Также можно позвонить по бесплатному номеру 8 (800) 77-51-256 либо написать письмо на Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра..

<label>ФИО:</label><label>Телефон: *</label><label>Вопрос или сообщение</label><label>Соглашаюсь на обработку персональных данных.</label>

Кому будет полезен продукт

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

Также продукт актуален для компаний 1С: Франчайзи:

  • предоставляющим услуги по обновлению модифицированных конфигураций 1С своим клиентам;
  • регулярно занимающимся внедрением и сопровождением программных продуктов 1С;
  • занимающимся разработкой тиражных отраслевых и специализированных решений.

Возможности решения

Программа автоматически выявляет все внесенные изменения в конфигурациях, созданных на платформах 8.2 и 8.3.

Решение имеет две версии поставки — ПРОФ и Стандарт. В версии ПРОФ присутствует возможность автоматического тестирования полученного результата обновления. В версии Стандарт тестирование проводится вручную.

Этап 1. Анализ исходных данных

На этапе подготовки продукт позволяет сравнивать до 4 конфигураций одновременно.

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

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

Этап 2. Обновление конфигурации

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

Продукт предоставляет возможность последовательного обновления метаданных на все контрольные релизы.

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

Решение умеет обновлять как обычные, так и управляемые формы, роли, RLS.

Этап 3. Формирование отчетов и инструкций

По итогам обновления формируется отчет о результатах автоматического обновления модулей.

В отчете присутствует, в том числе, список объектов, которые требуют вмешательства специалиста.

Этап 4. Автоматическое тестирование

В версию «1С: Автоматизированное обновление измененных конфигураций. ПРОФ» включен весь функционал, который присутствует в продукте «1С-ИжТиСи» «1С: Автоматическое тестирование конфигураций»:

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

Преимущества решения

По сравнению с ручным обновлением конфигураций решение имеет следующие преимущества:

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

Снижается общая стоимость владения и обслуживания всей информационной системой предприятия за счет поддержания конфигураций в актуальном состоянии и увеличения надежности системы.

Программа разработана совместно с фирмой «1С», имеет статус «1С-Совместно» и соответствует всем требованиям, которые «1С» предъявляет к выпускаемым продуктам.

В стоимость включена бесплатная поддержка ИТС ОНЛАЙН на 3 месяца, которая позволяет получить доступ для скачивания обновлений к программному продукту на сайте online.1c.ru, а также любые консультации по продукту.

Используемые источники:

  • https://helpme1c.ru/obnovlyator-1s-avtomaticheskoe-obnovlenie-dorabotannyx-konfiguracij
  • https://habr.com/post/346970/
  • https://xn--1—rlchba2deh.xn--p1ai/автоматизированное_обновление_измененных_конфигураций_1с

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации