Каталог решений - Web консоль управления сеансами 1С

Web консоль управления сеансами 1С

Web консоль управления сеансами 1С

В наличии

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

Категория:

Описание

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

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

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

В основе его лежит RAC, те, кто работает вплотную с 1С, знает, что это такое. Далее мы его используем в паре скриптов PHP, ну а дальше всего лишь CSS, NGINX, PHP-FPM.

Весь инструмент упакован в контейнеры NGINX и PHP, который build через docker-compose и через него и стартует. И все, инструмент готов. Исходники можно глянуть в моем хабе, оттуда же все скачать, подправить под себя и пользоваться.

Кратко о том, что нужно править.

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

Также необходимо поправить index.php, а именно ID кластера 1С и ID базы в кластере.

  <form method="POST">
              <input name="DB" id="DB" value="ид базы" type="hidden" readonly >
              <input name="SRV" id="SRV" value="адрес или имя сервера" type="hidden" readonly >
              <input name="CL" id="CL" value="ид кластера" type="hidden" readonly >
              <input type="submit" name="DBSELECT" value="имя которое вы бы хотели видеть" style="width:120px;height:25px"/>
          </form>
      <form method="POST">
              <input name="SU" id="SU" value="" style="width:220px;height:25px" placeholder="тут вводить только session" >
              <input name="SRV" id="SRV" value="иадрес или имя сервера" type="hidden" readonly >
              <input name="CL" id="CL" value="ид кластера" type="hidden" readonly >
              <input type="submit" name="USRSELECT" value="DEL session" style="width:150px;height:25px"/>
          </form>    

После этого делать билд всего и запуск. И уже для одной из баз у вас будет доступ.

В контейнере использую версию 1с/RAC 8.3.12.1567 и этого достаточно. RAS тот, что стоит рядом с сервером 1С, может быть отличен от версии в контейнере и это не страшно, так все работает. Главное, чтобы RAS совпадал с версией на сервере с 1С.

Чуть ниже скрипт создания службы для RAS, которую вам нужно установить на вашем 1Сном сере. Нужно, чтобы он был в диапазоне портов сервера службы 1С и был той же версии. В примере также 8.3.12.1567 на стандартном порту.

  @echo off
  set SrvUserName=.\USR1C_RAS
  set SrvUserPwd="1111"
  set CtrlPort=1540
  set AgentName=localhost
  set RASPort=1545
  set SrvcName="1C:Enterprise 8.3 Remote Server"
  set BinPath="\"C:\Program Files\1cv8\8.3.12.1567\bin\ras.exe\" cluster --service --port=%RASPort% %AgentName%:%CtrlPort%"
  set Desctiption="1C:Enterprise 8.3 Remote Server"
  sc stop %SrvcName%
  sc delete %SrvcName%
  sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Desctiption%

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

Пользуйтесь, комментируйте, может, кто-то поправит мой любительский html/php/css)

Ссылка на гит 

has been added to your cart:
Оформление заказа