├── dp
├── src
│ └── ExternalDataProcessors
│ │ ├── ктв_ПреобразованиеДанных_Тест
│ │ ├── ObjectModule.bsl
│ │ ├── ктв_ПреобразованиеДанных_Тест.mdo
│ │ └── Forms
│ │ │ └── Форма
│ │ │ ├── ConditionalAppearance.dcssca
│ │ │ ├── Module.bsl
│ │ │ └── Form.form
│ │ └── ктв_ПреобразованиеДанных
│ │ ├── Templates
│ │ ├── ВерсияБиблиотеки
│ │ │ └── Template.txt
│ │ ├── Рамки
│ │ │ └── Template.txt
│ │ ├── Шрифты
│ │ │ └── Template.txt
│ │ ├── Цвета
│ │ │ └── Template.txt
│ │ ├── ТипыЗначенийСКД
│ │ │ └── Template.txt
│ │ ├── Картинки
│ │ │ └── Template.txt
│ │ ├── Перечисления
│ │ │ └── Template.txt
│ │ └── ОписаниеТипов
│ │ │ └── Template.txt
│ │ └── ктв_ПреобразованиеДанных.mdo
├── DT-INF
│ └── PROJECT.PMF
├── bin
│ └── settings.json
└── .project
├── .gitignore
├── .gitmodules
├── .project
├── tools
└── scripts
│ └── build.cmd
├── README.md
└── LICENSE
/dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных_Тест/ObjectModule.bsl:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/dp/DT-INF/PROJECT.PMF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Runtime-Version: 8.3.14
3 | Store-Version: 1.0.0
4 |
--------------------------------------------------------------------------------
/dp/bin/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "ПреобразованиеДанных":"$thisRoot\\ктв_ПреобразованиеДанных.epf"
3 | }
--------------------------------------------------------------------------------
/dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/Templates/ВерсияБиблиотеки/Template.txt:
--------------------------------------------------------------------------------
1 | 0.11.0
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.epf
2 | *.zip
3 | tmp
4 | dp/.settings/
5 | .scannerwork/
6 | .sonar/
7 | .vscode
8 | .env
9 | out/
10 | build/
--------------------------------------------------------------------------------
/dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/Templates/Рамки/Template.txt:
--------------------------------------------------------------------------------
1 | {
2 | "ЭлементыСтиля": [
3 | "РамкаЭлементаУправления"
4 | ]
5 | }
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "tools/1CFilesConverter"]
2 | path = tools/1CFilesConverter
3 | url = git@github.com:arkuznetsov/1CFilesConverter.git
4 | branch = master
5 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | SerLib1C
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/tools/scripts/build.cmd:
--------------------------------------------------------------------------------
1 | @ECHO OFF
2 |
3 | set REPO_PATH=%cd%
4 | set SRC_PATH=%REPO_PATH%\dp
5 | set DST_PATH=%REPO_PATH%\dp\bin
6 | set V8_TEMP=%REPO_PATH%\tmp
7 |
8 | set SCRIPT_PATH=%REPO_PATH%\tools\1CFilesConverter\scripts
9 |
10 | echo Starting build external data processors ^& reports...
11 |
12 | call %SCRIPT_PATH%\dp2epf.cmd "%SRC_PATH%" "%DST_PATH%"
13 |
14 | echo Finish build external data processors ^& reports.
15 |
--------------------------------------------------------------------------------
/dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/Templates/Шрифты/Template.txt:
--------------------------------------------------------------------------------
1 | {
2 | "WindowsШрифты": [
3 | "ANSIШрифтМоноширинный",
4 | "ANSIШрифтПропорциональный",
5 | "OEMШрифтМоноширинный",
6 | "СистемныйШрифт",
7 | "ШрифтДиалоговИМеню"
8 | ],
9 | "ЭлементыСтиля": [
10 | "КрупныйШрифтТекста",
11 | "МелкийШрифтТекста",
12 | "ОбычныйШрифтТекста",
13 | "ОченьКрупныйШрифтТекста",
14 | "ШрифтТекста"
15 | ]
16 | }
--------------------------------------------------------------------------------
/dp/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | SerLib1C
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.xtext.ui.shared.xtextBuilder
10 |
11 |
12 |
13 |
14 |
15 | org.eclipse.xtext.ui.shared.xtextNature
16 | com._1c.g5.v8.dt.core.V8ExternalObjectsNature
17 |
18 |
19 |
--------------------------------------------------------------------------------
/dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных_Тест/ктв_ПреобразованиеДанных_Тест.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ктв_ПреобразованиеДанных_Тест
7 |
8 | ru
9 | Тест библиотеки преобразования данных
10 |
11 |
12 |
13 | ExternalDataProcessor.ктв_ПреобразованиеДанных_Тест.Form.Форма
14 |
15 | Форма
16 |
17 | ru
18 | Форма
19 |
20 |
21 | PersonalComputer
22 | MobileDevice
23 |
24 |
25 |
--------------------------------------------------------------------------------
/dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных_Тест/Forms/Форма/ConditionalAppearance.dcssca:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
-
6 | КаталогВыгрузки
7 |
8 | -
9 | РазмерПорции
10 |
11 |
12 |
13 | -
14 | ВыгрузитьРезультатыТестаСКД
15 | Equal
16 | false
17 |
18 |
19 |
20 |
21 |
22 |
23 | Enabled
24 | false
25 |
26 |
27 |
28 | -
29 |
30 |
-
31 | КаталогВыгрузки
32 |
33 | -
34 | РазмерПорции
35 |
36 |
37 |
38 | -
39 | ВыгрузитьРезультатыТестаСКД
40 | Equal
41 | true
42 |
43 |
44 |
45 |
46 |
47 |
48 | Enabled
49 | true
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/ктв_ПреобразованиеДанных.mdo:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | ктв_ПреобразованиеДанных
7 |
8 | ru
9 | Преобразование данных
10 |
11 |
12 |
13 | ОписаниеТипов
14 |
15 | ru
16 | Описание типов (json)
17 |
18 | TextDocument
19 |
20 |
21 | ВерсияБиблиотеки
22 |
23 | ru
24 | Версия библиотеки
25 |
26 | TextDocument
27 |
28 |
29 | Перечисления
30 |
31 | ru
32 | Перечисления
33 |
34 | TextDocument
35 |
36 |
37 | ТипыЗначенийСКД
38 |
39 | ru
40 | Типы значений СКД
41 |
42 | TextDocument
43 |
44 |
45 | Цвета
46 |
47 | ru
48 | Цвета
49 |
50 | TextDocument
51 |
52 |
53 | Шрифты
54 |
55 | ru
56 | Шрифты
57 |
58 | TextDocument
59 |
60 |
61 | Рамки
62 |
63 | ru
64 | Рамки
65 |
66 | TextDocument
67 |
68 |
69 | Картинки
70 |
71 | ru
72 | Картинки
73 |
74 | TextDocument
75 |
76 |
77 |
--------------------------------------------------------------------------------
/dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/Templates/Цвета/Template.txt:
--------------------------------------------------------------------------------
1 | {
2 | "WebЦвета": [
3 | "Аквамарин",
4 | "АкварельноСиний",
5 | "АнтикБелый",
6 | "Бежевый",
7 | "Белоснежный",
8 | "Белый",
9 | "Бирюзовый",
10 | "БледноБирюзовый",
11 | "БледноЗеленый",
12 | "БледноЗолотистый",
13 | "БледноКрасноФиолетовый",
14 | "БледноЛиловый",
15 | "БледноМиндальный",
16 | "БледноСиреневый",
17 | "Васильковый",
18 | "ВесеннеЗеленый",
19 | "Голубой",
20 | "ГолубойСКраснымОттенком",
21 | "ГолубойСоСтальнымОттенком",
22 | "ГрифельноСерый",
23 | "ГрифельноСиний",
24 | "Древесный",
25 | "ДымчатоБелый",
26 | "ЖелтоЗеленый",
27 | "Желтый",
28 | "ЗамшаСветлый",
29 | "ЗеленаяЛужайка",
30 | "ЗеленоватоЖелтый",
31 | "ЗеленоватоЛимонный",
32 | "ЗеленоЖелтый",
33 | "Зеленый",
34 | "ЗеленыйЛес",
35 | "Золотистый",
36 | "Золотой",
37 | "Индиго",
38 | "Киноварь",
39 | "Кирпичный",
40 | "КожаноКоричневый",
41 | "Коралловый",
42 | "Коричневый",
43 | "КоролевскиГолубой",
44 | "КрасноФиолетовый",
45 | "Красный",
46 | "Кремовый",
47 | "Лазурный",
48 | "ЛимонноЗеленый",
49 | "Лимонный",
50 | "Лосось",
51 | "ЛососьСветлый",
52 | "ЛососьТемный",
53 | "Льняной",
54 | "Малиновый",
55 | "МятныйКрем",
56 | "НавахоБелый",
57 | "НасыщенноНебесноГолубой",
58 | "НасыщенноРозовый",
59 | "НебесноГолубой",
60 | "НейтральноАквамариновый",
61 | "НейтральноБирюзовый",
62 | "НейтральноВесеннеЗеленый",
63 | "НейтральноГрифельноСиний",
64 | "НейтральноЗеленый",
65 | "НейтральноКоричневый",
66 | "НейтральноПурпурный",
67 | "НейтральноСерый",
68 | "НейтральноСиний",
69 | "НейтральноФиолетовоКрасный",
70 | "Оливковый",
71 | "ОранжевоКрасный",
72 | "Оранжевый",
73 | "Орхидея",
74 | "ОрхидеяНейтральный",
75 | "ОрхидеяТемный",
76 | "Охра",
77 | "Перламутровый",
78 | "Персиковый",
79 | "ПесочноКоричневый",
80 | "ПолночноСиний",
81 | "ПризрачноБелый",
82 | "Пурпурный",
83 | "Пшеничный",
84 | "РозовоКоричневый",
85 | "Розовый",
86 | "Роса",
87 | "РыжеватоКоричневый",
88 | "СветлоГрифельноСерый",
89 | "СветлоГрифельноСиний",
90 | "СветлоЖелтый",
91 | "СветлоЖелтыйЗолотистый",
92 | "СветлоЗеленый",
93 | "СветлоЗолотистый",
94 | "СветлоКоралловый",
95 | "СветлоКоричневый",
96 | "СветлоНебесноГолубой",
97 | "СветлоРозовый",
98 | "СветлоСерый",
99 | "СеребристоСерый",
100 | "Серебряный",
101 | "СероСиний",
102 | "Серый",
103 | "СинеСерый",
104 | "СинеФиолетовый",
105 | "Синий",
106 | "СинийСоСтальнымОттенком",
107 | "СинийСПороховымОттенком",
108 | "Сливовый",
109 | "СлоноваяКость",
110 | "СтароеКружево",
111 | "ТемноБирюзовый",
112 | "ТемноБордовый",
113 | "ТемноГрифельноСерый",
114 | "ТемноГрифельноСиний",
115 | "ТемноЗеленый",
116 | "ТемноЗолотистый",
117 | "ТемноКрасный",
118 | "ТемноОливковоЗеленый",
119 | "ТемноОранжевый",
120 | "ТемноСерый",
121 | "ТемноСиний",
122 | "ТемноФиолетовый",
123 | "ТеплоРозовый",
124 | "Томатный",
125 | "ТопленоеМолоко",
126 | "ТусклоОливковый",
127 | "ТусклоРозовый",
128 | "ТусклоСерый",
129 | "Ультрамарин",
130 | "Фиолетовый",
131 | "Фуксин",
132 | "ФуксинТемный",
133 | "Фуксия",
134 | "Хаки",
135 | "ХакиТемный",
136 | "ЦветМорскойВолны",
137 | "ЦветМорскойВолныНейтральный",
138 | "ЦветМорскойВолныСветлый",
139 | "ЦветМорскойВолныТемный",
140 | "ЦветокБелый",
141 | "Циан",
142 | "ЦианАкварельный",
143 | "ЦианНейтральный",
144 | "ЦианСветлый",
145 | "ЦианТемный",
146 | "Черный",
147 | "ШелковыйОттенок",
148 | "Шоколадный"
149 | ],
150 | "WindowsЦвета": [
151 | "ГраницаАктивногоОкна",
152 | "ГраницаНеактивногоОкна",
153 | "ЗаголовокАктивногоОкна",
154 | "ЗаголовокНеактивногоОкна",
155 | "Кнопка",
156 | "КнопкаПодсвеченная",
157 | "Подсвеченный",
158 | "Подсказка",
159 | "ПолосаПрокрутки",
160 | "РабочаяОбластьПриложения",
161 | "РабочийСтол",
162 | "РамкаОкна",
163 | "СтрокаМеню",
164 | "ТекстЗаголовкаАктивногоОкна",
165 | "ТекстЗаголовкаНеактивногоОкна",
166 | "ТекстКнопки",
167 | "ТекстНедоступный",
168 | "ТекстОкна",
169 | "ТекстПодсвеченный",
170 | "ТекстПодсказки",
171 | "ТекстПунктаМеню",
172 | "ТеньКнопки",
173 | "ТеньКнопкиСветлая",
174 | "ТеньКнопкиТемная",
175 | "ФонОкна"
176 | ],
177 | "ЭлементыСтиля": [
178 | "АльтернативныйЦветФонаПоля",
179 | "ЦветАктивности",
180 | "ЦветАкцента",
181 | "ЦветВажного",
182 | "ЦветДополнительнойНавигации",
183 | "ЦветЛинииОтчета",
184 | "ЦветНавигации",
185 | "ЦветОсобогоТекста",
186 | "ЦветОтрицательногоЧисла",
187 | "ЦветРамки",
188 | "ЦветРамкиКнопки",
189 | "ЦветТекстаВыделенияПоля",
190 | "ЦветТекстаКнопки",
191 | "ЦветТекстаПодвалаТаблицы",
192 | "ЦветТекстаПодсказки",
193 | "ЦветТекстаПоля",
194 | "ЦветТекстаФормы",
195 | "ЦветТекстаШапкиТаблицы",
196 | "ЦветФонаВыделенияПоля",
197 | "ЦветФонаГруппировкиОтчета1",
198 | "ЦветФонаГруппировкиОтчета2",
199 | "ЦветФонаКнопки",
200 | "ЦветФонаПодвалаТаблицы",
201 | "ЦветФонаПодсказки",
202 | "ЦветФонаПоля",
203 | "ЦветФонаФормы",
204 | "ЦветФонаШапкиОтчета",
205 | "ЦветФонаШапкиТаблицы"
206 | ]
207 | }
--------------------------------------------------------------------------------
/dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/Templates/ТипыЗначенийСКД/Template.txt:
--------------------------------------------------------------------------------
1 | {
2 | "СхемаКомпоновкиДанных": "СКД",
3 | "НастройкиКомпоновкиДанных": "НастройкиСКД",
4 | "ВариантНастроекКомпоновкиДанных": "ВариантНастроекСКД",
5 | "ВложеннаяСхемаКомпоновкиДанных": "ВложеннаяСКД",
6 | "ВычисляемоеПолеСхемыКомпоновкиДанных": "ВычисляемоеПолеСКД",
7 | "ИсточникДанныхСхемыКомпоновкиДанных": "ИсточникДанныхСКД",
8 | "ОписаниеМакетаСхемыКомпоновкиДанных": "ОписаниеМакетаСКД",
9 | "МакетГруппировкиСхемыКомпоновкиДанных": "МакетГруппировкиСКД",
10 | "МакетПоляСхемыКомпоновкиДанных": "МакетПоляСКД",
11 | "МакетПолейИтогаСхемыКомпоновкиДанных": "МакетПолейИтогаСКД",
12 | "НаборДанныхЗапросСхемыКомпоновкиДанных": "НаборДанныхЗапросСКД",
13 | "НаборДанныхОбъектСхемыКомпоновкиДанных": "НаборДанныхОбъектСКД",
14 | "НаборДанныхОбъединениеСхемыКомпоновкиДанных": "НаборДанныхОбъединениеСКД",
15 | "ПараметрСхемыКомпоновкиДанных": "ПараметрСКД",
16 | "ПолеИтогаСхемыКомпоновкиДанных": "ПолеИтогаСКД",
17 | "СвязьНаборовДанныхСхемыКомпоновкиДанных": "СвязьНаборовДанныхСКД",
18 | "ВыражениеУпорядочиванияКомпоновкиДанных": "ВыражениеУпорядочиванияСКД",
19 | "ОграничениеИспользованияПоляСхемыКомпоновкиДанных": "ОграничениеИспользованияПоляСКД",
20 | "ОформлениеКомпоновкиДанных": "ОформлениеСКД",
21 | "ЗначениеПараметраНастроекКомпоновкиДанных": "ЗначениеПараметраНастроекСКД",
22 | "ЗначениеПараметраКомпоновкиДанных": "ЗначениеПараметраСКД",
23 | "ПараметрыРедактированияКомпоновкиДанных": "ПараметрыРедактированияСКД",
24 | "СтрокаТаблицыОбластиКомпоновкиДанных": "СтрокаТаблицыОбластиСКД",
25 | "ЯчейкаТаблицыОбластиКомпоновкиДанных": "ЯчейкаТаблицыОбластиСКД",
26 | "ОформлениеЯчейкиТаблицыОбластиКомпоновкиДанных": "ОформлениеЯчейкиТаблицыОбластиСКД",
27 | "ОформлениеПоляОбластиКомпоновкиДанных": "ОформлениеПоляОбластиСКД",
28 | "ПараметрОбластиВыражениеКомпоновкиДанных": "ПараметрОбластиВыражениеСКД",
29 | "ПараметрОбластиРасшифровкаКомпоновкиДанных": "ПараметрОбластиРасшифровкаСКД",
30 | "ВыражениеПоляПараметраОбластиРасшифровкаКомпоновкиДанных": "ВыражениеПоляПараметраРасшифровкиСКД",
31 | "ПолеОбластиКомпоновкиДанных": "ПолеОбластиСКД",
32 | "ПолеНабораДанныхСхемыКомпоновкиДанных": "ПолеНабораДанныхПолеСКД",
33 | "ПапкаПолейНабораДанныхСхемыКомпоновкиДанных": "ПолеНабораДанныхПапкаСКД",
34 | "ВложенныйНаборДанныхСхемыКомпоновкиДанных": "ПолеНабораДанныхВложенныйНаборСКД",
35 | "ВыбранныеПоляКомпоновкиДанных": "ВыбранныеПоляСКД",
36 | "ГруппаВыбранныхПолейКомпоновкиДанных": "ГруппаВыбранныхПолейСКД",
37 | "АвтоВыбранноеПолеКомпоновкиДанных": "АвтоВыбранноеПолеСКД",
38 | "ВыбранноеПолеКомпоновкиДанных": "ВыбранноеПолеСКД",
39 | "РольПоляНабораДанныхКомпоновкиДанных": "РольПоляНабораДанныхСКД",
40 | "ГруппаЭлементовОтбораКомпоновкиДанных": "ГруппаЭлементовОтбораСКД",
41 | "ЭлементОтбораКомпоновкиДанных": "ЭлементОтбораСКД",
42 | "ОтборКомпоновкиДанных": "ОтборСКД",
43 | "ЗначенияПараметровВыводаКомпоновкиДанных": "ЗначенияПараметровВыводаСКД",
44 | "ЗначенияПараметровВыводаТаблицыКомпоновкиДанных": "ЗначенияПараметровВыводаСКД",
45 | "ЗначенияПараметровВыводаДиаграммыКомпоновкиДанных": "ЗначенияПараметровВыводаСКД",
46 | "ЗначенияПараметровДанныхКомпоновкиДанных": "ЗначенияПараметровДанныхСКД",
47 | "ПользовательскоеПолеВыражениеКомпоновкиДанных": "ПользовательскоеПолеВыражениеСКД",
48 | "ПользовательскоеПолеВыборКомпоновкиДанных": "ПользовательскоеПолеВыборСКД",
49 | "ПользовательскиеПоляКомпоновкиДанных": "ПользовательскиеПоляСКД",
50 | "СвязиПараметровВыбораКомпоновкиДанных": "СвязиПараметровВыбораСКД",
51 | "СвязьПараметраВыбораКомпоновкиДанных": "СвязьПараметраВыбораСКД",
52 | "ПараметрыВыбораКомпоновкиДанных": "ПараметрыВыбораСКД",
53 | "ПараметрВыбораКомпоновкиДанных": "ПараметрВыбораСКД",
54 | "СвязьПоТипуКомпоновкиДанных": "СвязьПоТипуСКД",
55 | "ВариантПользовательскогоПоляВыборКомпоновкиДанных": "ВариантПользовательскогоПоляВыбораСКД",
56 | "ВариантыПользовательскогоПоляВыборКомпоновкиДанных": "ВариантыПользовательскогоПоляВыбораСКД",
57 | "АвтоЭлементПорядкаКомпоновкиДанных": "АвтоЭлементПорядкаСКД",
58 | "ЭлементПорядкаКомпоновкиДанных": "ЭлементПорядкаСКД",
59 | "ПорядокКомпоновкиДанных": "ПорядокСКД",
60 | "НастройкиВложенногоОбъектаКомпоновкиДанных": "НастройкиВложенногоОбъектаСКД",
61 | "ГруппировкаКомпоновкиДанных": "ГруппировкаСКД",
62 | "ГруппировкаТаблицыКомпоновкиДанных": "ГруппировкаСКД",
63 | "ГруппировкаДиаграммыКомпоновкиДанных": "ГруппировкаСКД",
64 | "ТаблицаКомпоновкиДанных": "ТаблицаСКД",
65 | "ДиаграммаКомпоновкиДанных": "ДиаграммаСКД",
66 | "АвтоПолеГруппировкиКомпоновкиДанных": "АвтоПолеГруппировкиСКД",
67 | "ПолеГруппировкиКомпоновкиДанных": "ПолеГруппировкиСКД",
68 | "ПоляГруппировкиКомпоновкиДанных": "ПоляГруппировкиСКД",
69 | "ЗначенияПараметровВыводаГруппировкиКомпоновкиДанных": "ЗначенияПараметровВыводаГруппировкиСКД",
70 | "ЗначенияПараметровВыводаГруппировкиТаблицыКомпоновкиДанных": "ЗначенияПараметровВыводаГруппировкиСКД",
71 | "ЗначенияПараметровВыводаГруппировкиДиаграммыКомпоновкиДанных": "ЗначенияПараметровВыводаГруппировкиСКД",
72 | "ЭлементУсловногоОформленияКомпоновкиДанных": "ЭлементУсловногоОформленияСКД",
73 | "УсловноеОформлениеКомпоновкиДанных": "УсловноеОформлениеСКД",
74 | "ОформляемоеПолеКомпоновкиДанных": "ОформляемоеПолеСКД",
75 | "ОформляемыеПоляКомпоновкиДанных": "ОформляемыеПоляСКД",
76 | "ПолеКомпоновкиДанных": "ПолеСКД"
77 | }
--------------------------------------------------------------------------------
/dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/Templates/Картинки/Template.txt:
--------------------------------------------------------------------------------
1 | {
2 | "Библиотека": [
3 | "АктивироватьЗадачу",
4 | "АктивныеПользователи",
5 | "БизнесПроцесс",
6 | "БизнесПроцессОбъект",
7 | "ВводНаОсновании",
8 | "ВидРасчета",
9 | "ВложеннаяТаблица",
10 | "ВнешнийИсточникДанных",
11 | "ВнешнийИсточникДанныхКуб",
12 | "ВнешнийИсточникДанныхКубТаблицаИзмерения",
13 | "ВнешнийИсточникДанныхТаблица",
14 | "ВнешнийИсточникДанныхФункция",
15 | "ВнешнийПользовательСистемыВзаимодействия",
16 | "ВосстановитьЗначения",
17 | "Вперед",
18 | "ВыборКомпоновкиДанных",
19 | "ВыборКомпоновкиДанныхНедоступный",
20 | "Выбрать",
21 | "ВыбратьВерхнийУровень",
22 | "ВыбратьЗначение",
23 | "ВыбратьИзСписка",
24 | "ВыбратьТип",
25 | "ВывестиСписок",
26 | "ВыполнитьЗадачу",
27 | "ГеографическаяСхема",
28 | "ГрафическаяСхема",
29 | "ГрупповоеОбсуждение",
30 | "Дебет",
31 | "ДебетКредит",
32 | "Дендрограмма",
33 | "Диаграмма",
34 | "ДиаграммаГанта",
35 | "ДиалогВопрос",
36 | "ДиалогВосклицание",
37 | "ДиалогИнформация",
38 | "ДиалогСтоп",
39 | "ДобавитьВИзбранное",
40 | "ДобавитьЭлементСписка",
41 | "Документ",
42 | "ДокументОбъект",
43 | "ЖурналДокументов",
44 | "ЖурналРегистрации",
45 | "ЖурналРегистрацииПоПользователю",
46 | "ЗагрузитьНастройкиОтчета",
47 | "Задача",
48 | "ЗадачаОбъект",
49 | "ЗакончитьРедактирование",
50 | "Закрыть",
51 | "Заменить",
52 | "Записать",
53 | "ЗаписатьИЗакрыть",
54 | "ЗаписатьИзменения",
55 | "ЗатенитьФлажки",
56 | "ЗафиксироватьТаблицу",
57 | "ИерархическийПросмотр",
58 | "Избранное",
59 | "Изменить",
60 | "ИзменитьМасштаб",
61 | "ИзменитьФорму",
62 | "ИзменитьЭлементСписка",
63 | "Измерение",
64 | "Информация",
65 | "История",
66 | "ИсторияДанных",
67 | "ИсторияОтборов",
68 | "ИсторияСообщений",
69 | "Календарь",
70 | "Калькулятор",
71 | "Картинка",
72 | "КомандаМенюФункций",
73 | "Константа",
74 | "КонструкторЗапроса",
75 | "КонструкторЗапросаВложенныйЗапрос",
76 | "КонструкторЗапросаВременнаяТаблица",
77 | "КонструкторЗапросаГруппаВременныхТаблиц",
78 | "КонструкторЗапросаЗаменитьТаблицу",
79 | "КонструкторЗапросаОписаниеВременнойТаблицы",
80 | "КонструкторЗапросаОтображатьТаблицыИзменений",
81 | "КонструкторЗапросаПараметрыТаблицы",
82 | "КонструкторЗапросаСоздатьВложенныйЗапрос",
83 | "КонструкторЗапросаСоздатьЗапросУничтоженияВременнойТаблицы",
84 | "КонструкторЗапросаСоздатьОписаниеВременнойТаблицы",
85 | "КонструкторНастроекКомпоновкиДанных",
86 | "Кредит",
87 | "КритерийОтбора",
88 | "Лупа",
89 | "Назад",
90 | "Найти",
91 | "НайтиВДереве",
92 | "НайтиВСодержании",
93 | "НайтиВСписке",
94 | "НайтиПоНомеру",
95 | "НайтиПредыдущий",
96 | "НайтиСледующий",
97 | "НастроитьСписок",
98 | "Настройка",
99 | "НастройкаСписка",
100 | "НастройкиОтчета",
101 | "НачатьВидеоконференцию",
102 | "НеБеспокоить",
103 | "НеОповещать",
104 | "НоваяВложеннаяСхемаКомпоновкиДанных",
105 | "НоваяГруппа",
106 | "НоваяГруппировкаКомпоновкиДанных",
107 | "НоваяДиаграммаКомпоновкиДанных",
108 | "НоваяТаблицаКомпоновкиДанных",
109 | "НовоеОбсуждение",
110 | "НовоеОкно",
111 | "Обновить",
112 | "Обработка",
113 | "Обсуждения",
114 | "Оповещать",
115 | "Оповещения",
116 | "Остановить",
117 | "ОтборИСортировка",
118 | "ОтборКомпоновкиДанных",
119 | "ОтборКомпоновкиДанныхНедоступный",
120 | "ОтборПоВиду",
121 | "ОтборПоТекущемуЗначению",
122 | "ОтключитьОтбор",
123 | "ОткрытьСАвтономногоСервера",
124 | "ОткрытьСОсновногоСервера",
125 | "ОткрытьФайл",
126 | "ОтменаПроведения",
127 | "ОтменитьПоиск",
128 | "ОтправитьСообщение",
129 | "Отчет",
130 | "ОформлениеВоcклицательныйЗнак",
131 | "ОформлениеВосклицательныйЗнак",
132 | "ОформлениеДефисЖелтый",
133 | "ОформлениеЗвездаЗаполненная",
134 | "ОформлениеЗвездаЗаполненнаяНаполовину",
135 | "ОформлениеЗвездаПустая",
136 | "ОформлениеЗнакВоcклицательныйЗнак",
137 | "ОформлениеЗнакВосклицательныйЗнак",
138 | "ОформлениеЗнакКрест",
139 | "ОформлениеЗнакФлажок",
140 | "ОформлениеКвадратыЗаполненные",
141 | "ОформлениеКвадратыЗаполненныеДва",
142 | "ОформлениеКвадратыЗаполненныеОдин",
143 | "ОформлениеКвадратыЗаполненныеТри",
144 | "ОформлениеКвадратыПустые",
145 | "ОформлениеКрест",
146 | "ОформлениеКругЖелтый",
147 | "ОформлениеКругЗаполненный",
148 | "ОформлениеКругЗаполненныйНаДвеЧетверти",
149 | "ОформлениеКругЗаполненныйНаОднуЧетверть",
150 | "ОформлениеКругЗаполненныйНаТриЧетверти",
151 | "ОформлениеКругЗеленый",
152 | "ОформлениеКругКрасный",
153 | "ОформлениеКругПустой",
154 | "ОформлениеКругЧерный",
155 | "ОформлениеСтрелкаВверхЗеленая",
156 | "ОформлениеСтрелкаВверхСерая",
157 | "ОформлениеСтрелкаВнизКрасная",
158 | "ОформлениеСтрелкаВнизСерая",
159 | "ОформлениеСтрелкаВправоЖелтая",
160 | "ОформлениеСтрелкаВправоСерая",
161 | "ОформлениеСтрелкаНаклоннаяВверхЖелтая",
162 | "ОформлениеСтрелкаНаклоннаяВверхЗеленая",
163 | "ОформлениеСтрелкаНаклоннаяВверхСерая",
164 | "ОформлениеСтрелкаНаклоннаяВнизЖелтая",
165 | "ОформлениеСтрелкаНаклоннаяВнизКрасная",
166 | "ОформлениеСтрелкаНаклоннаяВнизСерая",
167 | "ОформлениеТреугольникВверхЗеленый",
168 | "ОформлениеТреугольникВнизКрасный",
169 | "ОформлениеФлагЖелтый",
170 | "ОформлениеФлагЗеленый",
171 | "ОформлениеФлагКрасный",
172 | "ОформлениеФлажок",
173 | "Очистить",
174 | "Параметры",
175 | "ПараметрыВыводаКомпоновкиДанных",
176 | "ПараметрыВыводаКомпоновкиДанныхНедоступные",
177 | "ПараметрыДанныхКомпоновкиДанных",
178 | "Переименовать",
179 | "ПерейтиВперед",
180 | "ПерейтиККонцу",
181 | "ПерейтиКНачалу",
182 | "ПерейтиНазад",
183 | "ПерейтиПоВнешнейНавигационнойСсылке",
184 | "ПерейтиПоНавигационнойСсылке",
185 | "ПереключитьАктивность",
186 | "ПереместитьВверх",
187 | "ПереместитьВлево",
188 | "ПереместитьВниз",
189 | "ПереместитьВправо",
190 | "ПеренестиЭлемент",
191 | "Перечисление",
192 | "Перечитать",
193 | "Печать",
194 | "ПечатьСразу",
195 | "ПланВидовРасчета",
196 | "ПланВидовРасчетаОбъект",
197 | "ПланВидовХарактеристик",
198 | "ПланВидовХарактеристикОбъект",
199 | "ПланОбмена",
200 | "ПланОбменаОбъект",
201 | "ПланСчетов",
202 | "ПланСчетовОбъект",
203 | "ПовернутьПоЧасовойСтрелке",
204 | "ПовернутьПротивЧасовойСтрелки",
205 | "ПоискДанных",
206 | "ПоказатьВСписке",
207 | "ПоказатьДанные",
208 | "ПоказатьПароль",
209 | "ПолеВводаВыбрать",
210 | "ПолеВводаВыбратьТип",
211 | "ПолеВводаКалендарь",
212 | "ПолеВводаКалькулятор",
213 | "ПолеВводаОткрыть",
214 | "ПолеВводаОчистить",
215 | "ПолучитьНавигационнуюСсылку",
216 | "Пользователь",
217 | "ПользовательБезНеобходимыхСвойств",
218 | "ПользовательИнтеграцииСистемыВзаимодействия",
219 | "ПользовательСАутентификацией",
220 | "ПользовательСистемыВзаимодействия",
221 | "ПользовательскиеПоляКомпоновкиДанных",
222 | "ПоляГруппировкиКомпоновкиДанных",
223 | "ПоляГруппировкиКомпоновкиДанныхНедоступные",
224 | "ПометитьНаУдаление",
225 | "ПорядокКомпоновкиДанных",
226 | "ПорядокКомпоновкиДанныхНедоступный",
227 | "Предыдущий",
228 | "Прикрепить",
229 | "Провести",
230 | "ПроизвольноеВыражение",
231 | "ПросмотрПоВладельцу",
232 | "ПрочитатьИзменения",
233 | "РазвернутьВсе",
234 | "РегистрБухгалтерии",
235 | "РегистрНакопления",
236 | "РегистрРасчета",
237 | "РегистрСведений",
238 | "РегистрСведенийЗапись",
239 | "РегламентноеЗадание",
240 | "РегламентныеЗадания",
241 | "РедактироватьВДиалоге",
242 | "РежимПросмотраСписка",
243 | "РежимПросмотраСпискаДерево",
244 | "РежимПросмотраСпискаИерархическийСписок",
245 | "РежимПросмотраСпискаСписок",
246 | "Реквизит",
247 | "Ресурс",
248 | "СвернутьВсе",
249 | "СводнаяДиаграмма",
250 | "Свойства",
251 | "Сегодня",
252 | "Символ",
253 | "СинтаксическийКонтроль",
254 | "СкопироватьОбъект",
255 | "СкопироватьЭлементСписка",
256 | "СкрытьПароль",
257 | "Следующий",
258 | "СнятьФлажки",
259 | "СоздатьГруппу",
260 | "СоздатьНачальныйОбраз",
261 | "СоздатьЭлементСписка",
262 | "Сообщение",
263 | "СортироватьСписок",
264 | "СортироватьСписокПоВозрастанию",
265 | "СортироватьСписокПоУбыванию",
266 | "Сортировка",
267 | "СохранитьЗначения",
268 | "СохранитьНастройкиОтчета",
269 | "СохранитьФайл",
270 | "Справка",
271 | "СправкаФормы",
272 | "Справочник",
273 | "СправочникОбъект",
274 | "СтандартнаяНастройкаКомпоновкиДанных",
275 | "СтартБизнесПроцесса",
276 | "СформироватьОтчет",
277 | "ТабличныйДокументВставитьПримечание",
278 | "ТабличныйДокументВставитьРазрывСтраницы",
279 | "ТабличныйДокументОтображатьГруппировки",
280 | "ТабличныйДокументОтображатьЗаголовки",
281 | "ТабличныйДокументОтображатьПримечания",
282 | "ТабличныйДокументОтображатьСетку",
283 | "ТабличныйДокументТолькоПросмотр",
284 | "ТабличныйДокументУдалитьПримечание",
285 | "ТабличныйДокументУдалитьРазрывСтраницы",
286 | "УвеличитьМасштаб",
287 | "Удалить",
288 | "УдалитьНепосредственно",
289 | "УдалитьЭлементСписка",
290 | "УдалитьЭлементСпискаНепосредственно",
291 | "УменьшитьМасштаб",
292 | "УправлениеПоиском",
293 | "УровеньВверх",
294 | "УровеньВниз",
295 | "УсловноеОформлениеКомпоновкиДанных",
296 | "УсловноеОформлениеКомпоновкиДанныхНедоступное",
297 | "УстановитьВремя",
298 | "УстановитьИнтервал",
299 | "УстановитьПометкуУдаленияЭлементаСписка",
300 | "УстановитьФлажки",
301 | "Форма",
302 | "ХранилищеНастроек"
303 | ]
304 | }
--------------------------------------------------------------------------------
/dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/Templates/Перечисления/Template.txt:
--------------------------------------------------------------------------------
1 | {
2 | "АвтоПозицияРесурсовКомпоновкиДанных": [
3 | "НеИспользовать",
4 | "ПослеВсехПолей",
5 | ],
6 | "АвтоРаздвижениеСерий": [
7 | "Все",
8 | "Максимум",
9 | "Минимум",
10 | "Нет",
11 | ],
12 | "ВариантИспользованияГруппировкиКомпоновкиДанных": [
13 | "Авто",
14 | "ДополнительнаяИнформация",
15 | ],
16 | "ВертикальноеПоложение": [
17 | "Верх",
18 | "Низ",
19 | "Центр"
20 | ],
21 | "ВидКартинки": [
22 | "Абсолютная",
23 | "ИзБиблиотеки",
24 | "Пустая"
25 | ],
26 | "ВидПодписейКДиаграмме": [
27 | "Значение",
28 | "ЗначениеПроцент",
29 | "ЗначениеРазмер",
30 | "Нет",
31 | "Процент",
32 | "Серия",
33 | "СерияЗначение",
34 | "СерияЗначениеПроцент",
35 | "СерияЗначениеРазмер",
36 | "СерияПроцент",
37 | "СерияРазмер",
38 | "СерияТочка",
39 | "СерияТочкаЗначение",
40 | "СерияТочкаЗначениеПроцент",
41 | "СерияТочкаЗначениеРазмер",
42 | "СерияТочкаПроцент",
43 | "СерияТочкаРазмер",
44 | "Точка",
45 | "ТочкаЗначение",
46 | "ТочкаЗначениеПроцент",
47 | "ТочкаЗначениеРазмер",
48 | "ТочкаПроцент",
49 | "ТочкаРазмер"
50 | ],
51 | "ВидСравненияКомпоновкиДанных": [
52 | "Больше",
53 | "БольшеИлиРавно",
54 | "ВИерархии",
55 | "ВСписке",
56 | "ВСпискеПоИерархии",
57 | "Заполнено",
58 | "Меньше",
59 | "МеньшеИлиРавно",
60 | "НачинаетсяС",
61 | "НеВИерархии",
62 | "НеВСписке",
63 | "НеВСпискеПоИерархии",
64 | "НеЗаполнено",
65 | "НеНачинаетсяС",
66 | "НеПодобно",
67 | "НеРавно",
68 | "НеСодержит",
69 | "Подобно",
70 | "Равно",
71 | "Содержит"
72 | ],
73 | "ВидЦвета": [
74 | "WebЦвет",
75 | "WindowsЦвет",
76 | "Абсолютный",
77 | "АвтоЦвет",
78 | "ЭлементСтиля"
79 | ],
80 | "ВидШрифта": [
81 | "WindowsШрифт",
82 | "Абсолютный",
83 | "АвтоШрифт",
84 | "ЭлементСтиля"
85 | ],
86 | "ВлияниеРазмераНаПузырекДиаграммы": [
87 | "УвеличениеДиаметра",
88 | "УвеличениеПлощади",
89 | "УменьшениеДиаметра",
90 | "УменьшениеПлощади",
91 | ],
92 | "ГоризонтальноеПоложение": [
93 | "Авто",
94 | "Лево",
95 | "ПоШирине",
96 | "Право",
97 | "Центр"
98 | ],
99 | "ДействиеОбработкиРасшифровкиКомпоновкиДанных": [
100 | "Нет",
101 | "ОткрытьЗначение",
102 | "Отфильтровать",
103 | "Оформить",
104 | "Расшифровать",
105 | "Сгруппировать",
106 | "Упорядочить"
107 | ],
108 | "ЗаполнениеПодсказкиЗначенийДиаграммы": [
109 | "Авто",
110 | "ВсеЗначенияТочки",
111 | "ОдноЗначение",
112 | ],
113 | "ИспользованиеГруппИЭлементов": [
114 | "Группы",
115 | "ГруппыИЭлементы",
116 | "Элементы"
117 | ],
118 | "ИспользованиеКопийБазыДанных": [
119 | "Авто",
120 | "ИспользоватьПреимущественноКопии",
121 | "ИспользоватьТолькоКопии",
122 | "НеИспользоватьКопии"
123 | ],
124 | "ИспользованиеНечисловыхЗначенийДиаграммы": [
125 | "Авто",
126 | "КакНоль",
127 | "Пропускать",
128 | ],
129 | "ИспользованиеПараметраКомпоновкиДанных": [
130 | "Авто",
131 | "Всегда"
132 | ],
133 | "ИспользованиеУсловногоОформленияКомпоновкиДанных": [
134 | "Использовать",
135 | "НеИспользовать"
136 | ],
137 | "ИспользуемаяОсьЗначенийДиаграммы": [
138 | "Авто",
139 | "Дополнительная",
140 | "Основная",
141 | ],
142 | "ИсточникЗначенийОсиТочекДиаграммы": [
143 | "Авто",
144 | "Серия",
145 | "Точки",
146 | ],
147 | "ИсточникЗначенияРазмераПузырькаДиаграммы": [
148 | "Нет",
149 | "ОбщаяСерия",
150 | "СледующаяСерия",
151 | ],
152 | "НаправлениеСортировкиКомпоновкиДанных": [
153 | "Возр",
154 | "Убыв"
155 | ],
156 | "ОтображатьВсплывающуюИнформационнуюЛиниюДиаграммы": [
157 | "Авто",
158 | "НеОтображать",
159 | "Отображать",
160 | ],
161 | "ОтображениеВДиаграмме": [
162 | "Авто",
163 | "НеОтображать",
164 | "Отображать",
165 | ],
166 | "ОтображениеВЛегендеДиаграммы": [
167 | "Авто",
168 | "НеОтображать",
169 | "Отображать"
170 | ],
171 | "ОтображениеОтрицательныхЗначенийПузырьковойДиаграммы": [
172 | "ИнвертированныйЦветФона",
173 | "НеОтображать",
174 | "ПоМодулю",
175 | "ПрозрачныйФон",
176 | ],
177 | "ОтображениеПодсказкиЗначенийДиаграммы": [
178 | "Авто",
179 | "НеОтображать",
180 | "ОтображатьДляБлижайшего",
181 | "ОтображатьПриНаведении",
182 | ],
183 | "ПалитраЦветовДиаграммы": [
184 | "Авто",
185 | "Градиентная",
186 | "Желтая",
187 | "Зеленая",
188 | "Мягкая",
189 | "МягкаяАдаптивная",
190 | "Оранжевая",
191 | "Палитра32",
192 | "Палитра8",
193 | "Пастельная",
194 | "Произвольная",
195 | "Серая",
196 | "Синяя",
197 | "Теплая",
198 | "Холодная",
199 | "Яркая",
200 | ],
201 | "ПлотностьСохраняемыхКартинокТабличногоДокумента": [
202 | "Высокая",
203 | "Исходная",
204 | "Низкая",
205 | "Средняя"
206 | ],
207 | "ПоложениеТекстаОтносительноКартинки": [
208 | "Авто",
209 | "Поверх",
210 | "Сверху",
211 | "Слева",
212 | "Снизу",
213 | "Справа"
214 | ],
215 | "ПорядокОтображенияТочекГоризонтальнойГистограммы": [
216 | "Авто",
217 | "СверхуВниз",
218 | "СнизуВверх",
219 | ],
220 | "ПорядокСерийВЛегендеДиаграммы": [
221 | "Авто",
222 | "Обратный",
223 | "Прямой",
224 | ],
225 | "РазмерКартинки": [
226 | "АвтоРазмер",
227 | "АвтоРазмерБезУчетаМасштаба",
228 | "ПоРазмеруШрифта",
229 | "Пропорционально",
230 | "Растянуть",
231 | "РеальныйРазмер",
232 | "РеальныйРазмерБезУчетаМасштаба",
233 | "Черепица"
234 | ],
235 | "РасположениеИтоговКомпоновкиДанных": [
236 | "Авто",
237 | "Конец",
238 | "Начало",
239 | "НачалоИКонец",
240 | "Нет"
241 | ],
242 | "РасположениеГруппировкиКомпоновкиДанных": [
243 | "Конец",
244 | "Начало",
245 | "НачалоИКонец",
246 | "Нет"
247 | ],
248 | "РасположениеЛегендыДиаграммыКомпоновкиДанных": [
249 | "Верх",
250 | "Лево",
251 | "Нет",
252 | "Низ",
253 | "Право",
254 | ],
255 | "РасположениеПолейГруппировкиКомпоновкиДанных": [
256 | "Вместе",
257 | "Отдельно",
258 | "ОтдельноИТолькоВИтогах"
259 | ],
260 | "РасположениеПоляКомпоновкиДанных": [
261 | "Авто",
262 | "Вертикально",
263 | "Вместе",
264 | "Горизонтально",
265 | "ОтдельнаяКолонка"
266 | ],
267 | "РасположениеРеквизитовКомпоновкиДанных": [
268 | "Вместе",
269 | "ВместеСВладельцем",
270 | "ВСпециальнойПозиции",
271 | "Отдельно"
272 | ],
273 | "РасположениеРесурсовКомпоновкиДанных": [
274 | "Вертикально",
275 | "Горизонтально"
276 | ],
277 | "РасположениеРесурсовВДиаграммеКомпоновкиДанных": [
278 | "Авто",
279 | "Серии",
280 | "Точки",
281 | ],
282 | "РежимВыделенияДиаграммы": [
283 | "Авто",
284 | "ВыделениеЗначений",
285 | "ВыделениеТочек",
286 | "Нет",
287 | ],
288 | "РежимИзмененияСвязанногоЗначения": [
289 | "Больше",
290 | "БольшеИлиРавно"
291 | ],
292 | "РежимОтображенияЭлементаНастройкиКомпоновкиДанных": [
293 | "Авто",
294 | "БыстрыйДоступ",
295 | "Недоступный",
296 | "Обычный"
297 | ],
298 | "РежимПолупрозрачностиДиаграммы": [
299 | "Авто",
300 | "АвтоматическийРасчет",
301 | "Использовать",
302 | "НеИспользовать",
303 | ],
304 | "РежимСглаживанияДиаграммы": [
305 | "ГладкаяКривая",
306 | "Нет",
307 | ],
308 | "СостояниеЭлементаНастройкиКомпоновкиДанных": [
309 | "Включен",
310 | "Отключен",
311 | "УдаленПользователем"
312 | ],
313 | "СохранениеОформленияКомпоновкиДанных": [
314 | "Авто",
315 | "ДляПользователя",
316 | "ДляТекущегоРезультата",
317 | "НеИспользовать",
318 | "ПоКлючуДляПользователя"
319 | ],
320 | "ТипБухгалтерскогоОстаткаКомпоновкиДанных": [
321 | "Дебет",
322 | "Кредит",
323 | "Нет"
324 | ],
325 | "ТипВыводаАктуальностиДанныхКомпоновкиДанных": [
326 | "Авто",
327 | "Выводить",
328 | "НеВыводить"
329 | ],
330 | "ТипВыводаКартинкиКомпоновкиДанных": [
331 | "Авто",
332 | "ВыводитьПоЗначению",
333 | "ВыводитьПоСсылке",
334 | "НеВыводить",
335 | ],
336 | "ТипВыводаКопииБазыДанныхКомпоновкиДанных": [
337 | "Авто",
338 | "Выводить",
339 | "НеВыводить"
340 | ],
341 | "ТипВыводаТекстаКомпоновкиДанных": [
342 | "Авто",
343 | "Выводить",
344 | "НеВыводить"
345 | ],
346 | "ТипГрафическогоПредставленияСерииДиаграммы": [
347 | "Авто",
348 | "Гистограмма",
349 | "ГистограммаОбъемная",
350 | "График",
351 | "ГрафикПоШагам",
352 | "ГрафикСОбластями",
353 | ],
354 | "ТипГруппировкиКомпоновкиДанных": [
355 | "Иерархия",
356 | "ТолькоИерархия",
357 | "Элементы"
358 | ],
359 | "ТипГруппыЭлементовОтбораКомпоновкиДанных": [
360 | "ГруппаИ",
361 | "ГруппаИли",
362 | "ГруппаНе"
363 | ],
364 | "ТипДиаграммы": [
365 | "Биржевая",
366 | "БиржеваяСвеча",
367 | "ВогнутаяПоверхность",
368 | "Водопад",
369 | "Воронка",
370 | "ВоронкаНормированная",
371 | "ВоронкаНормированнаяОбъемная",
372 | "ВоронкаОбъемная",
373 | "ВыпуклаяПоверхность",
374 | "Гистограмма",
375 | "ГистограммаГоризонтальная",
376 | "ГистограммаГоризонтальнаяОбъемная",
377 | "ГистограммаНормированная",
378 | "ГистограммаНормированнаяГоризонтальная",
379 | "ГистограммаНормированнаяГоризонтальнаяОбъемная",
380 | "ГистограммаНормированнаяОбъемная",
381 | "ГистограммаОбъемная",
382 | "ГистограммаСНакоплением",
383 | "ГистограммаСНакоплениемГоризонтальная",
384 | "ГистограммаСНакоплениемГоризонтальнаяОбъемная",
385 | "ГистограммаСНакоплениемОбъемная",
386 | "График",
387 | "ГрафикПоШагам",
388 | "ГрафикСНакоплением",
389 | "ГрафикСОбластями",
390 | "ГрафикСОбластямиИНакоплением",
391 | "ГрафикСОбластямиНормированный",
392 | "ЗатененнаяПоверхность",
393 | "Измерительная",
394 | "Изометрическая",
395 | "ИзометрическаяЛента",
396 | "ИзометрическаяНепрерывная",
397 | "ИзометрическаяПирамида",
398 | "КаркаснаяПоверхность",
399 | "Кольцевая",
400 | "КольцеваяОбъемная",
401 | "Круговая",
402 | "КруговаяОбъемная",
403 | "Поверхность",
404 | "Пузырьковая",
405 | "РадарныйГрафик",
406 | "РадарныйГрафикСНакоплением",
407 | "РадарныйГрафикСОбластями",
408 | "РадарныйГрафикСОбластямиИНакоплением",
409 | "РадарныйГрафикСОбластямиНормированный",
410 | "Сотовая",
411 | "Точечная"
412 | ],
413 | "ТипДополненияПериодаКомпоновкиДанных": [
414 | "БезДополнения",
415 | "Год",
416 | "Декада",
417 | "День",
418 | "Квартал",
419 | "Месяц",
420 | "Минута",
421 | "Неделя",
422 | "Полугодие",
423 | "Секунда",
424 | "Час",
425 | "ГодОтНачалаПериода",
426 | "ГодОтНачалаПериода445",
427 | "ДеньОтНачалаПериода",
428 | "КварталОтНачалаПериода",
429 | "КварталОтНачалаПериода445",
430 | "МесяцОтНачалаПериода",
431 | "МесяцОтНачалаПериода445",
432 | "МинутаОтНачалаПериода",
433 | "НеделяОтНачалаПериода",
434 | "ПолугодиеОтНачалаПериода",
435 | "ПолугодиеОтНачалаПериода445",
436 | "ЧасОтНачалаПериода"
437 | ],
438 | "ТипЗаголовкаПолейКомпоновкиДанных": [
439 | "Авто",
440 | "Краткий",
441 | "Полный"
442 | ],
443 | "ТипЛинииДиаграммы": [
444 | "НетЛинии",
445 | "Пунктир",
446 | "ПунктирТочка",
447 | "ПунктирТочкаТочка",
448 | "Сплошная",
449 | "Точечная"
450 | ],
451 | "ТипЛинииРисункаТабличногоДокумента": [
452 | "НетЛинии",
453 | "Пунктир",
454 | "ПунктирТочка",
455 | "ПунктирТочкаТочка",
456 | "Сплошная",
457 | "Точечная"
458 | ],
459 | "ТипЛинииЯчейкиТабличногоДокумента": [
460 | "БольшойПунктир",
461 | "Двойная",
462 | "НетЛинии",
463 | "РедкийПунктир",
464 | "Сплошная",
465 | "Точечная",
466 | "ЧастыйПунктир"
467 | ],
468 | "ТипМакетаГруппировкиКомпоновкиДанных": [
469 | "Авто",
470 | "Вертикальный",
471 | "Горизонтальный"
472 | ],
473 | "ТипМакетаОбластиКомпоновкиДанных": [
474 | "Заголовок",
475 | "ЗаголовокИерархии",
476 | "ОбщийИтогЗаголовок",
477 | "ОбщийИтогПодвал",
478 | "Подвал",
479 | "ПодвалИерархии"
480 | ],
481 | "ТипМаркераДиаграммы": [
482 | "Авто",
483 | "Квадрат",
484 | "Круг",
485 | "Нет",
486 | "Ромб",
487 | "Чередование",
488 | ],
489 | "ТипНакопленияСерииДиаграммы": [
490 | "Авто",
491 | "БезНакопления",
492 | "СНакоплением",
493 | "СНакоплениемНормированная",
494 | ],
495 | "ТипОстаткаКомпоновкиДанных": [
496 | "КонечныйОстаток",
497 | "НачальныйОстаток",
498 | "Нет"
499 | ],
500 | "ТипПериодаКомпоновкиДанных": [
501 | "Дополнительный",
502 | "Основной"
503 | ],
504 | "ТипПримененияОтбораКомпоновкиДанных": [
505 | "Иерархия",
506 | "ТолькоИерархия",
507 | "Элементы"
508 | ],
509 | "ТипРазмещенияТекстаКомпоновкиДанных": [
510 | "Выступать",
511 | "Забивать",
512 | "Обрезать",
513 | "Переносить"
514 | ],
515 | "ТипРамкиЭлементаУправления": [
516 | "БезРамки",
517 | "Вдавленная",
518 | "Выпуклая",
519 | "Двойная",
520 | "ДвойноеПодчеркивание",
521 | "Одинарная",
522 | "Подчеркивание",
523 | "Скругленная",
524 | "ЧертаСверху"
525 | ],
526 | "ТипСоединенияЗначенийПоСериямДиаграммы": [
527 | "Нет",
528 | "СоединениеКраев",
529 | ],
530 | "ТипСоединенияТочекДиаграммы": [
531 | "Авто",
532 | "НеСоединять",
533 | "Соединять",
534 | ],
535 | "ТипСоединенияТочекПриПропущенныхЗначенияхДиаграммы": [
536 | "Авто",
537 | "Нет",
538 | "СоединениеНеПропущенных",
539 | "СоединениеСБазовымЗначением",
540 | ],
541 | "ТребуемаяАктуальностьДанных": [
542 | "Авто",
543 | "Актуальные",
544 | "Любые"
545 | ],
546 | "ФиксацияКомпоновкиДанных": [
547 | "Авто",
548 | "НеИспользовать"
549 | ]
550 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 1C Serialization Library
2 |
3 |
4 |
5 | [](https://github.com/ArKuznetsov/SerLib1C/releases)
6 | [](https://github.com/ArKuznetsov/SerLib1C/blob/develop/LICENSE)
7 | [](https://github.comArKuznetsov/SerLib1C/releases)
8 | [](https://github.com/ArKuznetsov/SerLib1C/releases)
9 |
10 | [](https://github.com/arkuznetsov/yard/actions/)
11 | [](https://open.checkbsl.org/dashboard/index/SerLib1C)
12 | [](https://open.checkbsl.org/dashboard/index/SerLib1C)
13 | [](https://open.checkbsl.org/dashboard/index/SerLib1C)
14 |
15 | ## Библиотека сериализации 1С (обработка)
16 |
17 | Набор процедур и функций для сериализации/десериализации данных 1С и объектов СКД в простые структуры данных (Структура, соответствие, массив).
18 |
19 | ### Варианты использования
20 |
21 | - замена платформенных функций сериализации, например, при сохранении версий объектов
22 | - передача данных по протоколу HTTP
23 | - основа для простых обработок обмена данными
24 | - основа для получения отчетов из внешних ИБ 1С
25 |
26 | ### Особенности
27 |
28 | - разработка ведется в формате EDT
29 | - процедуры/функции поддерживают ограничение состава полей
30 | - табличные части преобразуются в служебный элемент структуры с ключом "__ТЧ"
31 | - при десериализации приоритетными являются метаданные, т.е. не возникает ошибок при изменении структуры данных конфигурации
32 | - поддерживается возможность назначения процедур дополнения ссылочных данных при выгрузке
33 | - поддерживается возможность переопределения функций поиска ссылочных данных
34 |
35 | ### Особенности преобразования объектов СКД
36 |
37 | 1. ПутьКДанным пользовательских полей СКД формируется системой автоматически, поэтому:
38 |
39 | - после загрузки СКД значение может отличаться на номер поля
40 | - если в исходной СКД значение было на языке, отличном от языка целевой, то новое значение будет на языке целевой СКД
41 |
42 | 2. Поле "Обязательное" роли поля набора данных сейчас устанавливается принудительно, хотя в документации отмечено как "Только чтение" (EDT тоже ругается)
43 | 3. Поле "Схема" вложенной схемы компоновки данных при добавлении имеет тип неопределено и принудительно устанавливается значение "Новый СхемаКомпоновкиДанных()", хотя в документации отмечено как "Только чтение" (EDT тоже ругается)
44 | 4. В исходных настройках СКД в полях ТипЗначения составного типа могут встречаться дубли типов <БизнесПроцесс....> при загрузке дубли схлопываются
45 | 5. В исходных настройках СКД иногда встречается некорректный тип элементов свойства "ПараметрыДанных" объекта "НастройкиКомпоновкиДанных", вместо "ЗначениеПараметраНастроекКомпоновкиДанных" используется "ЗначениеПараметраКомпоновкиДанных". После выгрузки загрузки СКД, все элементы поля "ПараметрыДанных" будут приведены к типу "ЗначениеПараметраНастроекКомпоновкиДанных".
46 | 6. Если в исходных настройках поле типа "Дата" имеет значение Неопределено, то при загрузке будет установлена пустая дата
47 | 7. Если в исходных настройках поле типа "Строка" имеет значение Неопределено, то при загрузке будет установлена пустая строка
48 | 8. Не заполняется поле "Идентификатор" в элементах структуры настроек (Группировки, Таблицы, Диаграммы), т.к. имеет признак "Только чтение", а автоматического присвоения значения не происходит. Влияние на работоспособность СКД пока не проверялось.
49 |
50 | ### Методы преобразования прикладных объектов 1С
51 |
52 | #### Общие методы
53 |
54 | - ОбъектВСтруктуру(Объект, СписокСвойств, ИсключаяСвойства)
55 | - ЗаполнитьОбъектИзСтруктуры(Объект, СтруктураОбъекта, СписокСвойств, ИсключаяСвойства)
56 | - СоздатьОбъектИзСтруктуры(СтруктураОбъекта, УстановитьСсылку, СписокСвойств, ИсключаяСвойства)
57 |
58 | ___
59 |
60 | - СсылкаВСтруктуру(Значение)
61 | - СсылкаИзСтруктуры(СтруктураЗначения)
62 |
63 | ___
64 |
65 | - НаборЗаписейРегистраВСтруктуру(НаборЗаписей, СписокСвойств, ИсключаяСвойства)
66 | - ЗаполнитьНаборЗаписейРегистраИзСтруктуры(НаборЗаписей, СтруктураНабораЗаписей, СписокСвойств, ИсключаяСвойства)
67 |
68 | - СоздатьНаборЗаписейРегистраИзСтруктуры(СтруктураНабораЗаписей, ПолучатьБитыеСсылки, СписокСвойств, ИсключаяСвойства)
69 |
70 | ___
71 |
72 | - ДвиженияДокументаВСтруктуру(Объект, СписокРегистров, ИсключаяРегистры)
73 | - ДвиженияДокументаИзСтруктуры(Объект, СтруктураДвижений, СписокРегистров, ИсключаяРегистры)
74 |
75 | ___
76 |
77 | - ЗначениеВСтруктуру(Значение)
78 | - ЗначениеИзСтруктуры(СтруктураЗначения, ПолучатьБитыеСсылки)
79 |
80 | ___
81 |
82 | #### Прикладные объекты (ссылочные)
83 |
84 | При преобразовании ссылочных объектов могут быть использованы фильтры свойств. Используется единый набор параметров:
85 |
86 | - **Объект** - преобразуемый/восстанавливаемый объект
87 | - **СтруктураОбъекта** - результат преобразования / источник для восстановления
88 | - **СписокСвойств** - список свойств, которые попадут в результат преобразования
89 | - **ИсключаяСвойства** - список свойств, которые не будут преобразованы (приоритет выше чем у СписокСвойств)
90 |
91 | ___
92 |
93 | - СправочникВСтруктуру(Объект, СписокСвойств, ИсключаяСвойства)
94 | - СправочникИзСтруктуры(Объект, СтруктураОбъекта, ПолучатьБитыеСсылки, СписокСвойств, ИсключаяСвойства)
95 |
96 | ___
97 |
98 | - ПланСчетовВСтруктуру(Объект, СписокСвойств, ИсключаяСвойства)
99 | - ПланСчетовИзСтруктуры(Объект, СтруктураОбъекта, ПолучатьБитыеСсылки, СписокСвойств, ИсключаяСвойства)
100 |
101 | ___
102 |
103 | - ПланВидовХарактеристикВСтруктуру(Объект, СписокСвойств, ИсключаяСвойства)
104 | - ПланВидовХарактеристикИзСтруктуры(Объект, СтруктураОбъекта, ПолучатьБитыеСсылки, СписокСвойств, ИсключаяСвойства)
105 |
106 | ___
107 |
108 | - ПланВидовРасчетаВСтруктуру(Объект, СписокСвойств, ИсключаяСвойства)
109 | - ПланВидовРасчетаИзСтруктуры(Объект, СтруктураОбъекта, ПолучатьБитыеСсылки, СписокСвойств, ИсключаяСвойства)
110 |
111 | ___
112 |
113 | - ДокументВСтруктуру(Объект, СписокСвойств, ИсключаяСвойства)
114 | - ДокументИзСтруктуры(Объект, СтруктураОбъекта, ПолучатьБитыеСсылки, СписокСвойств, ИсключаяСвойства)
115 |
116 | ___
117 |
118 | - БизнесПроцессВСтруктуру(Объект, СписокСвойств, ИсключаяСвойства)
119 | - БизнесПроцессИзСтруктуры(Объект, СтруктураОбъекта, ПолучатьБитыеСсылки, СписокСвойств, ИсключаяСвойства)
120 |
121 | ___
122 |
123 | - ЗадачаВСтруктуру(Объект, СписокСвойств, ИсключаяСвойства)
124 | - ЗадачаПроцессИзСтруктуры(Объект, СтруктураОбъекта, ПолучатьБитыеСсылки, СписокСвойств, ИсключаяСвойства)
125 |
126 | ___
127 |
128 | ##### Дополнение ссылочных данных при выгрузке
129 |
130 | При выгрузке ссылочных данных возможно переопределение процедуры, дополняющей содержимое описания ссылки, для этого необходимо в модуле, выполняющем выгрузку, создать процедуру вида:
131 |
132 | ```bsl
133 |
134 | &НаСервере
135 | Процедура МояПроцедураДополнения(ОписаниеЗначения, Значение) Экспорт
136 | // Код дополнения
137 | // ОписаниеЗначения.Вставить("КодЭлемента", Значение.Код);
138 | КонецПроцедуры
139 |
140 | ```
141 |
142 | где:
143 |
144 | - ОписаниеЗначения - Структура - Структура содержащая поля описания ссылки
145 | - Значение - ЛюбаяСсылка - ссылка, для которой получено описание
146 |
147 | И перед выполнением выгрузки данных добавить обработчик дополнения ссылок
148 |
149 | ```bsl
150 |
151 | Библиотека.ДобавитьПравилоВыгрузкиТипа("Справочник.МойСправочник", "МояПроцедураДополнения", ЭтотОбъект)
152 |
153 | ```
154 |
155 | где:
156 |
157 | - Библиотека - Обработка-объект библиотеки преобразования данных (этой библиотеки)
158 |
159 | ##### Переопределение поиска ссылочных данных при загрузке
160 |
161 | При загрузке ссылочных данных возможно переопределение функции поиска ссылок, для этого необходимо в модуле, выполняющем загрузку, создать функцию вида:
162 |
163 | ```bsl
164 |
165 | &НаСервере
166 | Функция МояФункцияПоискаСсылок(ОписаниеВида, МетаОбъект, ОписаниеЗначения) Экспорт
167 | // Код поиска ссылки
168 | // НайденнаяСсылка = Справочники.МойЗагружаемыйСправочник.НайтиПоКоду(ОписаниеЗначения.КодЭлемента);
169 | // Возврат НайденнаяСсылка;
170 | КонецФункции
171 |
172 | ```
173 |
174 | где доступны параметры:
175 |
176 | - ОписаниеВида - Структура - Структура содержащая описание вида загружаемой ссылки
177 | - МетаОбъект - ОписаниеМетаданных - Описание метаданных загружаемой ссылки
178 | - ОписаниеЗначения - Структура - Структура содержащая поля описания искомой ссылки
179 |
180 | И перед выполнением выгрузки данных добавить обработчик дополнения ссылок
181 |
182 | ```bsl
183 |
184 | Библиотека.ДобавитьПравилоЗагрузкиТипа("Справочник.МойСправочник", "Справочник.МойЗагружаемыйСправочник", "МояФункцияПоискаСсылок", ЭтотОбъект)
185 |
186 | ```
187 |
188 | где:
189 |
190 | - Библиотека - Обработка-объект библиотеки преобразования данных (этой библиотеки)
191 |
192 | #### Прикладные объекты (регистры)
193 |
194 | При преобразовании регистров могут быть использованы фильтры свойств. Используется единый набор параметров:
195 |
196 | - **НаборЗаписей** - преобразуемый/восстанавливаемый набор записей регистра
197 | - **СтруктураОбъекта** - результат преобразования / источник для восстановления
198 | - **СписокСвойств** - список свойств, которые попадут в результат преобразования
199 | - **ИсключаяСвойства** - список свойств, которые не будут преобразованы (приоритет выше чем у СписокСвойств)
200 |
201 | ___
202 |
203 | - НаборЗаписейРегистраСведенийВСтруктуру(НаборЗаписей, СписокСвойств, ИсключаяСвойства)
204 | - НаборЗаписейРегистраСведенийИзСтруктуры(НаборЗаписей, СтруктураОбъекта, ПолучатьБитыеСсылки, СписокСвойств, ИсключаяСвойства)
205 |
206 | ___
207 |
208 | - НаборЗаписейРегистраНакопленияВСтруктуру(НаборЗаписей, СписокСвойств, ИсключаяСвойства)
209 | - НаборЗаписейРегистраНакопленияИзСтруктуры(НаборЗаписей, СтруктураОбъекта, ПолучатьБитыеСсылки, СписокСвойств, ИсключаяСвойства)
210 |
211 | ___
212 |
213 | - НаборЗаписейРегистраБухгалтерииВСтруктуру(НаборЗаписей, СписокСвойств, ИсключаяСвойства)
214 | - НаборЗаписейРегистраБухгалтерииИзСтруктуры(НаборЗаписей, СтруктураОбъекта, ПолучатьБитыеСсылки, СписокСвойств, ИсключаяСвойства)
215 |
216 | ___
217 |
218 | - НаборЗаписейРегистраРасчетаВСтруктуру(НаборЗаписей, СписокСвойств, ИсключаяСвойства)
219 | - НаборЗаписейРегистраРасчетаИзСтруктуры(НаборЗаписей, СтруктураОбъекта, ПолучатьБитыеСсылки, СписокСвойств, ИсключаяСвойства)
220 |
221 | ___
222 |
223 | #### Коллекции
224 |
225 | При преобразовании коллекций выполняется рекурсивное преобразование всех вложенных значений с использованием функций ЗначениеВСтруктуру()/ЗначениеИзСтруктуры().
226 |
227 | - СтруктураВСтруктуру(Значение)
228 | - СтруктураИзСтруктуры(СтруктураЗначения)
229 |
230 | ___
231 |
232 | - МассивВСтруктуру(Значение)
233 | - МассивИзСтруктуры(СтруктураЗначения)
234 |
235 | ___
236 |
237 | - СоответствиеВСтруктуру(Значение)
238 | - СоответствиеИзСтруктуры(СтруктураЗначения)
239 |
240 | ___
241 |
242 | - СписокЗначенийВСтруктуру(Значение)
243 | - СписокЗначенийИзСтруктуры(СтруктураЗначения)
244 |
245 | ___
246 |
247 | - ТаблицаЗначенийВСтруктуру(Значение, СписокСвойств, ИсключаяСвойства)
248 | - ТаблицаЗначенийИзСтруктуры(СтруктураЗначения, СписокСвойств, ИсключаяСвойства)
249 |
250 | ___
251 |
252 | - ДеревоЗначенийВСтруктуру(Значение, СписокСвойств, ИсключаяСвойства)
253 | - ДеревоЗначенийИзСтруктуры(СтруктураЗначения, СписокСвойств, ИсключаяСвойства)
254 |
255 | ___
256 |
257 | ### Методы преобразования данных формы
258 |
259 | - ДанныеФормыВСтруктуру(Форма, ТолькоСохраняемые, СписокСвойств, ИсключаяСвойства)
260 | - ДанныеФормыИзСтруктуры(Форма, СтруктураДанных, ПроверятьИмяФормы, СоздаватьРеквизиты, СписокСвойств, ИсключаяСвойства)
261 |
262 | ### Методы преобразования объектов СКД
263 |
264 | - СКДВСтруктуру(Объект)
265 | - СКДИзСтруктуры(Объект, СтруктураОбъекта)
266 |
267 | ___
268 |
269 | - НастройкиСКДВСтруктуру(Объект)
270 | - НастройкиСКДИзСтруктуры(Объект, СтруктураОбъекта)
271 |
272 | ___
273 |
274 | ### Методы чтения/записи JSON
275 |
276 | При чтении записи JSON выполняется преобразование типов не совместимых с JSON в/из строки. Для преобразования "неизвестных" типов используется ЗначениеВСтрокуВнутр().
277 | Значения типа "Дата" записываются/читаются в формате Microsoft.
278 |
279 | - ЗаписатьОписаниеОбъектаВJSON(ОписаниеОбъекта)
280 | - ПрочитатьОписаниеОбъектаИзJSON(ТекстОписанияОбъекта, СвойстваСоЗначениемДата)
281 |
282 | ___
283 |
--------------------------------------------------------------------------------
/dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных/Templates/ОписаниеТипов/Template.txt:
--------------------------------------------------------------------------------
1 | {
2 | "Константа": {
3 | "ИменаКоллекции" : [
4 | "константа",
5 | "константаменеджер",
6 | "константаменеджерзначения",
7 | "константаключзначения",
8 | "константы",
9 | "константыменеджер",
10 | "константынабор"
11 | ],
12 | "Коллекция" : "Константы",
13 | "Представление" : "Константа",
14 | "ПредставлениеМ" : "Константы",
15 | "Конструктор" : null,
16 | "КонструкторАльт" : null,
17 | "Картинка" : "Константа",
18 | "КартинкаОбъекта" : "Константа"
19 | },
20 | "Справочник": {
21 | "ИменаКоллекции" : [
22 | "справочник",
23 | "справочникссылка",
24 | "справочникобъект",
25 | "справочниквыборка",
26 | "справочникменеджер",
27 | "справочниксписок",
28 | "справочники",
29 | "справочникименеджер"
30 | ],
31 | "Коллекция" : "Справочники",
32 | "Представление" : "Справочник",
33 | "ПредставлениеМ" : "Справочники",
34 | "Конструктор" : "СоздатьЭлемент",
35 | "КонструкторАльт" : "СоздатьГруппу",
36 | "Картинка" : "Справочник",
37 | "КартинкаОбъекта" : "СправочникОбъект"
38 | },
39 | "Документ": {
40 | "ИменаКоллекции" : [
41 | "документ",
42 | "документссылка",
43 | "документобъект",
44 | "документвыборка",
45 | "документменеджер",
46 | "документсписок",
47 | "документы",
48 | "документыменеджер"
49 | ],
50 | "Коллекция" : "Документы",
51 | "Представление" : "Документ",
52 | "ПредставлениеМ" : "Документы",
53 | "Конструктор" : "СоздатьДокумент",
54 | "КонструкторАльт" : null,
55 | "Картинка" : "Документ",
56 | "КартинкаОбъекта" : "ДокументОбъект"
57 | },
58 | "ЖурналДокументов": {
59 | "ИменаКоллекции" : [
60 | "журналдокументов",
61 | "журналдокументоввыборка",
62 | "журналдокументовменеджер",
63 | "журналдокументовсписок",
64 | "журналыдокументов",
65 | "журналыдокументовменеджер"
66 | ],
67 | "Коллекция" : "ЖурналыДокументов",
68 | "Представление" : "Журнал документов",
69 | "ПредставлениеМ" : "Журналы документов",
70 | "Конструктор" : null,
71 | "КонструкторАльт" : null,
72 | "Картинка" : "ЖурналДокументов",
73 | "КартинкаОбъекта" : "ЖурналДокументов"
74 | },
75 | "ПланВидовХарактеристик": {
76 | "ИменаКоллекции" : [
77 | "планвидовхарактеристик",
78 | "планвидовхарактеристикссылка",
79 | "планвидовхарактеристикобъект",
80 | "планвидовхарактеристиквыборка",
81 | "планвидовхарактеристикменеджер",
82 | "планвидовхарактеристиксписок",
83 | "планывидовхарактеристик",
84 | "планывидовхарактеристикменеджер"
85 | ],
86 | "Коллекция" : "ПланыВидовХарактеристик",
87 | "Представление" : "План видов характеристик",
88 | "ПредставлениеМ" : "Планы видов характеристик",
89 | "Конструктор" : "СоздатьЭлемент",
90 | "КонструкторАльт" : "СоздатьГруппу",
91 | "Картинка" : "ПланВидовХарактеристик",
92 | "КартинкаОбъекта" : "ПланВидовХарактеристик"
93 | },
94 | "ПланСчетов": {
95 | "ИменаКоллекции" : [
96 | "плансчетов",
97 | "плансчетовссылка",
98 | "плансчетовобъект",
99 | "плансчетоввыборка",
100 | "плансчетовменеджер",
101 | "плансчетовсписок",
102 | "планысчетов",
103 | "планысчетовменеджер"
104 | ],
105 | "Коллекция" : "ПланыСчетов",
106 | "Представление" : "План счетов",
107 | "ПредставлениеМ" : "Планы счетов",
108 | "Конструктор" : "СоздатьСчет",
109 | "КонструкторАльт" : null,
110 | "Картинка" : "ПланСчетов",
111 | "КартинкаОбъекта" : "ПланСчетов"
112 | },
113 | "ПланВидовРасчета": {
114 | "ИменаКоллекции" : [
115 | "планвидоврасчета",
116 | "планвидоврасчетассылка",
117 | "планвидоврасчетаобъект",
118 | "планвидоврасчетавыборка",
119 | "планвидоврасчетаменеджер",
120 | "планвидоврасчетасписок",
121 | "планывидоврасчета",
122 | "планывидоврасчетаменеджер"
123 | ],
124 | "Коллекция" : "ПланыВидовРасчета",
125 | "Представление" : "План видов расчета",
126 | "ПредставлениеМ" : "Планы видов расчета",
127 | "Конструктор" : "СоздатьВидРасчета",
128 | "КонструкторАльт" : null,
129 | "Картинка" : "ПланВидовРасчета",
130 | "КартинкаОбъекта" : "ПланВидовРасчета"
131 | },
132 | "ПланОбмена": {
133 | "ИменаКоллекции" : [
134 | "планобмена",
135 | "планобменассылка",
136 | "планобменаобъект",
137 | "планобменавыборка",
138 | "планобменаменеджер",
139 | "планобменасписок",
140 | "планыобмена",
141 | "планыобменаменеджер"
142 | ],
143 | "Коллекция" : "ПланыОбмена",
144 | "Представление" : "План обмена",
145 | "ПредставлениеМ" : "Планы обмена",
146 | "Конструктор" : "СоздатьУзел",
147 | "КонструкторАльт" : null,
148 | "Картинка" : "ПланОбмена",
149 | "КартинкаОбъекта" : "ПланОбмена"
150 | },
151 | "Перечисление": {
152 | "ИменаКоллекции" : [
153 | "перечисление",
154 | "перечислениессылка",
155 | "перечислениеменеджер",
156 | "перечислениесписок",
157 | "перечисления",
158 | "перечисленияменеджер"
159 | ],
160 | "Коллекция" : "Перечисления",
161 | "Представление" : "Перечисление",
162 | "ПредставлениеМ" : "Перечисления",
163 | "Конструктор" : null,
164 | "КонструкторАльт" : null,
165 | "Картинка" : "Перечисление",
166 | "КартинкаОбъекта" : "Перечисление"
167 | },
168 | "РегистрСведений": {
169 | "ИменаКоллекции" : [
170 | "регистрсведений",
171 | "регистрсведенийзапись",
172 | "регистрсведенийнаборзаписей",
173 | "регистрсведенийменеджерзаписи",
174 | "регистрсведенийключзаписи",
175 | "регистрсведенийвыборка",
176 | "регистрсведенийсписок",
177 | "регистрысведений",
178 | "регистрысведенийменеджер"
179 | ],
180 | "Коллекция" : "РегистрыСведений",
181 | "Представление" : "Регистр сведений",
182 | "ПредставлениеМ" : "Регистры сведений",
183 | "Конструктор" : "СоздатьНаборЗаписей",
184 | "КонструкторАльт" : "СоздатьМенеджерЗаписи",
185 | "Картинка" : "РегистрСведений",
186 | "КартинкаОбъекта" : "РегистрСведений"
187 | },
188 | "РегистрНакопления": {
189 | "ИменаКоллекции" : [
190 | "регистрнакопления",
191 | "регистрнакоплениязапись",
192 | "регистрнакоплениянаборзаписей",
193 | "регистрнакопленияключзаписи",
194 | "регистрнакоплениявыборка",
195 | "регистрнакоплениясписок",
196 | "регистрынакопления",
197 | "регистрынакопленияменеджер"
198 | ],
199 | "Коллекция" : "РегистрыНакопления",
200 | "Представление" : "Регистр накопления",
201 | "ПредставлениеМ" : "Регистры накопления",
202 | "Конструктор" : "СоздатьНаборЗаписей",
203 | "КонструкторАльт" : "СоздатьМенеджерЗаписи",
204 | "Картинка" : "РегистрНакопления",
205 | "КартинкаОбъекта" : "РегистрНакопления"
206 | },
207 | "РегистрБухгалтерии": {
208 | "ИменаКоллекции" : [
209 | "регистрбухгалтерии",
210 | "регистрбухгалтериизапись",
211 | "регистрбухгалтериинаборзаписей",
212 | "регистрбухгалтерииключзаписи",
213 | "регистрбухгалтериивыборка",
214 | "регистрбухгалтериисписок",
215 | "регистрбухгалтериисубконто",
216 | "регистрыбухгалтерии",
217 | "регистрыбухгалтериименеджер"
218 | ],
219 | "Коллекция" : "РегистрыБухгалтерии",
220 | "Представление" : "Регистр бухгалтерии",
221 | "ПредставлениеМ" : "Регистры бухгалтерии",
222 | "Конструктор" : "СоздатьНаборЗаписей",
223 | "КонструкторАльт" : "СоздатьМенеджерЗаписи",
224 | "Картинка" : "РегистрБухгалтерии",
225 | "КартинкаОбъекта" : "РегистрБухгалтерии"
226 | },
227 | "РегистрРасчета": {
228 | "ИменаКоллекции" : [
229 | "регистррасчета",
230 | "регистррасчетазапись",
231 | "регистррасчетанаборзаписей",
232 | "регистррасчетаключзаписи",
233 | "регистррасчетавыборка",
234 | "регистррасчетасписок",
235 | "регистрырасчета",
236 | "регистрырасчетаменеджер"
237 | ],
238 | "Коллекция" : "РегистрыРасчета",
239 | "Представление" : "Регистр расчета",
240 | "ПредставлениеМ" : "Регистры расчета",
241 | "Конструктор" : "СоздатьНаборЗаписей",
242 | "КонструкторАльт" : "СоздатьМенеджерЗаписи",
243 | "Картинка" : "РегистрРасчета",
244 | "КартинкаОбъекта" : "РегистрРасчета"
245 | },
246 | "Отчет": {
247 | "ИменаКоллекции" : [
248 | "отчет",
249 | "отчетобъект",
250 | "отчетменеджер",
251 | "отчеты",
252 | "отчетыменеджер"
253 | ],
254 | "Коллекция" : "Отчеты",
255 | "Представление" : "Отчет",
256 | "ПредставлениеМ" : "Отчеты",
257 | "Конструктор" : "Создать",
258 | "КонструкторАльт" : null,
259 | "Картинка" : "Отчет",
260 | "КартинкаОбъекта" : "Отчет"
261 | },
262 | "Обработка": {
263 | "ИменаКоллекции" : [
264 | "обработка",
265 | "обработкаобъект",
266 | "обработкаменеджер",
267 | "обработки",
268 | "обработкименеджер"
269 | ],
270 | "Коллекция" : "Обработки",
271 | "Представление" : "Обработка",
272 | "ПредставлениеМ" : "Обработки",
273 | "Конструктор" : "Создать",
274 | "КонструкторАльт" : null,
275 | "Картинка" : "Обработка",
276 | "КартинкаОбъекта" : "Обработка"
277 | },
278 | "БизнесПроцесс": {
279 | "ИменаКоллекции" : [
280 | "бизнеспроцесс",
281 | "бизнес-процесс",
282 | "бизнеспроцессссылка",
283 | "бизнеспроцессобъект",
284 | "бизнеспроцессвыборка",
285 | "бизнеспроцессменеджер",
286 | "бизнеспроцесссписок",
287 | "бизнеспроцессы",
288 | "бизнес-процессы",
289 | "бизнеспроцессыменеджер"
290 | ],
291 | "Коллекция" : "БизнесПроцессы",
292 | "Представление" : "Бизнес-процесс",
293 | "ПредставлениеМ" : "Бизнес-процессы",
294 | "Конструктор" : "СоздатьБизнесПроцесс",
295 | "КонструкторАльт" : null,
296 | "Картинка" : "БизнесПроцесс",
297 | "КартинкаОбъекта" : "БизнесПроцессОбъект"
298 | },
299 | "Задача": {
300 | "ИменаКоллекции" : [
301 | "задача",
302 | "задачассылка",
303 | "задачаобъект",
304 | "задачавыборка",
305 | "задачаменеджер",
306 | "задачасписок",
307 | "задачи",
308 | "задачименеджер"
309 | ],
310 | "Коллекция" : "Задачи",
311 | "Представление" : "Задача",
312 | "ПредставлениеМ" : "Задачи",
313 | "Конструктор" : "СоздатьЗадачу",
314 | "КонструкторАльт" : null,
315 | "Картинка" : "Задача",
316 | "КартинкаОбъекта" : "ЗадачаОбъект"
317 | },
318 | "ОбщаяФорма": {
319 | "ИменаКоллекции" : [
320 | "общаяформа",
321 | "общиеформы"
322 | ],
323 | "Коллекция" : "ОбщиеФормы",
324 | "Представление" : "Общая форма",
325 | "ПредставлениеМ" : "Общие формы",
326 | "Конструктор" : null,
327 | "КонструкторАльт" : null,
328 | "Картинка" : "РедактироватьВДиалоге",
329 | "КартинкаОбъекта" : "РедактироватьВДиалоге"
330 | },
331 | "РегламентноеЗадание": {
332 | "ИменаКоллекции" : [
333 | "регламентноезадание",
334 | "регламентныезадания"
335 | ],
336 | "Коллекция" : "РегламентныеЗадания",
337 | "Представление" : "Регламентное задание",
338 | "ПредставлениеМ" : "Регламентные задания",
339 | "Конструктор" : "СоздатьРегламентноеЗадание",
340 | "КонструкторАльт" : null,
341 | "Картинка" : "РегламентныеЗадания",
342 | "КартинкаОбъекта" : "РегламентноеЗадание"
343 | },
344 | "Роль": {
345 | "ИменаКоллекции" : [
346 | "роль",
347 | "роли"
348 | ],
349 | "Коллекция" : "Роли",
350 | "Представление" : "Роль",
351 | "ПредставлениеМ" : "Роли",
352 | "Конструктор" : null,
353 | "КонструкторАльт" : null,
354 | "Картинка" : "ПользовательБезНеобходимыхСвойств",
355 | "КартинкаОбъекта" : "ПользовательБезНеобходимыхСвойств"
356 | },
357 | "Интерфейс": {
358 | "ИменаКоллекции" : [
359 | "интерфейс",
360 | "интерфейсы"
361 | ],
362 | "Коллекция" : "Интерфейсы",
363 | "Представление" : "Интерфейс",
364 | "ПредставлениеМ" : "Интерфейсы",
365 | "Конструктор" : null,
366 | "КонструкторАльт" : null,
367 | "Картинка" : "НастройкаСписка",
368 | "КартинкаОбъекта" : "НастройкаСписка"
369 | }
370 | }
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Mozilla Public License Version 2.0
2 | ==================================
3 |
4 | 1. Definitions
5 | --------------
6 |
7 | 1.1. "Contributor"
8 | means each individual or legal entity that creates, contributes to
9 | the creation of, or owns Covered Software.
10 |
11 | 1.2. "Contributor Version"
12 | means the combination of the Contributions of others (if any) used
13 | by a Contributor and that particular Contributor's Contribution.
14 |
15 | 1.3. "Contribution"
16 | means Covered Software of a particular Contributor.
17 |
18 | 1.4. "Covered Software"
19 | means Source Code Form to which the initial Contributor has attached
20 | the notice in Exhibit A, the Executable Form of such Source Code
21 | Form, and Modifications of such Source Code Form, in each case
22 | including portions thereof.
23 |
24 | 1.5. "Incompatible With Secondary Licenses"
25 | means
26 |
27 | (a) that the initial Contributor has attached the notice described
28 | in Exhibit B to the Covered Software; or
29 |
30 | (b) that the Covered Software was made available under the terms of
31 | version 1.1 or earlier of the License, but not also under the
32 | terms of a Secondary License.
33 |
34 | 1.6. "Executable Form"
35 | means any form of the work other than Source Code Form.
36 |
37 | 1.7. "Larger Work"
38 | means a work that combines Covered Software with other material, in
39 | a separate file or files, that is not Covered Software.
40 |
41 | 1.8. "License"
42 | means this document.
43 |
44 | 1.9. "Licensable"
45 | means having the right to grant, to the maximum extent possible,
46 | whether at the time of the initial grant or subsequently, any and
47 | all of the rights conveyed by this License.
48 |
49 | 1.10. "Modifications"
50 | means any of the following:
51 |
52 | (a) any file in Source Code Form that results from an addition to,
53 | deletion from, or modification of the contents of Covered
54 | Software; or
55 |
56 | (b) any new file in Source Code Form that contains any Covered
57 | Software.
58 |
59 | 1.11. "Patent Claims" of a Contributor
60 | means any patent claim(s), including without limitation, method,
61 | process, and apparatus claims, in any patent Licensable by such
62 | Contributor that would be infringed, but for the grant of the
63 | License, by the making, using, selling, offering for sale, having
64 | made, import, or transfer of either its Contributions or its
65 | Contributor Version.
66 |
67 | 1.12. "Secondary License"
68 | means either the GNU General Public License, Version 2.0, the GNU
69 | Lesser General Public License, Version 2.1, the GNU Affero General
70 | Public License, Version 3.0, or any later versions of those
71 | licenses.
72 |
73 | 1.13. "Source Code Form"
74 | means the form of the work preferred for making modifications.
75 |
76 | 1.14. "You" (or "Your")
77 | means an individual or a legal entity exercising rights under this
78 | License. For legal entities, "You" includes any entity that
79 | controls, is controlled by, or is under common control with You. For
80 | purposes of this definition, "control" means (a) the power, direct
81 | or indirect, to cause the direction or management of such entity,
82 | whether by contract or otherwise, or (b) ownership of more than
83 | fifty percent (50%) of the outstanding shares or beneficial
84 | ownership of such entity.
85 |
86 | 2. License Grants and Conditions
87 | --------------------------------
88 |
89 | 2.1. Grants
90 |
91 | Each Contributor hereby grants You a world-wide, royalty-free,
92 | non-exclusive license:
93 |
94 | (a) under intellectual property rights (other than patent or trademark)
95 | Licensable by such Contributor to use, reproduce, make available,
96 | modify, display, perform, distribute, and otherwise exploit its
97 | Contributions, either on an unmodified basis, with Modifications, or
98 | as part of a Larger Work; and
99 |
100 | (b) under Patent Claims of such Contributor to make, use, sell, offer
101 | for sale, have made, import, and otherwise transfer either its
102 | Contributions or its Contributor Version.
103 |
104 | 2.2. Effective Date
105 |
106 | The licenses granted in Section 2.1 with respect to any Contribution
107 | become effective for each Contribution on the date the Contributor first
108 | distributes such Contribution.
109 |
110 | 2.3. Limitations on Grant Scope
111 |
112 | The licenses granted in this Section 2 are the only rights granted under
113 | this License. No additional rights or licenses will be implied from the
114 | distribution or licensing of Covered Software under this License.
115 | Notwithstanding Section 2.1(b) above, no patent license is granted by a
116 | Contributor:
117 |
118 | (a) for any code that a Contributor has removed from Covered Software;
119 | or
120 |
121 | (b) for infringements caused by: (i) Your and any other third party's
122 | modifications of Covered Software, or (ii) the combination of its
123 | Contributions with other software (except as part of its Contributor
124 | Version); or
125 |
126 | (c) under Patent Claims infringed by Covered Software in the absence of
127 | its Contributions.
128 |
129 | This License does not grant any rights in the trademarks, service marks,
130 | or logos of any Contributor (except as may be necessary to comply with
131 | the notice requirements in Section 3.4).
132 |
133 | 2.4. Subsequent Licenses
134 |
135 | No Contributor makes additional grants as a result of Your choice to
136 | distribute the Covered Software under a subsequent version of this
137 | License (see Section 10.2) or under the terms of a Secondary License (if
138 | permitted under the terms of Section 3.3).
139 |
140 | 2.5. Representation
141 |
142 | Each Contributor represents that the Contributor believes its
143 | Contributions are its original creation(s) or it has sufficient rights
144 | to grant the rights to its Contributions conveyed by this License.
145 |
146 | 2.6. Fair Use
147 |
148 | This License is not intended to limit any rights You have under
149 | applicable copyright doctrines of fair use, fair dealing, or other
150 | equivalents.
151 |
152 | 2.7. Conditions
153 |
154 | Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
155 | in Section 2.1.
156 |
157 | 3. Responsibilities
158 | -------------------
159 |
160 | 3.1. Distribution of Source Form
161 |
162 | All distribution of Covered Software in Source Code Form, including any
163 | Modifications that You create or to which You contribute, must be under
164 | the terms of this License. You must inform recipients that the Source
165 | Code Form of the Covered Software is governed by the terms of this
166 | License, and how they can obtain a copy of this License. You may not
167 | attempt to alter or restrict the recipients' rights in the Source Code
168 | Form.
169 |
170 | 3.2. Distribution of Executable Form
171 |
172 | If You distribute Covered Software in Executable Form then:
173 |
174 | (a) such Covered Software must also be made available in Source Code
175 | Form, as described in Section 3.1, and You must inform recipients of
176 | the Executable Form how they can obtain a copy of such Source Code
177 | Form by reasonable means in a timely manner, at a charge no more
178 | than the cost of distribution to the recipient; and
179 |
180 | (b) You may distribute such Executable Form under the terms of this
181 | License, or sublicense it under different terms, provided that the
182 | license for the Executable Form does not attempt to limit or alter
183 | the recipients' rights in the Source Code Form under this License.
184 |
185 | 3.3. Distribution of a Larger Work
186 |
187 | You may create and distribute a Larger Work under terms of Your choice,
188 | provided that You also comply with the requirements of this License for
189 | the Covered Software. If the Larger Work is a combination of Covered
190 | Software with a work governed by one or more Secondary Licenses, and the
191 | Covered Software is not Incompatible With Secondary Licenses, this
192 | License permits You to additionally distribute such Covered Software
193 | under the terms of such Secondary License(s), so that the recipient of
194 | the Larger Work may, at their option, further distribute the Covered
195 | Software under the terms of either this License or such Secondary
196 | License(s).
197 |
198 | 3.4. Notices
199 |
200 | You may not remove or alter the substance of any license notices
201 | (including copyright notices, patent notices, disclaimers of warranty,
202 | or limitations of liability) contained within the Source Code Form of
203 | the Covered Software, except that You may alter any license notices to
204 | the extent required to remedy known factual inaccuracies.
205 |
206 | 3.5. Application of Additional Terms
207 |
208 | You may choose to offer, and to charge a fee for, warranty, support,
209 | indemnity or liability obligations to one or more recipients of Covered
210 | Software. However, You may do so only on Your own behalf, and not on
211 | behalf of any Contributor. You must make it absolutely clear that any
212 | such warranty, support, indemnity, or liability obligation is offered by
213 | You alone, and You hereby agree to indemnify every Contributor for any
214 | liability incurred by such Contributor as a result of warranty, support,
215 | indemnity or liability terms You offer. You may include additional
216 | disclaimers of warranty and limitations of liability specific to any
217 | jurisdiction.
218 |
219 | 4. Inability to Comply Due to Statute or Regulation
220 | ---------------------------------------------------
221 |
222 | If it is impossible for You to comply with any of the terms of this
223 | License with respect to some or all of the Covered Software due to
224 | statute, judicial order, or regulation then You must: (a) comply with
225 | the terms of this License to the maximum extent possible; and (b)
226 | describe the limitations and the code they affect. Such description must
227 | be placed in a text file included with all distributions of the Covered
228 | Software under this License. Except to the extent prohibited by statute
229 | or regulation, such description must be sufficiently detailed for a
230 | recipient of ordinary skill to be able to understand it.
231 |
232 | 5. Termination
233 | --------------
234 |
235 | 5.1. The rights granted under this License will terminate automatically
236 | if You fail to comply with any of its terms. However, if You become
237 | compliant, then the rights granted under this License from a particular
238 | Contributor are reinstated (a) provisionally, unless and until such
239 | Contributor explicitly and finally terminates Your grants, and (b) on an
240 | ongoing basis, if such Contributor fails to notify You of the
241 | non-compliance by some reasonable means prior to 60 days after You have
242 | come back into compliance. Moreover, Your grants from a particular
243 | Contributor are reinstated on an ongoing basis if such Contributor
244 | notifies You of the non-compliance by some reasonable means, this is the
245 | first time You have received notice of non-compliance with this License
246 | from such Contributor, and You become compliant prior to 30 days after
247 | Your receipt of the notice.
248 |
249 | 5.2. If You initiate litigation against any entity by asserting a patent
250 | infringement claim (excluding declaratory judgment actions,
251 | counter-claims, and cross-claims) alleging that a Contributor Version
252 | directly or indirectly infringes any patent, then the rights granted to
253 | You by any and all Contributors for the Covered Software under Section
254 | 2.1 of this License shall terminate.
255 |
256 | 5.3. In the event of termination under Sections 5.1 or 5.2 above, all
257 | end user license agreements (excluding distributors and resellers) which
258 | have been validly granted by You or Your distributors under this License
259 | prior to termination shall survive termination.
260 |
261 | ************************************************************************
262 | * *
263 | * 6. Disclaimer of Warranty *
264 | * ------------------------- *
265 | * *
266 | * Covered Software is provided under this License on an "as is" *
267 | * basis, without warranty of any kind, either expressed, implied, or *
268 | * statutory, including, without limitation, warranties that the *
269 | * Covered Software is free of defects, merchantable, fit for a *
270 | * particular purpose or non-infringing. The entire risk as to the *
271 | * quality and performance of the Covered Software is with You. *
272 | * Should any Covered Software prove defective in any respect, You *
273 | * (not any Contributor) assume the cost of any necessary servicing, *
274 | * repair, or correction. This disclaimer of warranty constitutes an *
275 | * essential part of this License. No use of any Covered Software is *
276 | * authorized under this License except under this disclaimer. *
277 | * *
278 | ************************************************************************
279 |
280 | ************************************************************************
281 | * *
282 | * 7. Limitation of Liability *
283 | * -------------------------- *
284 | * *
285 | * Under no circumstances and under no legal theory, whether tort *
286 | * (including negligence), contract, or otherwise, shall any *
287 | * Contributor, or anyone who distributes Covered Software as *
288 | * permitted above, be liable to You for any direct, indirect, *
289 | * special, incidental, or consequential damages of any character *
290 | * including, without limitation, damages for lost profits, loss of *
291 | * goodwill, work stoppage, computer failure or malfunction, or any *
292 | * and all other commercial damages or losses, even if such party *
293 | * shall have been informed of the possibility of such damages. This *
294 | * limitation of liability shall not apply to liability for death or *
295 | * personal injury resulting from such party's negligence to the *
296 | * extent applicable law prohibits such limitation. Some *
297 | * jurisdictions do not allow the exclusion or limitation of *
298 | * incidental or consequential damages, so this exclusion and *
299 | * limitation may not apply to You. *
300 | * *
301 | ************************************************************************
302 |
303 | 8. Litigation
304 | -------------
305 |
306 | Any litigation relating to this License may be brought only in the
307 | courts of a jurisdiction where the defendant maintains its principal
308 | place of business and such litigation shall be governed by laws of that
309 | jurisdiction, without reference to its conflict-of-law provisions.
310 | Nothing in this Section shall prevent a party's ability to bring
311 | cross-claims or counter-claims.
312 |
313 | 9. Miscellaneous
314 | ----------------
315 |
316 | This License represents the complete agreement concerning the subject
317 | matter hereof. If any provision of this License is held to be
318 | unenforceable, such provision shall be reformed only to the extent
319 | necessary to make it enforceable. Any law or regulation which provides
320 | that the language of a contract shall be construed against the drafter
321 | shall not be used to construe this License against a Contributor.
322 |
323 | 10. Versions of the License
324 | ---------------------------
325 |
326 | 10.1. New Versions
327 |
328 | Mozilla Foundation is the license steward. Except as provided in Section
329 | 10.3, no one other than the license steward has the right to modify or
330 | publish new versions of this License. Each version will be given a
331 | distinguishing version number.
332 |
333 | 10.2. Effect of New Versions
334 |
335 | You may distribute the Covered Software under the terms of the version
336 | of the License under which You originally received the Covered Software,
337 | or under the terms of any subsequent version published by the license
338 | steward.
339 |
340 | 10.3. Modified Versions
341 |
342 | If you create software not governed by this License, and you want to
343 | create a new license for such software, you may create and use a
344 | modified version of this License if you rename the license and remove
345 | any references to the name of the license steward (except to note that
346 | such modified license differs from this License).
347 |
348 | 10.4. Distributing Source Code Form that is Incompatible With Secondary
349 | Licenses
350 |
351 | If You choose to distribute Source Code Form that is Incompatible With
352 | Secondary Licenses under the terms of this version of the License, the
353 | notice described in Exhibit B of this License must be attached.
354 |
355 | Exhibit A - Source Code Form License Notice
356 | -------------------------------------------
357 |
358 | This Source Code Form is subject to the terms of the Mozilla Public
359 | License, v. 2.0. If a copy of the MPL was not distributed with this
360 | file, You can obtain one at http://mozilla.org/MPL/2.0/.
361 |
362 | If it is not possible or desirable to put the notice in a particular
363 | file, then You may include the notice in a location (such as a LICENSE
364 | file in a relevant directory) where a recipient would be likely to look
365 | for such a notice.
366 |
367 | You may add additional accurate notices of copyright ownership.
368 |
369 | Exhibit B - "Incompatible With Secondary Licenses" Notice
370 | ---------------------------------------------------------
371 |
372 | This Source Code Form is "Incompatible With Secondary Licenses", as
373 | defined by the Mozilla Public License, v. 2.0.
--------------------------------------------------------------------------------
/dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных_Тест/Forms/Форма/Module.bsl:
--------------------------------------------------------------------------------
1 | // ----------------------------------------------------------
2 | // This Source Code Form is subject to the terms of the
3 | // Mozilla Public License, v.2.0. If a copy of the MPL
4 | // was not distributed with this file, You can obtain one
5 | // at http://mozilla.org/MPL/2.0/.
6 | // ----------------------------------------------------------
7 | // Codebase: https://github.com/ArKuznetsov/SerLib1C/
8 | // ----------------------------------------------------------
9 |
10 | &НаКлиенте
11 | Перем Настройки;
12 | &НаСервере
13 | Перем Библиотека;
14 |
15 | #Область ОбработчикиСобытийФормы
16 |
17 | // Процедура - обработчик события "ПриСозданииНаСервере" формы
18 | //
19 | &НаСервере
20 | Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
21 |
22 | Для Каждого ТекОтчет Из Метаданные.Отчеты Цикл
23 | ТестируемыеОтчеты.Добавить(ТекОтчет.Имя, ТекОтчет.Представление());
24 | КонецЦикла;
25 | ТестируемыеОтчеты.СортироватьПоПредставлению();
26 |
27 | КонецПроцедуры // ПриСозданииНаСервере()
28 |
29 | // Процедура - обработчик события "ПриОткрытии" формы
30 | //
31 | &НаКлиенте
32 | Процедура ПриОткрытии(Отказ)
33 |
34 | РазмерПорции = 20;
35 |
36 | Настройки = ПолучитьНастройки();
37 |
38 | ПроверитьСвойства(Настройки, "ПреобразованиеДанных", "Отсутствуют обязательные настройки: %1");
39 |
40 | ПодключитьВнешнююОбработку("ПреобразованиеДанных", Настройки.ПреобразованиеДанных);
41 |
42 | Элементы.ВерсияБиблиотеки.Заголовок = "v. " + ВерсияБиблиотеки();
43 |
44 | КонецПроцедуры // ПриОткрытии()
45 |
46 | #КонецОбласти
47 |
48 | #Область ОбработчикиЭлементовФормы
49 |
50 | // Процедура - обработка начала выбора каталога
51 | //
52 | &НаКлиенте
53 | Процедура КаталогВыгрузкиНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
54 |
55 | Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);
56 | Диалог.Заголовок = "Каталог результатов теста СКД";
57 |
58 | ЗавершениеВыбораКаталога = Новый ОписаниеОповещения("КаталогВыгрузкиНачалоВыбораЗавершение", ЭтаФорма);
59 |
60 | Диалог.Показать(ЗавершениеВыбораКаталога);
61 |
62 | КонецПроцедуры // КаталогВыгрузкиНачалоВыбора()
63 |
64 | // Процедура - продолжение обработки выбора каталога
65 | //
66 | &НаКлиенте
67 | Процедура КаталогВыгрузкиНачалоВыбораЗавершение(ВыбранныеФайлы, ДополнительныеПараметры) Экспорт
68 |
69 | Если НЕ ТипЗнч(ВыбранныеФайлы) = Тип("Массив") Тогда
70 | Возврат;
71 | КонецЕсли;
72 |
73 | Если ВыбранныеФайлы.Количество() = 0 Тогда
74 | Возврат;
75 | КонецЕсли;
76 |
77 | КаталогВыгрузки = ВыбранныеФайлы[0];
78 |
79 | КонецПроцедуры // КаталогВыгрузкиНачалоВыбораЗавершение()
80 |
81 | #КонецОбласти
82 |
83 | #Область ОбработкаКоманд
84 |
85 | // Функция - возращает массив ссылок на тестируемые объекты
86 | //
87 | // Возвращаемое значение:
88 | // Массив(Структура) - описание объекта для тестирования преобразования
89 | // *Ссылка - Ссылка, НаборЗаписей - ссылка на объект для тестирования или набор записей
90 | // *ПравилаВыгрузки - Массив(Структура) - описание правил дополнения результата выгрузки объекта
91 | // *ТипИсточника - Строка - имя типа источника, обрабатываемого правилом
92 | // *ФункцияДополнения - Строка - имя функции обработки результата выгрузки объекта
93 | &НаСервере
94 | Функция ПолучитьОбъектыДляТестированияНаСервере()
95 |
96 | МассивСсылок = Новый Массив();
97 |
98 | Первые = ?(КоличествоВВыборке > 0, " ПЕРВЫЕ " + Формат(КоличествоВВыборке, "ЧГ=;"), "");
99 |
100 | Для Каждого ТекМетаОбъект Из Метаданные.Справочники Цикл
101 |
102 | Если ТекМетаОбъект.Иерархический
103 | И ТекМетаОбъект.ВидИерархии = Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияГруппИЭлементов Тогда
104 | Запрос = Новый Запрос("ВЫБРАТЬ" + Первые +
105 | " ТекТаб.Ссылка ИЗ Справочник." + ТекМетаОбъект.Имя +
106 | " КАК ТекТаб ГДЕ ТекТаб.ЭтоГруппа");
107 | Результат = Запрос.Выполнить();
108 | Выборка = Результат.Выбрать();
109 | Пока Выборка.Следующий() Цикл
110 | СтруктураСсылки = Новый Структура("Ссылка, ПравилаВыгрузки", Выборка.Ссылка, Новый Массив());
111 | СтруктураСсылки.ПравилаВыгрузки.Добавить(Новый Структура("ТипИсточника, ФункцияДополнения",
112 | ТекМетаОбъект.ПолноеИмя(),
113 | "ДобавитьНаименованиеОбъекта"));
114 | МассивСсылок.Добавить(СтруктураСсылки);
115 |
116 | КонецЦикла;
117 | Запрос = Новый Запрос("ВЫБРАТЬ" + Первые +
118 | " ТекТаб.Ссылка ИЗ Справочник." + ТекМетаОбъект.Имя +
119 | " КАК ТекТаб ГДЕ НЕ ТекТаб.ЭтоГруппа");
120 | Иначе
121 | Запрос = Новый Запрос("ВЫБРАТЬ" + Первые +
122 | " ТекТаб.Ссылка ИЗ Справочник." + ТекМетаОбъект.Имя +
123 | " КАК ТекТаб");
124 | КонецЕсли;
125 | Результат = Запрос.Выполнить();
126 | Выборка = Результат.Выбрать();
127 | Пока Выборка.Следующий() Цикл
128 | СтруктураСсылки = Новый Структура("Ссылка, ПравилаВыгрузки", Выборка.Ссылка, Новый Массив());
129 | СтруктураСсылки.ПравилаВыгрузки.Добавить(Новый Структура("ТипИсточника, ФункцияДополнения",
130 | ТекМетаОбъект.ПолноеИмя(),
131 | "ДобавитьНаименованиеОбъекта"));
132 | МассивСсылок.Добавить(СтруктураСсылки);
133 | КонецЦикла;
134 | КонецЦикла;
135 |
136 | Для Каждого ТекМетаОбъект Из Метаданные.ПланыВидовХарактеристик Цикл
137 |
138 | Если ТекМетаОбъект.Иерархический Тогда
139 | Запрос = Новый Запрос("ВЫБРАТЬ" + Первые +
140 | " ТекТаб.Ссылка ИЗ ПланВидовХарактеристик." + ТекМетаОбъект.Имя +
141 | " КАК ТекТаб ГДЕ ТекТаб.ЭтоГруппа");
142 | Результат = Запрос.Выполнить();
143 | Выборка = Результат.Выбрать();
144 | Пока Выборка.Следующий() Цикл
145 | СтруктураСсылки = Новый Структура("Ссылка, ПравилаВыгрузки", Выборка.Ссылка, Новый Массив());
146 | МассивСсылок.Добавить(СтруктураСсылки);
147 | КонецЦикла;
148 | Запрос = Новый Запрос("ВЫБРАТЬ" + Первые +
149 | " ТекТаб.Ссылка ИЗ ПланВидовХарактеристик." + ТекМетаОбъект.Имя +
150 | " КАК ТекТаб ГДЕ НЕ ТекТаб.ЭтоГруппа");
151 | Иначе
152 | Запрос = Новый Запрос("ВЫБРАТЬ" + Первые +
153 | " ТекТаб.Ссылка ИЗ ПланВидовХарактеристик." + ТекМетаОбъект.Имя +
154 | " КАК ТекТаб");
155 | КонецЕсли;
156 | Результат = Запрос.Выполнить();
157 | Выборка = Результат.Выбрать();
158 | Пока Выборка.Следующий() Цикл
159 | СтруктураСсылки = Новый Структура("Ссылка, ПравилаВыгрузки", Выборка.Ссылка, Новый Массив());
160 | МассивСсылок.Добавить(СтруктураСсылки);
161 | КонецЦикла;
162 | КонецЦикла;
163 |
164 | Для Каждого ТекМетаОбъект Из Метаданные.ПланыВидовРасчета Цикл
165 |
166 | Запрос = Новый Запрос("ВЫБРАТЬ" + Первые +
167 | " ТекТаб.Ссылка ИЗ ПланВидовРасчета." + ТекМетаОбъект.Имя +
168 | " КАК ТекТаб");
169 |
170 | Результат = Запрос.Выполнить();
171 | Выборка = Результат.Выбрать();
172 | Пока Выборка.Следующий() Цикл
173 | СтруктураСсылки = Новый Структура("Ссылка, ПравилаВыгрузки", Выборка.Ссылка, Новый Массив());
174 | МассивСсылок.Добавить(СтруктураСсылки);
175 | КонецЦикла;
176 | КонецЦикла;
177 |
178 | Для Каждого ТекМетаОбъект Из Метаданные.ПланыСчетов Цикл
179 |
180 | Запрос = Новый Запрос("ВЫБРАТЬ" + Первые +
181 | " ТекТаб.Ссылка ИЗ ПланСчетов." + ТекМетаОбъект.Имя +
182 | " КАК ТекТаб");
183 |
184 | Результат = Запрос.Выполнить();
185 | Выборка = Результат.Выбрать();
186 | Пока Выборка.Следующий() Цикл
187 | СтруктураСсылки = Новый Структура("Ссылка, ПравилаВыгрузки", Выборка.Ссылка, Новый Массив());
188 | МассивСсылок.Добавить(СтруктураСсылки);
189 | КонецЦикла;
190 | КонецЦикла;
191 |
192 | Для Каждого ТекМетаОбъект Из Метаданные.ПланыОбмена Цикл
193 |
194 | Запрос = Новый Запрос("ВЫБРАТЬ" + Первые +
195 | " ТекТаб.Ссылка ИЗ ПланОбмена." + ТекМетаОбъект.Имя +
196 | " КАК ТекТаб");
197 |
198 | Результат = Запрос.Выполнить();
199 | Выборка = Результат.Выбрать();
200 | Пока Выборка.Следующий() Цикл
201 | СтруктураСсылки = Новый Структура("Ссылка, ПравилаВыгрузки", Выборка.Ссылка, Новый Массив());
202 | МассивСсылок.Добавить(СтруктураСсылки);
203 | КонецЦикла;
204 | КонецЦикла;
205 |
206 | Для Каждого ТекМетаОбъект Из Метаданные.Документы Цикл
207 |
208 | Запрос = Новый Запрос("ВЫБРАТЬ" + Первые +
209 | " ТекТаб.Ссылка ИЗ Документ." + ТекМетаОбъект.Имя +
210 | " КАК ТекТаб");
211 |
212 | Результат = Запрос.Выполнить();
213 | Выборка = Результат.Выбрать();
214 | Пока Выборка.Следующий() Цикл
215 | СтруктураСсылки = Новый Структура("Ссылка, ПравилаВыгрузки", Выборка.Ссылка, Новый Массив());
216 | МассивСсылок.Добавить(СтруктураСсылки);
217 | КонецЦикла;
218 | КонецЦикла;
219 |
220 | Возврат МассивСсылок;
221 |
222 | КонецФункции // ПолучитьОбъектыДляТестированияНаСервере()
223 |
224 | // Процедура - обработчик команды "Тест" формы на сервере
225 | //
226 | &НаСервере
227 | Процедура ВыполнитьТестОбъектов(ОбъектыДляТестирования, АдресаФайлов = Неопределено)
228 |
229 | Библиотека = ПреобразованиеДанных();
230 |
231 | АдресаФайлов = Новый Соответствие();
232 |
233 | Для Каждого ТекОписание Из ОбъектыДляТестирования Цикл
234 |
235 | Для Каждого ТекПравило Из ТекОписание.ПравилаВыгрузки Цикл
236 | Библиотека.ДобавитьПравилоВыгрузкиТипа(ТекПравило.ТипИсточника, ТекПравило.ФункцияДополнения, ЭтотОбъект);
237 | КонецЦикла;
238 |
239 | ПоказатьСообщение(СтрШаблон("Тестирование объекта ""%1"" (%2)...",
240 | ТекОписание.Ссылка,
241 | ТекОписание.Ссылка.Метаданные().ПолноеИмя()));
242 |
243 | Представление = Библиотека.ОбъектВСтруктуру(ТекОписание.Ссылка.ПолучитьОбъект());
244 | ТекстОбъекта1 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление);
245 | Представление = Библиотека.ПрочитатьОписаниеОбъектаИзJSON(ТекстОбъекта1);
246 | Попытка
247 | СозданныйОбъект = Библиотека.СоздатьОбъектИзСтруктуры(Представление, Истина);
248 | Исключение
249 | ПоказатьСообщение(СтрШаблон("Ошибка создания объекта ""%1 (%2: %3)"": %4%5",
250 | ТекОписание.Ссылка,
251 | ТекОписание.Ссылка.Метаданные().ПолноеИмя(),
252 | СокрЛП(ТекОписание.Ссылка.УникальныйИдентификатор()),
253 | Символы.ПС,
254 | ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())));
255 | Продолжить;
256 | КонецПопытки;
257 |
258 | Если ВыгрузитьРезультатыТеста Тогда
259 | Представление = Библиотека.ОбъектВСтруктуру(СозданныйОбъект);
260 | ТекстОбъекта2 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление);
261 |
262 | Хранилище = Новый Структура("Первый, Второй",
263 | ПоместитьВоВременноеХранилище(ТекстОбъекта1, ЭтотОбъект.УникальныйИдентификатор),
264 | ПоместитьВоВременноеХранилище(ТекстОбъекта2, ЭтотОбъект.УникальныйИдентификатор));
265 | АдресаФайлов.Вставить(ТекОписание.Ссылка.Метаданные().ПолноеИмя() + "." +
266 | СокрЛП(ТекОписание.Ссылка.УникальныйИдентификатор()), Хранилище);
267 | КонецЕсли;
268 |
269 | КонецЦикла;
270 |
271 | КонецПроцедуры // ВыполнитьТестОбъектов()
272 |
273 | // Процедура - обработчик команды "Тест" формы
274 | //
275 | &НаКлиенте
276 | Процедура Тест(Команда)
277 |
278 | Если ВыгрузитьРезультатыТеста Тогда
279 | ОбеспечитьКаталог(КаталогВыгрузки + "\orig");
280 | ОбеспечитьКаталог(КаталогВыгрузки + "\test");
281 | КонецЕсли;
282 |
283 | ТестируемыеОбъекты = ПолучитьОбъектыДляТестированияНаСервере();
284 |
285 | ОбъектыДляТестирования = Новый Массив();
286 |
287 | й = 1;
288 | НачВремя = ТекущаяДата();
289 |
290 | Для Каждого ТекЭлемент Из ТестируемыеОбъекты Цикл
291 |
292 | ОбъектыДляТестирования.Добавить(ТекЭлемент);
293 |
294 | й = й + 1;
295 |
296 | Если ОбъектыДляТестирования.Количество() < РазмерПорции
297 | И й < ТестируемыеОбъекты.Количество() - 1 Тогда
298 | Продолжить;
299 | КонецЕсли;
300 |
301 | Если ОбъектыДляТестирования.Количество() = 0 Тогда
302 | Продолжить;
303 | КонецЕсли;
304 |
305 | АдресаФайлов = Неопределено;
306 | ВыполнитьТестОбъектов(ОбъектыДляТестирования, АдресаФайлов);
307 |
308 | ОбъектыДляТестирования.Очистить();
309 |
310 | Если НЕ ВыгрузитьРезультатыТеста Тогда
311 | Продолжить;
312 | КонецЕсли;
313 |
314 | Для Каждого ТекРезультат Из АдресаФайлов Цикл
315 | ВремФайл = Новый ТекстовыйДокумент();
316 | ВремФайл.УстановитьТекст(ПолучитьИзВременногоХранилища(ТекРезультат.Значение.Первый));
317 | ВремФайл.Записать(КаталогВыгрузки + "\orig\" + ТекРезультат.Ключ + ".json");
318 |
319 | ВремФайл = Новый ТекстовыйДокумент();
320 | ВремФайл.УстановитьТекст(ПолучитьИзВременногоХранилища(ТекРезультат.Значение.Второй));
321 | ВремФайл.Записать(КаталогВыгрузки + "\test\" + ТекРезультат.Ключ + ".json");
322 | КонецЦикла;
323 |
324 | КонецЦикла;
325 |
326 | КонВремя = ТекущаяДата();
327 |
328 | ПоказатьСообщение("Всего объектов: " + Формат(й, "ЧН=; ЧГ="));
329 | ПоказатьСообщение("Начало выполнения: " + Формат(НачВремя, "ЧН=; ЧГ="));
330 | ПоказатьСообщение("Окончание выполнения: " + Формат(КонВремя, "ЧН=; ЧГ="));
331 | ПоказатьСообщение("Время выполнения: " + Формат(КонВремя - НачВремя, "ЧН=; ЧГ=") + "с.");
332 | ПоказатьСообщение("Скорость всего: " + Формат(й / (КонВремя - НачВремя), "ЧН=; ЧГ=") + "об./с.");
333 |
334 | КонецПроцедуры // Тест()
335 |
336 | // // Процедура - обработчик команды "ТестКоллекций" на сервере
337 | //
338 | &НаСервере
339 | Процедура ТестКоллекцийНаСервере(АдресаФайлов = Неопределено)
340 |
341 | АдресаФайлов = Новый Соответствие();
342 |
343 | Запрос = Новый Запрос("ВЫБРАТЬ
344 | | ИдентификаторыОбъектовМетаданных.Ссылка,
345 | | ИдентификаторыОбъектовМетаданных.Родитель КАК Группа,
346 | | ИдентификаторыОбъектовМетаданных.Имя,
347 | | ИдентификаторыОбъектовМетаданных.ПолноеИмя,
348 | | ИдентификаторыОбъектовМетаданных.НоваяСсылка
349 | |ИЗ
350 | | Справочник.ИдентификаторыОбъектовМетаданных КАК ИдентификаторыОбъектовМетаданных
351 | |ИТОГИ
352 | |ПО
353 | | Родитель");
354 |
355 | Результат = Запрос.Выполнить();
356 |
357 | ТестТаблица = Результат.Выгрузить(ОбходРезультатаЗапроса.Прямой);
358 | ТестТаблица.Колонки.Добавить("ДвоичныеДанные", Новый ОписаниеТипов("ДвоичныеДанные"));
359 | ТестТаблица.Колонки.Добавить("ХранилищеЗначения", Новый ОписаниеТипов("ХранилищеЗначения"));
360 | ТестТаблица.Колонки.Добавить("Картинка", Новый ОписаниеТипов("Картинка"));
361 |
362 | Для Каждого ТекСтрока Из ТестТаблица Цикл
363 | ТекСтрока.Картинка = Новый Картинка();
364 | ТекСтрока.ДвоичныеДанные = ТекСтрока.Картинка.ПолучитьДвоичныеДанные();
365 | ТекСтрока.ХранилищеЗначения = Новый ХранилищеЗначения(ТекСтрока.ДвоичныеДанные, Новый СжатиеДанных(1));
366 | КонецЦикла;
367 |
368 | ТестДерево = Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);
369 |
370 | ТестМассив = ТестТаблица.ВыгрузитьКолонку("Ссылка");
371 |
372 | ТестСписок = Новый СписокЗначений();
373 |
374 | ТестСписок.ЗагрузитьЗначения(ТестМассив);
375 |
376 | ТестСтруктура = Новый Структура();
377 |
378 | ТестСоответствие = Новый Соответствие();
379 |
380 | Для Каждого ТекСтрока Из ТестТаблица Цикл
381 | Если НЕ (ЗначениеЗаполнено(ТекСтрока.Имя) И ЗначениеЗаполнено(ТекСтрока.Ссылка)) Тогда
382 | Продолжить;
383 | КонецЕсли;
384 | Если Лев(ТекСтрока.Имя, 1) = "?" Тогда
385 | Продолжить;
386 | КонецЕсли;
387 | ТестСтруктура.Вставить(ТекСтрока.Имя, ТекСтрока.Ссылка);
388 | ТестСоответствие.Вставить(ТекСтрока.Ссылка, ТекСтрока.Группа);
389 | КонецЦикла;
390 |
391 | Библиотека = ПреобразованиеДанных();
392 |
393 | Представление = Библиотека.ЗначениеВСтруктуру(ТестТаблица);
394 | ТекстОбъекта1 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление);
395 | Представление = Библиотека.ПрочитатьОписаниеОбъектаИзJSON(ТекстОбъекта1);
396 | ТестОбъект = Библиотека.ЗначениеИзСтруктуры(Представление);
397 |
398 | Если ВыгрузитьРезультатыТеста Тогда
399 | Представление = Библиотека.ЗначениеВСтруктуру(ТестОбъект);
400 | ТекстОбъекта2 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление);
401 |
402 | Хранилище = Новый Структура("Первый, Второй",
403 | ПоместитьВоВременноеХранилище(ТекстОбъекта1, ЭтотОбъект.УникальныйИдентификатор),
404 | ПоместитьВоВременноеХранилище(ТекстОбъекта2, ЭтотОбъект.УникальныйИдентификатор));
405 | АдресаФайлов.Вставить("Таблица", Хранилище);
406 | КонецЕсли;
407 |
408 | Представление = Библиотека.ЗначениеВСтруктуру(ТестМассив);
409 | ТекстОбъекта1 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление);
410 | Представление = Библиотека.ПрочитатьОписаниеОбъектаИзJSON(ТекстОбъекта1);
411 | ТестОбъект = Библиотека.ЗначениеИзСтруктуры(Представление);
412 |
413 | Если ВыгрузитьРезультатыТеста Тогда
414 | Представление = Библиотека.ЗначениеВСтруктуру(ТестОбъект);
415 | ТекстОбъекта2 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление);
416 |
417 | Хранилище = Новый Структура("Первый, Второй",
418 | ПоместитьВоВременноеХранилище(ТекстОбъекта1, ЭтотОбъект.УникальныйИдентификатор),
419 | ПоместитьВоВременноеХранилище(ТекстОбъекта2, ЭтотОбъект.УникальныйИдентификатор));
420 | АдресаФайлов.Вставить("Массив", Хранилище);
421 | КонецЕсли;
422 |
423 | Представление = Библиотека.ЗначениеВСтруктуру(ТестСписок);
424 | ТекстОбъекта1 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление);
425 | Представление = Библиотека.ПрочитатьОписаниеОбъектаИзJSON(ТекстОбъекта1);
426 | ТестОбъект = Библиотека.ЗначениеИзСтруктуры(Представление);
427 |
428 | Если ВыгрузитьРезультатыТеста Тогда
429 | Представление = Библиотека.ЗначениеВСтруктуру(ТестОбъект);
430 | ТекстОбъекта2 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление);
431 |
432 | Хранилище = Новый Структура("Первый, Второй",
433 | ПоместитьВоВременноеХранилище(ТекстОбъекта1, ЭтотОбъект.УникальныйИдентификатор),
434 | ПоместитьВоВременноеХранилище(ТекстОбъекта2, ЭтотОбъект.УникальныйИдентификатор));
435 | АдресаФайлов.Вставить("Список", Хранилище);
436 | КонецЕсли;
437 |
438 | Представление = Библиотека.ЗначениеВСтруктуру(ТестСтруктура);
439 | ТекстОбъекта1 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление);
440 | Представление = Библиотека.ПрочитатьОписаниеОбъектаИзJSON(ТекстОбъекта1);
441 | ТестОбъект = Библиотека.ЗначениеИзСтруктуры(Представление);
442 |
443 | Если ВыгрузитьРезультатыТеста Тогда
444 | Представление = Библиотека.ЗначениеВСтруктуру(ТестОбъект);
445 | ТекстОбъекта2 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление);
446 |
447 | Хранилище = Новый Структура("Первый, Второй",
448 | ПоместитьВоВременноеХранилище(ТекстОбъекта1, ЭтотОбъект.УникальныйИдентификатор),
449 | ПоместитьВоВременноеХранилище(ТекстОбъекта2, ЭтотОбъект.УникальныйИдентификатор));
450 | АдресаФайлов.Вставить("Структура", Хранилище);
451 | КонецЕсли;
452 |
453 | Представление = Библиотека.ЗначениеВСтруктуру(ТестСоответствие);
454 | ТекстОбъекта1 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление);
455 | Представление = Библиотека.ПрочитатьОписаниеОбъектаИзJSON(ТекстОбъекта1);
456 | ТестОбъект = Библиотека.ЗначениеИзСтруктуры(Представление);
457 |
458 | Если ВыгрузитьРезультатыТеста Тогда
459 | Представление = Библиотека.ЗначениеВСтруктуру(ТестОбъект);
460 | ТекстОбъекта2 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление);
461 |
462 | Хранилище = Новый Структура("Первый, Второй",
463 | ПоместитьВоВременноеХранилище(ТекстОбъекта1, ЭтотОбъект.УникальныйИдентификатор),
464 | ПоместитьВоВременноеХранилище(ТекстОбъекта2, ЭтотОбъект.УникальныйИдентификатор));
465 | АдресаФайлов.Вставить("Соответствие", Хранилище);
466 | КонецЕсли;
467 |
468 | Представление = Библиотека.ЗначениеВСтруктуру(ТестДерево);
469 | ТекстОбъекта1 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление);
470 | Представление = Библиотека.ПрочитатьОписаниеОбъектаИзJSON(ТекстОбъекта1);
471 | ТестОбъект = Библиотека.ЗначениеИзСтруктуры(Представление);
472 |
473 | Если ВыгрузитьРезультатыТеста Тогда
474 | Представление = Библиотека.ЗначениеВСтруктуру(ТестОбъект);
475 | ТекстОбъекта2 = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление);
476 |
477 | Хранилище = Новый Структура("Первый, Второй",
478 | ПоместитьВоВременноеХранилище(ТекстОбъекта1, ЭтотОбъект.УникальныйИдентификатор),
479 | ПоместитьВоВременноеХранилище(ТекстОбъекта2, ЭтотОбъект.УникальныйИдентификатор));
480 | АдресаФайлов.Вставить("Дерево", Хранилище);
481 | КонецЕсли;
482 |
483 | КонецПроцедуры // ТестКоллекцийНаСервере()
484 |
485 | // Процедура - обработчик команды "ТестКоллекций" формы
486 | //
487 | &НаКлиенте
488 | Процедура ТестКоллекций(Команда)
489 |
490 | Если ВыгрузитьРезультатыТеста Тогда
491 | ОбеспечитьКаталог(КаталогВыгрузки + "\orig");
492 | ОбеспечитьКаталог(КаталогВыгрузки + "\test");
493 | КонецЕсли;
494 |
495 | АдресаФайлов = Неопределено;
496 |
497 | ТестКоллекцийНаСервере(АдресаФайлов);
498 |
499 | Если ВыгрузитьРезультатыТеста Тогда
500 |
501 | Для Каждого ТекРезультат Из АдресаФайлов Цикл
502 | ВремФайл = Новый ТекстовыйДокумент();
503 | ВремФайл.УстановитьТекст(ПолучитьИзВременногоХранилища(ТекРезультат.Значение.Первый));
504 | ВремФайл.Записать(КаталогВыгрузки + "\orig\" + ТекРезультат.Ключ + ".json");
505 |
506 | ВремФайл = Новый ТекстовыйДокумент();
507 | ВремФайл.УстановитьТекст(ПолучитьИзВременногоХранилища(ТекРезультат.Значение.Второй));
508 | ВремФайл.Записать(КаталогВыгрузки + "\test\" + ТекРезультат.Ключ + ".json");
509 | КонецЦикла;
510 |
511 | КонецЕсли;
512 |
513 | КонецПроцедуры // ТестКоллекций()
514 |
515 | // Процедура - обработчик команды "ТестСКД" формы на сервере
516 | //
517 | &НаСервере
518 | Процедура ТестСКДНаСервере(ОтчетыДляТестирования, АдресаФайлов = Неопределено)
519 |
520 | Библиотека = ПреобразованиеДанных();
521 |
522 | АдресаФайлов = Новый Соответствие();
523 |
524 | Для Каждого ТекИмяОтчета Из ОтчетыДляТестирования Цикл
525 |
526 | ТекОтчет = Метаданные.Отчеты[ТекИмяОтчета];
527 |
528 | Для Каждого ТекМакет Из ТекОтчет.Макеты Цикл
529 |
530 | ТестируемыйОбъект = Отчеты[ТекОтчет.Имя].ПолучитьМакет(ТекМакет.Имя);
531 | Если НЕ ТипЗнч(ТестируемыйОбъект) = Тип("СхемаКомпоновкиДанных") Тогда
532 | Продолжить;
533 | КонецЕсли;
534 |
535 | Сообщить(СтрШаблон("Преобразование объекта ""%1"" (%2)...", "Отчет." + ТекОтчет.Имя + "." + ТекМакет.Имя, ТипЗнч(ТестируемыйОбъект)));
536 |
537 | Представление = Библиотека.СКДВСтруктуру(ТестируемыйОбъект);
538 | Попытка
539 | ТекстОбъекта = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление);
540 | Хранилище = Новый Структура("Первый", ПоместитьВоВременноеХранилище(ТекстОбъекта, ЭтотОбъект.УникальныйИдентификатор));
541 | АдресаФайлов.Вставить(ТекОтчет.Имя + "." + ТекМакет.Имя, Хранилище);
542 | Исключение
543 | ПроверитьСовместимостьСJSON(Представление, "Отчет." + ТекОтчет.Имя + "." + ТекМакет.Имя);
544 | КонецПопытки;
545 |
546 | Представление = Библиотека.ПрочитатьОписаниеОбъектаИзJSON(ТекстОбъекта);
547 |
548 | Попытка
549 | КопияСКД = Неопределено;
550 | Библиотека.СКДИзСтруктуры(КопияСКД, Представление);
551 | Исключение
552 | ТекстОшибки = СтрШаблон("Ошибка восстановления СКД: %1%2", Символы.ПС, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
553 | Сообщить(ТекстОшибки);
554 | КонецПопытки;
555 | Представление = Библиотека.СКДВСтруктуру(КопияСКД);
556 | ТекстОбъекта = Библиотека.ЗаписатьОписаниеОбъектаВJSON(Представление);
557 | АдресаФайлов[ТекОтчет.Имя + "." + ТекМакет.Имя].Вставить("Второй", ПоместитьВоВременноеХранилище(ТекстОбъекта, ЭтотОбъект.УникальныйИдентификатор));
558 | КонецЦикла;
559 | КонецЦикла;
560 |
561 | КонецПроцедуры // ТестСКДНаСервере()
562 |
563 | // Процедура - обработчик команды "ТестСКД" формы
564 | //
565 | &НаКлиенте
566 | Процедура ТестСКД(Команда)
567 |
568 | Если ВыгрузитьРезультатыТеста Тогда
569 | ОбеспечитьКаталог(КаталогВыгрузки + "\orig");
570 | ОбеспечитьКаталог(КаталогВыгрузки + "\test");
571 | КонецЕсли;
572 |
573 | ОтчетыДляТестирования = Новый Массив();
574 |
575 | Для Каждого ТекЭлемент Из ТестируемыеОтчеты Цикл
576 |
577 | Если ТекЭлемент.Пометка Тогда
578 | ОтчетыДляТестирования.Добавить(ТекЭлемент.Значение);
579 | КонецЕсли;
580 |
581 | Если ОтчетыДляТестирования.Количество() < РазмерПорции
582 | И ТестируемыеОтчеты.Индекс(ТекЭлемент) < ТестируемыеОтчеты.Количество() - 1 Тогда
583 | Продолжить;
584 | КонецЕсли;
585 |
586 | Если ОтчетыДляТестирования.Количество() = 0 Тогда
587 | Продолжить;
588 | КонецЕсли;
589 |
590 | АдресаФайлов = Неопределено;
591 | ТестСКДНаСервере(ОтчетыДляТестирования, АдресаФайлов);
592 |
593 | ОтчетыДляТестирования.Очистить();
594 |
595 | Если НЕ ВыгрузитьРезультатыТеста Тогда
596 | Продолжить;
597 | КонецЕсли;
598 |
599 | Для Каждого ТекСКД Из АдресаФайлов Цикл
600 | ВремФайл = Новый ТекстовыйДокумент();
601 | ВремФайл.УстановитьТекст(ПолучитьИзВременногоХранилища(ТекСКД.Значение.Первый));
602 | ВремФайл.Записать(КаталогВыгрузки + "\orig\" + ТекСкд.Ключ + ".json");
603 |
604 | ВремФайл = Новый ТекстовыйДокумент();
605 | ВремФайл.УстановитьТекст(ПолучитьИзВременногоХранилища(ТекСКД.Значение.Второй));
606 | ВремФайл.Записать(КаталогВыгрузки + "\test\" + ТекСкд.Ключ + ".json");
607 | КонецЦикла;
608 |
609 | КонецЦикла;
610 |
611 | КонецПроцедуры // ТестСКД()
612 |
613 | &НаСервере
614 | Процедура ПроверитьСовместимостьСJSON(СтруктураОбъекта, Знач ИмяВИерархии = "")
615 |
616 | Библиотека = ПреобразованиеДанных();
617 |
618 | Попытка
619 | //@skip-warning
620 | ТекстОбъекта = Библиотека.ЗаписатьОписаниеОбъектаВJSON(СтруктураОбъекта);
621 | Исключение
622 | ТекстОшибки = СтрШаблон("Ошибка преобразования в JSON ""%1"" (%2): %3%4",
623 | ИмяВИерархии,
624 | СокрЛП(ТипЗнч(СтруктураОбъекта)),
625 | Символы.ПС,
626 | ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
627 | Сообщить(ТекстОшибки);
628 | КонецПопытки;
629 |
630 | Если ТипЗнч(СтруктураОбъекта) = Тип("Структура") ИЛИ ТипЗнч(СтруктураОбъекта) = Тип("Соответствие") Тогда
631 | Для Каждого ТекЭлемент Из СтруктураОбъекта Цикл
632 | ПроверитьСовместимостьСJSON(ТекЭлемент.Значение, ИмяВИерархии + "." + ТекЭлемент.Ключ);
633 | КонецЦикла;
634 | ИначеЕсли ТипЗнч(СтруктураОбъекта) = Тип("Массив") Тогда
635 | Для й = 0 По СтруктураОбъекта.ВГраница() Цикл
636 | ПроверитьСовместимостьСJSON(СтруктураОбъекта[й], ИмяВИерархии + "." + СокрЛП(й));
637 | КонецЦикла;
638 | КонецЕсли;
639 |
640 | КонецПроцедуры
641 |
642 | #КонецОбласти
643 |
644 | #Область ОбработчикиВыгрузкиДанных
645 |
646 | // Процедура - добавляет в описание ссылки наименование
647 | //
648 | // Параметры:
649 | // ОписаниеЗначения - Структура - Структура значения для дополнения
650 | // Значение - Произвольный - Преобразуемое значение
651 | //
652 | &НаСервере
653 | Процедура ДобавитьНаименованиеОбъекта(ОписаниеЗначения, Значение) Экспорт
654 |
655 | ОписаниеЗначения.Вставить("Наименование", СокрЛП(Значение));
656 |
657 | КонецПроцедуры // ДобавитьНаименованиеОбъекта()
658 |
659 | #КонецОбласти
660 |
661 | #Область СлужебныеПроцедурыИФункции
662 |
663 | // Функция - возвращает настройки из JSON-файла настроек
664 | //
665 | // Параметры:
666 | // АдресНастроек - Строка - адрес временного хранилища настроек
667 | //
668 | // Возвращаемое значение:
669 | // Структура - полученные настройки
670 | //
671 | &НаСервере
672 | Функция ПолучитьНастройкиНаСервере(Знач АдресНастроек)
673 |
674 | ДанныеНастроек = ПолучитьИзВременногоХранилища(АдресНастроек);
675 |
676 | ЧтениеНастроек = Новый ЧтениеJSON();
677 |
678 | ЧтениеНастроек.ОткрытьПоток(ДанныеНастроек.ОткрытьПотокДляЧтения());
679 |
680 | Возврат ПрочитатьJSON(ЧтениеНастроек, Ложь, , ФорматДатыJSON.ISO);
681 |
682 | КонецФункции // ПолучитьНастройкиНаСервере()
683 |
684 | // Функция - возвращает настройки из JSON-файла настроек
685 | //
686 | // Параметры:
687 | // ПутьКФайлуНастроек - Строка - путь к JSON-файлу настроек
688 | //
689 | // Возвращаемое значение:
690 | // Структура - полученные настройки
691 | //
692 | &НаКлиенте
693 | Функция ПолучитьНастройки(Знач ПутьКФайлуНастроек = "")
694 |
695 | Если НЕ ЗначениеЗаполнено(ПутьКФайлуНастроек) Тогда
696 | ПутьКФайлуНастроек = КаталогТекущейОбработки() + "settings.json";
697 | КонецЕсли;
698 |
699 | ПроверитьДопустимостьТипа(ПутьКФайлуНастроек,
700 | "Строка, Файл",
701 | СтрШаблон("Некорректно указан файл настроек ""%1""", СокрЛП(ПутьКФайлуНастроек)) +
702 | ", тип ""%1"", ожидается тип %2!");
703 |
704 | Если ТипЗнч(ПутьКФайлуНастроек) = Тип("Файл") Тогда
705 | ПутьКФайлуНастроек = ПутьКФайлуНастроек.ПолноеИмя;
706 | КонецЕсли;
707 |
708 | АдресНастроек = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ПутьКФайлуНастроек), ЭтотОбъект.УникальныйИдентификатор);
709 |
710 | Попытка
711 | Возврат ПолучитьНастройкиНаСервере(АдресНастроек);
712 | Исключение
713 | ВызватьИсключение СтрШаблон("Ошибка чтения файла настроек ""%1"": %2%3",
714 | ПутьКФайлуНастроек,
715 | Символы.ПС,
716 | ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
717 | КонецПопытки;
718 |
719 | КонецФункции // ПолучитьНастройки()
720 |
721 | // Функция - возвращает путь к каталогу текущей обработки
722 | //
723 | // Возвращаемое значение:
724 | // Строка - путь к каталогу текущей обработки
725 | //
726 | &НаСервере
727 | Функция КаталогТекущейОбработки()
728 |
729 | ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
730 |
731 | ФайлЭтойОбработки = Новый Файл(ОбработкаОбъект.ИспользуемоеИмяФайла);
732 |
733 | Возврат ФайлЭтойОбработки.Путь;
734 |
735 | КонецФункции // КаталогТекущейОбработки()
736 |
737 | // Функция - Получает обработку сериализации значений
738 | //
739 | // Возвращаемое значение:
740 | // ВнешняяОбработкаОбъект - обработка преобразования данных
741 | //
742 | &НаСервере
743 | Функция ПреобразованиеДанных()
744 |
745 | Если Библиотека = Неопределено Тогда
746 | Библиотека = ВнешниеОбработки.Создать("ПреобразованиеДанных");
747 | КонецЕсли;
748 |
749 | Возврат Библиотека;
750 |
751 | КонецФункции // ПреобразованиеДанных()
752 |
753 | // Функция - ищет внешнюю обработку по указанному имени и пути, подключает ее
754 | // и возвращает имя подключенной обработки
755 | //
756 | // Параметры:
757 | // ИмяОбработки - Строка - имя внешней обработки
758 | //
759 | // Возвращаемое значение:
760 | // ВнешняяОбработкаОбъект - внешняя обработка
761 | //
762 | &НаКлиенте
763 | Функция ПодключитьВнешнююОбработку(Знач ИмяОбработки, Знач ПутьКОбработке = "")
764 |
765 | Если ЗначениеЗаполнено(ПутьКОбработке) Тогда
766 | ПутьКОбработке = СтрЗаменить(ПутьКОбработке, "$thisRoot\", КаталогТекущейОбработки());
767 | Иначе
768 | ПутьКОбработке = КаталогТекущейОбработки() + ИмяОбработки + ".epf";
769 | КонецЕсли;
770 |
771 | АдресОбработки = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ПутьКОбработке), ЭтотОбъект.УникальныйИдентификатор);
772 |
773 | Возврат ПодключитьВнешнююОбработкуНаСервере(АдресОбработки, ИмяОбработки);
774 |
775 | КонецФункции // ПодключитьВнешнююОбработкуПоИмени()
776 |
777 | // Функция - подключает внешнюю обработку из указанного хранилища с указанным именем
778 | // возвращает имя подключенной обработки
779 | //
780 | // Параметры:
781 | // ИмяОбработки - Строка - имя внешней обработки
782 | //
783 | // Возвращаемое значение:
784 | // ВнешняяОбработкаОбъект - внешняя обработка
785 | //
786 | &НаСервере
787 | Функция ПодключитьВнешнююОбработкуНаСервере(Знач АдресОбработки, Знач ИмяОбработки = "")
788 |
789 | ОписаниеЗащиты = Новый ОписаниеЗащитыОтОпасныхДействий();
790 | ОписаниеЗащиты.ПредупреждатьОбОпасныхДействиях = Ложь;
791 |
792 | Возврат ВнешниеОбработки.Подключить(АдресОбработки, ИмяОбработки, Ложь, ОписаниеЗащиты);
793 |
794 | КонецФункции // ПодключитьВнешнююОбработкуНаСервере()
795 |
796 | // Функция - проверяет тип значения на соответствие допустимым типам
797 | //
798 | // Параметры:
799 | // Значение - Произвольный - проверяемое значение
800 | // ДопустимыеТипы - Строка, Массив(Строка, Тип) - список допустимых типов
801 | // ШаблонТекстаОшибки - Строка - шаблон строки сообщения об ошибке
802 | // ("Некорректный тип значения ""%1"" ожидается тип %2")
803 | //
804 | // Возвращаемое значение:
805 | // Булево - Истина - проверка прошла успешно
806 | //
807 | Функция ПроверитьДопустимостьТипа(Знач Значение, Знач ДопустимыеТипы, Знач ШаблонТекстаОшибки = "")
808 |
809 | ТипЗначения = ТипЗнч(Значение);
810 |
811 | Если ТипЗнч(ДопустимыеТипы) = Тип("Строка") Тогда
812 | МассивДопустимыхТипов = СтрРазделить(ДопустимыеТипы, ",");
813 | ИначеЕсли ТипЗнч(ДопустимыеТипы) = Тип("Массив") Тогда
814 | МассивДопустимыхТипов = ДопустимыеТипы;
815 | Иначе
816 | ВызватьИсключение СтрШаблон("Некорректно указан список допустимых типов, тип ""%1"" ожидается тип %2!",
817 | Тип(ДопустимыеТипы),
818 | """Строка"" или ""Массив""");
819 | КонецЕсли;
820 |
821 | Типы = Новый Соответствие();
822 |
823 | СтрокаДопустимыхТипов = "";
824 |
825 | Для Каждого ТекТип Из МассивДопустимыхТипов Цикл
826 | ВремТип = ?(ТипЗнч(ТекТип) = Тип("Строка"), Тип(СокрЛП(ТекТип)), ТекТип);
827 | Типы.Вставить(ВремТип, СокрЛП(ТекТип));
828 | Если НЕ СтрокаДопустимыхТипов = "" Тогда
829 | СтрокаДопустимыхТипов = СтрокаДопустимыхТипов +
830 | ?(МассивДопустимыхТипов.Найти(ТекТип) = МассивДопустимыхТипов.ВГраница(), " или ", ", ");
831 | КонецЕсли;
832 | КонецЦикла;
833 |
834 | Если ШаблонТекстаОшибки = "" Тогда
835 | ШаблонТекстаОшибки = "Некорректный тип значения ""%1"" ожидается тип %2!";
836 | КонецЕсли;
837 |
838 | Если Типы[ТипЗначения] = Неопределено Тогда
839 | ВызватьИсключение СтрШаблон(ШаблонТекстаОшибки, СокрЛП(ТипЗначения), СтрокаДопустимыхТипов);
840 | КонецЕсли;
841 |
842 | Возврат Истина;
843 |
844 | КонецФункции // ПроверитьДопустимостьТипа()
845 |
846 | // Функция - Проверить свойства
847 | //
848 | // Параметры:
849 | // ПроверяемаяСтруктура - Структура - проверяемая структура
850 | // ОбязательныеСвойства - Строка, Массив(Строка) - список обязательных свойств
851 | // ШаблонТекстаОшибки - Строка - шаблон строки сообщения об ошибке
852 | // ("Отсутствуют обязательные свойства: %1")
853 | //
854 | // Возвращаемое значение:
855 | // Булево - Истина - проверка прошла успешно
856 | //
857 | Функция ПроверитьСвойства(Знач ПроверяемаяСтруктура, Знач ОбязательныеСвойства, Знач ШаблонТекстаОшибки = "")
858 |
859 | ПроверитьДопустимостьТипа(ОбязательныеСвойства,
860 | "Строка, Массив",
861 | "Некорректно указан список обязательных свойств, тип ""%1"", ожидается тип %2!");
862 |
863 | Если ТипЗнч(ОбязательныеСвойства) = Тип("Строка") Тогда
864 | МассивСвойств = СтрРазделить(ОбязательныеСвойства, ",");
865 | ИначеЕсли ТипЗнч(ОбязательныеСвойства) = Тип("Массив") Тогда
866 | МассивСвойств = ОбязательныеСвойства;
867 | КонецЕсли;
868 |
869 | СтрокаСвойств = "";
870 |
871 | Для Каждого ТекСвойство Из МассивСвойств Цикл
872 |
873 | Если ПроверяемаяСтруктура.Свойство(СокрЛП(ТекСвойство)) Тогда
874 | Продолжить;
875 | КонецЕсли;
876 |
877 | СтрокаСвойств = СтрокаСвойств
878 | + ?(СтрокаСвойств = "", Символы.ПС, ", " + Символы.ПС)
879 | + """" + СокрЛП(ТекСвойство) + """";
880 | КонецЦикла;
881 |
882 | Если ШаблонТекстаОшибки = "" Тогда
883 | ШаблонТекстаОшибки = "Отсутствуют обязательные свойства: %1";
884 | КонецЕсли;
885 |
886 | Если НЕ СтрокаСвойств = "" Тогда
887 | ВызватьИсключение СтрШаблон(ШаблонТекстаОшибки, СтрокаСвойств);
888 | КонецЕсли;
889 |
890 | Возврат Истина;
891 |
892 | КонецФункции // ПроверитьСвойства()
893 |
894 |
895 | // Функция проверяет существование каталога по указанному пути
896 | // и при необходимости создает отсутствующие каталоги
897 | //
898 | // Параметры:
899 | // Путь - Строка - путь к каталогу
900 | //
901 | // Возвращаемое значение:
902 | // Булево - Истина - указанный путь существует (был успешно создан)
903 | // Ложь - в противном случае
904 | //
905 | &НаКлиенте
906 | Функция ОбеспечитьКаталог(Знач Путь)
907 |
908 | ВремФайл = Новый Файл(Путь);
909 |
910 | Если НЕ ВремФайл.Существует() Тогда
911 | Если ОбеспечитьКаталог(Сред(ВремФайл.Путь, 1, СтрДлина(ВремФайл.Путь) - 1)) Тогда
912 | СоздатьКаталог(Путь);
913 | Иначе
914 | Возврат Ложь;
915 | КонецЕсли;
916 | КонецЕсли;
917 |
918 | Если НЕ ВремФайл.ЭтоКаталог() Тогда
919 | ВызватьИсключение СтрШаблон("По указанному пути ""%1"" не удалось создать каталог", Путь);
920 | КонецЕсли;
921 |
922 | Возврат Истина;
923 |
924 | КонецФункции // ОбеспечитьКаталог()
925 |
926 | // Процедура - выодит сообщение пользователю
927 | //
928 | // Параметры:
929 | // ТекстСообщения - Строка - Текст сообщения
930 | // ВызыватьИсключение - Булево - Истина - будет вызвано исключение
931 | //
932 | &НаСервере
933 | Процедура ПоказатьСообщение(ТекстСообщения, ВызыватьИсключение = Ложь)
934 |
935 | Сообщение = Новый СообщениеПользователю();
936 | Сообщение.Текст = ТекстСообщения;
937 | Сообщение.Сообщить();
938 |
939 | Если ВызыватьИсключение Тогда
940 | ВызватьИсключение ТекстСообщения;
941 | КонецЕсли;
942 |
943 | КонецПроцедуры // ПоказатьСообщение()
944 |
945 | // Функция - возвращает версию библиотеки преобразования данных
946 | //
947 | // Возвращаемое значение:
948 | // Строка - версия библиотеки преобразования данных
949 | //
950 | &НаСервере
951 | Функция ВерсияБиблиотеки()
952 |
953 | Возврат ПреобразованиеДанных().Версия();
954 |
955 | КонецФункции // ВерсияБиблиотеки()
956 |
957 | #КонецОбласти
958 |
--------------------------------------------------------------------------------
/dp/src/ExternalDataProcessors/ктв_ПреобразованиеДанных_Тест/Forms/Форма/Form.form:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ГруппаТесты
5 | 14
6 |
7 | ГруппаТестОбъектовИБ
8 | 20
9 |
10 | ФормаТест
11 | 4
12 | true
13 | true
14 |
15 | true
16 |
17 |
18 | ФормаТестРасширеннаяПодсказка
19 | 5
20 | true
21 | true
22 |
23 | true
24 |
25 | Label
26 | true
27 | true
28 |
29 | Left
30 |
31 |
32 | UsualButton
33 | Form.Command.Тест
34 | Auto
35 | true
36 | true
37 | UserCmds
38 |
39 |
40 | КоличествоВВыборке
41 | 1
42 | true
43 | true
44 |
45 | true
46 |
47 |
48 |
49 | КоличествоВВыборке
50 |
51 |
52 |
53 | КоличествоВВыборкеРасширеннаяПодсказка
54 | 3
55 | true
56 | true
57 |
58 | true
59 |
60 | Label
61 | true
62 | true
63 |
64 | Left
65 |
66 |
67 |
68 | КоличествоВВыборкеКонтекстноеМеню
69 | 2
70 | true
71 | true
72 |
73 | true
74 |
75 | true
76 |
77 | InputField
78 | Enter
79 | true
80 | Left
81 | true
82 |
83 | true
84 | true
85 | true
86 | true
87 | true
88 | true
89 |
90 |
91 |
92 | ТестКоллекций
93 | 52
94 | true
95 | true
96 |
97 | true
98 |
99 |
100 | ТестКоллекцийРасширеннаяПодсказка
101 | 53
102 | true
103 | true
104 |
105 | true
106 |
107 | Label
108 | true
109 | true
110 |
111 | Left
112 |
113 |
114 | UsualButton
115 | Form.Command.ТестКоллекций
116 | Auto
117 | true
118 | true
119 | UserCmds
120 | Auto
121 |
122 | true
123 | true
124 |
125 | true
126 |
127 |
128 | ru
129 | Тест объектов ИБ
130 |
131 |
132 | ГруппаТестОбъектовИБРасширеннаяПодсказка
133 | 21
134 | true
135 | true
136 |
137 | true
138 |
139 | Label
140 | true
141 | true
142 |
143 | Left
144 |
145 |
146 | Page
147 |
148 | Vertical
149 | true
150 |
151 |
152 |
153 | ГруппаТестСКД
154 | 22
155 |
156 | ТестируемыеОтчеты
157 | 24
158 | true
159 | true
160 |
161 | true
162 |
163 |
164 | ТестируемыеОтчеты
165 |
166 | None
167 | Pickup
168 | SortListDesc
169 | SortListAsc
170 | MoveDown
171 | MoveUp
172 | ShowRowRearrangement
173 | EndEdit
174 | Delete
175 | Change
176 | Copy
177 | Add
178 |
179 | ТестируемыеОтчетыПометка
180 | 40
181 | true
182 | true
183 |
184 | true
185 |
186 |
187 | ТестируемыеОтчеты.Пометка
188 |
189 |
190 | ТестируемыеОтчетыПометкаРасширеннаяПодсказка
191 | 42
192 | true
193 | true
194 |
195 | true
196 |
197 | Label
198 | true
199 | true
200 |
201 | Left
202 |
203 |
204 |
205 | ТестируемыеОтчетыПометкаКонтекстноеМеню
206 | 41
207 | true
208 | true
209 |
210 | true
211 |
212 | true
213 |
214 | CheckBoxField
215 | Enter
216 | true
217 | Left
218 | true
219 |
220 |
221 |
222 | ТестируемыеОтчетыЗначение
223 | 37
224 | true
225 | true
226 |
227 | true
228 |
229 |
230 |
231 | ТестируемыеОтчеты.Value
232 |
233 |
234 | ТестируемыеОтчеты.Значение
235 |
236 |
237 |
238 | ТестируемыеОтчетыЗначениеРасширеннаяПодсказка
239 | 39
240 | true
241 | true
242 |
243 | true
244 |
245 | Label
246 | true
247 | true
248 |
249 | Left
250 |
251 |
252 |
253 | ТестируемыеОтчетыЗначениеКонтекстноеМеню
254 | 38
255 | true
256 | true
257 |
258 | true
259 |
260 | true
261 |
262 | InputField
263 | true
264 | Enter
265 | true
266 | Left
267 | true
268 |
269 | true
270 | true
271 | true
272 | true
273 | true
274 | true
275 |
276 |
277 |
278 | ТестируемыеОтчетыКоманднаяПанель
279 | 25
280 |
281 | ТестируемыеОтчетыУстановитьФлажки
282 | 43
283 | true
284 | true
285 |
286 | true
287 |
288 |
289 | ТестируемыеОтчетыУстановитьФлажкиРасширеннаяПодсказка
290 | 44
291 | true
292 | true
293 |
294 | true
295 |
296 | Label
297 | true
298 | true
299 |
300 | Left
301 |
302 |
303 | Form.Item.ТестируемыеОтчеты.StandardCommand.CheckAll
304 | Auto
305 | false
306 | true
307 | true
308 | UserCmds
309 |
310 |
311 | ТестируемыеОтчетыСнятьФлажки
312 | 45
313 | true
314 | true
315 |
316 | true
317 |
318 |
319 | ТестируемыеОтчетыСнятьФлажкиРасширеннаяПодсказка
320 | 46
321 | true
322 | true
323 |
324 | true
325 |
326 | Label
327 | true
328 | true
329 |
330 | Left
331 |
332 |
333 | Form.Item.ТестируемыеОтчеты.StandardCommand.UncheckAll
334 | Auto
335 | false
336 | true
337 | true
338 | UserCmds
339 |
340 |
341 | ФормаТестСКД
342 | 6
343 | true
344 | true
345 |
346 | true
347 |
348 |
349 | ФормаТестСКДРасширеннаяПодсказка
350 | 7
351 | true
352 | true
353 |
354 | true
355 |
356 | Label
357 | true
358 | true
359 |
360 | Left
361 |
362 |
363 | Form.Command.ТестСКД
364 | Auto
365 | true
366 | true
367 | UserCmds
368 |
369 | true
370 | true
371 |
372 | true
373 |
374 | Left
375 | true
376 |
377 |
378 | true
379 | true
380 |
381 | true
382 |
383 | ТестируемыеОтчетыСтрокаПоиска
384 | 28
385 |
386 | ТестируемыеОтчетыСтрокаПоискаРасширеннаяПодсказка
387 | 30
388 | true
389 | true
390 |
391 | true
392 |
393 | Label
394 | true
395 | true
396 |
397 | Left
398 |
399 |
400 |
401 | ТестируемыеОтчетыСтрокаПоискаКонтекстноеМеню
402 | 29
403 | true
404 | true
405 |
406 | true
407 |
408 | true
409 |
410 |
411 | true
412 |
413 |
414 |
415 | true
416 | true
417 |
418 | true
419 |
420 | ТестируемыеОтчетыСостояниеПросмотра
421 | 34
422 |
423 | ТестируемыеОтчетыСостояниеПросмотраРасширеннаяПодсказка
424 | 36
425 | true
426 | true
427 |
428 | true
429 |
430 | Label
431 | true
432 | true
433 |
434 | Left
435 |
436 |
437 |
438 | ТестируемыеОтчетыСостояниеПросмотраКонтекстноеМеню
439 | 35
440 | true
441 | true
442 |
443 | true
444 |
445 | true
446 |
447 | ViewStatusAddition
448 |
449 | true
450 | Left
451 |
452 |
453 |
454 | true
455 | true
456 |
457 | true
458 |
459 | ТестируемыеОтчетыУправлениеПоиском
460 | 31
461 |
462 | ТестируемыеОтчетыУправлениеПоискомРасширеннаяПодсказка
463 | 33
464 | true
465 | true
466 |
467 | true
468 |
469 | Label
470 | true
471 | true
472 |
473 | Left
474 |
475 |
476 |
477 | ТестируемыеОтчетыУправлениеПоискомКонтекстноеМеню
478 | 32
479 | true
480 | true
481 |
482 | true
483 |
484 | true
485 |
486 | SearchControlAddition
487 |
488 | true
489 |
490 |
491 |
492 | ТестируемыеОтчетыРасширеннаяПодсказка
493 | 27
494 | true
495 | true
496 |
497 | true
498 |
499 | Label
500 | true
501 | true
502 |
503 | Left
504 |
505 |
506 |
507 | ТестируемыеОтчетыКонтекстноеМеню
508 | 26
509 | true
510 | true
511 |
512 | true
513 |
514 | true
515 |
516 | true
517 | true
518 | true
519 | MultiRow
520 | 1
521 | 1
522 | AutoUse
523 | AutoUse
524 | true
525 | true
526 | Auto
527 | Auto
528 | true
529 | true
530 |
531 | true
532 | true
533 |
534 | true
535 |
536 |
537 | ru
538 | Тест СКД
539 |
540 |
541 | ГруппаТестСКДРасширеннаяПодсказка
542 | 23
543 | true
544 | true
545 |
546 | true
547 |
548 | Label
549 | true
550 | true
551 |
552 | Left
553 |
554 |
555 | Page
556 |
557 | Vertical
558 | true
559 |
560 |
561 | true
562 | true
563 |
564 | true
565 |
566 |
567 | ru
568 | Тесты
569 |
570 |
571 | ГруппаТестыРасширеннаяПодсказка
572 | 15
573 | true
574 | true
575 |
576 | true
577 |
578 | Label
579 | true
580 | true
581 |
582 | Left
583 |
584 |
585 | Pages
586 |
587 | TabsOnTop
588 | DontUse
589 |
590 |
591 |
592 | ГруппаКаталогВыгрузки
593 | 47
594 |
595 | ВыгрузитьРезультатыТестаСКД
596 | 8
597 |
598 | ru
599 | Выгрузить результаты в каталог:
600 |
601 | true
602 | true
603 |
604 | true
605 |
606 |
607 | ВыгрузитьРезультатыТеста
608 |
609 | Right
610 |
611 | ВыгрузитьРезультатыТестаСКДРасширеннаяПодсказка
612 | 10
613 | true
614 | true
615 |
616 | true
617 |
618 | Label
619 | true
620 | true
621 |
622 | Left
623 |
624 |
625 |
626 | ВыгрузитьРезультатыТестаСКДКонтекстноеМеню
627 | 9
628 | true
629 | true
630 |
631 | true
632 |
633 | true
634 |
635 | CheckBoxField
636 | Enter
637 | true
638 | Left
639 | true
640 |
641 |
642 |
643 | КаталогВыгрузки
644 | 11
645 | true
646 | true
647 |
648 | true
649 |
650 |
651 | КаталогВыгрузки
652 |
653 | None
654 |
655 | КаталогВыгрузкиРасширеннаяПодсказка
656 | 13
657 | true
658 | true
659 |
660 | true
661 |
662 | Label
663 | true
664 | true
665 |
666 | Left
667 |
668 |
669 |
670 | КаталогВыгрузкиКонтекстноеМеню
671 | 12
672 | true
673 | true
674 |
675 | true
676 |
677 | true
678 |
679 | InputField
680 | Enter
681 | true
682 | Left
683 | true
684 |
685 |
686 | StartChoice
687 | КаталогВыгрузкиНачалоВыбора
688 |
689 | true
690 | true
691 | true
692 | true
693 | true
694 | true
695 | true
696 |
697 |
698 |
699 | ВерсияБиблиотеки
700 | 54
701 |
702 | ru
703 | v
704 |
705 | true
706 | true
707 |
708 | true
709 |
710 |
711 | ВерсияБиблиотекиРасширеннаяПодсказка
712 | 56
713 | true
714 | true
715 |
716 | true
717 |
718 | Label
719 | true
720 | true
721 |
722 | Left
723 |
724 |
725 |
726 | ВерсияБиблиотекиКонтекстноеМеню
727 | 55
728 | true
729 | true
730 |
731 | true
732 |
733 | true
734 |
735 | Label
736 | true
737 | true
738 |
739 | Style.FieldSelectionBackColor
740 |
741 |
742 | 10.0
743 | true
744 |
745 | Right
746 |
747 | Left
748 |
749 |
750 | true
751 | true
752 |
753 | true
754 |
755 | true
756 |
757 | ГруппаКаталогВыгрузкиРасширеннаяПодсказка
758 | 48
759 | true
760 | true
761 |
762 | true
763 |
764 | Label
765 | true
766 | true
767 |
768 | Left
769 |
770 |
771 | UsualGroup
772 |
773 | AlwaysHorizontal
774 | true
775 | true
776 | Auto
777 | DontUse
778 |
779 |
780 |
781 | РазмерПорции
782 | 49
783 | true
784 | true
785 |
786 | true
787 |
788 |
789 | РазмерПорции
790 |
791 |
792 | РазмерПорцииРасширеннаяПодсказка
793 | 51
794 | true
795 | true
796 |
797 | true
798 |
799 | Label
800 | true
801 | true
802 |
803 | Left
804 |
805 |
806 |
807 | РазмерПорцииКонтекстноеМеню
808 | 50
809 | true
810 | true
811 |
812 | true
813 |
814 | true
815 |
816 | InputField
817 | Enter
818 | true
819 | Left
820 | true
821 |
822 | true
823 | true
824 | true
825 | true
826 | true
827 | true
828 |
829 |
830 | None
831 |
832 | ФормаКоманднаяПанель
833 | -1
834 | true
835 | true
836 |
837 | true
838 |
839 | Left
840 | true
841 |
842 |
843 | OnOpen
844 | ПриОткрытии
845 |
846 |
847 | OnCreateAtServer
848 | ПриСозданииНаСервере
849 |
850 | true
851 | true
852 | Vertical
853 | true
854 | true
855 | true
856 | true
857 | true
858 |
859 | Объект
860 | 1
861 |
862 | ExternalDataProcessor.ктв_ПреобразованиеДанных_Тест
863 |
864 |
865 | true
866 |
867 |
868 | true
869 |
870 | true
871 |
872 |
873 | КоличествоВВыборке
874 |
875 | ru
876 | Количество объектов каждого типа в выборке
877 |
878 | 2
879 |
880 | Number
881 |
882 | 10
883 | true
884 |
885 |
886 |
887 | true
888 |
889 |
890 | true
891 |
892 |
893 |
894 | ВыгрузитьРезультатыТеста
895 |
896 | ru
897 | Выгрузить результаты теста
898 |
899 | 3
900 |
901 | Boolean
902 |
903 |
904 | true
905 |
906 |
907 | true
908 |
909 |
910 |
911 | КаталогВыгрузки
912 |
913 | ru
914 | Каталог выгрузки
915 |
916 | 4
917 |
918 | String
919 |
920 |
921 |
922 | true
923 |
924 |
925 | true
926 |
927 |
928 |
929 | ТестируемыеОтчеты
930 |
931 | ru
932 | Тестируемые отчеты
933 |
934 | 7
935 |
936 | ValueList
937 |
938 |
939 | true
940 |
941 |
942 | true
943 |
944 |
945 |
946 | String
947 |
948 |
949 |
950 |
951 |
952 | РазмерПорции
953 |
954 | ru
955 | Размер порции
956 |
957 | 8
958 |
959 | Number
960 |
961 | 10
962 | true
963 |
964 |
965 |
966 | true
967 |
968 |
969 | true
970 |
971 |
972 |
973 | Тест
974 |
975 | ru
976 | Тест
977 |
978 | 1
979 |
980 | ru
981 | Тест
982 |
983 |
986 |
987 |
988 | Тест
989 |
990 |
991 | Auto
992 |
993 |
994 | ТестСКД
995 |
996 | ru
997 | Тест
998 |
999 | 2
1000 |
1003 |
1004 |
1005 | ТестСКД
1006 |
1007 |
1008 | Auto
1009 |
1010 |
1011 | ТестКоллекций
1012 |
1013 | ru
1014 | Тест коллекций
1015 |
1016 | 3
1017 |
1020 |
1021 |
1022 | ТестКоллекций
1023 |
1024 |
1025 | Auto
1026 |
1027 |
1028 |
1029 |
1030 |
1031 |
1032 |
--------------------------------------------------------------------------------