Skip to content

Commit eca238a

Browse files
author
Alexander Strizhachuk
committed
feat: добавлены параметры "lang", "password"
BREAKING CHANGE: Старые аргументы запуска обработки больше не поддерживаются.
1 parent 6ca1fbe commit eca238a

File tree

12 files changed

+621
-156
lines changed

12 files changed

+621
-156
lines changed

InitDB/src/ExternalDataProcessors/InitDB/Forms/Форма/Module.bsl

Lines changed: 335 additions & 143 deletions
Large diffs are not rendered by default.

Model/src/Configuration/Configuration.mdo

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,7 @@
3434
</synonym>
3535
<languageCode>ru</languageCode>
3636
</languages>
37+
<roles>Role.Роль1</roles>
38+
<roles>Role.Роль2</roles>
39+
<roles>Role.ПолныеПрава</roles>
3740
</mdclass:Configuration>
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Rights xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://v8.1c.ru/8.2/roles" xsi:type="Rights">
3+
<setForNewObjects>false</setForNewObjects>
4+
<setForAttributesByDefault>true</setForAttributesByDefault>
5+
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
6+
<object>
7+
<name>Configuration.Конфигурация</name>
8+
<right>
9+
<name>SaveUserData</name>
10+
<value>true</value>
11+
</right>
12+
<right>
13+
<name>ThinClient</name>
14+
<value>true</value>
15+
</right>
16+
<right>
17+
<name>WebClient</name>
18+
<value>true</value>
19+
</right>
20+
<right>
21+
<name>MainWindowModeEmbeddedWorkplace</name>
22+
<value>true</value>
23+
</right>
24+
<right>
25+
<name>MainWindowModeKiosk</name>
26+
<value>true</value>
27+
</right>
28+
<right>
29+
<name>MainWindowModeNormal</name>
30+
<value>true</value>
31+
</right>
32+
<right>
33+
<name>MainWindowModeFullscreenWorkplace</name>
34+
<value>true</value>
35+
</right>
36+
<right>
37+
<name>MainWindowModeWorkplace</name>
38+
<value>true</value>
39+
</right>
40+
<right>
41+
<name>AnalyticsSystemClient</name>
42+
<value>true</value>
43+
</right>
44+
<right>
45+
<name>Administration</name>
46+
<value>true</value>
47+
</right>
48+
<right>
49+
<name>DataAdministration</name>
50+
<value>true</value>
51+
</right>
52+
<right>
53+
<name>UpdateDataBaseConfiguration</name>
54+
<value>true</value>
55+
</right>
56+
<right>
57+
<name>ExclusiveMode</name>
58+
<value>true</value>
59+
</right>
60+
<right>
61+
<name>ActiveUsers</name>
62+
<value>true</value>
63+
</right>
64+
<right>
65+
<name>EventLog</name>
66+
<value>true</value>
67+
</right>
68+
<right>
69+
<name>MobileClient</name>
70+
<value>true</value>
71+
</right>
72+
<right>
73+
<name>ThickClient</name>
74+
<value>true</value>
75+
</right>
76+
<right>
77+
<name>ExternalConnection</name>
78+
<value>true</value>
79+
</right>
80+
<right>
81+
<name>Automation</name>
82+
<value>true</value>
83+
</right>
84+
<right>
85+
<name>TechnicalSpecialistMode</name>
86+
<value>true</value>
87+
</right>
88+
<right>
89+
<name>CollaborationSystemInfoBaseRegistration</name>
90+
<value>true</value>
91+
</right>
92+
<right>
93+
<name>ConfigurationExtensionsAdministration</name>
94+
<value>true</value>
95+
</right>
96+
<right>
97+
<name>InteractiveOpenExtDataProcessors</name>
98+
<value>true</value>
99+
</right>
100+
<right>
101+
<name>InteractiveOpenExtReports</name>
102+
<value>true</value>
103+
</right>
104+
<right>
105+
<name>Output</name>
106+
<value>true</value>
107+
</right>
108+
</object>
109+
</Rights>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<mdclass:Role xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="11dd399f-4dce-41f3-9870-9ccfa752f6af">
3+
<name>ПолныеПрава</name>
4+
<synonym>
5+
<key>ru</key>
6+
<value>Полные права</value>
7+
</synonym>
8+
</mdclass:Role>
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Rights xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://v8.1c.ru/8.2/roles" xsi:type="Rights">
3+
<setForNewObjects>false</setForNewObjects>
4+
<setForAttributesByDefault>true</setForAttributesByDefault>
5+
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
6+
<object>
7+
<name>Configuration.Конфигурация</name>
8+
<right>
9+
<name>SaveUserData</name>
10+
<value>true</value>
11+
</right>
12+
<right>
13+
<name>ThinClient</name>
14+
<value>true</value>
15+
</right>
16+
<right>
17+
<name>WebClient</name>
18+
<value>true</value>
19+
</right>
20+
<right>
21+
<name>MainWindowModeEmbeddedWorkplace</name>
22+
<value>true</value>
23+
</right>
24+
<right>
25+
<name>MainWindowModeKiosk</name>
26+
<value>true</value>
27+
</right>
28+
<right>
29+
<name>MainWindowModeNormal</name>
30+
<value>true</value>
31+
</right>
32+
<right>
33+
<name>MainWindowModeFullscreenWorkplace</name>
34+
<value>true</value>
35+
</right>
36+
<right>
37+
<name>MainWindowModeWorkplace</name>
38+
<value>true</value>
39+
</right>
40+
<right>
41+
<name>AnalyticsSystemClient</name>
42+
<value>true</value>
43+
</right>
44+
</object>
45+
</Rights>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<mdclass:Role xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="194298df-70d7-42a3-a5fc-7627f1fdf1cb">
3+
<name>Роль1</name>
4+
<synonym>
5+
<key>ru</key>
6+
<value>Роль1</value>
7+
</synonym>
8+
</mdclass:Role>
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Rights xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://v8.1c.ru/8.2/roles" xsi:type="Rights">
3+
<setForNewObjects>false</setForNewObjects>
4+
<setForAttributesByDefault>true</setForAttributesByDefault>
5+
<independentRightsOfChildObjects>false</independentRightsOfChildObjects>
6+
<object>
7+
<name>Configuration.Конфигурация</name>
8+
<right>
9+
<name>SaveUserData</name>
10+
<value>true</value>
11+
</right>
12+
<right>
13+
<name>ThinClient</name>
14+
<value>true</value>
15+
</right>
16+
<right>
17+
<name>WebClient</name>
18+
<value>true</value>
19+
</right>
20+
<right>
21+
<name>MainWindowModeEmbeddedWorkplace</name>
22+
<value>true</value>
23+
</right>
24+
<right>
25+
<name>MainWindowModeKiosk</name>
26+
<value>true</value>
27+
</right>
28+
<right>
29+
<name>MainWindowModeNormal</name>
30+
<value>true</value>
31+
</right>
32+
<right>
33+
<name>MainWindowModeFullscreenWorkplace</name>
34+
<value>true</value>
35+
</right>
36+
<right>
37+
<name>MainWindowModeWorkplace</name>
38+
<value>true</value>
39+
</right>
40+
<right>
41+
<name>AnalyticsSystemClient</name>
42+
<value>true</value>
43+
</right>
44+
</object>
45+
</Rights>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<mdclass:Role xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="3e4db601-0e92-40e4-aacc-b4d3e258de6e">
3+
<name>Роль2</name>
4+
<synonym>
5+
<key>ru</key>
6+
<value>Роль2</value>
7+
</synonym>
8+
</mdclass:Role>

