43 Commits
Author SHA1 Message Date
Pavel ea681a70de Merge pull request #60 from Untru/develop
Develop
2025-08-01 19:02:16 +03:00
Pavel 7920e9576c Merge pull request #59 from Untru/docs/01
Правка ошибок ридми
2025-08-01 19:01:43 +03:00
Pavel Chegodaev 2baa4d8f1b Правка ошибок ридми 2025-08-01 18:57:04 +03:00
Pavel 92b5772d81 Merge pull request #58 from Untru/develop
Develop
2025-08-01 18:31:03 +03:00
Pavel adf2a63dd6 Merge pull request #57 from Untru/docs/01
Доработка описания
2025-08-01 18:30:38 +03:00
Pavel Chegodaev 8b72f65f82 Доработка описания 2025-08-01 18:29:59 +03:00
Pavel 047747bfec Merge pull request #56 from Untru/develop
Develop
2025-08-01 18:28:18 +03:00
Pavel 2a6af8a7b3 Merge pull request #55 from Untru/docs/01
Docs/01
2025-08-01 18:27:54 +03:00
Pavel Chegodaev 1d6a607dde Исправления Ридми 2025-08-01 16:51:50 +03:00
Pavel Chegodaev 5dc56f8ce6 Изменил размеры 2025-08-01 15:30:20 +03:00
Pavel Chegodaev eb986e4eda Перед изменением размеров 2025-08-01 15:29:54 +03:00
Pavel Chegodaev 9fe1ee9f81 Изменения 2025-08-01 15:06:24 +03:00
Pavel Chegodaev a8c86e3544 Обновить настройки поменять версию 2025-08-01 12:57:09 +03:00
Pavel 330b29e407 Merge pull request #53 from Untru/develop
Develop
2025-08-01 00:19:09 +03:00
Pavel c93bdc9546 Merge branch 'master' into develop 2025-08-01 00:19:01 +03:00
Pavel Chegodaev 68702d1027 Создание репозитория с выводом лога 2025-08-01 00:17:17 +03:00
Pavel 0c3372a5bb Merge pull request #52 from Untru/feat/51
Feat/51 #51
2025-08-01 00:03:13 +03:00
Pavel Chegodaev 7db21cce0d Форма констант и удаление не нужного элемента 2025-07-31 23:59:58 +03:00
Pavel Chegodaev 66f246fd32 Добавлен макет овм правки обработки первого запуска 2025-07-31 23:52:14 +03:00
Pavel Chegodaev fa6d4f9f03 Добавил терминал и обработку запуска 2025-07-31 23:07:53 +03:00
Pavel Chegodaev 4a3c8c821b Сортировка 2025-07-31 20:25:59 +03:00
Pavel Chegodaev 8a1c2da3d7 Отображение Мейна и девелопа в списке 2025-07-29 18:16:03 +03:00
Pavel d9503beb3e Merge pull request #50 from Untru/feat/43
Feat/43
2025-07-29 14:28:32 +03:00
Pavel Chegodaev 49263213ab Merge remote-tracking branch 'origin/develop' into feat/43 2025-07-29 14:26:55 +03:00
Pavel Chegodaev d489d54e35 Файлы мака 2025-07-29 14:25:55 +03:00
Pavel Chegodaev fb8d8bebc4 Зародки справочника credentioal 2025-07-28 21:16:03 +03:00
Pavel Chegodaev 1f59e9c406 Новый справочник команд например для включения логов 2025-07-28 13:28:19 +03:00
Pavel 36a19e77e6 Merge pull request #46 from Untru/feat/45
Сделал команды в нижнем регистре
2025-07-26 22:32:15 +03:00
Pavel 7ea83acd05 Merge pull request #44 from Untru/feat/43
Сделал не обязательными параметры скуля в команде бранч
2025-07-26 22:32:00 +03:00
John Doe d6e11c8d30 Сделал команды в нижнем регистре 2025-07-27 00:28:28 +05:00
Pavel Chegodaev e77b456c8b Сделал не обязательными параметры скуля в команде бранч 2025-07-25 00:45:27 +03:00
KuznetsovDanila ca875fee68 Merge pull request #42 from Untru/feat/41
Feat/41 Разделил путь к RAS и к кластеру
2025-07-21 20:20:31 +05:00
John Doe 4bf8495478 Разделил путь к RAS и к Кластеру 2025-07-21 20:20:32 +05:00
KuznetsovDanila f1dc920952 Merge pull request #40 from Untru/feat/39
Feat/39 Везде добавил pivo-cli
2025-07-21 19:27:37 +05:00
John Doe a6bf488b41 Везде добавил вызов pivo-cli 2025-07-21 19:27:34 +05:00
KuznetsovDanila 58e25f6020 Merge pull request #38 from Untru/feat/36
Feat/36 Исправить видимость служебных веток
2025-07-21 15:36:33 +05:00
John Doe 7bdc464ecf Отражение служебных веток в разрезе завершенных и чужих задач 2025-07-21 12:11:46 +05:00
Pavel f25e372787 Merge pull request #37 from Untru/feat/27_3
Убрал доп команду
2025-07-21 08:42:46 +03:00
Pavel 487da33c80 Update README.md 2025-07-21 00:43:01 +03:00
Pavel 239359d1b3 Merge pull request #35 from Untru/feat/27_3
Исправление
2025-07-20 14:07:58 +03:00
Pavel 1dea44fb78 Merge pull request #34 from Untru/feat/27_3
Логирование команд
2025-07-20 13:07:38 +03:00
KuznetsovDanila ef39586ae0 Merge pull request #33 from Untru/feat/27_3
Feat/27 3
2025-07-19 21:59:38 +05:00
Pavel 1b59f42f8c Merge pull request #30 from Untru/develop
Develop
2025-07-15 17:04:48 +03:00
40 changed files with 4468 additions and 120 deletions

No files matched your search

