44 Commits
Author SHA1 Message Date
John Doe 45b50bb08b Добавлена интеграция с жирой и исправлены мелкие недочеты 2025-08-07 13:56:10 +05:00
Pavel 36a4393d5d LICENSE 2025-08-03 22:07:47 +03:00
Pavel 8ee0267c9a Merge pull request #62 from Untru/docs/01
Изменения от Миши
2025-08-03 22:05:04 +03:00
Pavel Chegodaev 3a6cf98371 Изменения от Миши 2025-08-02 16:44:33 +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 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 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
57 changed files with 4967 additions and 138 deletions

No files matched your search

+1
View File
@@ -0,0 +1 @@
**/.DS_Store
+25
View File
@@ -0,0 +1,25 @@
The MIT License (MIT)
=====================
Copyright © `2025` Pavel Chegodaev <pchegodaev@gmail.com>`
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the “Software”), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
+233 -17
View File
@@ -1,24 +1,138 @@
# GitManager
## Что это и зачем?
Основная цель - дать пользователю простой и удобный интерфейс для работы с кодом 1С по методологии Git Flow. GitManager полностью берет на себя всё взаимодействие с репозиториями Git, организует ведение задач в разных ветках, автоматизирует сборку и разборку конфигураций 1С из исходников.
Решение построено на БСП и состоит из 3 компонентов:
* GitManager
* GitAgent (Опционально)
* Cli приложение (https://github.com/Untru/pivo-cli)
GitManager и GitAgent это одна конфигурация, которую можно продублировать если базы расположены на разных серверах. Идея сделать GitAgent родилась из-за того, что по сети сборка и разборка исходников работает очень долго. Поэтому основная база, на которую подключен GitManager, отправляет команды в 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
```
## Старт работы
Для начала работы необходимо создать пользователя с правами "Администратор", далее необходимо заполнить
Настройки пользователя:
![alt text](images/image-1.png)
Обязательно необходимо заполнить Проект и токен от внешнего репозитория и так же почту пользователя
![Настройки пользователя](images/image-2.png)
Проект
Пример заполнения основных полей
![Проект](images/image-3.png)
После заполнения базы необходимо создать репозиторий по кнопке
![alt text](images/image-4.png)
Для работы с гитхаб необходимо установить
Для удобства работы мы сделали скрипт по разворачиванию базы (РазворачиваниеБазы.bat)
[GitHub CLI](https://cli.github.com/)
У службы под которой запужена 1с должны быть права на шару папки
![alt text](images/image-5.png)
Необходимо заполнить переменные, система сама скачает файл с репозитория и развернет базу на сервере.
Основные тесты были с серверной базой, по этому работа в файловой базе не гарантируется.
Необходимо запустить RAC как службу
<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>
Разработанный "Начальный помощник" (Управление разработкой -> Запуск) позволяет легко начать использование нашей программы.
Советую пройтись по всем шагам и, заодно, изучить структуру объектов. В нём предусмотренны: заполнение пользователей, создание проекта, добавление баз и установка oscript.
<img src="images/image-7.png" width="600" alt="Начальный помощник">
<img src="images/image-8.png" width="600" alt="Настройки помощника">
<details>
<summary><strong> Если хотим все заполнять сами </strong></summary>
Необходимо выполнить следующие действия:
1. Cоздать пользователя с правами "Администратор"
<img src="images/image-1.png" width="600" alt="Настройки пользователя">
2. Создать и заполнить Проект
<img src="images/image-3.png" width="600" alt="Проект">
3. Заполнить "Настройки пользователя". Обязательно необходимо указать Проект, токен от внешнего репозитория, а так же почту пользователя
<img src="images/image-2.png" width="600" alt="Настройки пользователя">
4. Заполнить настройки базы
5. Создать репозиторий, нажав на соответствующую кнопку
<img src="images/image-4.png" width="600" alt="Создание репозитория">
6. Проверить, что у службы под которой запущена 1С есть права на расшаренную папку
<img src="images/image-5.png" width="600" alt="Права доступа">
</details>
Необходимо запустить RAC как службу, для этого есть свой скрипт
<details>
<summary><strong> Скрипт добавления службы RAS </strong></summary>
``` bat
@echo off
@@ -35,6 +149,108 @@ sc stop %SrvcName%
sc delete %SrvcName%
sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Desctiption%
```
</details>
Для вывода логов
set LOGOS_CONFIG=logger.oscript.lib.commands=DEBUG;
Для работы с гитхаб необходимо установить [GitHub CLI](https://cli.github.com/)
## Процесс работы
Каждой базе должна соответствовать своя папка, подключенная к репозиторию. Это можно проверить по наличию кнопки создания репозитория
![alt text](images/image-11.png)
### Создаем задачу
![alt text](images/image-10.png)
Тут есть 3 варианта:
* Новая задача - создается новая ветка из ветки Develop
* HotFix к задаче - создается новая ветка для задачи из ветки main/master, создает новую задачу к текущей
* HotFix новая задача - ??? требует наличие задачи в таск трекере
В результате задача должна появиться в списке, прошу обратить внимание на кнопки:
![alt text](images/image-13.png)
### Таск трекеры
Сейчас поддерживается 2 таск трекера
#### 1С (только простая загрузка задач)
Передаем параметр - номер задачи
```curl
curl --location 'https:/Путь К Базе/hs/tasks/task?id=000000002'
```
В ответ мы ожидаем получить JSON
```json
{
"Исполнитель": "",
"Трудозатраты_часов": 0,
"Статус": "",
"ДатаПринятияВРаботу": "",
"Описание_Задачи": "",
"Описание_Решения": "",
"Приоритет": ,
"Очередь":
}
```
#### Битрикс
### Переходим на ветку
Во время перехода, репозиториий базы переключается на выбранную в списке ветку задачи, далее происходит загрузка в базу:
* Основной конфигурации, если стоит галочка
![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

@@ -201,10 +201,19 @@
<id>32</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>
<items xsi:type="form:FormField">
<name>КаталогRAS</name>
@@ -229,10 +238,19 @@
<id>38</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>
<items xsi:type="form:FormField">
<name>КаталогРепозитория</name>
+2 -1
View File
@@ -51,7 +51,8 @@
| Базы.ПутьКХранилищу КАК ПутьКХранилищу,
| Базы.ПользовательХранилища КАК ПользовательХранилища,
| ЕСТЬNULL(Кластеры.СерверПубликации, """") КАК СерверПубликации,
| Базы.БазаПубликации КАК БазаПубликации
| Базы.БазаПубликации КАК БазаПубликации,
| ЕСТЬNULL(Кластеры.ПутьКСерверуRAS, """") КАК ПутьКСерверуRAS
|ИЗ
| Справочник.Базы КАК Базы
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Проекты КАК Проекты
+2 -1
View File
@@ -13,6 +13,7 @@
ДанныеЗаполнения.Вставить("Ответственный");
ДанныеЗаполнения.Вставить("Постановщик");
ДанныеЗаполнения.Вставить("Статус");
ДанныеЗаполнения.Вставить("СтатусЗадачи");
ДанныеЗаполнения.Вставить("Стадия");
ДанныеЗаполнения.Вставить("НомерЗадачиБазовой");
ДанныеЗаполнения.Вставить("ОсновнаяЗадача");
@@ -261,7 +262,7 @@
ТаскТрекер = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Проект, "ТаскТрекер");
ТипТаскТрекера = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ТаскТрекер, "ТипТаскТрекера");
МенеджерТаскТрекера = Перечисления.ТаскТрекеры.МенеджерТаскТрекера(ТипТаскТрекера);
ДанныеЗаполнения = МенеджерТаскТрекера.СтруктурированныеДанныеПоЗадаче(НомерЗадачи, ТаскТрекер);
ДанныеЗаполнения = МенеджерТаскТрекера.СтруктурированныеДанныеПоЗадаче(НомерЗадачи, ТаскТрекер, Проект);
Возврат ДанныеЗаполнения;
@@ -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,158 @@
<?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>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>PredefinedDataName</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Predefined</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Ref</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>DeletionMark</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>IsFolder</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Owner</name>
<fillFromFillingValue>true</fillFromFillingValue>
<fillValue xsi:type="core:UndefinedValue"/>
<fillChecking>ShowError</fillChecking>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Parent</name>
<fillFromFillingValue>true</fillFromFillingValue>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Description</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fillChecking>ShowError</fillChecking>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Code</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<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>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>LineNumber</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<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>
@@ -141,7 +141,7 @@
<type>
<types>String</types>
<stringQualifiers>
<length>2</length>
<length>3</length>
</stringQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
@@ -0,0 +1,88 @@
<?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="a0bcf3b9-5684-4aec-b089-2d487232002d">
<producedTypes>
<objectType typeId="e81681c8-a269-426e-a516-59fc939c28e5" valueTypeId="561ae293-c485-43e7-acd0-17c3b0f26488"/>
<refType typeId="2f2b77c9-f83a-4477-b04d-82e6fd1993ca" valueTypeId="9969b529-c0f6-4c06-b371-53f7a13d1b7d"/>
<selectionType typeId="16a0c9f5-142d-43e6-949f-9754ce92acd4" valueTypeId="1b5b326b-1daf-47bc-bfbf-9a2ce6e24f44"/>
<listType typeId="2f76cde3-60e2-4eb8-a16b-015f10e1b777" valueTypeId="73801a09-b728-4615-a579-09ebfffc641b"/>
<managerType typeId="1ff960e6-dd3c-4ff2-a025-e09c21ffc90d" valueTypeId="6bc8255b-7944-46d7-9c2f-f441a0bf83d5"/>
</producedTypes>
<name>СтатусыЗадач</name>
<synonym>
<key>ru</key>
<value>Статусы задач</value>
</synonym>
<useStandardCommands>true</useStandardCommands>
<inputByString>Catalog.СтатусыЗадач.StandardAttribute.Description</inputByString>
<inputByString>Catalog.СтатусыЗадач.StandardAttribute.Code</inputByString>
<fullTextSearchOnInputByString>DontUse</fullTextSearchOnInputByString>
<createOnInput>Use</createOnInput>
<dataLockControlMode>Managed</dataLockControlMode>
<fullTextSearch>Use</fullTextSearch>
<levelCount>2</levelCount>
<foldersOnTop>true</foldersOnTop>
<codeLength>9</codeLength>
<descriptionLength>120</descriptionLength>
<codeType>String</codeType>
<codeAllowedLength>Variable</codeAllowedLength>
<checkUnique>true</checkUnique>
<autonumbering>true</autonumbering>
<defaultPresentation>AsDescription</defaultPresentation>
<editType>InDialog</editType>
<choiceMode>BothWays</choiceMode>
<attributes uuid="0bcbaa52-4cc4-4b1d-9eee-46718ba7bcce">
<name>ЦветСтатуса</name>
<synonym>
<key>ru</key>
<value>Цвет статуса</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>100</length>
</stringQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:StringValue">
<value></value>
</fillValue>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
<attributes uuid="146ed367-b649-4edd-8d96-0e6332e730b5">
<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>
<attributes uuid="e99f6715-0c37-415b-9020-9eea15e43387">
<name>ИДСтатуса</name>
<synonym>
<key>ru</key>
<value>ИДСтатуса</value>
</synonym>
<type>
<types>String</types>
<stringQualifiers>
<length>10</length>
</stringQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
<fillValue xsi:type="core:StringValue">
<value></value>
</fillValue>
<fullTextSearch>Use</fullTextSearch>
<dataHistory>Use</dataHistory>
</attributes>
</mdclass:Catalog>
@@ -276,6 +276,7 @@
<autoMaxWidth>true</autoMaxWidth>
<autoMaxHeight>true</autoMaxHeight>
<wrap>true</wrap>
<passwordMode>true</passwordMode>
<chooseType>true</chooseType>
<typeDomainEnabled>true</typeDomainEnabled>
<textEdit>true</textEdit>
@@ -40,7 +40,7 @@
<type>
<types>String</types>
<stringQualifiers>
<length>10</length>
<length>130</length>
</stringQualifiers>
</type>
<minValue xsi:type="core:UndefinedValue"/>
@@ -0,0 +1,124 @@
<?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>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>PredefinedDataName</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Predefined</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Ref</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>DeletionMark</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>IsFolder</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Owner</name>
<fillFromFillingValue>true</fillFromFillingValue>
<fillValue xsi:type="core:UndefinedValue"/>
<fillChecking>ShowError</fillChecking>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Parent</name>
<fillFromFillingValue>true</fillFromFillingValue>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Description</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fillChecking>ShowError</fillChecking>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Code</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<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>
@@ -6,5 +6,6 @@
<value>Установить оскрипт</value>
</synonym>
<group>ActionsPanelTools</group>
<commandParameterType/>
<representation>Auto</representation>
</mdclass:CommonCommand>
@@ -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();
КонецЕсли;
@@ -14,11 +14,11 @@
КонецПроцедуры
Функция СтруктурированныеДанныеПоЗадаче(НомерЗадачи, ТаскТрекер = Неопределено) Экспорт
Функция СтруктурированныеДанныеПоЗадаче(НомерЗадачи, ТаскТрекер = Неопределено, Проект = Неопределено) Экспорт
ДанныеЗаполнения = Справочники.Задачи.НовыйДанныеЗадачи();
ДанныеЗаполнения.Наименование = НомерЗадачи;
ДанныеЗаполнения.Владелец = Справочники.Проекты.НайтиПоНаименованию("CBL");
ДанныеЗаполнения.Владелец = Проект;
ДанныеЗаполнения.НомерЗадачи = НомерЗадачи;
ДанныеЗаполнения.ИмяВетки = НомерЗадачи;
@@ -44,7 +44,7 @@
ДанныеЗаполнения = Новый Структура();
Если Константы.ТаскТрекер.Получить() <> Перечисления.ТаскТрекеры.Bitrix Тогда
Если Константы.УдалитьТаскТрекер.Получить() <> Перечисления.ТаскТрекеры.Bitrix Тогда
Возврат ДанныеЗаполнения;
КонецЕсли;
ИнформацияОЗадаче = ДанныеЗадачиБитрикс(НомерЗадачи);
+13 -6
View File
@@ -237,18 +237,28 @@
//Обработка веток по задачам
СтруктураВетки = РазобраннаяВетка(Ветка);
РазбираяВетка = СтрРазделить(Ветка, "/");
ИмяВетки = РазбираяВетка[РазбираяВетка.ВГраница()];
Если СтрНайти(Ветка, "testzone") И РазбираяВетка.Количество() > 0 Тогда
ИмяВетки = "testzone/" + РазбираяВетка[РазбираяВетка.ВГраница()];
Иначе
ИмяВетки = РазбираяВетка[РазбираяВетка.ВГраница()];
КонецЕсли;
Задача = Справочники.Задачи.ЗадачаПоИмениВетки(ИмяВетки);
Если Задача.Пустая() Тогда
Продолжить;
КонецЕсли;
Если Не ПоказыватьЗавершенныеЗадачи И Задача.СтатусЗадачи = Перечисления.СтатусыЗадач.Завершена Тогда
РеквизитыЗадачи = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Задача,
"Наименование, ПодробноеОписание, СтатусЗадачи, ПрефиксВетки");
ЭтоСлужебнаяВетка = Не ЗначениеЗаполнено(РеквизитыЗадачи.ПрефиксВетки);
Если Не ЭтоСлужебнаяВетка И Не ПоказыватьЗавершенныеЗадачи И Задача.СтатусЗадачи = Перечисления.СтатусыЗадач.Завершена Тогда
Продолжить;
КонецЕсли;
Если Не ПоказыватьЧужиеЗадачи И Задача.Ответственный <> Пользователи.АвторизованныйПользователь() Тогда
Если Не ЭтоСлужебнаяВетка И Не ПоказыватьЧужиеЗадачи И Задача.Ответственный <> Пользователи.АвторизованныйПользователь() Тогда
Продолжить;
КонецЕсли;
@@ -256,9 +266,6 @@
Если СтрокаВеток = Неопределено Тогда
СтрокаВеток = ТаблицаВеток.Добавить();
КонецЕсли;
РеквизитыЗадачи = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Задача,
"Наименование, ПодробноеОписание, СтатусЗадачи, ПрефиксВетки");
СтрокаВеток.Номер = ИмяВетки;
СтрокаВеток.Задача = Задача;
@@ -0,0 +1,119 @@
// @strict-types
#Область ПрограммныйИнтерфейс
Процедура ОбновитьДанныеЗадач() Экспорт
ТаблицаЗадач = Справочники.Задачи.НеЗакрытыеЗадачи();
ОбновитьДанныеЗадачПоТаблице(ТаблицаЗадач);
КонецПроцедуры
Процедура ОбновитьДанныеЗадачПоТаблице(ТаблицаЗадач) Экспорт
КонецПроцедуры
Функция СтруктурированныеДанныеПоЗадаче(НомерЗадачи, ТаскТрекер = Неопределено, Проект = Неопределено) Экспорт
ДанныеЗаполнения = Справочники.Задачи.НовыйДанныеЗадачи();
ИнформацияОЗадаче = ДанныеЗадачиЖира(НомерЗадачи, ТаскТрекер);
Если ИнформацияОЗадаче["errorMessages"] <> Неопределено Тогда
ВызватьИсключение(ИнформацияОЗадаче["errorMessages"][0]);
КонецЕсли;
Задача = ИнформацияОЗадаче["issues"][0];
ДанныеЗаполнения.Наименование = Задача["fields"]["summary"];
ДанныеЗаполнения.ПодробноеОписание = Задача["fields"]["description"];
Ответственный = НайтиСоздатьПользователя(Задача["fields"]["assignee"]["displayName"], Неопределено);
ДанныеЗаполнения.Ответственный = Ответственный;
Постановщик = НайтиСоздатьПользователя(Задача["fields"]["creator"]["displayName"], Неопределено);
ДанныеЗаполнения.Постановщик = Постановщик;
СоответствиеСтатусов = СоответствиеСтатусов();
Статус = СоответствиеСтатусов.Получить(Задача["fields"]["status"]);
Если Статус = Неопределено Тогда
Статус = Перечисления.СтатусыЗадач.Новая;
КонецЕсли;
ДанныеЗаполнения.Статус = Статус;
ДанныеЗаполнения.СтатусЗадачи = Статус;
ДанныеЗаполнения.ДатаСоздания = ПрочитатьДатуJSON(Задача["fields"]["created"], ФорматДатыJSON.ISO);
ДанныеЗаполнения.НомерЗадачи = НомерЗадачи;
ДанныеЗаполнения.ИмяВетки = НомерЗадачи;
ДанныеЗаполнения.Владелец = Проект; // todo Определять по проекту из Жиры
Возврат ДанныеЗаполнения;
КонецФункции
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Функция ДанныеЗадачиЖира(НомерЗадачи, ТаскТрекер)
РеквизитыТаскТрекера = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ТаскТрекер, "URL, Логин");
УстановитьПривилегированныйРежим(Истина);
СекретныеДанные = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(ТаскТрекер, "Токен, Пароль" );
УстановитьПривилегированныйРежим(Ложь);
ПараметрыЗапроса = Новый Структура;
ПараметрыЗапроса.Вставить("jql", СтрШаблон("key=%1", НомерЗадачи));
ДополнительныеПараметры = КоннекторHTTP.НовыеПараметры();
ДополнительныеПараметры.Аутентификация = Новый Структура;
ДополнительныеПараметры.Аутентификация.Вставить("Пользователь", РеквизитыТаскТрекера.Логин);
ДополнительныеПараметры.Аутентификация.Вставить("Пароль", СекретныеДанные.Токен);
ДанныеЗапроса = КоннекторHTTP.GetJson(СтрШаблон("%1/rest/api/2/search", РеквизитыТаскТрекера.URL), ПараметрыЗапроса, ДополнительныеПараметры);
Возврат ДанныеЗапроса;
КонецФункции
Функция НайтиСоздатьПользователя(ИмяПользователя, IDПользователя)
// todo Сделать привязку по Идентификатору
УстановитьПривилегированныйРежим(Истина);
ТекПользователь = Справочники.Пользователи.НайтиПоНаименованию(ИмяПользователя, Истина);
ПользовательСуществует = ЗначениеЗаполнено(ТекПользователь);
Если НЕ ПользовательСуществует Тогда
Пользователь = Справочники.Пользователи.СоздатьЭлемент();
Пользователь.Наименование = ИмяПользователя;
Пользователь.Записать();
ТекПользователь = Пользователь.Ссылка;
КонецЕсли;
Возврат ТекПользователь;
КонецФункции
Функция СоответствиеСтатусов()
СоответствиеСтатусов = Новый Соответствие;
СоответствиеСтатусов.Вставить("К выполнению", Перечисления.СтатусыЗадач.Новая);
СоответствиеСтатусов.Вставить("В работе", Перечисления.СтатусыЗадач.Выполняется);
СоответствиеСтатусов.Вставить("Ожидает тестирования", Перечисления.СтатусыЗадач.ЖдетКонтроля);
СоответствиеСтатусов.Вставить("Тестирование", Перечисления.СтатусыЗадач.ЖдетКонтроля);
СоответствиеСтатусов.Вставить("ФИЧА-РЕВЬЮ", Перечисления.СтатусыЗадач.ЖдетКонтроля);
СоответствиеСтатусов.Вставить("КОД_РЕВЬЮ", Перечисления.СтатусыЗадач.ЖдетКонтроля);
СоответствиеСтатусов.Вставить("Ожидает помещения", Перечисления.СтатусыЗадач.ЖдетВыполнения);
СоответствиеСтатусов.Вставить("Ожидает обновления", Перечисления.СтатусыЗадач.ЖдетВыполнения);
СоответствиеСтатусов.Вставить("У инициатора", Перечисления.СтатусыЗадач.ЖдетВыполнения);
СоответствиеСтатусов.Вставить("ГОТОВО", Перечисления.СтатусыЗадач.Завершена);
СоответствиеСтатусов.Вставить("Won't Do", Перечисления.СтатусыЗадач.Завершена);
Возврат СоответствиеСтатусов;
КонецФункции
#КонецОбласти
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="ee25281a-429c-4d4f-a3e6-218ab73f4153">
<name>РаботаСJira</name>
<synonym>
<key>ru</key>
<value>Работа с jira</value>
</synonym>
<server>true</server>
</mdclass:CommonModule>
@@ -59,7 +59,7 @@
// Возвращаемое значение:
// Задача - СправочникСсылка.Задачи
//
Функция СтруктурированныеДанныеПоЗадаче(НомерЗадачи, ТаскТрекер) Экспорт
Функция СтруктурированныеДанныеПоЗадаче(НомерЗадачи, ТаскТрекер, Проект = Неопределено) Экспорт
ДанныеЗаполнения = Новый Структура();
@@ -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.
+15 -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>
@@ -1017,8 +1020,8 @@
<commonModules>CommonModule.ШаблоныСообщенийПереопределяемый</commonModules>
<commonModules>CommonModule.ШаблоныСообщенийСервер</commonModules>
<commonModules>CommonModule.ШаблоныСообщенийСлужебный</commonModules>
<commonModules>CommonModule.РаботаСJira</commonModules>
<commonModules>CommonModule.ШаблоныСообщенийСлужебныйПовтИсп</commonModules>
<commonModules>CommonModule.РаботаБезТаскТрекера</commonModules>
<exchangePlans>ExchangePlan.ОбновлениеИнформационнойБазы</exchangePlans>
<xDTOPackages>XDTOPackage.ApdexExport</xDTOPackages>
<xDTOPackages>XDTOPackage.ApdexExport_1_0_0_2</xDTOPackages>
@@ -1215,9 +1218,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 +1300,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 +1373,7 @@
<commonForms>CommonForm.ФормаВариантаОтчета</commonForms>
<commonForms>CommonForm.ФормаВыбораЦвета</commonForms>
<commonForms>CommonForm.ФормаВыбораШрифта</commonForms>
<commonForms>CommonForm.ФормаНастроекКонфигурации</commonForms>
<commonForms>CommonForm.ФормаНастроекОтчета</commonForms>
<commonForms>CommonForm.ФормаОтчета</commonForms>
<commonForms>CommonForm.ФормаПоиска</commonForms>
@@ -1396,6 +1400,7 @@
<catalogs>Catalog.Кластеры</catalogs>
<catalogs>Catalog.КлючевыеОперации</catalogs>
<catalogs>Catalog.КлючиДоступа</catalogs>
<catalogs>Catalog.Команды</catalogs>
<catalogs>Catalog.МакетыПечатныхФорм</catalogs>
<catalogs>Catalog.НаборыГруппДоступа</catalogs>
<catalogs>Catalog.НаборыДополнительныхРеквизитовИСведений</catalogs>
@@ -1421,17 +1426,19 @@
<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>
<catalogs>Catalog.Файлы</catalogs>
<catalogs>Catalog.ШаблоныСообщений</catalogs>
<catalogs>Catalog.ШаблоныСообщенийПрисоединенныеФайлы</catalogs>
<catalogs>Catalog.СтатусыЗадач</catalogs>
<catalogs>Catalog.ЭлектронноеПисьмоВходящееПрисоединенныеФайлы</catalogs>
<catalogs>Catalog.ЭлектронноеПисьмоИсходящееПрисоединенныеФайлы</catalogs>
<catalogs>Catalog.ТаскТрекеры</catalogs>
<documents>Document.Встреча</documents>
<documents>Document.ЗапланированноеВзаимодействие</documents>
<documents>Document.Релиз</documents>
@@ -1494,6 +1501,7 @@
<enums>Enum.ТипыОтчетов</enums>
<enums>Enum.ТипыПредопределенныхПапокПисем</enums>
<enums>Enum.ТипыТекстовЭлектронныхПисем</enums>
<enums>Enum.ТипыУчетныхДанных</enums>
<enums>Enum.ТипыФайловДляВстроенногоРедактора</enums>
<enums>Enum.ТипыХраненияФайлов</enums>
<enums>Enum.УровниПроизводительности</enums>
@@ -1529,6 +1537,7 @@
<dataProcessors>DataProcessor.ЗаменаИОбъединениеЭлементов</dataProcessors>
<dataProcessors>DataProcessor.ЗаполнениеГрафиковРаботы</dataProcessors>
<dataProcessors>DataProcessor.ЗаполнениеКалендарныхГрафиков</dataProcessors>
<dataProcessors>DataProcessor.Запуск</dataProcessors>
<dataProcessors>DataProcessor.КомандыПроцессов</dataProcessors>
<dataProcessors>DataProcessor.КонструкторФормул</dataProcessors>
<dataProcessors>DataProcessor.МенеджерРелизов</dataProcessors>
@@ -1549,6 +1558,7 @@
<dataProcessors>DataProcessor.РезультатыОбновленияПрограммы</dataProcessors>
<dataProcessors>DataProcessor.РекомендацияПоПовышениюСкоростиРаботы</dataProcessors>
<dataProcessors>DataProcessor.Сканирование</dataProcessors>
<dataProcessors>DataProcessor.Терминал</dataProcessors>
<dataProcessors>DataProcessor.УдалениеПомеченныхОбъектов</dataProcessors>
<dataProcessors>DataProcessor.УправлениеЗадачами</dataProcessors>
<informationRegisters>InformationRegister.БезопасноеХранилищеДанных</informationRegisters>
+1 -1
View File
@@ -1 +1 @@
{6,0,1,a43f3c82-d5e1-4f61-bf52-4a984b0b234c,0,4370b1a3-a300-489a-960a-e212de4303dc,"3.1.9.232","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7575,1,0,532b5ff4-c7d5-4bbb-8705-834579bbd49a,ee6aab0e-cece-4e84-9517-f03a6acdee78,1,0,303b203e-d919-4a50-944c-e18e9ff9e9b1,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,0,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,0,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,0,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,0,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,0,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,0,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,0,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,0,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,0,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,0,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,0,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,0,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,0,0,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,0,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,0,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,0,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,0,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,0,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,0,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,0,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,0,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,0,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,0,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,0,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,0,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,0,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,0,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5-45fc-8da2-a36c435085a6,0,0,ab7e5f9a-1dfe-4165-a540-21f45ae1d94d,ab7e5f9a-1dfe-4165-a540-21f45ae1d94d,0,0,5d16e042-3889-4851-86f1-bc43bf06ee88,5d16e042-3889-4851-86f1-bc43bf06ee88,0,0,3d47838b-e1aa-4acb-96bf-6de2f9be8bdb,3d47838b-e1aa-4acb-96bf-6de2f9be8bdb,0,0,e39ecc8a-ce81-483d-85de-b0488c8b7749,e39ecc8a-ce81-483d-85de-b0488c8b7749,0,0,e15c3525-3453-4b62-834e-7c69f9efea51,e15c3525-3453-4b62-834e-7c69f9efea51,0,0,1514eaff-faea-4d82-9465-d0d5292bb31d,1514eaff-faea-4d82-9465-d0d5292bb31d,0,0,98b67b5a-3550-4a64-9e07-07fcc9154c73,98b67b5a-3550-4a64-9e07-07fcc9154c73,2,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,2,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,2,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,2,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,2,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,2,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,2,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,2,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,2,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,2,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,2,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,2,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,2,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,2,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,2,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,2,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,2,0,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,2,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,2,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,2,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,2,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,2,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,2,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,2,0,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,2,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,2,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2Line truncated
{6,0,1,a43f3c82-d5e1-4f61-bf52-4a984b0b234c,0,4370b1a3-a300-489a-960a-e212de4303dc,"3.1.9.232","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",7575,1,0,532b5ff4-c7d5-4bbb-8705-834579bbd49a,ee6aab0e-cece-4e84-9517-f03a6acdee78,1,0,303b203e-d919-4a50-944c-e18e9ff9e9b1,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,0,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,0,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,0,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,0,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,0,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,0,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,0,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,0,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,0,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,0,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,0,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,0,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,0,0,153e11ac-f898-46a5-98c6-734adb933ca2,153e11ac-f898-46a5-98c6-734adb933ca2,0,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,0,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,0,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,0,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,0,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,0,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,0,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,0,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,0,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,0,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,0,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,0,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,0,0,cd592a5d-b184-4558-8a28-7079ccf28b89,cd592a5d-b184-4558-8a28-7079ccf28b89,0,0,2009c673-c1a5-45fc-8da2-a36c435085a6,2009c673-c1a5-45fc-8da2-a36c435085a6,0,0,ab7e5f9a-1dfe-4165-a540-21f45ae1d94d,ab7e5f9a-1dfe-4165-a540-21f45ae1d94d,0,0,5d16e042-3889-4851-86f1-bc43bf06ee88,5d16e042-3889-4851-86f1-bc43bf06ee88,0,0,3d47838b-e1aa-4acb-96bf-6de2f9be8bdb,3d47838b-e1aa-4acb-96bf-6de2f9be8bdb,0,0,e39ecc8a-ce81-483d-85de-b0488c8b7749,e39ecc8a-ce81-483d-85de-b0488c8b7749,0,0,e15c3525-3453-4b62-834e-7c69f9efea51,e15c3525-3453-4b62-834e-7c69f9efea51,0,0,1514eaff-faea-4d82-9465-d0d5292bb31d,1514eaff-faea-4d82-9465-d0d5292bb31d,0,0,98b67b5a-3550-4a64-9e07-07fcc9154c73,98b67b5a-3550-4a64-9e07-07fcc9154c73,2,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,2,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,2,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,2,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,2,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,2,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,2,0,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,4cbbdbaf-1f3a-46cd-8c42-28cdcfa32c06,2,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,2,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,2,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,2,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,2,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,2,0,1983fe34-c984-4659-ba41-0e94504f8989,1983fe34-c984-4659-ba41-0e94504f8989,2,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,2,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,2,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,2,0,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,3eca2d7c-5946-4d13-ba84-e3ab5ef38b5b,2,0,f24de2ea-fcda-4052-b90f-e9d84314c4f2,f24de2ea-fcda-4052-b90f-e9d84314c4f2,2,0,ff8ae395-c740-4a30-a048-0d57eef6267f,ff8ae395-c740-4a30-a048-0d57eef6267f,2,0,51d06532-f61a-4ed5-afaa-cc4563633e0c,51d06532-f61a-4ed5-afaa-cc4563633e0c,2,0,0e49d980-581b-459f-a4b0-024e8c97e4c0,0e49d980-581b-459f-a4b0-024e8c97e4c0,2,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,2,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,2,0,a3001de6-272f-444e-a8db-ec8cc3a670a2,a3001de6-272f-444e-a8db-ec8cc3a670a2,2,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,2,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2Line truncated
@@ -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>
@@ -82,7 +82,6 @@
<item xsi:type="FilterItemComparison">
<left xsi:type="dcscor:Field">СписокЗадачи.ТипЗадачи</left>
<comparisonType>NotFilled</comparisonType>
<right xsi:nil="true"/>
</item>
</filter>
<appearance>
@@ -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 @@
КонецПроцедуры
&НаСервере
Процедура ОбновитьНастройкиНаСервере()
ОбновитьПовторноИспользуемыеЗначения();
КонецПроцедуры
#КонецОбласти
@@ -10,6 +10,8 @@
МенеджерТаскТрекера = РаботаСПредприятие1С;
ИначеЕсли ТипТаскТрекера = Отсутствует Тогда
МенеджерТаскТрекера = РаботаБезТаскТрекера;
ИначеЕсли ТипТаскТрекера = Jira Тогда
МенеджерТаскТрекера = РаботаСJira;
Иначе
ВызватьИсключение НСтр("ru = 'Невалидный формат работы Таск трекеров'");
КонецЕсли;
@@ -49,4 +49,11 @@
<value>Отсутствует (работа с ограниченным функционалом)</value>
</synonym>
</enumValues>
<enumValues uuid="b1ab6020-3361-4056-bffb-1ffc456a0ad6">
<name>Jira</name>
<synonym>
<key>ru</key>
<value>Jira</value>
</synonym>
</enumValues>
</mdclass:Enum>
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Enum 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="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>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Order</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<standardAttributes>
<dataHistory>Use</dataHistory>
<name>Ref</name>
<fillValue xsi:type="core:UndefinedValue"/>
<fullTextSearch>Use</fullTextSearch>
<minValue xsi:type="core:UndefinedValue"/>
<maxValue xsi:type="core:UndefinedValue"/>
</standardAttributes>
<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>
@@ -69,6 +69,33 @@
<value>true</value>
</right>
</object>
<object>
<name>Configuration.УправлениеРазработкой</name>
<right>
<name>MainWindowModeNormal</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeEmbeddedWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeFullscreenWorkplace</name>
<value>true</value>
</right>
<right>
<name>MainWindowModeKiosk</name>
<value>true</value>
</right>
<right>
<name>AnalyticsSystemClient</name>
<value>true</value>
</right>
</object>
<object>
<name>SessionParameter.ПараметрыКомандЗапуска</name>
<right>
@@ -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