README.md

Lines changed: 40 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,80 @@
11
# Описание
22

3-
Генерация данных при создании пустой базы данны для целей CI/CD (см. [пример разработки в своей ветке](https://github.com/astrizhachuk/bootstrap-1c#пример-разработки-в-своей-ветке)).
3+
Генерация данных при создании пустой базы данны для целей CI/CD с помощью внешней обработки при запуске в режиме "Предприятие" (см. [пример разработки в своей ветке](https://github.com/astrizhachuk/bootstrap-1c#пример-разработки-в-своей-ветке)).
44

55
[См. также](https://github.com/astrizhachuk/bootstrap-1c/tree/master/tools)
66

7+
## Требования
8+
9+
* Платформа 1С не ниже 8.3.6;
10+
* Обработка не предназначена для запуска в веб-клиенте;
11+
712
## Инструменты разработки
813

914
* Разработка ведется в [EDT](https://releases.1c.ru/project/DevelopmentTools10).
10-
1115
* Платформа 1С не ниже 8.3.10.2667;
1216

1317
## Параметры
1418

15-
Параметры передаются через аргумент `/C` при запуске обработки в пакетном режиме `/Execute`. Каждый параметр разделяется символом "`;`". Ключ и значение разделяются символом "`=`". Если значение не передается, т.е. указан только ключ, то значение для данного ключа будет равно `Неопределено`.
19+
Параметры обработки передаются через аргумент `/C` при её запуске в пакетном режиме через `/Execute`. Каждая пара параметров разделяется символом "`;`". Ключ и значение параметра разделяются символом "`=`".
1620

1721
### Возможные значения
1822

19-
* CreateAdmin или СоздатьАдминистратора - создание пользователя "Администратор" с ролью "ПолныеПрава". Пользователь создается только если в ИБ нет ни одного пользователя и при наличии в конфигурации роли "ПолныеПрава". После создания пользователя приложение 1С будет автоматически закрыто. Другие переданные параметры запуска при этом **не обрабатываются**.
20-
21-
* users-from-json - путь (абсолютный или относительный) к файлу с данными о пользователях (имя и назначаемые роли).
23+
* file - путь к файлу с данными создаваемых пользователей (см. пример).
2224

2325
### Пример "users.json"
2426

2527
```json
2628
{
29+
"full-rights": "ПолныеПрава",
2730
"users": [
2831
{
2932
"name": "Иванов_И_И",
3033
"roles": [
3134
"Роль1",
3235
"Роль2"
33-
]
36+
],
37+
"password": "12345"
3438
},
3539
{
3640
"name": "Петров_П_П",
3741
"roles": [
3842
"Роль1",
3943
"Роль2"
44+
],
45+
"password": "$ONEC_PASSWORD"
46+
},
47+
{
48+
"name": "Администратор",
49+
"roles": [
50+
"ПолныеПрава"
4051
]
52+
},
53+
{
54+
"name": "Сидоров_С_С",
55+
"roles": [
56+
"Роль2"
57+
],
58+
"lang": "ru"
59+
},
60+
{
61+
"name": "Буржуй_Б_Б",
62+
"lang": "en"
63+
},
64+
{
65+
"name": "Патриот_П_П",
66+
"lang": "ru"
4167
}
4268
]
4369
}
4470
```
4571

46-
* name - имя пользователя (краткое имя пользователя при заведении его в конфигураторе);
72+
* full-rights - (необязательный) имя роли с полными правами (как в конфигураторе), если в списке пользователей добавляются как администраторы, так и обычные пользователи (чтобы исключить ошибку "в базе не осталось пользователей без административных прав");
73+
* users - добавляемые пользователи:
4774

75+
----
76+
77+
* name - имя пользователя (краткое имя пользователя при заведении его в конфигураторе);
4878
* roles - массив доступных пользователю ролей (имя роли как в метаданных);
79+
* lang - код языка пользователя (как указано в метаданных);
80+
* password - пароль пользователя, поддерживаются переменные окружения (в формате `linux`);

sonar-project.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ sonar.projectKey=init-db-1c
33

44
sonar.sourceEncoding=UTF-8
55

6-
sonar.sources=ВнешняяОбработка
7-
sonar.exclusions=Конфигурация/*
6+
sonar.sources=InitDB
7+
sonar.exclusions=Model/*
88

99
sonar.scm.enabled=true
1010
sonar.scm.provider=git

tools/Конфигурация Тонкий клиент.launch

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
22
<launchConfiguration type="com._1c.g5.v8.dt.launching.core.RuntimeClient">
3+
<intAttribute key="com._1c.g5.v8.dt.debug.core.ATTR_DEBUG_SERVER_PORT" value="-1"/>
34
<stringAttribute key="com._1c.g5.v8.dt.debug.core.ATTR_EXTERNAL_OBJECT_NAME" value="InitDB"/>
45
<stringAttribute key="com._1c.g5.v8.dt.debug.core.ATTR_EXTERNAL_OBJECT_PROJECT_NAME" value="InitDB"/>
56
<stringAttribute key="com._1c.g5.v8.dt.debug.core.ATTR_EXTERNAL_OBJECT_TYPE" value="com._1c.g5.v8.dt.metadata.mdclass.impl.ExternalDataProcessorImpl"/>
@@ -24,6 +25,7 @@
2425
<booleanAttribute key="com._1c.g5.v8.dt.launching.core.ATTR_SHOW_ALL_FUNCTIONS" value="true"/>
2526
<booleanAttribute key="com._1c.g5.v8.dt.launching.core.ATTR_SHOW_PERFORMANCE" value="true"/>
2627
<booleanAttribute key="com._1c.g5.v8.dt.launching.core.ATTR_SLOW_CONNECTION" value="false"/>
28+
<stringAttribute key="com._1c.g5.v8.dt.launching.core.ATTR_STARTUP_OPTION" value="json={};file=C:\w\1c\edt\init-db-1c\init-db-1c\users.json;фыва=вфыа"/>
2729
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
2830
<listEntry value="/Конфигурация"/>
2931
</listAttribute>

users.json

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,43 @@
11
{
2+
"full-rights": "ПолныеПрава",
3+
"exceptions": true,
24
"users": [
35
{
46
"name": "Иванов_И_И",
57
"roles": [
68
"Роль1",
79
"Роль2"
8-
]
10+
],
11+
"password": "12345"
912
},
1013
{
1114
"name": "Петров_П_П",
1215
"roles": [
1316
"Роль1",
1417
"Роль2"
18+
],
19+
"password": "$ONEC_PASSWORD"
20+
},
21+
{
22+
"name": "Администратор",
23+
"roles": [
24+
"ПолныеПрава"
1525
]
1626
},
1727
{
1828
"name": "Сидоров_С_С",
1929
"roles": [
20-
"Роль1",
2130
"Роль2"
2231
],
2332
"lang": "ru"
2433
},
2534
{
26-
"name": "Жужу_Ж_Ж",
35+
"name": "Буржуй_Б_Б",
2736
"lang": "en"
37+
},
38+
{
39+
"name": "Патриот_П_П",
40+
"lang": "ru"
2841
}
2942
]
3043
}

0 commit comments

Comments
 (0)