+1
View File
@@ -0,0 +1 @@
**/.DS_Store
+219 -7
View File
@@ -1,24 +1,139 @@
## GitManager
Что это и зачем?
Изначально была цель дать пользователю простой интерфейс для работы с 1с по методологии Git Flow.
Решение построено на БСП.
Решение представляет из себя 3 компонента:
* GitManager
* GitAgent (Опционально)
* Cli приложение (https://github.com/Untru/pivo-cli)
GitManager и GitAgent Это одна конфигурация. Идея сделать GitAgent родилась из-за того что по сети сборка и разборка исходников работает очень долго, по этому основная база отправляет команды в GitAgent И он уже запускает скрипты. Работать можно и без GitAgent, для этого надо установить константе СтратегияЗапускаСкрипта - CMD
Общая схема работы:
```mermaid
sequenceDiagram
participant GitManager as GitManager (Сервер 1)
participant GitAgent as GitAgent (Сервер 2)
participant PIVO-CLI as CLI (Сервер 2)
GitManager ->> GitAgent: Отправка команды (pivo-cli)
activate GitAgent
GitAgent ->> CLI: Запуск команды
activate CLI
CLI -->> GitAgent: Результат (stdout/stderr)
deactivate CLI
GitAgent -->> GitManager: Ответ (логи/статус)
deactivate GitAgent
```
## Старт работы
Для удобства работы мы сделали скрипт по разворачиванию базы (РазворачиваниеБазы.bat)
Необходимо заполнить переменные, система сама скачает файл с репозитория и развернет базу на сервере.
Основные тесты были с серверной базой, по этому работа в файловой базе не гарантируется.
<details>
<summary><strong> Скрипт </strong></summary>
```bat
@echo off
chcp 65001 > nul
setlocal enabledelayedexpansion
:: =============================================
:: Установка GitManager
:: =============================================
:: Параметры
set "GITHUB_URL=https://github.com/Untru/gitmanager/releases/latest/download/GitManager.cf"
set "TEMP_FILE=%TEMP%\GitManager.cf"
set "DB_SERVER=localhost" :: Измените на свой сервер СУБД при необходимости
set "DB_NAME=Name" :: Имя новой базы данных
set "DB_USER=postgres" :: Пользователь СУБД
set "DB_PWD=postgres" :: Пароль пользователя СУБД
set "1C_USER=Администратор" :: Пользователь 1С
set "1C_PWD="" :: Пароль 1С (оставьте пустым, если без пароля)
set "V8VER=8.3.27.1508" :: Версия 1С
:: Скачиваем файл
echo Скачивание GitManager.cf...
curl -L -o "%TEMP_FILE%" "%GITHUB_URL%"
if %errorlevel% neq 0 (
echo Ошибка при скачивании файла.
pause
exit /b 1
)
echo OK. 1cv8 найден.
pause
:: Создаём и загружаем базу
echo Создание базы данных...
"%ProgramFiles%\1cv8\%V8VER%\bin\1cv8.exe" createinfobase Srvr=%DB_SERVER%;Ref=%DB_NAME%;SQLSrvr=%DB_SERVER%;DBMS=PostgreSQL;SQLDB=%DB_NAME%;SQLUID=%DB_USER%;SQLPwd=%DB_PWD%;CrSQLDB=y;DB=%DB_NAME% /AddInList %DB_NAME% /UseTemplate "%TEMP_FILE%" /Out"CreateDB-%1.log"
@TYPE "CreateDB-%1.log"
if %errorlevel% neq 0 (
echo Ошибка при создании базы данных.
pause
exit /b 1
)
:: Удаляем временный файл
del "%TEMP_FILE%"
echo База данных "%DB_NAME%" успешно создана и добавлена в список баз.
pause
```
Запусить и наслаждаться
</details>
Для удобста старта работ мы разработали "Начальный помошник", Управление разработкой - > Запуск.
Советую пройтись по всем шагам по очереди и заодно изучить структуру объектов.
<img src="images/image-7.png" width="600" alt="Начальный помощник">
<img src="images/image-8.png" width="600" alt="Настройки помощника">
Предусмотренно заполнение пользователей/создание проекта добавление баз и установка oscript
<details>
<summary><strong> Если хотим все заполнять сами </strong></summary>
Для начала работы необходимо создать пользователя с правами "Администратор", далее необходимо заполнить
Настройки пользователя:
![alt text](images/image-1.png)
<img src="images/image-1.png" width="600" alt="Настройки пользователя">
Обязательно необходимо заполнить Проект и токен от внешнего репозитория и так же почту пользователя
![Настройки пользователя](images/image-2.png)
<img src="images/image-2.png" width="600" alt="Настройки пользователя">
Проект
Пример заполнения основных полей
![Проект](images/image-3.png)
<img src="images/image-3.png" width="600" alt="Проект">
После заполнения базы необходимо создать репозиторий по кнопке
![alt text](images/image-4.png)
<img src="images/image-4.png" width="600" alt="Создание репозитория">
Для работы с гитхаб необходимо установить
[GitHub CLI](https://cli.github.com/)
У службы под которой запужена 1с должны быть права на шару папки
![alt text](images/image-5.png)
<img src="images/image-5.png" width="600" alt="Права доступа">
</details>
Необходимо запустить RAC как службу
Сделать это можно с помощью скрипта
<details>
<summary><strong> Скрипт запуска скрапта добавления службы RAS </strong></summary>
``` bat
@echo off
@@ -36,5 +151,102 @@ sc delete %SrvcName%
sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Desctiption%
```
Для вывода логов
set LOGOS_CONFIG=logger.oscript.lib.commands=DEBUG;
</details>
## Процесс работы
Каждой базе должнга соответствовать своя папка, подключенная к репозиторию.
Это проверить можно по наличию кнопки создания репозитория:
![alt text](images/image-11.png)
### Создаем задачу
Важно, с системе получние настроек для задач.
![alt text](images/image-10.png)
Тут есть 3 варианта:
* Новая задача - создается новая ветка из ветки Develop
* HotFix к задаче - создается новая задача к задаче по ветке main/master, создает новую задачу к текущей
* HotFix новая задача - требует наличие задачи в таск трекере
### Таск трекеры
Сейчас поддерживается 2 таск трекера
* 1С (только простая загрузка задач)
Передаем параметр - номер задачи
```curl
curl --location 'https:/Путь К Базе/hs/tasks/task?id=000000002'
```
На входе мы ожидаем JSON
```json
{
"Исполнитель": "",
"Трудозатраты_часов": 0,
"Статус": "",
"ДатаПринятияВРаботу": "",
"Описание_Задачи": "",
"Описание_Решения": "",
"Приоритет": ,
"Очередь":
}
```
* Битрикс
Задача должна появиться в списке, прошу обратить внимание на кнопки:
![alt text](images/image-13.png)
### Переходим на ветку
Во время перехода папка базы репозитория переключается на выбранную в списке ветку задачи, далее происходит загрузка в базу:
* Основной конфигурации, если стоит галочка
![alt text](images/image-12.png)
* Загрузка расширений указанных в задаче
* Компилирование внешних обработок и помещение их в папку проекта.
\Repositories\ИмяБазы\build\epf
### Зафиксировать изменения
Разбор объектов указанных в задаче на исходники (Конфигурация и расширения).
Разбор внешних обработок/отчетов происходит из папки
build\epf
### Создание мердж реквеста
В случае если это GITHUB - необходим GITHUB-CLI
### Другие возможности
* Создание новых внешних обработоток по шаблону
* Загрузки обработок в бд
* Подготовка релиза и быстрое обновление баз
* Управление списком задач в виде канбан доски
* Анализ сделанных коммитов
### Получение расширенных логов
Для вывода логов от 1commands (Блиблиотека запуска команд https://github.com/artbear/1commands)
Мы можем зададать переменную окружения
``` bat
set LOGOS_CONFIG=logger.oscript.lib.commands=DEBUG;
```
Или добавить команды которые будет запускаться перед основными
<img src="images/image-9.png" width="600" alt="Запуск команд">
# ВАЖНО
Так как инзначально инструмент разрабатывался для нужд компании и подгонялся под требования, некоторый функционал не оттустирован в парадигме универсальности.
Если вы захотите развернуть инструмент у себя и что-то не получается - смело пишите. Обращайтесь за помощью, любые ваши вопросы помогут дописать руководство и поправить найденные замечания.
Так же всячески приветствуются issues.
Использование опенсорс библиотек
- ОПИ (https://github.com/Bayselonarrend/OpenIntegrations)
- GitCodeReview (https://github.com/salexdv/git_code_reviews)
- КоннекторHTTP ()
- Oscript (autumn, autumn-cli, autumn-logos, 1connector, v8rac, v8runner, gitrunner, ibcmdrunner)
ОГРАНИЧЕНИЯ !!! Некоторый функционал не работает в WEB Клиенте
Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

+2 -1
View File
@@ -51,7 +51,8 @@
| Базы.ПутьКХранилищу КАК ПутьКХранилищу,
| Базы.ПользовательХранилища КАК ПользовательХранилища,
| ЕСТЬNULL(Кластеры.СерверПубликации, """") КАК СерверПубликации,
| Базы.БазаПубликации КАК БазаПубликации
| Базы.БазаПубликации КАК БазаПубликации,
| ЕСТЬNULL(Кластеры.ПутьКСерверуRAS, """") КАК ПутьКСерверуRAS
|ИЗ
| Справочник.Базы КАК Базы
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Проекты КАК Проекты
@@ -99,6 +99,10 @@
<createOnInput>Use</createOnInput>
<dataLockControlMode>Managed</dataLockControlMode>
<fullTextSearch>Use</fullTextSearch>
<objectPresentation>
<key>ru</key>
<value>Кластер</value>
</objectPresentation>
<levelCount>2</levelCount>
<foldersOnTop>true</foldersOnTop>
<codeLength>9</codeLength>
@@ -269,6 +273,24 @@
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="627d7be4-06e2-4a9a-94f5-addb4ff96b07">
<name>ПутьКСерверуRAS</name>
<synonym>
<key>ru</key>
<value>Путь к серверу RAS</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>1000</length>
</stringQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<commands uuid="223c1d9e-2a01-43a7-b644-c685ca85e8cc">
<name>ПодключитьсяКRDP</name>
<synonym>
@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Catalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="b5fed10d-b212-44b9-b2a9-3cbb3fe00e34">
<producedTypes>
<objectType typeId="2bf6dea1-f4f8-484b-b473-c29c6dff4cca" valueTypeId="0234993b-ea1d-4b00-b5a0-ec37631bb464"/>
<refType typeId="3a443142-410a-4da8-aa31-3dcc6a319875" valueTypeId="7b5857cf-a7c2-4cc5-add2-18bd7f42b898"/>
<selectionType typeId="71be60f4-89ad-4973-993d-0b925b790007" valueTypeId="08667ec6-2d70-4313-80dc-b8227efeb0d6"/>
<listType typeId="55666a33-bdcc-4cd4-b4bd-adef2a21c3e2" valueTypeId="91187af7-d506-4d31-a0c3-c2bc79844fa2"/>
<managerType typeId="a67cf862-9ab2-4baa-a109-276d6dcc9592" valueTypeId="34777145-3b86-4a10-ac7a-562878c1aebb"/>
</producedTypes>
<name>Команды</name>
<synonym>
<key>ru</key>
<value>Команды</value>
</synonym>
<useStandardCommands>true</useStandardCommands>
<inputByString>Catalog.Команды.StandardAttribute.Code</inputByString>
<inputByString>Catalog.Команды.StandardAttribute.Description</inputByString>
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
<createOnInput>Use</createOnInput>
<dataLockControlMode>Managed</dataLockControlMode>
<fullTextSearch>Use</fullTextSearch>
<levelCount>2</levelCount>
<foldersOnTop>true</foldersOnTop>
<codeLength>9</codeLength>
<descriptionLength>25</descriptionLength>
<codeType>String</codeType>
<codeAllowedLength>Variable</codeAllowedLength>
<checkUnique>true</checkUnique>
<autonumbering>true</autonumbering>
<defaultPresentation>AsDescription</defaultPresentation>
<editType>InDialog</editType>
<choiceMode>BothWays</choiceMode>
<attributes uuid="c44a6f5e-7d23-417b-a6cf-2d2e07669865">
<name>ПередЗапускомОсновнойКоманды</name>
<synonym>
<key>ru</key>
<value>Перед запуском основной команды</value>
</synonym>
<type>
<types>Boolean</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<tabularSections uuid="6261cf52-837f-4ce8-af3e-d387609dfe9a">
<producedTypes>
<objectType typeId="f0d24438-42ff-4d90-a584-32b990410f8d" valueTypeId="8b743f21-109d-4295-96ee-25eaa04240c5"/>
<rowType typeId="8c92e1d5-7e21-4ae4-8c89-7b6c3fb23433" valueTypeId="96ae8fbf-b2b3-4ba0-9286-f62a47c624d7"/>
</producedTypes>
<name>Команды</name>
<synonym>
<key>ru</key>
<value>Команды</value>
</synonym>
<attributes uuid="1fadf618-c869-4cc8-9889-5b826e7ae202">
<name>Команда</name>
<synonym>
<key>ru</key>
<value>Команда</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers/>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataHistory>Use</dataHistory>
<fullTextSearch>Use</fullTextSearch>
</attributes>
</tabularSections>
</mdclass:Catalog>
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Catalog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="fad5b54e-e82d-4f25-92b8-1752645a6607">
<producedTypes>
<objectType typeId="a489340f-35e4-4624-a9dd-81ce07f47470" valueTypeId="3d4ccc9d-eba0-4352-92f9-2185e1eb87d7"/>
<refType typeId="4dba8113-bc8d-435b-a43b-9248be58e025" valueTypeId="92c96b0e-0364-4ea2-b1c9-f0d74958b19b"/>
<selectionType typeId="e1660184-34c7-4f88-9b6d-4cb566c90182" valueTypeId="6246223b-ea77-4006-abf7-30c12321e9c1"/>
<listType typeId="cb077850-e24a-4d22-9a97-a6e23a44b39a" valueTypeId="adfa1d0c-d62e-4007-aa4a-b971ce76333f"/>
<managerType typeId="be400d65-5232-40a5-ac87-4ecbec328a22" valueTypeId="137186f3-8d3b-4401-a7b9-dfbfd29456ee"/>
</producedTypes>
<name>УчетныеДанные</name>
<synonym>
<key>ru</key>
<value>Учетные данные</value>
</synonym>
<useStandardCommands>true</useStandardCommands>
<inputByString>Catalog.УчетныеДанные.StandardAttribute.Code</inputByString>
<inputByString>Catalog.УчетныеДанные.StandardAttribute.Description</inputByString>
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
<createOnInput>Use</createOnInput>
<dataLockControlMode>Managed</dataLockControlMode>
<fullTextSearch>Use</fullTextSearch>
<levelCount>2</levelCount>
<foldersOnTop>true</foldersOnTop>
<codeLength>9</codeLength>
<descriptionLength>25</descriptionLength>
<codeType>String</codeType>
<codeAllowedLength>Variable</codeAllowedLength>
<checkUnique>true</checkUnique>
<autonumbering>true</autonumbering>
<defaultPresentation>AsDescription</defaultPresentation>
<editType>InDialog</editType>
<choiceMode>BothWays</choiceMode>
<attributes uuid="4b1cc476-5526-45bb-b6d2-3e64da4ca1f5">
<name>ТипУчетныхДанных</name>
<synonym>
<key>ru</key>
<value>Тип учетных данных</value>
</synonym>
<type>
<types>EnumRef.ТипыУчетныхДанных</types>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
</mdclass:Catalog>
@@ -0,0 +1,311 @@
<?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:form="http://g5.1c.ru/v8/dt/form">
<items xsi:type="form:FormField">
<name>ОтладкаЛогов</name>
<id>121</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>НаборКонстант.ОтладкаЛогов</segments>
</dataPath>
<extendedTooltip>
<name>ОтладкаЛоговРасширеннаяПодсказка</name>
<id>123</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ОтладкаЛоговКонтекстноеМеню</name>
<id>122</id>
<autoFill>true</autoFill>
</contextMenu>
<type>CheckBoxField</type>
<editMode>EnterOnInput</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:CheckBoxFieldExtInfo"/>
</items>
<items xsi:type="form:FormField">
<name>СтратегияЗапускаСкрипта</name>
<id>193</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>НаборКонстант.СтратегияЗапускаСкрипта</segments>
</dataPath>
<extendedTooltip>
<name>СтратегияЗапускаСкриптаРасширеннаяПодсказка</name>
<id>195</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>СтратегияЗапускаСкриптаКонтекстноеМеню</name>
<id>194</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<extendedEditMultipleValues>true</extendedEditMultipleValues>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>ГруппаАрхив</name>
<id>211</id>
<items xsi:type="form:FormField">
<name>ТаскТрекер</name>
<id>196</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>НаборКонстант.УдалитьТаскТрекер</segments>
</dataPath>
<extendedTooltip>
<name>ТаскТрекерРасширеннаяПодсказка</name>
<id>198</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ТаскТрекерКонтекстноеМеню</name>
<id>197</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<extendedEditMultipleValues>true</extendedEditMultipleValues>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ТокенBitrix</name>
<id>199</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>НаборКонстант.ТокенBitrix</segments>
</dataPath>
<extendedTooltip>
<name>ТокенBitrixРасширеннаяПодсказка</name>
<id>201</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ТокенBitrixКонтекстноеМеню</name>
<id>200</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<extendedEditMultipleValues>true</extendedEditMultipleValues>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ПутьКПапкеДевопсСервера</name>
<id>151</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>НаборКонстант.ПутьКПапкеДевопсСервера</segments>
</dataPath>
<extendedTooltip>
<name>ПутьКПапкеДевопсСервераРасширеннаяПодсказка</name>
<id>153</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ПутьКПапкеДевопсСервераКонтекстноеМеню</name>
<id>152</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<extendedEditMultipleValues>true</extendedEditMultipleValues>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>ПутьКРепозиториюDevCLI</name>
<id>154</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>НаборКонстант.ПутьКРепозиториюDevCLI</segments>
</dataPath>
<extendedTooltip>
<name>ПутьКРепозиториюDevCLIРасширеннаяПодсказка</name>
<id>156</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ПутьКРепозиториюDevCLIКонтекстноеМеню</name>
<id>155</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<extendedEditMultipleValues>true</extendedEditMultipleValues>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Устарело</value>
</title>
<extendedTooltip>
<name>ГруппаАрхивРасширеннаяПодсказка</name>
<id>212</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<representation>WeakSeparation</representation>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<showTitle>true</showTitle>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<autoCommandBar>
<name>ФормаКоманднаяПанель</name>
<id>-1</id>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<windowOpeningMode>LockOwnerWindow</windowOpeningMode>
<saveWindowSettings>true</saveWindowSettings>
<autoTitle>true</autoTitle>
<autoUrl>true</autoUrl>
<group>Vertical</group>
<autoFillCheck>true</autoFillCheck>
<allowFormCustomize>true</allowFormCustomize>
<enabled>true</enabled>
<showTitle>true</showTitle>
<showCloseButton>true</showCloseButton>
<attributes>
<name>НаборКонстант</name>
<id>1</id>
<valueType>
<types>ConstantsSet</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<main>true</main>
<savedData>true</savedData>
</attributes>
<commandInterface>
<navigationPanel/>
<commandBar/>
</commandInterface>
<extInfo xsi:type="form:ConstantsFormExtInfo"/>
</form:Form>
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonForm xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="1cac5e33-927d-4ce8-8496-a7ab9dc2c299">
<name>ФормаНастроекКонфигурации</name>
<synonym>
<key>ru</key>
<value>Форма настроек конфигурации</value>
</synonym>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</mdclass:CommonForm>
@@ -209,6 +209,7 @@
// UsrLogin1c - Имя пользователя 1с
// UsrPswd1c - Пароль пользователя 1с
// PathServer1с - Путь к серверу 1с
// PathServerRAS - Путь к серверу RAS
// NumberPlatform - Номер версии платформы 1с
// TypeDB - Тип СУБД
// UsrLoginDB - Имя пользователя СУБД
@@ -226,8 +227,8 @@
ОбщегоНазначенияКлиентСервер.Проверить(Не ПараметрыБазы.ЭтоРабочаяБаза, "Недопустимо использование скрипта в Рабочей базе!");
КомандаЗапуска = Новый Массив; //Массив Из Строка
КомандаЗапуска.Добавить("pivo-cli");
КомандаЗапуска.Добавить("Branch");
КомандаЗапуска.Добавить(ФайлЗапускаOscript());
КомандаЗапуска.Добавить("branch");
ДобавитьОпцию(КомандаЗапуска, "--PathRepository", ПараметрыБазы.КаталогБазы);
//ПараметрыБазы
@@ -236,6 +237,7 @@
ДобавитьОпцию(КомандаЗапуска, "--UsrLogin1c", ПараметрыБазы.ИмяПользователяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--UsrPswd1c", ПараметрыБазы.ПарольПользователяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--PathServer1с", ПараметрыБазы.КластерСерверов);
ДобавитьОпцию(КомандаЗапуска, "--PathServerRAS", ПараметрыБазы.ПутьКСерверуRAS);
ДобавитьОпцию(КомандаЗапуска, "--NumberPlatform", ПараметрыБазы.НомерВерсииПлатформы);
ДобавитьОпцию(КомандаЗапуска, "--TypeDB", ПараметрыБазы.ТипSQL);
ДобавитьОпцию(КомандаЗапуска, "--UsrLoginDB", ПараметрыБазы.ЛогинSQL);
@@ -269,9 +271,8 @@
ОбщегоНазначенияКлиентСервер.Проверить(Не ПараметрыБазы.ЭтоРабочаяБаза, "Недопустимо использование скрипта в Рабочей базе!");
КомандаЗапуска = Новый Массив; //Массив Из Строка
КомандаЗапуска.Добавить("oscript");
КомандаЗапуска.Добавить(ФайлЗапускаOscript(ПараметрыБазы));
КомандаЗапуска.Добавить("BranchToDevelop");
КомандаЗапуска.Добавить(ФайлЗапускаOscript());
КомандаЗапуска.Добавить("branchtodevelop");
ДобавитьОпцию(КомандаЗапуска, "--PathRepository", ПараметрыБазы.КаталогБазы);
//ПараметрыБазы
@@ -280,6 +281,7 @@
ДобавитьОпцию(КомандаЗапуска, "--UsrLogin1c", ПараметрыБазы.ИмяПользователяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--UsrPswd1c", ПараметрыБазы.ПарольПользователяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--PathServer1с", ПараметрыБазы.КластерСерверов);
ДобавитьОпцию(КомандаЗапуска, "--PathServerRAS", ПараметрыБазы.ПутьКСерверуRAS);
ДобавитьОпцию(КомандаЗапуска, "--NumberPlatform", ПараметрыБазы.НомерВерсииПлатформы);
ДобавитьОпцию(КомандаЗапуска, "--TypeDB", ПараметрыБазы.ТипSQL);
ДобавитьОпцию(КомандаЗапуска, "--UsrLoginDB", ПараметрыБазы.ЛогинSQL);
@@ -314,9 +316,8 @@
Функция НовыйКомандаПереходаНаВеткуDevelop(ПараметрыБазы) Экспорт
КомандаЗапуска = Новый Массив; //Массив Из Строка
КомандаЗапуска.Добавить("oscript");
КомандаЗапуска.Добавить(ФайлЗапускаOscript(ПараметрыБазы));
КомандаЗапуска.Добавить("BranchDevelop");
КомандаЗапуска.Добавить(ФайлЗапускаOscript());
КомандаЗапуска.Добавить("branchdevelop");
КомандаЗапуска.Добавить("--PathRepository");
КомандаЗапуска.Добавить(ПараметрыБазы.КаталогБазы);
@@ -329,29 +330,38 @@
КонецФункции
// Функция - Формирование строки запуска
//PathRepository - Путь репозитория
//NameDB - Имя информационной базы
//UsrLogin1c - Имя пользователя 1с
//UsrPswd1c - Пароль пользователя 1с
//PathServer1c - Путь к серверу
//NumberPlatform - Номер версии платформы 1с
//TypeDB - Тип СУБД
//UsrLoginDB - Имя пользователя СУБД
//UsrPswdDB - Пароль пользователя СУБД
//PathServerDB - Путь к серверу СУБД
//TextCommit - Текст коммита
//Репозиторий - Ссылка на Гит лаб
//TokenConnectionGitLab - Токен подключения к гитлаб
//IdProject - ИД проекта Гит лаб (отдельно ВМС, отдельно ЕРП, отдельно ТМС)// Возвращаемое значение:
// -
// Новый команда фиксация изменений.
//
// Параметры:
// ПараметрыБазы - Структура - См. Справочники.Базы.НастройкиБазы()
// НастройкиПользователя - Структура - См. Справочники.НастройкиПользователей.НастройкиТекущегоПользователя()
// ПараметрыЗадачи - Структура - См. Справочники.Задачи.РеквизитыЗадачи
// ДополнительныеПараметры - Структура - См. Дополнительные параметры
// Описание параметров
// PathRepository - Путь репозитория
// NameDB - Имя информационной базы
// UsrLogin1c - Имя пользователя 1с
// UsrPswd1c - Пароль пользователя 1с
// PathServer1c - Путь к серверу
// PathServerRAS - Путь к серверу RAS
// NumberPlatform - Номер версии платформы 1с
// TypeDB - Тип СУБД
// UsrLoginDB - Имя пользователя СУБД
// UsrPswdDB - Пароль пользователя СУБД
// PathServerDB - Путь к серверу СУБД
// TextCommit - Текст коммита
// Репозиторий - Ссылка на Гит лаб
// TokenConnectionGitLab - Токен подключения к гитлаб
// IdProject - ИД проекта Гит лаб (отдельно ВМС, отдельно ЕРП, отдельно ТМС)// Возвращаемое значение:
//
// Возвращаемое значение:
// Строка - Новый команда фиксация изменений
Функция НовыйКомандаФиксацияИзменений(ПараметрыБазы, НастройкиПользователя, ПараметрыЗадачи, ДополнительныеПараметры) Экспорт
ОбщегоНазначенияКлиентСервер.Проверить(Не ПараметрыБазы.ЭтоРабочаяБаза, "Недопустимо использование скрипта в Рабочей базе!");
КомандаЗапуска = Новый Массив; //Массив Из Строка
КомандаЗапуска.Добавить("pivo-cli");
КомандаЗапуска.Добавить(ФайлЗапускаOscript());
КомандаЗапуска.Добавить("commit");
ДобавитьОпцию(КомандаЗапуска, "--PathRepository", ПараметрыБазы.КаталогБазы);
@@ -361,11 +371,8 @@
ДобавитьОпцию(КомандаЗапуска, "--UsrLogin1c", ПараметрыБазы.ИмяПользователяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--UsrPswd1c", ПараметрыБазы.ПарольПользователяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--PathServer1с", ПараметрыБазы.КластерСерверов);
ДобавитьОпцию(КомандаЗапуска, "--PathServerRAS", ПараметрыБазы.ПутьКСерверуRAS);
ДобавитьОпцию(КомандаЗапуска, "--NumberPlatform", ПараметрыБазы.НомерВерсииПлатформы);
ДобавитьОпцию(КомандаЗапуска, "--ServerDB", ПараметрыБазы.ИмяSQL);
ДобавитьОпцию(КомандаЗапуска, "--TypeDB", ПараметрыБазы.ТипSQL);
ДобавитьОпцию(КомандаЗапуска, "--UsrLoginDB", ПараметрыБазы.ЛогинSQL);
ДобавитьОпцию(КомандаЗапуска, "--UsrPswdDB", ПараметрыБазы.ПарольSQL);
ДобавитьОпцию(КомандаЗапуска, "--PathServerDB", ПараметрыБазы.КластерСерверов);
ДобавитьОпцию(КомандаЗапуска, "--UrlRemoteRepository", ПараметрыБазы.Репозиторий);
ДобавитьОпцию(КомандаЗапуска, "--TokenConnectionGitLab", НастройкиПользователя.ТокенGit);
@@ -373,6 +380,13 @@
ДобавитьОпцию(КомандаЗапуска, "--RunRas", "false");
ДобавитьОпцию(КомандаЗапуска, "--MethodLoadDB", Строка(ПараметрыБазы.РежимРаботыКонфигурации));
Если ПараметрыБазы.РежимРаботыКонфигурации = Перечисления.РежимыРаботыКонфигурации.ibcmd Тогда
ДобавитьОпцию(КомандаЗапуска, "--ServerDB", ПараметрыБазы.ИмяSQL);
ДобавитьОпцию(КомандаЗапуска, "--TypeDB", ПараметрыБазы.ТипSQL);
ДобавитьОпцию(КомандаЗапуска, "--UsrLoginDB", ПараметрыБазы.ЛогинSQL);
ДобавитьОпцию(КомандаЗапуска, "--UsrPswdDB", ПараметрыБазы.ПарольSQL);
КонецЕсли;
ДобавитьОпцию(КомандаЗапуска, "--CommitAuthor", РаботаСGit.АвторКоммита(НастройкиПользователя));
Если ЗначениеЗаполнено(ПараметрыЗадачи.ДорабатыватьКонфигурацию) Тогда
@@ -403,9 +417,8 @@
ОбщегоНазначенияКлиентСервер.Проверить(Не ПараметрыБазы.ЭтоРабочаяБаза, "Недопустимо использование скрипта в Рабочей базе!");
КомандаЗапуска = Новый Массив; //Массив Из Строка
КомандаЗапуска.Добавить("oscript");
КомандаЗапуска.Добавить(ФайлЗапускаOscript(ПараметрыБазы));
КомандаЗапуска.Добавить("CreateBranch");
КомандаЗапуска.Добавить(ФайлЗапускаOscript());
КомандаЗапуска.Добавить("createbranch");
ДобавитьОпцию(КомандаЗапуска, "--PathRepository", ПараметрыБазы.КаталогБазы);
@@ -431,7 +444,7 @@
ОбщегоНазначенияКлиентСервер.Проверить(Не ПараметрыБазы.ЭтоРабочаяБаза, "Недопустимо использование скрипта в Рабочей базе!");
КомандаЗапуска = Новый Массив; //Массив Из Строка
КомандаЗапуска.Добавить("pivo-cli");
КомандаЗапуска.Добавить(ФайлЗапускаOscript());
КомандаЗапуска.Добавить("init");
ДобавитьОпцию(КомандаЗапуска, "--PathRepository", ПараметрыБазы.КаталогБазы);
@@ -455,6 +468,7 @@
// UsrLogin1c - Имя пользователя 1с
// UsrPswd1c - Пароль пользователя 1с
// PathServer1с - Путь к серверу 1с
// PathServerRAS - Путь к серверу RAS
// NumberPlatform - Номер версии платформы 1с
// TypeDB - Тип СУБД
// UsrLoginDB - Имя пользователя СУБД
@@ -470,9 +484,8 @@
ОбщегоНазначенияКлиентСервер.Проверить(Не ПараметрыБазы.ЭтоРабочаяБаза, "Недопустимо использование скрипта в Рабочей базе!");
КомандаЗапуска = Новый Массив; //Массив Из Строка
КомандаЗапуска.Добавить("oscript");
КомандаЗапуска.Добавить(ФайлЗапускаOscript(ПараметрыБазы));
КомандаЗапуска.Добавить("BuildRelease");
КомандаЗапуска.Добавить(ФайлЗапускаOscript());
КомандаЗапуска.Добавить("buildrelease");
ДобавитьОпцию(КомандаЗапуска, "--PathRepository", ПараметрыБазы.КаталогБазы);
@@ -481,6 +494,7 @@
ДобавитьОпцию(КомандаЗапуска, "--UsrLogin1c", ПараметрыБазы.ИмяПользователяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--UsrPswd1c", ПараметрыБазы.ПарольПользователяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--PathServer1с", ПараметрыБазы.КластерСерверов);
ДобавитьОпцию(КомандаЗапуска, "--PathServerRAS", ПараметрыБазы.ПутьКСерверуRAS);
ДобавитьОпцию(КомандаЗапуска, "--NumberPlatform", ПараметрыБазы.НомерВерсииПлатформы);
ДобавитьОпцию(КомандаЗапуска, "--TypeDB", ПараметрыБазы.ТипSQL);
ДобавитьОпцию(КомандаЗапуска, "--UsrLoginDB", ПараметрыБазы.ЛогинSQL);
@@ -520,6 +534,7 @@
// UsrLogin1c - Имя пользователя 1с
// UsrPswd1c - Пароль пользователя 1с
// PathServer1с - Путь к серверу 1с
// PathServerRAS - Путь к серверу RAS
// NumberPlatform - Номер версии платформы 1с
// TypeDB - Тип СУБД
// UsrLoginDB - Имя пользователя СУБД
@@ -535,9 +550,8 @@
ОбщегоНазначенияКлиентСервер.Проверить(Не ПараметрыБазы.ЭтоРабочаяБаза, "Недопустимо использование скрипта в Рабочей базе!");
КомандаЗапуска = Новый Массив; //Массив Из Строка
КомандаЗапуска.Добавить("oscript");
КомандаЗапуска.Добавить(ФайлЗапускаOscript(ПараметрыБазы));
КомандаЗапуска.Добавить("CompileDataProcessors");
КомандаЗапуска.Добавить(ФайлЗапускаOscript());
КомандаЗапуска.Добавить("compiledataprocessors");
ДобавитьОпцию(КомандаЗапуска, "--PathRepository", ПараметрыБазы.КаталогБазы);
//ПараметрыБазы
@@ -545,6 +559,7 @@
ДобавитьОпцию(КомандаЗапуска, "--UsrLogin1c", ПараметрыБазы.ИмяПользователяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--UsrPswd1c", ПараметрыБазы.ПарольПользователяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--PathServer1с", ПараметрыБазы.КластерСерверов);
ДобавитьОпцию(КомандаЗапуска, "--PathServerRAS", ПараметрыБазы.ПутьКСерверуRAS);
ДобавитьОпцию(КомандаЗапуска, "--NumberPlatform", ПараметрыБазы.НомерВерсииПлатформы);
ДобавитьОпцию(КомандаЗапуска, "--TypeDB", ПараметрыБазы.ТипSQL);
ДобавитьОпцию(КомандаЗапуска, "--UsrLoginDB", ПараметрыБазы.ЛогинSQL);
@@ -575,6 +590,7 @@
// UsrLogin1c - Имя пользователя 1с
// UsrPswd1c - Пароль пользователя 1с
// PathServer1с - Путь к серверу 1с
// PathServerRAS - Путь к серверу RAS
// NumberPlatform - Номер версии платформы 1с
// TypeDB - Тип СУБД
// UsrLoginDB - Имя пользователя СУБД
@@ -588,9 +604,8 @@
Функция НовыйКомандаПлановоеОбновлениеБазы(ПараметрыБазы, Релиз) Экспорт
КомандаЗапуска = Новый Массив; //Массив Из Строка
КомандаЗапуска.Добавить("oscript");
КомандаЗапуска.Добавить(ФайлЗапускаOscript(ПараметрыБазы));
КомандаЗапуска.Добавить("UpdateDB");
КомандаЗапуска.Добавить(ФайлЗапускаOscript());
КомандаЗапуска.Добавить("updatedb");
КомандаЗапуска.Добавить("--PathRepository");
КомандаЗапуска.Добавить(ПараметрыБазы.КаталогБазы);
@@ -603,6 +618,8 @@
КомандаЗапуска.Добавить(ПараметрыБазы.ПарольПользователяИнформационнойБазы);
КомандаЗапуска.Добавить("--PathServer1с");
КомандаЗапуска.Добавить(ПараметрыБазы.КластерСерверов);
КомандаЗапуска.Добавить("--PathServerRAS");
КомандаЗапуска.Добавить(ПараметрыБазы.ПутьКСерверуRAS);
КомандаЗапуска.Добавить("--NumberPlatform");
КомандаЗапуска.Добавить(ПараметрыБазы.НомерВерсииПлатформы);
КомандаЗапуска.Добавить("--TypeDB");
@@ -660,6 +677,7 @@
// UsrLogin1c - Имя пользователя 1с
// UsrPswd1c - Пароль пользователя 1с
// PathServer1с - Путь к серверу 1с
// PathServerRAS - Путь к серверу RAS
// NumberPlatform - Номер версии платформы 1с
// TypeDB - Тип СУБД
// UsrLoginDB - Имя пользователя СУБД
@@ -675,9 +693,8 @@
//ОбщегоНазначенияКлиентСервер.Проверить(Не ПараметрыБазы.ЭтоРабочаяБаза, "Недопустимо использование скрипта в Рабочей базе!");
КомандаЗапуска = Новый Массив; //Массив Из Строка
КомандаЗапуска.Добавить("oscript");
КомандаЗапуска.Добавить(ФайлЗапускаOscript(ПараметрыБазы));
КомандаЗапуска.Добавить("UpdateDBDataProcessors");
КомандаЗапуска.Добавить(ФайлЗапускаOscript());
КомандаЗапуска.Добавить("updatedbdataprocessors");
КомандаЗапуска.Добавить("--PathRepository");
КомандаЗапуска.Добавить(ПараметрыБазы.КаталогБазы);
@@ -690,6 +707,8 @@
КомандаЗапуска.Добавить(ПараметрыБазы.ПарольПользователяИнформационнойБазы);
КомандаЗапуска.Добавить("--PathServer1с");
КомандаЗапуска.Добавить(ПараметрыБазы.КластерСерверов);
КомандаЗапуска.Добавить("--PathServerRAS");
КомандаЗапуска.Добавить(ПараметрыБазы.ПутьКСерверуRAS);
КомандаЗапуска.Добавить("--RunRas");
КомандаЗапуска.Добавить("false");
КомандаЗапуска.Добавить("--NumberPlatform");
@@ -721,6 +740,7 @@
// UsrLogin1c - Имя пользователя 1с
// UsrPswd1c - Пароль пользователя 1с
// PathServer1с - Путь к серверу 1с
// PathServerRAS - Путь к серверу RAS
// NumberPlatform - Номер версии платформы 1с
// TypeDB - Тип СУБД
// UsrLoginDB - Имя пользователя СУБД
@@ -736,9 +756,8 @@
Функция НовыйКомандаОбновлениеОбработкиИзПапки(ПараметрыБазы, ПутьКПапкеВнешнихОбработок) Экспорт
КомандаЗапуска = Новый Массив; //Массив Из Строка
КомандаЗапуска.Добавить("oscript");
КомандаЗапуска.Добавить(ФайлЗапускаOscript(ПараметрыБазы));
КомандаЗапуска.Добавить("UpdateDataProcessorsFromFolder");
КомандаЗапуска.Добавить(ФайлЗапускаOscript());
КомандаЗапуска.Добавить("updatedataprocessorsfromfolder");
КомандаЗапуска.Добавить("--PathRepository");
КомандаЗапуска.Добавить(ПараметрыБазы.КаталогБазы);
@@ -751,6 +770,8 @@
КомандаЗапуска.Добавить(ПараметрыБазы.ПарольПользователяИнформационнойБазы);
КомандаЗапуска.Добавить("--PathServer1с");
КомандаЗапуска.Добавить(ПараметрыБазы.КластерСерверов);
КомандаЗапуска.Добавить("--PathServerRAS");
КомандаЗапуска.Добавить(ПараметрыБазы.ПутьКСерверуRAS);
КомандаЗапуска.Добавить("--RunRas");
КомандаЗапуска.Добавить("false");
КомандаЗапуска.Добавить("--NumberPlatform");
@@ -793,8 +814,8 @@
ОбщегоНазначенияКлиентСервер.Проверить(Не ПараметрыБазы.ЭтоРабочаяБаза, "Недопустимо использование скрипта в Рабочей базе!");
КомандаЗапуска = Новый Массив; //Массив Из Строка
КомандаЗапуска.Добавить("pivo-cli");
КомандаЗапуска.Добавить("CreateMergeRequest");
КомандаЗапуска.Добавить(ФайлЗапускаOscript());
КомандаЗапуска.Добавить("createmergerequest");
ДобавитьОпцию(КомандаЗапуска, "--PathRepository", ПараметрыБазы.КаталогБазы);
@@ -886,7 +907,7 @@
КомандаЗапуска = Новый Массив; //Массив Из Строка
КомандаЗапуска.Добавить("oscript");
КомандаЗапуска.Добавить(ПараметрыКомандЗапуска.oscript);
КомандаЗапуска.Добавить("MakeDataProcessors");
КомандаЗапуска.Добавить("makedataprocessors");
СписокАргументов = Новый Массив;
СписокАргументов.Добавить("PathRepository");
@@ -912,6 +933,7 @@
// UsrLogin1c - Имя пользователя 1с
// UsrPswd1c - Пароль пользователя 1с
// PathServer1с - Путь к серверу 1с
// PathServerRAS - Путь к серверу RAS
// NumberPlatform - Номер версии платформы 1с
// TypeDB - Тип СУБД
// UsrLoginDB - Имя пользователя СУБД
@@ -929,9 +951,8 @@
ОбщегоНазначенияКлиентСервер.Проверить(Не ПараметрыБазы.ЭтоРабочаяБаза, "Недопустимо использование скрипта в Рабочей базе!");
КомандаЗапуска = Новый Массив; //Массив Из Строка
КомандаЗапуска.Добавить("oscript");
КомандаЗапуска.Добавить(ФайлЗапускаOscript(ПараметрыБазы));
КомандаЗапуска.Добавить("UpdateDataProcessors");
КомандаЗапуска.Добавить(ФайлЗапускаOscript());
КомандаЗапуска.Добавить("updatedataprocessors");
ДобавитьОпцию(КомандаЗапуска, "--PathRepository", ПараметрыБазы.КаталогБазы);
@@ -940,6 +961,7 @@
ДобавитьОпцию(КомандаЗапуска, "--UsrLogin1c", ПараметрыБазы.ИмяПользователяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--UsrPswd1c", ПараметрыБазы.ПарольПользователяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--PathServer1с", ПараметрыБазы.КластерСерверов);
ДобавитьОпцию(КомандаЗапуска, "--PathServerRAS", ПараметрыБазы.ПутьКСерверуRAS);
ДобавитьОпцию(КомандаЗапуска, "--NumberPlatform", ПараметрыБазы.НомерВерсииПлатформы);
ДобавитьОпцию(КомандаЗапуска, "--TypeDB", ПараметрыБазы.ТипSQL);
ДобавитьОпцию(КомандаЗапуска, "--UsrLoginDB", ПараметрыБазы.ЛогинSQL);
@@ -964,6 +986,7 @@
// UsrLogin1c - Имя пользователя 1с
// UsrPswd1c - Пароль пользователя 1с
// PathServer1с - Путь к серверу 1с
// PathServerRAS - Путь к серверу RAS
// Auth - Признак аутентификации
//
// Возвращаемое значение:
@@ -972,14 +995,14 @@
Функция НовыйКомандаЗаблокироватьБазу(ПараметрыБазы, Релиз) Экспорт
КомандаЗапуска = Новый Массив; //Массив Из Строка
КомандаЗапуска.Добавить("oscript");
КомандаЗапуска.Добавить(ФайлЗапускаOscript(ПараметрыБазы));
КомандаЗапуска.Добавить(ФайлЗапускаOscript());
КомандаЗапуска.Добавить("block");
ДобавитьОпцию(КомандаЗапуска, "--NameDB", ПараметрыБазы.ИмяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--UsrLogin1c", ПараметрыБазы.ИмяПользователяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--UsrPswd1c", ПараметрыБазы.ПарольПользователяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--PathServer1с", ПараметрыБазы.КластерСерверов);
ДобавитьОпцию(КомандаЗапуска, "--PathServerRAS", ПараметрыБазы.ПутьКСерверуRAS);
ДобавитьОпцию(КомандаЗапуска, "--AccessCode", "Обновление");
КомандаЗапуска = СтрСоединить(КомандаЗапуска, " ");
@@ -996,6 +1019,7 @@
// UsrLogin1c - Имя пользователя 1с
// UsrPswd1c - Пароль пользователя 1с
// PathServer1с - Путь к серверу 1с
// PathServerRAS - Путь к серверу RAS
// Auth - Признак аутентификации
//
// Возвращаемое значение:
@@ -1004,14 +1028,14 @@
Функция НовыйКомандаПингБазы(ПараметрыБазы) Экспорт
КомандаЗапуска = Новый Массив; //Массив Из Строка
КомандаЗапуска.Добавить("oscript");
КомандаЗапуска.Добавить(ФайлЗапускаOscript(ПараметрыБазы));
КомандаЗапуска.Добавить(ФайлЗапускаOscript());
КомандаЗапуска.Добавить("scorpion");
ДобавитьОпцию(КомандаЗапуска, "--NameDB", ПараметрыБазы.ИмяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--UsrLogin1c", ПараметрыБазы.ИмяПользователяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--UsrPswd1c", ПараметрыБазы.ПарольПользователяИнформационнойБазы);
ДобавитьОпцию(КомандаЗапуска, "--PathServer1с", ПараметрыБазы.КластерСерверов);
ДобавитьОпцию(КомандаЗапуска, "--PathServerRAS", ПараметрыБазы.ПутьКСерверуRAS);
ОбернутьОпцииКомандыВЗнакРавно(КомандаЗапуска);
@@ -1097,9 +1121,9 @@
КонецПроцедуры
Функция ФайлЗапускаOscript(ПараметрыБазы) Экспорт
Функция ФайлЗапускаOscript() Экспорт
Возврат СтрШаблон("%1\main.os", ПараметрыБазы.КаталогDevops);
Возврат "pivo-cli";
КонецФункции
@@ -0,0 +1,21 @@
Функция КомандыЗапускаПеред() Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КомандыКоманды.Команда
|ИЗ
| Справочник.Команды.Команды КАК КомандыКоманды
|ГДЕ
| КомандыКоманды.Ссылка.ПередЗапускомОсновнойКоманды
| И НЕ КомандыКоманды.Ссылка.ПометкаУдаления";
Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Команда");
КонецФункции
Функция КомандыЗапускаПосле() Экспорт
Возврат "";
КонецФункции
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="54a6b6a4-9cbc-4839-a837-cbd74c7fe102">
<name>КомандыЗапускаПриложенияПовтИсп</name>
<synonym>
<key>ru</key>
<value>Команды запуска приложения повт исп</value>
</synonym>
<server>true</server>
<externalConnection>true</externalConnection>
<clientOrdinaryApplication>true</clientOrdinaryApplication>
<returnValuesReuse>DuringSession</returnValuesReuse>
</mdclass:CommonModule>
@@ -78,7 +78,7 @@
Обработчик.ОбщиеДанные = Истина;
Обработчик = Обработчики.Добавить();
Обработчик.Версия = "*";
Обработчик.Версия = "1.0.0.3";
Обработчик.РежимВыполнения = "Оперативно";
Обработчик.Процедура = "ОбновлениеИнформационнойБазыУР.ПервыйЗапуск";
Обработчик.Идентификатор = Новый УникальныйИдентификатор("1c641d92-690b-4ccc-8e31-ac3dcbcc271e");
@@ -283,10 +283,9 @@
Попытка
Константы.ТаскТрекер.Установить(Перечисления.ТаскТрекеры.Предприятие1С);
Константы.УдалитьТаскТрекер.Установить(Перечисления.ТаскТрекеры.Предприятие1С);
Константы.СтратегияЗапускаСкрипта.Установить(Перечисления.СтратегияЗапускаСкрипта.CMD);
//TODO Создание пользователя
//Создание настроек к нему
УправлениеСвойствамиСлужебный.СоздатьПредопределенныеНаборыСвойств();
ЗафиксироватьТранзакцию();
@@ -167,7 +167,7 @@
ПараметрыКомандЗапуска.PathRelease = ПараметрыБазы.КаталогСборкиРелиза;
ПараметрыКомандЗапуска.PathStorage = ПараметрыБазы.ПутьКХранилищу;
ПараметрыКомандЗапуска.UserStorage = ПараметрыБазы.ПользовательХранилища;
ПараметрыКомандЗапуска.oscript = КомандыЗапускаПриложения.ФайлЗапускаOscript(ПараметрыБазы);
ПараметрыКомандЗапуска.oscript = КомандыЗапускаПриложения.ФайлЗапускаOscript();
КонецЕсли;
@@ -44,7 +44,7 @@
ДанныеЗаполнения = Новый Структура();
Если Константы.ТаскТрекер.Получить() <> Перечисления.ТаскТрекеры.Bitrix Тогда
Если Константы.УдалитьТаскТрекер.Получить() <> Перечисления.ТаскТрекеры.Bitrix Тогда
Возврат ДанныеЗаполнения;
КонецЕсли;
ИнформацияОЗадаче = ДанныеЗадачиБитрикс(НомерЗадачи);
+11 -6
View File
@@ -244,11 +244,16 @@
Продолжить;
КонецЕсли;
Если Не ПоказыватьЗавершенныеЗадачи И Задача.СтатусЗадачи = Перечисления.СтатусыЗадач.Завершена Тогда
РеквизитыЗадачи = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Задача,
"Наименование, ПодробноеОписание, СтатусЗадачи, ПрефиксВетки");
ЭтоСлужебнаяВетка = Не ЗначениеЗаполнено(РеквизитыЗадачи.ПрефиксВетки);
Если Не ЭтоСлужебнаяВетка И Не ПоказыватьЗавершенныеЗадачи И Задача.СтатусЗадачи = Перечисления.СтатусыЗадач.Завершена Тогда
Продолжить;
КонецЕсли;
Если Не ПоказыватьЧужиеЗадачи И Задача.Ответственный <> Пользователи.АвторизованныйПользователь() Тогда
Если Не ЭтоСлужебнаяВетка И Не ПоказыватьЧужиеЗадачи И Задача.Ответственный <> Пользователи.АвторизованныйПользователь() Тогда
Продолжить;
КонецЕсли;
@@ -256,9 +261,6 @@
Если СтрокаВеток = Неопределено Тогда
СтрокаВеток = ТаблицаВеток.Добавить();
КонецЕсли;
РеквизитыЗадачи = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Задача,
"Наименование, ПодробноеОписание, СтатусЗадачи, ПрефиксВетки");
СтрокаВеток.Номер = ИмяВетки;
СтрокаВеток.Задача = Задача;
@@ -372,6 +374,7 @@
Ветка = СтрЗаменить(Ветка, "remotes/origin/", "");
ДанныеИзНазванияВетки = СтрРазделить(Ветка, "/");
Если ДанныеИзНазванияВетки.Количество() = 1 Тогда
РазобраннаяВетка.НомерЗадачиРазработки = ДанныеИзНазванияВетки[0];
Возврат РазобраннаяВетка;
КонецЕсли;
@@ -453,7 +456,9 @@
КомандаЗапуска = КомандыЗапускаПриложения.НовыйКомандаСозданияРепозитория(ПараметрыБазы, НастройкиПользователя, ПараметрыЗадачи);
ПараметрыЗапуска = СтратегияЗапускаСкриптов.ПодготовкаПараметровИЗапускПриложения(База, КомандаЗапуска);
ДанныеЛогов = СтратегияЗапускаСкриптов.ДанныеЛоговСОжиданием(ПараметрыЗапуска);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ДанныеЛогов.ПодробныйЛогСтрокой);
КонецПроцедуры
Процедура ОбновитьРепозиторийИзУдаленного(База, ТекущийКаталог) Экспорт
@@ -186,14 +186,31 @@
КонецФункции
// Собранная строка команды.
//
// Параметры:
// Команда Команда
//
// Возвращаемое значение:
// Строка - Собранная строка команды
Функция СобраннаяСтрокаКоманды(Команда)
КомандыДоОсновной = КомандыЗапускаПриложенияПовтИсп.КомандыЗапускаПеред();
Если ТипЗнч(Команда) = Тип("Массив") Тогда
Команда = СтрСоединить(Команда, " && ");
КомандаСтрокой = СтрСоединить(Команда, " && ");
Иначе
КомандаСтрокой = Команда;
КонецЕсли;
Возврат Команда;
Если КомандыДоОсновной.Количество() Тогда
КомандаСтрокой = СтрШаблон("%1 && %2", СтрСоединить(КомандыДоОсновной, " && "), КомандаСтрокой);
КонецЕсли;
Возврат КомандаСтрокой;
КонецФункции
#КонецОбласти
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonTemplate xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="988526b3-55af-43db-98ce-891aeef841f6">
<name>OVM</name>
<synonym>
<key>ru</key>
<value>OVM</value>
</synonym>
<templateType>BinaryData</templateType>
</mdclass:CommonTemplate>
Binary file not shown.
+13 -5
View File
@@ -20,7 +20,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Мир инструментов</vendor>
<version>1.0.0.3</version>
<version>1.0.1.0</version>
<usedMobileApplicationFunctionalities>
<functionality>
<use>true</use>
@@ -682,6 +682,7 @@
<roles>Role.ЧтениеРассылокОтчетов</roles>
<roles>Role.ЧтениеУчетныхЗаписейЭлектроннойПочты</roles>
<roles>Role.ЧтениеШаблоновСообщений</roles>
<commonTemplates>CommonTemplate.OVM</commonTemplates>
<commonTemplates>CommonTemplate.RDPClient_Макет</commonTemplates>
<commonTemplates>CommonTemplate.ДанныеПечатиОбщиеРеквизиты</commonTemplates>
<commonTemplates>CommonTemplate.ДанныеПечатиРегистрСимволов</commonTemplates>
@@ -792,6 +793,7 @@
<commonModules>CommonModule.КалендарныеГрафикиПереопределяемый</commonModules>
<commonModules>CommonModule.КалендарныеГрафикиСлужебный</commonModules>
<commonModules>CommonModule.КомандыЗапускаПриложения</commonModules>
<commonModules>CommonModule.КомандыЗапускаПриложенияПовтИсп</commonModules>
<commonModules>CommonModule.КоннекторHTTP</commonModules>
<commonModules>CommonModule.КонструкторФормул</commonModules>
<commonModules>CommonModule.КонструкторФормулВызовСервера</commonModules>
@@ -880,6 +882,7 @@
<commonModules>CommonModule.ПользователиСлужебныйКлиент</commonModules>
<commonModules>CommonModule.ПользователиСлужебныйКлиентСервер</commonModules>
<commonModules>CommonModule.ПользователиСлужебныйПовтИсп</commonModules>
<commonModules>CommonModule.РаботаБезТаскТрекера</commonModules>
<commonModules>CommonModule.РаботаСBitrix</commonModules>
<commonModules>CommonModule.РаботаСGit</commonModules>
<commonModules>CommonModule.РаботаСGitAPI</commonModules>
@@ -1018,7 +1021,6 @@
<commonModules>CommonModule.ШаблоныСообщенийСервер</commonModules>
<commonModules>CommonModule.ШаблоныСообщенийСлужебный</commonModules>
<commonModules>CommonModule.ШаблоныСообщенийСлужебныйПовтИсп</commonModules>
<commonModules>CommonModule.РаботаБезТаскТрекера</commonModules>
<exchangePlans>ExchangePlan.ОбновлениеИнформационнойБазы</exchangePlans>
<xDTOPackages>XDTOPackage.ApdexExport</xDTOPackages>
<xDTOPackages>XDTOPackage.ApdexExport_1_0_0_2</xDTOPackages>
@@ -1215,9 +1217,9 @@
<commonCommands>CommonCommand.СнимкиОтчетовДляАвтономногоРежима</commonCommands>
<commonCommands>CommonCommand.СозданиеНачальногоОбразаСФайлами</commonCommands>
<commonCommands>CommonCommand.СозданиеСвязанныхОбъектов</commonCommands>
<commonCommands>CommonCommand.УстановитьОскрипт</commonCommands>
<commonCommands>CommonCommand.УстановитьРасширениеДляРаботыС1СПредприятием</commonCommands>
<commonCommands>CommonCommand.ФайлыВТоме</commonCommands>
<commonCommands>CommonCommand.УстановитьОскрипт</commonCommands>
<commandGroups>CommandGroup.Взаимодействия</commandGroups>
<commandGroups>CommandGroup.Информация</commandGroups>
<commandGroups>CommandGroup.Органайзер</commandGroups>
@@ -1297,9 +1299,9 @@
<constants>Constant.СпособХраненияФайлов</constants>
<constants>Constant.СтандартныеПодсистемыВАвтономномРежиме</constants>
<constants>Constant.СтратегияЗапускаСкрипта</constants>
<constants>Constant.ТаскТрекер</constants>
<constants>Constant.ТокенBitrix</constants>
<constants>Constant.УдалитьНастройкиВходаПользователей</constants>
<constants>Constant.УдалитьТаскТрекер</constants>
<constants>Constant.УчетнаяЗаписьДляВосстановленияПароля</constants>
<constants>Constant.ФайлЗапускаOscript</constants>
<constants>Constant.ХранитьИсториюРассылкиОтчетов</constants>
@@ -1370,6 +1372,7 @@
<commonForms>CommonForm.ФормаВариантаОтчета</commonForms>
<commonForms>CommonForm.ФормаВыбораЦвета</commonForms>
<commonForms>CommonForm.ФормаВыбораШрифта</commonForms>
<commonForms>CommonForm.ФормаНастроекКонфигурации</commonForms>
<commonForms>CommonForm.ФормаНастроекОтчета</commonForms>
<commonForms>CommonForm.ФормаОтчета</commonForms>
<commonForms>CommonForm.ФормаПоиска</commonForms>
@@ -1396,6 +1399,7 @@
<catalogs>Catalog.Кластеры</catalogs>
<catalogs>Catalog.КлючевыеОперации</catalogs>
<catalogs>Catalog.КлючиДоступа</catalogs>
<catalogs>Catalog.Команды</catalogs>
<catalogs>Catalog.МакетыПечатныхФорм</catalogs>
<catalogs>Catalog.НаборыГруппДоступа</catalogs>
<catalogs>Catalog.НаборыДополнительныхРеквизитовИСведений</catalogs>
@@ -1421,8 +1425,10 @@
<catalogs>Catalog.СтадииКанбан</catalogs>
<catalogs>Catalog.СтраныМира</catalogs>
<catalogs>Catalog.СтроковыеКонтактыВзаимодействий</catalogs>
<catalogs>Catalog.ТаскТрекеры</catalogs>
<catalogs>Catalog.ТелефонныйЗвонокПрисоединенныеФайлы</catalogs>
<catalogs>Catalog.ТомаХраненияФайлов</catalogs>
<catalogs>Catalog.УчетныеДанные</catalogs>
<catalogs>Catalog.УчетныеДанныеRDP</catalogs>
<catalogs>Catalog.УчетныеЗаписиСинхронизацииФайлов</catalogs>
<catalogs>Catalog.УчетныеЗаписиЭлектроннойПочты</catalogs>
@@ -1431,7 +1437,6 @@
<catalogs>Catalog.ШаблоныСообщенийПрисоединенныеФайлы</catalogs>
<catalogs>Catalog.ЭлектронноеПисьмоВходящееПрисоединенныеФайлы</catalogs>
<catalogs>Catalog.ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы</catalogs>
<catalogs>Catalog.ТаскТрекеры</catalogs>
<documents>Document.Встреча</documents>
<documents>Document.ЗапланированноеВзаимодействие</documents>
<documents>Document.Релиз</documents>
@@ -1494,6 +1499,7 @@
<enums>Enum.ТипыОтчетов</enums>
<enums>Enum.ТипыПредопределенныхПапокПисем</enums>
<enums>Enum.ТипыТекстовЭлектронныхПисем</enums>
<enums>Enum.ТипыУчетныхДанных</enums>
<enums>Enum.ТипыФайловДляВстроенногоРедактора</enums>
<enums>Enum.ТипыХраненияФайлов</enums>
<enums>Enum.УровниПроизводительности</enums>
@@ -1529,6 +1535,7 @@
<dataProcessors>DataProcessor.ЗаменаИОбъединениеЭлементов</dataProcessors>
<dataProcessors>DataProcessor.ЗаполнениеГрафиковРаботы</dataProcessors>
<dataProcessors>DataProcessor.ЗаполнениеКалендарныхГрафиков</dataProcessors>
<dataProcessors>DataProcessor.Запуск</dataProcessors>
<dataProcessors>DataProcessor.КомандыПроцессов</dataProcessors>
<dataProcessors>DataProcessor.КонструкторФормул</dataProcessors>
<dataProcessors>DataProcessor.МенеджерРелизов</dataProcessors>
@@ -1549,6 +1556,7 @@
<dataProcessors>DataProcessor.РезультатыОбновленияПрограммы</dataProcessors>
<dataProcessors>DataProcessor.РекомендацияПоПовышениюСкоростиРаботы</dataProcessors>
<dataProcessors>DataProcessor.Сканирование</dataProcessors>
<dataProcessors>DataProcessor.Терминал</dataProcessors>
<dataProcessors>DataProcessor.УдалениеПомеченныхОбъектов</dataProcessors>
<dataProcessors>DataProcessor.УправлениеЗадачами</dataProcessors>
<informationRegisters>InformationRegister.БезопасноеХранилищеДанных</informationRegisters>
@@ -5,15 +5,16 @@
<valueManagerType typeId="63db6607-e70c-485a-bb6a-bb656fe05a34" valueTypeId="d6e87819-7d10-4f5e-b9b0-96c56ad18da2"/>
<valueKeyType typeId="179daaab-5bfe-4ff5-af87-f5b75e4cd968" valueTypeId="abec02e3-d081-43f1-a730-7cafd45f57ef"/>
</producedTypes>
<name>ТаскТрекер</name>
<name>УдалитьТаскТрекер</name>
<synonym>
<key>ru</key>
<value>Таск трекер</value>
<value>Удалить таск трекер</value>
</synonym>
<type>
<types>EnumRef.ТаскТрекеры</types>
</type>
<useStandardCommands>true</useStandardCommands>
<defaultForm>CommonForm.ФормаНастроекКонфигурации</defaultForm>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<dataLockControlMode>Managed</dataLockControlMode>
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,489 @@
&НаКлиенте
Процедура ОсновнаяПапкаНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ДиалогОткрытия = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
ДиалогОткрытия.Каталог = ОсновнаяПапка;
ДиалогОткрытия.Заголовок = "Выберите каталог основной папки проекта";
ДиалогОткрытия.Показать(Новый ОписаниеОповещения("ВыборКаталога_Завершение", ЭтотОбъект, "" ));
Модифицированность = Истина;
КонецПроцедуры
&НаКлиенте
Процедура ВыборКаталога_Завершение(Результат, Параметр) Экспорт
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
ОсновнаяПапка = Результат[0];
КонецПроцедуры
&НаКлиенте
Процедура СчитатьСписокБаз(Команда)
СписокБазДанных.Очистить();
Если ОбщегоНазначенияКлиент.ИнформационнаяБазаФайловая() Тогда
ВременныйКаталог = КаталогДокументов();
ВременныйКаталог = СтрЗаменить(ВременныйКаталог, "\Documents\", "\AppData\Roaming\1C\1CEStart\");
Иначе
ВременныйКаталог = КаталогВременныхФайлов();
ВременныйКаталог = СтрЗаменить(ВременныйКаталог, "\Local\Temp\", "\Roaming\1C\1CEStart\");
КонецЕсли;
ИмяФайла = "ibases.v8i";
ФайлЗапуска1С = Новый Файл(ВременныйКаталог + ИмяФайла);
Если ФайлЗапуска1С.Существует() Тогда
ТекстовыйДокИзФайла = Новый ТекстовыйДокумент;
ТекстовыйДокИзФайла.Прочитать(ФайлЗапуска1С.ПолноеИмя);
//Текст = ТекстовыйДокИзФайла.ПолучитьТекст();
СлБаза = Ложь;
Для НомерСтроки = 1 По ТекстовыйДокИзФайла.КоличествоСтрок() Цикл
СтрокаТекста = ТекстовыйДокИзФайла.ПолучитьСтроку(НомерСтроки);
Если Лев(СтрокаТекста, 1) = "[" Тогда //Это имя в списке
СтруктураБазы = Новый Структура;
СтруктураБазы.Вставить("ИмяБазы", Сред(СтрокаТекста, 2, СтрДлина(СтрокаТекста) - 2));
ИначеЕсли СтрЧислоВхождений(СтрокаТекста, "Connect=File=") > 0 Тогда
Путь = СтрЗаменить(СтрокаТекста, "Connect=File=", "");
Путь = СтрЗаменить(Путь, ";", "");
Путь = СтрЗаменить(Путь, """", "");
СтруктураБазы.Вставить("ПутьКБазе", Путь);
//Проверяем добавляемую строку
Если СписокБазДанных.НайтиСтроки(Новый Структура("ИмяБазы", СтруктураБазы.ИмяБазы)).Количество() = 0 Тогда
СтрокаБазы = СписокБазДанных.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаБазы, СтруктураБазы);
КонецЕсли;
ИначеЕсли СтрЧислоВхождений(СтрокаТекста, "Connect=Srvr=") > 0 Тогда
Путь = СтрЗаменить(СтрокаТекста, "Connect=Srvr=", "");
Путь = СтрЗаменить(Путь, "Ref=", "");
Путь = СтрЗаменить(Путь, """", "");
Пути = СтрРазделить(Путь, ";", Ложь);
СтруктураБазы.Вставить("Сервер", Пути[0]);
СтруктураБазы.Вставить("ИмяНаСервере", Пути[1]);
Если СписокБазДанных.НайтиСтроки(Новый Структура("ИмяБазы", СтруктураБазы.ИмяБазы)).Количество() = 0 Тогда
СтрокаБазы = СписокБазДанных.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаБазы, СтруктураБазы);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура СоздатьПользлователяНаСервере()
Пользователи.СоздатьАдминистратора();
НовыйПользователь = Справочники.Пользователи.НайтиПоНаименованию(ИмяПользователя, Истина);
Если НовыйПользователь.Пустая() Тогда
НовыйПользователь = СоздатьАдминистратора();
КонецЕсли;
НастройкиПользователя = НастройкаПоВладельцу(НовыйПользователь);
Если НастройкиПользователя.Пустая() Тогда
НастройкиПользователяОбъект = Справочники.НастройкиПользователей.СоздатьЭлемент();
НастройкиПользователяОбъект.Заполнить(Неопределено); //TODO Реализовать автозаполнение настроек по умолчанию
НастройкиПользователяОбъект.Владелец = НовыйПользователь;
НастройкиПользователяОбъект.ИмяПользователяGit = ИмяПользователяGit;
НастройкиПользователяОбъект.ПочтаПользователяGit = ПочтаПользователяGit;
НастройкиПользователяОбъект.ТокенGit = ТокенGit;
НастройкиПользователяОбъект.Проект = Справочники.Проекты.Неопределен;
НастройкиПользователяОбъект.Записать();
НастройкиПользователя = НастройкиПользователяОбъект.Ссылка;
КонецЕсли;
КонецПроцедуры
Функция НастройкаПоВладельцу(Владелец)
Результат = Справочники.НастройкиПользователей.ПустаяСсылка();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| НастройкиПользователей.Ссылка КАК Ссылка
|ИЗ
| Справочник.НастройкиПользователей КАК НастройкиПользователей
|ГДЕ
| НастройкиПользователей.Владелец = &Владелец";
Запрос.УстановитьПараметр("Владелец", Владелец);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Результат = Выборка.Ссылка;
КонецЦикла;
Возврат Результат;
КонецФункции
&НаКлиенте
Процедура СоздатьПользлователя(Команда)
СоздатьПользлователяНаСервере();
ПоказатьЗначение(, НастройкиПользователя);
КонецПроцедуры
&НаСервере
Процедура СоздатьПроектНаСервере()
Проект = Справочники.Проекты.НайтиПоНаименованию(НазваниеПроекта);
Если НЕ Проект.Пустая() Тогда
Возврат;
КонецЕсли;
ПроектОбъект = Справочники.Проекты.СоздатьЭлемент();
ПроектОбъект.Заполнить(Неопределено); //TODO Реализовать автозаполнение настроек по умолчанию
ПроектОбъект.Наименование = НазваниеПроекта;
Если ТипРепозитория = Перечисления.ТипРепозитория.GitHub Тогда
Авторизация = СтрШаблон("://%1@%2", ИмяПользователяGit, ТокенGit);//TODO Безопасное хранилище паролей
ИначеЕсли ТипРепозитория = Перечисления.ТипРепозитория.GitLab Тогда
Авторизация = СтрШаблон("://%1@%2", ИмяПользователяGit, ТокенGit);
Иначе
//Не обработанные типы репозиториев
КонецЕсли;
ПроектОбъект.PathGitClone = СтрЗаменить(ПутьКGitCloneHTTP, "://", Авторизация);
ПроектОбъект.КаталогРепозиториевПроекта = ОсновнаяПапка;
ПроектОбъект.КаталогРепозиториевШара = ОсновнаяПапка;
ПроектОбъект.КаталогСборкиРелиза = ОсновнаяПапка + "\release";
ПроектОбъект.ТаскТрекер =ТаскТрекер;
ПроектОбъект.ТипРепозитория = ТипРепозитория;
ПроектОбъект.ИДПроектаРепозитория = ИДПроектаРепозитория;
ПроектОбъект.РежимРаботыКонфигурации = Перечисления.РежимыРаботыКонфигурации.Пакетный;
ПроектОбъект.Записать();
Проект = ПроектОбъект.Ссылка;
НастройкаОбъект = НастройкиПользователя.ПолучитьОбъект();
НастройкаОбъект.Проект = Проект;
НастройкаОбъект.Записать();
СоздатьКаталог(ПроектОбъект.КаталогСборкиРелиза);
КонецПроцедуры
&НаКлиенте
Процедура СоздатьПроект(Команда)
СоздатьПроектНаСервере();
ПоказатьЗначение(, Проект);
КонецПроцедуры
&НаКлиенте
Процедура ДобавитьБазы(Команда)
ВыделенныеСтроки = Элементы.СписокБазДанных.ВыделенныеСтроки;
МассивБаз = Новый Массив;
Для Каждого СтрокаБазы Из ВыделенныеСтроки Цикл
ДанныеСтроки = Элементы.СписокБазДанных.ДанныеСтроки(СтрокаБазы);
Если Не ЗначениеЗаполнено(ДанныеСтроки.Сервер) Тогда
Сообщить("База не серверная созданна не будет" + ДанныеСтроки.ИмяБазы);
Продолжить;
КонецЕсли;
СтруктураСервернойБазы = СтруктураСервернойБазы();
ЗаполнитьЗначенияСвойств(СтруктураСервернойБазы, ДанныеСтроки);
МассивБаз.Добавить(СтруктураСервернойБазы);
КонецЦикла;
ДобавитьБазыНаСервере(МассивБаз);
ПоказатьЗначение(, Кластер);
КонецПроцедуры
&НаКлиенте
Функция СтруктураСервернойБазы()
Возврат Новый Структура("ИмяБазы, Сервер, ИмяНаСервере");
КонецФункции
&НаСервере
Процедура ДобавитьБазыНаСервере(МассивБаз)
Для Каждого Элемент Из МассивБаз Цикл
Кластер = Справочники.Кластеры.НайтиПоНаименованию(Элемент.Сервер, Истина);
Если Кластер.Пустая() Тогда
КластерОбъект = Справочники.Кластеры.СоздатьЭлемент();
КластерОбъект.ИмяАгентаБазы = "GitAgent";
КластерОбъект.КаталогRAS = "GitAgent";
КластерОбъект.НомерВерсииПлатформы = "8.3"; //TODO
КластерОбъект.ПутьКПапкеДевопс = ОсновнаяПапка;
КластерОбъект.ПутьКШаре = ОсновнаяПапка;
КластерОбъект.ФайлЗапускаOscript = "";//
//КластерОбъект.ФайлЗапускаOscript = "";//Добавить путь к rac
КластерОбъект.Наименование = Элемент.Сервер;
КластерОбъект.СерверПубликации = Элемент.Сервер;
КластерОбъект.Записать();
Кластер = КластерОбъект.Ссылка;
КонецЕсли;
База = Справочники.Базы.НайтиПоНаименованию(Элемент.ИмяНаСервере, Истина);
Если База.Пустая() Тогда
БазаОбъект = Справочники.Базы.СоздатьЭлемент();
БазаОбъект.Владелец = Проект;
БазаОбъект.БазаПубликации = Элемент.ИмяНаСервере;
БазаОбъект.КластерСерверов = Кластер;
БазаОбъект.Наименование = Элемент.ИмяНаСервере;
БазаОбъект.ТипБазы = Перечисления.ТипыБаз.ТестоваяБаза;
БазаОбъект.Ответственный = НовыйПользователь;
БазаОбъект.ИмяИнформационнойБазы = Элемент.ИмяНаСервере;
БазаОбъект.ИмяПользователяИнформационнойБазы = "1с";
БазаОбъект.ПарольПользователяИнформационнойБазы = "1с";
БазаОбъект.Записать();
Сообщить("Создана база " + БазаОбъект.Ссылка);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура УстановитьОскриптНаСервере()
ИмяФайла = ПолучитьИмяВременногоФайла("exe");
//TODO Реализация загрузки с интернета
// АдресФайла = "https://github.com/oscript-library/ovm/releases/latest/download/ovm.exe";
// НовыеПараметры = КоннекторHTTP.НовыеПараметры();
// НовыеПараметры.Заголовки.Вставить("User-Agent",
// "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36");
// НовыеПараметры.Таймаут = 90;
// Ответ = КоннекторHTTP.Get(АдресФайла,,НовыеПараметры);
// Данные = КоннекторHTTP.КакДвоичныеДанные(Ответ);
Макет = ПолучитьОбщийМакет("OVM");
Макет.Записать(ИмяФайла);
ПараметрыЗапускаПрограммы = ФайловаяСистема.ПараметрыЗапускаПрограммы();
ПараметрыЗапускаПрограммы.ДождатьсяЗавершения = Истина;
ПараметрыЗапускаПрограммы.ПолучитьПотокВывода = Истина;
ПараметрыЗапускаПрограммы.ПолучитьПотокОшибок = Истина;
Результат = ФайловаяСистема.ЗапуститьПрограмму(СтрШаблон("%1 install dev", ИмяФайла), ПараметрыЗапускаПрограммы);
ОбщегоНазначения.СообщитьПользователю(Результат.ПотокВывода);
Если ЗначениеЗаполнено(Результат.ПотокОшибок) Тогда
ОбщегоНазначения.СообщитьПользователю(Результат.ПотокОшибок);
КонецЕсли;
Результат = ФайловаяСистема.ЗапуститьПрограмму(СтрШаблон("%1 use --install dev", ИмяФайла), ПараметрыЗапускаПрограммы);
ОбщегоНазначения.СообщитьПользователю(Результат.ПотокВывода);
Если ЗначениеЗаполнено(Результат.ПотокОшибок) Тогда
ОбщегоНазначения.СообщитьПользователю(Результат.ПотокОшибок);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьОскрипт(Команда)
УстановитьОскриптНаСервере();
КонецПроцедуры
&НаСервере
Процедура СоздатьРепозиторииКБазамНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Базы.Ссылка КАК Ссылка
|ИЗ
| Справочник.Базы КАК Базы";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
КаталогРепозиторияБазыШара = РаботаСGit.КаталогРепозиторияБазыШара(Выборка.Ссылка);
КаталогРепозиторияБазы = РаботаСGit.КаталогРепозиторияБазы(Выборка.Ссылка);
Если ПустаяСтрока(КаталогРепозиторияБазыШара) Тогда
Ошибка = "Ошибка: Не указан каталог репозиториев в проекте!";
Сообщить(Ошибка);
Продолжить;
КонецЕсли;
Если Не РаботаСGit.КаталогРепозиторияСуществует(КаталогРепозиторияБазыШара) Тогда
Если Не РаботаСGit.СоздатьКаталогРепозитория(КаталогРепозиторияБазыШара) Тогда
Ошибка = СтрШаблон("Ошибка: Не удалось создать каталог репозитория базы: %1", КаталогРепозиторияБазыШара);
Сообщить(Ошибка);
Продолжить;
КонецЕсли;
КонецЕсли;
Если Не РаботаСGit.ПустойРепозиторий(КаталогРепозиторияБазыШара) Тогда
Ошибка = СтрШаблон("Ошибка! В каталоге есть файлы: %1%2Перед созданием репозитория каталог должен быть пустым.", КаталогРепозиторияБазы, Символы.ПС);
Сообщить(Ошибка);
Продолжить;
КонецЕсли;
РаботаСGit.СоздатьНовыйРепозиторийВГИТ(Выборка.Ссылка, НовыйПользователь);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура СоздатьРепозиторииКБазам(Команда)
СоздатьРепозиторииКБазамНаСервере();
КонецПроцедуры
&НаСервере
Процедура УстановитьКЛИНаСервере()
ПараметрыЗапускаПрограммы = ФайловаяСистема.ПараметрыЗапускаПрограммы();
ПараметрыЗапускаПрограммы.ДождатьсяЗавершения = Истина;
ПараметрыЗапускаПрограммы.ПолучитьПотокВывода = Истина;
ПараметрыЗапускаПрограммы.ПолучитьПотокОшибок = Истина;
Результат = ФайловаяСистема.ЗапуститьПрограмму("opm install pivo-cli", ПараметрыЗапускаПрограммы);
ОбщегоНазначения.СообщитьПользователю(Результат.ПотокВывода);
Если ЗначениеЗаполнено(Результат.ПотокОшибок) Тогда
ОбщегоНазначения.СообщитьПользователю(Результат.ПотокОшибок);
КонецЕсли;
Результат = ФайловаяСистема.ЗапуститьПрограмму("pivo-cli", ПараметрыЗапускаПрограммы);
ОбщегоНазначения.СообщитьПользователю(Результат.ПотокВывода);
Если ЗначениеЗаполнено(Результат.ПотокОшибок) Тогда
ОбщегоНазначения.СообщитьПользователю(Результат.ПотокОшибок);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура УстановитьКЛИ(Команда)
УстановитьКЛИНаСервере();
КонецПроцедуры
// Используется при обновлении и начальном заполнении информационной базы.
// 1) Создает первого администратора и сопоставляет его с новым или существующим
// пользователем в справочнике Пользователи.
// 2) Сопоставляет администратора, указанного в параметре ПользовательИБ, с новым или
// существующим пользователем в справочнике Пользователи.
//
// Параметры:
// ПользовательИБ - Неопределено - создать первого администратора, если не существует.
// - ПользовательИнформационнойБазы - используется, когда нужно сопоставить
// существующего администратора с новым или существующим пользователем
// в справочнике Пользователи.
//
// Возвращаемое значение:
// Неопределено - первый администратор уже существует.
// СправочникСсылка.Пользователи - пользователь в справочнике, с которым сопоставлен созданный
// первый администратор или указанный существующий.
//
Функция СоздатьАдминистратора(ПользовательИБ = Неопределено) Экспорт
Если Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ТекстОшибки = НСтр("ru = 'Справочник Пользователи недоступен в неразделенном режиме.'");
ВызватьИсключение ТекстОшибки;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
// Добавление администратора.
Если ПользовательИБ = Неопределено Тогда
ПользовательИБ = ПользователиИнформационнойБазы.СоздатьПользователя();
ПользовательИБ.Имя = ИмяПользователя;
ПользовательИБ.ПолноеИмя = ПользовательИБ.Имя;
ПользовательИБ.Роли.Очистить();
ПользовательИБ.Роли.Добавить(Метаданные.Роли.ПолныеПрава);
РольАдминистратораСистемы = Метаданные.Роли.АдминистраторСистемы;
Если НЕ ПользовательИБ.Роли.Содержит(РольАдминистратораСистемы) Тогда
ПользовательИБ.Роли.Добавить(РольАдминистратораСистемы);
КонецЕсли;
ПользовательИБ.Записать();
Иначе
Если Не ПользователиСлужебный.РолиАдминистратораДоступны(ПользовательИБ) Тогда
ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Невозможно создать пользователя в справочнике для пользователя
|информационной базы ""%1"",
|так как у него нет ролей Полные права и Администратор системы.
|
|Вероятно, пользователь был создан в конфигураторе.
|Для автоматического создания пользователя в справочнике требуется
|назначить ему роли Полные права и Администратор системы.'"),
Строка(ПользовательИБ));
ВызватьИсключение ТекстОшибки;
КонецЕсли;
Пользователи.НайтиНеоднозначныхПользователейИБ(Неопределено, ПользовательИБ.УникальныйИдентификатор);
КонецЕсли;
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Справочник.Пользователи");
ЭлементБлокировки.УстановитьЗначение("ИдентификаторПользователяИБ", ПользовательИБ.УникальныйИдентификатор);
ЭлементБлокировки = Блокировка.Добавить("Справочник.ВнешниеПользователи");
ЭлементБлокировки.УстановитьЗначение("ИдентификаторПользователяИБ", ПользовательИБ.УникальныйИдентификатор);
ЭлементБлокировки = Блокировка.Добавить("Справочник.Пользователи");
ЭлементБлокировки.УстановитьЗначение("Наименование", ПользовательИБ.ПолноеИмя);
Блокировка.Заблокировать();
Пользователь = Неопределено;
ПользователиСлужебный.ПользовательПоИдентификаторуСуществует(ПользовательИБ.УникальныйИдентификатор,, Пользователь);
Если ТипЗнч(Пользователь) = Тип("СправочникСсылка.ВнешниеПользователи") Тогда
ВнешнийПользовательОбъект = Пользователь.ПолучитьОбъект();
ВнешнийПользовательОбъект.ИдентификаторПользователяИБ = Неопределено;
ОбновлениеИнформационнойБазы.ЗаписатьДанные(ВнешнийПользовательОбъект);
Пользователь = Неопределено;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Пользователь) Тогда
Пользователь = Справочники.Пользователи.НайтиПоНаименованию(ПользовательИБ.ПолноеИмя);
Если ЗначениеЗаполнено(Пользователь)
И ЗначениеЗаполнено(Пользователь.ИдентификаторПользователяИБ)
И Пользователь.ИдентификаторПользователяИБ <> ПользовательИБ.УникальныйИдентификатор
И ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(
Пользователь.ИдентификаторПользователяИБ) <> Неопределено Тогда
Пользователь = Неопределено;
КонецЕсли;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Пользователь) Тогда
Пользователь = Справочники.Пользователи.СоздатьЭлемент();
ПользовательСоздан = Истина;
Иначе
Пользователь = Пользователь.ПолучитьОбъект();
ПользовательСоздан = Ложь;
КонецЕсли;
Пользователь.Наименование = ПользовательИБ.ПолноеИмя;
ОписаниеПользователяИБ = Новый Структура;
ОписаниеПользователяИБ.Вставить("Действие", "Записать");
ОписаниеПользователяИБ.Вставить("УникальныйИдентификатор", ПользовательИБ.УникальныйИдентификатор);
Пользователь.Записать();
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
Возврат Пользователь.Ссылка;
КонецФункции
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:DataProcessor xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="9c70198e-e182-413c-ac1a-6584b2a37935">
<producedTypes>
<objectType typeId="5ed4878e-d660-45f9-a79b-5aafc2f44533" valueTypeId="44fb20d2-5404-4803-96e4-98279233406f"/>
<managerType typeId="49c74d9e-8ffd-4f77-a987-fc6d0b018b37" valueTypeId="71bbf820-6cea-4335-bcf4-1eda16a89b61"/>
</producedTypes>
<name>Запуск</name>
<synonym>
<key>ru</key>
<value>Запуск</value>
</synonym>
<useStandardCommands>true</useStandardCommands>
<defaultForm>DataProcessor.Запуск.Form.Форма</defaultForm>
<forms uuid="93e87f01-b54d-48d7-9436-55b3f608427e">
<name>Форма</name>
<synonym>
<key>ru</key>
<value>Форма</value>
</synonym>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
</mdclass:DataProcessor>
@@ -0,0 +1,538 @@
<?xml version="1.0" encoding="UTF-8"?>
<form:Form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://g5.1c.ru/v8/dt/mcore" xmlns:form="http://g5.1c.ru/v8/dt/form">
<items xsi:type="form:FormGroup">
<name>Группа3</name>
<id>31</id>
<items xsi:type="form:FormGroup">
<name>Группа1</name>
<id>11</id>
<items xsi:type="form:FormField">
<name>Команда</name>
<id>1</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>КомандаЗапуска</segments>
</dataPath>
<extendedTooltip>
<name>КомандаРасширеннаяПодсказка</name>
<id>3</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>КомандаКонтекстноеМеню</name>
<id>2</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>true</horizontalStretch>
<wrap>true</wrap>
<extendedEditMultipleValues>true</extendedEditMultipleValues>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<items xsi:type="form:Button">
<name>ФормаВыполнитьСервер</name>
<id>9</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаВыполнитьСерверРасширеннаяПодсказка</name>
<id>10</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Hyperlink</type>
<commandName>Form.Command.ВыполнитьСервер</commandName>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.СтрелкаВправоЗеленая</picture>
</picture>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ФормаВыполнитьКлиент</name>
<id>7</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ФормаВыполнитьКлиентРасширеннаяПодсказка</name>
<id>8</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Hyperlink</type>
<commandName>Form.Command.ВыполнитьКлиент</commandName>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>Группа1РасширеннаяПодсказка</name>
<id>12</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>AlwaysHorizontal</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormField">
<name>Вывод</name>
<id>4</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>Вывод</segments>
</dataPath>
<extendedTooltip>
<name>ВыводРасширеннаяПодсказка</name>
<id>6</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>ВыводКонтекстноеМеню</name>
<id>5</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>Enter</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxHeight>true</autoMaxHeight>
<horizontalStretch>true</horizontalStretch>
<wrap>true</wrap>
<multiLine>true</multiLine>
<extendedEditMultipleValues>true</extendedEditMultipleValues>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Группа3</value>
</title>
<width>70</width>
<horizontalStretch>true</horizontalStretch>
<extendedTooltip>
<name>Группа3РасширеннаяПодсказка</name>
<id>32</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>Vertical</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<items xsi:type="form:FormGroup">
<name>Группа2</name>
<id>29</id>
<items xsi:type="form:Table">
<name>Команды</name>
<id>13</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ИсторияКоманд</segments>
</dataPath>
<titleLocation>None</titleLocation>
<items xsi:type="form:FormField">
<name>КомандыЗначение</name>
<id>26</id>
<title>
<key>ru</key>
<value>Команда</value>
</title>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<dataPath xsi:type="form:DataPath">
<segments>ИсторияКоманд.Value</segments>
</dataPath>
<extendedTooltip>
<name>КомандыЗначениеРасширеннаяПодсказка</name>
<id>28</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>КомандыЗначениеКонтекстноеМеню</name>
<id>27</id>
<autoFill>true</autoFill>
</contextMenu>
<type>InputField</type>
<editMode>EnterOnInput</editMode>
<showInHeader>true</showInHeader>
<headerHorizontalAlign>Left</headerHorizontalAlign>
<showInFooter>true</showInFooter>
<extInfo xsi:type="form:InputFieldExtInfo">
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
</extInfo>
</items>
<commandBarLocation>None</commandBarLocation>
<autoCommandBar>
<name>КомандыКоманднаяПанель</name>
<id>14</id>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<searchStringAddition>
<name>КомандыСтрокаПоиска</name>
<id>17</id>
<extendedTooltip>
<name>КомандыСтрокаПоискаРасширеннаяПодсказка</name>
<id>19</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>КомандыСтрокаПоискаКонтекстноеМеню</name>
<id>18</id>
<autoFill>true</autoFill>
</contextMenu>
<source>Команды</source>
<extInfo xsi:type="form:SearchStringAdditionExtInfo">
<autoMaxWidth>true</autoMaxWidth>
</extInfo>
</searchStringAddition>
<viewStatusAddition>
<name>КомандыСостояниеПросмотра</name>
<id>23</id>
<extendedTooltip>
<name>КомандыСостояниеПросмотраРасширеннаяПодсказка</name>
<id>25</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>КомандыСостояниеПросмотраКонтекстноеМеню</name>
<id>24</id>
<autoFill>true</autoFill>
</contextMenu>
<type>ViewStatusAddition</type>
<source>Команды</source>
<extInfo xsi:type="form:ViewStatusAdditionExtInfo">
<autoMaxWidth>true</autoMaxWidth>
</extInfo>
</viewStatusAddition>
<searchControlAddition>
<name>КомандыУправлениеПоиском</name>
<id>20</id>
<extendedTooltip>
<name>КомандыУправлениеПоискомРасширеннаяПодсказка</name>
<id>22</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>КомандыУправлениеПоискомКонтекстноеМеню</name>
<id>21</id>
<autoFill>true</autoFill>
</contextMenu>
<type>SearchControlAddition</type>
<source>Команды</source>
<extInfo xsi:type="form:SearchControlAdditionExtInfo">
<autoMaxWidth>true</autoMaxWidth>
</extInfo>
</searchControlAddition>
<extendedTooltip>
<name>КомандыРасширеннаяПодсказка</name>
<id>16</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<contextMenu>
<name>КомандыКонтекстноеМеню</name>
<id>15</id>
<autoFill>true</autoFill>
</contextMenu>
<changeRowSet>true</changeRowSet>
<changeRowOrder>true</changeRowOrder>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<autoMaxRowsCount>true</autoMaxRowsCount>
<selectionMode>MultiRow</selectionMode>
<header>true</header>
<headerHeight>1</headerHeight>
<footerHeight>1</footerHeight>
<horizontalScrollBar>AutoUse</horizontalScrollBar>
<verticalScrollBar>AutoUse</verticalScrollBar>
<horizontalLines>true</horizontalLines>
<verticalLines>true</verticalLines>
<searchOnInput>Auto</searchOnInput>
<initialListView>Auto</initialListView>
<horizontalStretch>true</horizontalStretch>
<verticalStretch>true</verticalStretch>
<fileDragMode>AsFileRef</fileDragMode>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<title>
<key>ru</key>
<value>Группа2</value>
</title>
<extendedTooltip>
<name>Группа2РасширеннаяПодсказка</name>
<id>30</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>UsualGroup</type>
<extInfo xsi:type="form:UsualGroupExtInfo">
<group>HorizontalIfPossible</group>
<behavior>Auto</behavior>
<showLeftMargin>true</showLeftMargin>
<united>true</united>
<throughAlign>Auto</throughAlign>
<currentRowUse>Auto</currentRowUse>
</extInfo>
</items>
<autoCommandBar>
<name>ФормаКоманднаяПанель</name>
<id>-1</id>
<horizontalAlign>Left</horizontalAlign>
<autoFill>true</autoFill>
</autoCommandBar>
<saveWindowSettings>true</saveWindowSettings>
<autoTitle>true</autoTitle>
<autoUrl>true</autoUrl>
<group>AlwaysHorizontal</group>
<autoFillCheck>true</autoFillCheck>
<allowFormCustomize>true</allowFormCustomize>
<enabled>true</enabled>
<showTitle>true</showTitle>
<showCloseButton>true</showCloseButton>
<attributes>
<name>Объект</name>
<id>1</id>
<valueType>
<types>DataProcessorObject.Терминал</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<main>true</main>
</attributes>
<attributes>
<name>КомандаЗапуска</name>
<title>
<key>ru</key>
<value>Команда запуска</value>
</title>
<id>2</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>Вывод</name>
<title>
<key>ru</key>
<value>Вывод</value>
</title>
<id>3</id>
<valueType>
<types>String</types>
<stringQualifiers/>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
</attributes>
<attributes>
<name>ИсторияКоманд</name>
<title>
<key>ru</key>
<value>История команд</value>
</title>
<id>4</id>
<valueType>
<types>ValueList</types>
</valueType>
<view>
<common>true</common>
</view>
<edit>
<common>true</common>
</edit>
<extInfo xsi:type="form:ValueListExtInfo">
<itemValueType/>
</extInfo>
</attributes>
<formCommands>
<name>ВыполнитьКлиент</name>
<title>
<key>ru</key>
<value>Клиент</value>
</title>
<id>1</id>
<toolTip>
<key>ru</key>
<value>Выполнить клиент</value>
</toolTip>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.СтрелкаВправоЗеленая</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ВыполнитьКлиент</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
</formCommands>
<formCommands>
<name>ВыполнитьСервер</name>
<title>
<key>ru</key>
<value>Сервер</value>
</title>
<id>2</id>
<toolTip>
<key>ru</key>
<value>Выполнить сервер</value>
</toolTip>
<use>
<common>true</common>
</use>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ВыполнитьСервер</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
</formCommands>
<commandInterface>
<navigationPanel/>
<commandBar/>
</commandInterface>
<extInfo xsi:type="form:ObjectFormExtInfo"/>
</form:Form>
@@ -0,0 +1,44 @@
&НаКлиенте
Процедура ВыполнитьКлиент(Команда)
ПараметрыЗапускаПрограммы = ФайловаяСистемаКлиент.ПараметрыЗапускаПрограммы();
ПараметрыЗапускаПрограммы.ДождатьсяЗавершения = Истина;
ПараметрыЗапускаПрограммы.ПолучитьПотокВывода = Истина;
ПараметрыЗапускаПрограммы.ПолучитьПотокОшибок = Истина;
ПараметрыЗапускаПрограммы.Оповещение = Новый ОписаниеОповещения("ПриПолученииРезультатаЗапускаПрограммы", ЭтотОбъект);
ФайловаяСистемаКлиент.ЗапуститьПрограмму(КомандаЗапуска, ПараметрыЗапускаПрограммы);
КонецПроцедуры
&НаКлиенте
Процедура ПриПолученииРезультатаЗапускаПрограммы(Результат, ДополнительныеПараметры) Экспорт
КодВозврата = Результат.КодВозврата;
ПотокВывода = Результат.ПотокВывода;
ПотокОшибок = Результат.ПотокОшибок;
Вывод = ПотокВывода + Символы.ПС + ПотокОшибок;
КонецПроцедуры
&НаСервере
Процедура ВыполнитьСерверНаСервере()
ПараметрыЗапускаПрограммы = ФайловаяСистема.ПараметрыЗапускаПрограммы();
ПараметрыЗапускаПрограммы.ДождатьсяЗавершения = Истина;
ПараметрыЗапускаПрограммы.ПолучитьПотокВывода = Истина;
ПараметрыЗапускаПрограммы.ПолучитьПотокОшибок = Истина;
Результат = ФайловаяСистема.ЗапуститьПрограмму(КомандаЗапуска, ПараметрыЗапускаПрограммы);
ПотокВывода = Результат.ПотокВывода;
ПотокОшибок = Результат.ПотокОшибок;
Вывод = ПотокВывода + Символы.ПС + ПотокОшибок;
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьСервер(Команда)
ИсторияКоманд.Вставить(0, КомандаЗапуска, КомандаЗапуска, , );
ВыполнитьСерверНаСервере();
КонецПроцедуры
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:DataProcessor xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="7100a79f-f0ee-40dd-9756-96cfed4a1d89">
<producedTypes>
<objectType typeId="0385b8f9-821b-4823-9d81-7915cc353cd8" valueTypeId="a6302f3c-f75f-45da-a771-031735b5d30a"/>
<managerType typeId="23f9b3a1-54e0-4144-837e-61617cb599c0" valueTypeId="3484919c-e54f-45a6-a8f5-c5473945bbc0"/>
</producedTypes>
<name>Терминал</name>
<synonym>
<key>ru</key>
<value>Терминал</value>
</synonym>
<useStandardCommands>true</useStandardCommands>
<defaultForm>DataProcessor.Терминал.Form.Форма</defaultForm>
<forms uuid="54882814-5b98-4d9d-86ae-db34354afb54">
<name>Форма</name>
<synonym>
<key>ru</key>
<value>Форма</value>
</synonym>
<usePurposes>PersonalComputer</usePurposes>
<usePurposes>MobileDevice</usePurposes>
</forms>
</mdclass:DataProcessor>
@@ -302,6 +302,61 @@
</picture>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>VSCode</name>
<id>188</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>VSCodeРасширеннаяПодсказка</name>
<id>189</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Hyperlink</type>
<commandName>Form.Command.VSCode</commandName>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Vcs</picture>
</picture>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>ОбновитьНастройки</name>
<id>194</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>ОбновитьНастройкиРасширеннаяПодсказка</name>
<id>195</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Hyperlink</type>
<commandName>Form.Command.ОбновитьНастройки</commandName>
<representation>PictureAndText</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>СправочникБазыАктуализироватьДопОбработки</name>
<id>192</id>
@@ -334,35 +389,6 @@
</picture>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<items xsi:type="form:Button">
<name>VSCode</name>
<id>188</id>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
<common>true</common>
</userVisible>
<extendedTooltip>
<name>VSCodeРасширеннаяПодсказка</name>
<id>189</id>
<type>Label</type>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<extInfo xsi:type="form:LabelDecorationExtInfo">
<horizontalAlign>Left</horizontalAlign>
</extInfo>
</extendedTooltip>
<type>Hyperlink</type>
<commandName>Form.Command.VSCode</commandName>
<representation>Auto</representation>
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<placementArea>UserCmds</placementArea>
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.Vcs</picture>
</picture>
<representationInContextMenu>Auto</representationInContextMenu>
</items>
<visible>true</visible>
<enabled>true</enabled>
<userVisible>
@@ -3143,6 +3169,26 @@
</action>
<currentRowUse>Auto</currentRowUse>
</formCommands>
<formCommands>
<name>ОбновитьНастройки</name>
<title>
<key>ru</key>
<value>Обновить настройки</value>
</title>
<id>18</id>
<use>
<common>true</common>
</use>
<picture xsi:type="core:PictureRef">
<picture>CommonPicture.ОжидаемаяДлительнаяОперация16</picture>
</picture>
<action xsi:type="form:FormCommandHandlerContainer">
<handler>
<name>ОбновитьНастройки</name>
</handler>
</action>
<currentRowUse>Auto</currentRowUse>
</formCommands>
<commandInterface>
<navigationPanel/>
<commandBar/>
@@ -305,6 +305,11 @@
УстановитьЗаголовокПоЗадачеНаСервере(База, ТекущаяЗадача);
КонецПроцедуры
&НаКлиенте
Процедура ОбновитьНастройки(Команда)
ОбновитьНастройкиНаСервере();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыЗадачи
@@ -1170,4 +1175,11 @@
КонецПроцедуры
&НаСервере
Процедура ОбновитьНастройкиНаСервере()
ОбновитьПовторноИспользуемыеЗначения();
КонецПроцедуры
#КонецОбласти
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Enum xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="cfdde0c4-7402-4165-b183-d3d2fc71d68d">
<producedTypes>
<refType typeId="67e6ae31-d6f2-46e7-91c4-1bcef53d3ab8" valueTypeId="498d302a-b791-4192-b0ed-771cc5243716"/>
<listType typeId="02ce8014-8bcd-451b-aa3c-7c5a1d418cd2" valueTypeId="fd14e4d6-ba05-4847-ba7d-7434a75c5ce3"/>
<managerType typeId="4a6991dc-f082-421f-935c-1b8ef432d316" valueTypeId="e3448a07-41af-4f1a-8cd6-916c624b9605"/>
</producedTypes>
<name>ТипыУчетныхДанных</name>
<synonym>
<key>ru</key>
<value>Типы учетных данных</value>
</synonym>
<quickChoice>true</quickChoice>
<choiceMode>BothWays</choiceMode>
<enumValues uuid="ad9910ba-9893-465f-bac3-7d5de275e018">
<name>Basic</name>
<synonym>
<key>ru</key>
<value>Basic</value>
</synonym>
</enumValues>
</mdclass:Enum>
@@ -2342,7 +2342,7 @@
</right>
</object>
<object>
<name>Constant.ТаскТрекер</name>
<name>Constant.УдалитьТаскТрекер</name>
<right>
<name>Read</name>
<value>true</value>
+1 -1
View File
@@ -801,7 +801,7 @@
</right>
</object>
<object>
<name>Constant.ТаскТрекер</name>
<name>Constant.УдалитьТаскТрекер</name>
<right>
<name>Read</name>
<value>true</value>
@@ -85,4 +85,10 @@
<content>InformationRegister.ОчередьАктуализацииДопОбработок</content>
<content>Catalog.ТаскТрекеры</content>
<content>CommonCommand.УстановитьОскрипт</content>
<content>CommonModule.КомандыЗапускаПриложенияПовтИсп</content>
<content>Catalog.Команды</content>
<content>Catalog.УчетныеДанные</content>
<content>Enum.ТипыУчетныхДанных</content>
<content>DataProcessor.Запуск</content>
<content>DataProcessor.Терминал</content>
</mdclass:Subsystem>
+47
View File
@@ -0,0 +1,47 @@
@echo off
chcp 65001 > nul
setlocal enabledelayedexpansion
:: =============================================
:: Установка GitManager
:: =============================================
:: Параметры
set "GITHUB_URL=https://github.com/Untru/gitmanager/releases/latest/download/GitManager.cf"
set "TEMP_FILE=%TEMP%\GitManager.cf"
set "DB_SERVER=localhost" :: Измените на свой сервер СУБД при необходимости
set "DB_NAME=GM6" :: Имя новой базы данных
set "DB_USER=postgres" :: Пользователь СУБД
set "DB_PWD=postgres" :: Пароль пользователя СУБД
set "1C_USER=Администратор" :: Пользователь 1С
set "1C_PWD="" :: Пароль 1С (оставьте пустым, если без пароля)
set "V8VER=8.3.27.1508" :: Версия 1С
:: Скачиваем файл
echo Скачивание GitManager.cf...
curl -L -o "%TEMP_FILE%" "%GITHUB_URL%"
if %errorlevel% neq 0 (
echo Ошибка при скачивании файла.
pause
exit /b 1
)
echo OK. 1cv8 найден.
pause
:: Создаём и загружаем базу
echo Создание базы данных...
"%ProgramFiles%\1cv8\%V8VER%\bin\1cv8.exe" createinfobase Srvr=%DB_SERVER%;Ref=%DB_NAME%;SQLSrvr=%DB_SERVER%;DBMS=PostgreSQL;SQLDB=%DB_NAME%;SQLUID=%DB_USER%;SQLPwd=%DB_PWD%;CrSQLDB=y;DB=%DB_NAME% /AddInList %DB_NAME% /UseTemplate "%TEMP_FILE%" /Out"CreateDB-%1.log"
@TYPE "CreateDB-%1.log"
if %errorlevel% neq 0 (
echo Ошибка при создании базы данных.
pause
exit /b 1
)
:: Удаляем временный файл
del "%TEMP_FILE%"
echo База данных "%DB_NAME%" успешно создана и добавлена в список баз.
pause