@wshcmx/types 11.0.0-beta1 → 11.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +15 -27
  3. package/VERSIONING.md +12 -0
  4. package/lib/Lock/index.d.ts +22 -0
  5. package/lib/SmtpClient/index.d.ts +61 -0
  6. package/lib/arguments/index.d.ts +1 -1
  7. package/lib/array/index.d.ts +2 -3
  8. package/lib/binary/index.d.ts +3 -3
  9. package/lib/boolean/index.d.ts +1 -1
  10. package/lib/bufstream/index.d.ts +3 -2
  11. package/lib/core/index.d.ts +3881 -2081
  12. package/lib/database/index.d.ts +58 -0
  13. package/lib/date/index.d.ts +4 -2
  14. package/lib/env/index.d.ts +3 -0
  15. package/lib/error/index.d.ts +1 -3
  16. package/lib/eslint.config.js +48 -0
  17. package/lib/filestream/index.d.ts +1 -1
  18. package/lib/function/index.d.ts +3 -2
  19. package/lib/global_settings/index.d.ts +65 -65
  20. package/lib/http_request/index.d.ts +8 -2
  21. package/lib/http_response/index.d.ts +11 -12
  22. package/lib/listitem/index.d.ts +1 -1
  23. package/lib/math/index.d.ts +5 -5
  24. package/lib/ms_tools/index.d.ts +1 -1
  25. package/lib/number/index.d.ts +1 -1
  26. package/lib/object/index.d.ts +12 -19
  27. package/lib/other/index.d.ts +1 -1
  28. package/lib/regexp/index.d.ts +1 -1
  29. package/lib/screen/index.d.ts +14 -13
  30. package/lib/screenitem/index.d.ts +194 -1
  31. package/lib/server_agent_env/index.d.ts +8 -8
  32. package/lib/spxml_unibridge_provider/index.d.ts +0 -6
  33. package/lib/stream/index.d.ts +0 -1
  34. package/lib/string/index.d.ts +1 -3
  35. package/lib/tagreader/index.d.ts +0 -2
  36. package/lib/thread/index.d.ts +11 -1
  37. package/lib/tools/index.d.ts +1121 -461
  38. package/lib/tools_app/index.d.ts +1 -1
  39. package/lib/tools_ass/index.d.ts +60 -31
  40. package/lib/tools_i18n/index.d.ts +1 -1
  41. package/lib/tools_web/index.d.ts +415 -139
  42. package/lib/tools_xshell/index.d.ts +4 -0
  43. package/lib/tsconfig.json +3 -3
  44. package/lib/ui_tools/index.d.ts +5 -0
  45. package/lib/utility/index.d.ts +5 -2
  46. package/lib/xml/absence_reserve/index.d.ts +3 -0
  47. package/lib/xml/assessment_catalog/index.d.ts +22 -4
  48. package/lib/xml/bonus_profile/index.d.ts +1 -1
  49. package/lib/xml/career_reserve/index.d.ts +93 -11
  50. package/lib/xml/chatbot_chat/index.d.ts +1 -1
  51. package/lib/xml/cl_course/index.d.ts +2 -0
  52. package/lib/xml/collaborator/index.d.ts +180 -20
  53. package/lib/xml/component_package/index.d.ts +2 -0
  54. package/lib/xml/compound_program/index.d.ts +1 -1
  55. package/lib/xml/contract/index.d.ts +2 -0
  56. package/lib/xml/digital_signature/index.d.ts +6 -1
  57. package/lib/xml/dn_academ_debt/index.d.ts +11 -1
  58. package/lib/xml/dn_auditorium/index.d.ts +7 -0
  59. package/lib/xml/dn_block_discipline/index.d.ts +7 -0
  60. package/lib/xml/dn_control_event/index.d.ts +8 -0
  61. package/lib/xml/dn_control_form/index.d.ts +10 -0
  62. package/lib/xml/dn_discipline/index.d.ts +7 -0
  63. package/lib/xml/dn_discipline_block/index.d.ts +7 -0
  64. package/lib/xml/dn_edu_condition/index.d.ts +10 -0
  65. package/lib/xml/dn_educat_event/index.d.ts +10 -0
  66. package/lib/xml/dn_educat_form/index.d.ts +10 -0
  67. package/lib/xml/dn_ind_educat_plan/index.d.ts +7 -0
  68. package/lib/xml/dn_lesson/index.d.ts +12 -1
  69. package/lib/xml/dn_program_discipl/index.d.ts +11 -1
  70. package/lib/xml/dn_register/index.d.ts +17 -1
  71. package/lib/xml/education_plan/index.d.ts +1 -1
  72. package/lib/xml/event/index.d.ts +3 -3
  73. package/lib/xml/exchange_server/index.d.ts +50 -27
  74. package/lib/xml/forum_entry/index.d.ts +1 -1
  75. package/lib/xml/general/index.d.ts +1 -1
  76. package/lib/xml/item_catalog/index.d.ts +30 -14
  77. package/lib/xml/pa/index.d.ts +2 -2
  78. package/lib/xml/remote_action/index.d.ts +6 -1
  79. package/lib/xml/resource/index.d.ts +5 -5
  80. package/lib/xml/role_catalog/index.d.ts +25 -7
  81. package/lib/xml/statistic_rec/index.d.ts +2 -2
  82. package/lib/xml/testing_system_catalog/index.d.ts +17 -7
  83. package/lib/xml/workflow/index.d.ts +2 -0
  84. package/lib/xml/wscon_general/index.d.ts +78 -0
  85. package/lib/xmldocument/index.d.ts +7 -12
  86. package/lib/xmlelem/index.d.ts +9 -13
  87. package/lib/xmlformelem/index.d.ts +3 -3
  88. package/package.json +13 -16
  89. package/lib/.eslintrc.json +0 -54
  90. package/lib/defaultdb/index.d.ts +0 -27
@@ -1,6 +1,636 @@
1
1
  declare namespace tools {
2
2
  let lds_address: XmlElem<string | null>;
3
3
 
4
+ /**
5
+ * Возвращает схему URL.
6
+ * @returns {string} Схема.
7
+ * @example
8
+ * ```
9
+ * UrlSchema("http://docs.datex.ru/"); // http
10
+ * ```
11
+ */
12
+ function get_server_protocol(): "file" | "http" | "https" | "mailto" | "ftp" | "x-local";
13
+
14
+ let object_license: XmlElem<unknown | null>;
15
+
16
+ function encode_course_folder(code: string): string;
17
+
18
+ function decode_course_folder(code: string): string;
19
+
20
+ /**
21
+ * Загрузка курса из архива в базу. Курс создается если его нет или обновляется существующий.
22
+ * @param {string} fileUrl - Адрес до файла (архива) с курсом.
23
+ * @param {string} [charset="utf-8"] - Кодировка.
24
+ * @param {CourseDocument} [courseDocument] - Документ курса.
25
+ * @returns {CourseDocument} Документ курса или ошибка.
26
+ */
27
+ function load_course(fileUrl: string, charset?: string | null | undefined | "", courseDocument?: CourseDocument | undefined | ""): CourseDocumentTopElem | "" | string | LoadCourseResult;
28
+
29
+ /**
30
+ * Копирует ресурсы из списка, указанного в файле manifest, в папку получателя.
31
+ * @param {string} fileUrl - Путь или URL до файла manifest.
32
+ * @param {string} baseUrl - Путь или URL до папки получателя относительно папки wt/web.
33
+ * @returns {boolean} Возвращает значение true, если операция завершилась успешно (копирование выполнено),
34
+ * или false - в противном случае (копирование не выполнено).
35
+ */
36
+ function copy_manifest_resources(fileUrl: string, baseUrl: string): BaseToolsResponse;
37
+
38
+ function open_course_package_server(url: string): {
39
+ error: 0 | 1;
40
+ error_text: string;
41
+ file_import: string,
42
+ temp_url: string;
43
+ course: unknown | null;
44
+ };
45
+
46
+ function copy_url_temp_suffix(destUrl: string, sourceUrl: string): void;
47
+
48
+ /**
49
+ * Обновляет данные о количестве дочерних элементов в родительском форуме.
50
+ * Если задан forumId, то дочерним записям форума с iParentForumEntryIDParam,
51
+ * проставляется новое значение форума.
52
+ * @param {ForumDocument} [forumDocument] - Необязательный, если задан parentForumId – Doc записи форума,
53
+ * родителя которого нужно обновить.
54
+ * @param {number} [forumId] - Необязательный – Id форума, к которому нужно привязать элементы.
55
+ * @param {number | "" | null} [parentForumId] - Необязательный, если задан doc – Id родительской записи форума.
56
+ * @returns {number | null} Целое число (int), количество дочерних элементов вниз по иерархии
57
+ * в документе определяемом parentForumId.
58
+ * @example
59
+ * ```
60
+ * tools.update_forum_entry(null, null, iParentForumEntryID);
61
+ * tools.update_forum_entry(TopElem.Doc, TopElem.forum_id);
62
+ * ```
63
+ */
64
+ function update_forum_entry(forumDocument: ForumDocument, forumId?: number | "" | null, parentForumId?: number | null): number;
65
+
66
+ /**
67
+ * Обновляет данные о количестве дочерних элементов в родительском комментарии к разделу портала.
68
+ * Если задан iNewPortalDocIDParam, то дочерним записям проставляется новое значение документа портала,
69
+ * к которому они привязаны.
70
+ * @param {DocumentDocument} documentDocument - Doc документ записи комментария к разделу портала,
71
+ * родителя которого нужно обновить.
72
+ * @param {number|""|null} documentId - Id раздела портала к которому нужно привязать дочерние комментарии.
73
+ * @returns {number} Целое число , количество дочерних элементов вниз по иерархии в определяемом doc.
74
+ */
75
+ function update_document_comment_entry(documentDocument: DocumentDocument, documentId: number | "" | null): number;
76
+
77
+ /**
78
+ * Добавляет строку к событию базы, определяемому `report_id` или документом `source_doc`.
79
+ * @param {number} actionReportId - Id события базы, к которому нужно добавить строку.
80
+ * @param {string} text - Строка, которую нужно добавить к событию базы.
81
+ * @param {ActionReportDocument} actionReportDocument - Документ события базы, к которому нужно добавить строку.
82
+ * @returns {ActionReportDocument} Сохраненный документ события базы с добавленной строкой.
83
+ * @example
84
+ * ```
85
+ * var reportDocument = OpenNewDoc("x-local://wtv/wtv_action_report.xmd");
86
+ * var reportId = reportDocument.DocID;
87
+ * tools.add_report(reportId, "Saving archive: OK.");
88
+ * ```
89
+ */
90
+ function add_report(actionReportId: number, text?: string, actionReportDocument?: ActionReportDocument): ActionReportDocument;
91
+
92
+ /**
93
+ * Загрузка данных на сервер обмена данными.
94
+ * @param {number} serverId - Id сервера обмена данными, на который нужно отправить данные.
95
+ * @param {Date} [date] - Дата, начиная с которой нужно грузить данные.
96
+ * @param {string} type - Описание типа отправки.
97
+ * @returns {string} Строка с ошибкой или пустая строка в случае успеха.
98
+ * @example
99
+ * ```
100
+ * var date = tools.get_exchange_date(serverDoc.TopElem.upload, serverDoc.TopElem.last_upload_date);
101
+ * tools.upload_data(serverId, date, "quick");
102
+ * tools.upload_data(serverId, "", "full");
103
+ * ```
104
+ */
105
+ function upload_data(serverId: number, date: Date, type: string): string;
106
+
107
+ /**
108
+ * Получение данных с сервера обмена данными.
109
+ * @param {number} serverId - Id сервера обмена данными, с которого необходимо получить данные.
110
+ * @returns {DownloadDataResponse} В случае успеха выполнения функции возвращаются значения oRes.error = 0
111
+ * и пустая строка в поле oRes.error_text.
112
+ * В случае возникновения ошибки возвращаются значения oRes.error = 500 и сведения об ошибке в поле oRes.error_text.
113
+ */
114
+ function download_data(serverId: number): {
115
+ error: 0 | 1;
116
+ error_text: string;
117
+ data_file_url: string;
118
+ report_id: number;
119
+ };
120
+
121
+ /**
122
+ * Создание пакета данных для отправки на сервер обмена данными.
123
+ * @param {number} serverId - Id сервера обмена данными, для которого формируется пакет.
124
+ * @param {number} reportId - Id документа событий базы, в который будут записываться отчет.
125
+ * @param {string} packageId - Строковое выражение Id загружаемого пакета.
126
+ * @param {Date} [date] - Дата, начиная с которой нужно загружать данные.
127
+ * @returns {string} Строковое выражение, содержащее путь до сформированного пакета.
128
+ * @example
129
+ * ```
130
+ * var filename = tools.create_data_package(serverId, reportId, packageId, "");
131
+ * var packageUrl = tools.create_data_package(serverId, reportId, packageId, date, serverId);
132
+ * var filename = ServerEval("tools.create_data_package(" + serverId + "," + reportId + "," + packageId + ",\"\")");
133
+ * ```
134
+ */
135
+ function create_data_package(serverId: number, reportId: number, packageId: string, date: Date): string;
136
+
137
+ /**
138
+ * Возвращает последнюю дату обмена данными (отправки или получения) для указанного сервера обмена данными.
139
+ * @param {ExchangeServerDocumentTopElem} source - Xml элемент, в котором храниться дата (download, upload).
140
+ * @param {Date} lastDate - Дата последней отправки.
141
+ * @returns {Date} Дата обмена данными.
142
+ * @example
143
+ * ```
144
+ * _exa2wx5nutv7 = tools.get_exchange_date(curServerDoc.download, curServerDoc.last_download_date);
145
+ * _exa2wx5nutv7 = tools.get_exchange_date(curServerDoc.upload, curServerDoc.last_upload_date);
146
+ * ```
147
+ */
148
+ function get_exchange_date(source: ExchangeServerDocumentTopElem, lastDate: Date): Date;
149
+
150
+ /**
151
+ * Отправляет файл на указанный сервер обмена данными.
152
+ * Отправление идет как письмо по протоколу Smtp.
153
+ * Поэтому возможно указать тему и тело сообщения.
154
+ * @param {string} subject - Строка с темой отправляемого сообщения.
155
+ * @param {string} body - Строка с телом отправляемого сообщения.
156
+ * @param {string} sendFile - Строка с адресом до отправляемого файла.
157
+ * @param {number} serverId - Id сервера обмена данными, для которого формируется пакет.
158
+ * @param {number} reportId - Id документа событий базы, в который будут записываться отчет.
159
+ * @returns {string} Строка с адресом до сформированного пакета.
160
+ * @example
161
+ * ```
162
+ * var subject = "data [" + serverDocument.code.Value + "]" + (type == "full" ? " - full" : "");
163
+ * tools.send_file_to_server(subject, "Id: " + packageId, fileName, serverId, reportId);
164
+ * ```
165
+ */
166
+ function send_file_to_server(subject: string, body: string, sendFile: string, serverId: number, reportId: number): string;
167
+
168
+ /**
169
+ * Отправляет файл на указанный сервер обмена данными. Отправление идет Post по http протоколу.
170
+ * @param {string} fileAddress - Строка с адресом до отправляемого файла.
171
+ * @param {number} serverId - Id сервера обмена данными, для которого формируется пакет.
172
+ * @param {number} reportId - Id документа событий базы, в который будут записываться отчет.
173
+ */
174
+ function post_file_to_server(fileAddress: string, serverId: number, reportId: number): void;
175
+
176
+ /**
177
+ * Преобразует дату в строку, разделенную символом _ (нижнее подчеркивание).
178
+ * Например, дата 01.02.1999 12:34:15 будет преобразована в 1999_02_01_12_34.
179
+ * @param {Date} [date=Date()] - Дата, подлежащая преобразованию.
180
+ * Если атрибут не указан, то будут преобразовываться текущие дата и время.
181
+ * @returns {string} Дата, преобразованная в строку. Результат дейсттвия функции.
182
+ */
183
+ function date_str(date?: Date): string;
184
+
185
+ function uni_process_package(urlPackage: string, fldForm: unknown): {
186
+ error: 0 | 1;
187
+ error_text: string;
188
+ progress_count: number;
189
+ list_count: number;
190
+ };
191
+
192
+ function process_package(url: string, fldPackagesValId: number, updateObjects: boolean): unknown;
193
+
194
+ /**
195
+ * Возвращает ошибку формы, переданной как параметр.
196
+ * @param {XmlDocument} xmlDocument - Документ формы, содержащей ошибку.
197
+ * @returns {string} Строка с описанием ошибки.
198
+ */
199
+ function get_param_error_text(xmlDocument: XmlDocument): string;
200
+
201
+ /**
202
+ * Загружает указанные пакеты с сервера обмена данными.
203
+ * @param {number} exchangeServerId - Id сервера обмена данными, с которого загружаются пакеты.
204
+ * Если Id сервера обмена данными не указан, считается, что сервер локальный.
205
+ * @param {number} [packageId] - Id пакета, который нужно загрузить.
206
+ * @param {string} [filePath] - Путь до файла с пакетом.
207
+ * @returns {DownloadDataResponse} Результирующий объект oRes имеет три свойства:
208
+ * - код oRes.error;
209
+ * - URL файла данных oRes.data_file_url;
210
+ * - и сведения об ошибке oRes.error_text.
211
+ */
212
+ function download_package_list(exchangeServerId: number, packageId?: number, filePath?: string): {
213
+ error: 0 | 1;
214
+ error_text: string;
215
+ data_file_url: string;
216
+ report_id: number;
217
+ };
218
+
219
+ function download_package(exchangeSeverId: number, packageId: number, tempUrl: string, fldPackageValId: number, updateObjects: boolean): {
220
+ error: 0 | 1;
221
+ error_text: string;
222
+ data_file_url: string;
223
+ application_id: number;
224
+ };
225
+
226
+ /**
227
+ * Обрабатывает пакет с данными и загружает содержимое в базу данных.
228
+ * @param {string} path - Путь до файла с пакетом.
229
+ * @param {string} type - Тип загрузки.
230
+ * Возможные значения:
231
+ * objects и std_objects – загружает объекты в базу;
232
+ * std_objects применяется для загрузки стандартных объектов из первоначальной установки;
233
+ * code_update – выгружает файлы из архива в папку wtv сервера WebTutor;
234
+ * web – выгружает файлы из архива в папку wt/web сервера WebTutor.
235
+ * @param {XmlDocument} source - Источник данных о типах загружаемых объектов, и других параметров загрузки объектов.
236
+ * @param {number} reportId - Id документа событий базы, в который будут записываться отчет.
237
+ * @param {number} exchangeServerId - Id сервера обмена данным, из которого берутся параметры
238
+ * для фильтрации данных из пакета.
239
+ * @param {number} downloadPackageId - Id пакета, из которого нужно загрузить данные.
240
+ * @returns {boolean} Успешная или не успешная загрузка данных.
241
+ * В случае типа объектов objects и std_objects.
242
+ * Возвращается форма открытого документа пакета.
243
+ * @example
244
+ * ```
245
+ * var packageProcessResult = tools.package_process(Ps.local_file_url, Ps.type, Ps.Doc.DocID);
246
+ * common_variables.len_flag = packageProcessResult !== null;
247
+ * ```
248
+ */
249
+ function package_process(path: string, type: string, source: XmlDocument, reportId: number, exchangeServerId: number, downloadPackageId: number): boolean;
250
+
251
+ /**
252
+ * Назначение курса участникам указанного мероприятия.
253
+ * @param {number} personId - Id сотрудника, которому назначается курс.
254
+ * @param {number} courseId - Id курса, который необходимо назначить.
255
+ * @param {number} eventId - Id мероприятия, участникам которого назначается курс.
256
+ * @param {CollaboratorDocumentTopElem} personDoc - TopElem карточки сотрудника, которому назначается курс.
257
+ * @param {number} educationPlanId - Id плана обучения, в рамках которого назначен курс.
258
+ * @param {number} duration - Длительность курса в днях. Определяет дату планируемого завершения.
259
+ * @param {Date} startLearningDate - Дата начала обучения. Если данный аргумент задан,
260
+ * то обучение невозможно будет начать раньше указанной даты.
261
+ * @param {Date} lastLearningDate - Контрольная дата завершения предыдущего обучения.
262
+ * Если параметр задан, то при назначении курса, проверяется,
263
+ * существует ли в каталоге learnings курс, завершенный после указанной даты.
264
+ * Если такой курс существует, то Id соответствующей записи из каталога
265
+ * learnings возвращается как результат работы функции.
266
+ * @param {number} groupId - Id группы, которой назначен курс.
267
+ * @param {string} eid - Код записи в каталоге active_learnings.
268
+ * Если он указан, то при назначении курса,
269
+ * когда производится проверка на уже существующий активный курс
270
+ * данного сотрудника в каталоге active_learnings, проверяется также,
271
+ * что у данной записи должен быть указанный в параметре код.
272
+ * @param {boolean} skipDismissed - Аргумент, указывающий на необходимость пропускать уволенных
273
+ * сотрудников (true – пропускать, false –не пропускать). По умолчанию true.
274
+ * @returns {XmlElem<number> | null | ActiveLearningDocument}.
275
+ * Если курс назначен при выполнении функции,
276
+ * то возвращается ссылка на вновь созданный документ обучения.
277
+ * Если курс был назначен ранее, но не завершен, или завершен,
278
+ * но не прошло еще время, указанное в атрибуте dtLastLearningDateParam,
279
+ * то возвращается Id карточки ранее назначенного курса (из каталога active_learning).
280
+ */
281
+ function activate_course_to_person(personId: number | string, courseId?: number, eventId?: number, personDoc?: CollaboratorDocumentTopElem, educationPlanId?: number, duration?: number, startLearningDate?: Date, lastLearningDate?: Date, groupId?: number, eid?: string, skipDismissed?: boolean): XmlElem<number> | null | ActiveLearningDocument;
282
+
283
+ /**
284
+ * Назначение курса участникам указанного мероприятия.
285
+ * @param {ActivateCourseToPersonObject} params - Параметры назначения курса.
286
+ * @returns {XmlElem<number> | null | ActiveLearningDocument}.
287
+ * Если курс назначен при выполнении функции,
288
+ * то возвращается ссылка на вновь созданный документ обучения.
289
+ * Если курс был назначен ранее, но не завершен, или завершен,
290
+ * но не прошло еще время, указанное в атрибуте dtLastLearningDateParam,
291
+ * то возвращается Id карточки ранее назначенного курса (из каталога active_learning).
292
+ */
293
+ function activate_course_to_person(params: ActivateCourseToPersonObject): XmlElem<number> | null | ActiveLearningDocument;
294
+
295
+ /**
296
+ * Функция назначения теста пользователю.
297
+ * @param {ActivateCourseToPersonObject} params - Объект JavaScript (Структура параметров).
298
+ * @returns {XmlElem<number> | null | XmlDocument} Объект XMLDoc или Целое число.
299
+ * Если тест назначен при выполнении функции, то возвращается ссылка на вновь созданный документ обучения.
300
+ * Если тест был назначен ранее, но не завершен, или завершен,
301
+ * но не прошло еще время, указанное в атрибуте dtLastLearningDateParam,
302
+ * то возвращается Id карточки ранее назначенного теста (из каталога active_test_learning).
303
+ */
304
+ function activate_test_to_person(params: ActivateTestToPersonParams): XmlElem<number> | null | ActiveTestLearningDocument;
305
+
306
+ /**
307
+ * Функция назначения теста пользователю.
308
+ * @param {number} personId - Id пользователя.
309
+ * @param {number} assessmentId - Id курса.
310
+ * @param {number} eventId - Id мероприятия.
311
+ * @param {CollaboratorDocumentTopElem} personDoc - Документ пользователя.
312
+ * @param {AssessmentDocumentTopElem} assessmentDocument - Документ теста.
313
+ * @param {null} eventDocument - Документ мероприятия.
314
+ * @param {number} duration - Продолжительность тестирования.
315
+ * @param {Date} startLearningDate - Дата начала тестирования.
316
+ * @param {Date} lastLearningDate - Дата окончания тестирования.
317
+ * @param {number} groupId - Id группы.
318
+ * @param {number} educationPlanId - Id плана обучения.
319
+ * @param {boolean} skipDismissed - Аргумент, указывающий на необходимость пропускать уволенных сотрудников.
320
+ * (true – пропускать, false – не пропускать). По умолчанию true.
321
+ * @returns {XmlElem<number> | null | XmlDocument} Объект XMLDoc или Целое число.
322
+ * Если тест назначен при выполнении функции, то возвращается ссылка на вновь созданный документ обучения.
323
+ * Если тест был назначен ранее, но не завершен, или завершен,
324
+ * но не прошло еще время, указанное в атрибуте dtLastLearningDateParam,
325
+ * то возвращается Id карточки ранее назначенного теста (из каталога active_test_learning).
326
+ */
327
+ function activate_test_to_person(personId: number, assessmentId: number | string, eventId: number | string | null | undefined, personDoc: CollaboratorDocumentTopElem | null | undefined | "", assessmentDocument: AssessmentDocumentTopElem | null | "", eventDocument?: null, duration?: number | string | null, startLearningDate?: Date | string, lastLearningDate?: Date | string, groupId?: number | string | null, educationPlanId?: number | string | null, skipDismissed?: boolean | null): XmlElem<number> | null | ActiveTestLearningDocument;
328
+
329
+ /**
330
+ * Назначение теста участникам указанного мероприятия.
331
+ * @param {number} eventId - Id мероприятия, участникам которого назначается тест.
332
+ * @param {number} assessmentId - Id теста, который необходимо назначить.
333
+ * @param {EventDocument} eventDocument - Документ карточки мероприятия.
334
+ * @param {number} duration - Длительность теста в днях. Определяет дату планируемого завершения.
335
+ * @param {Date} startLearningDate - Дата начала обучения. Если данный аргумент задан,
336
+ * то обучение невозможно будет начать раньше указанной даты.
337
+ * @param {Date} lastLearningDate - Контрольная дата завершения предыдущего обучения.
338
+ * Если параметр задан, то при назначении теста проверяется, существует ли в каталоге test_learnings тест,
339
+ * завершенный после указанной даты. Если такой тест существует, то Id соответствующей записи из
340
+ * каталога test_learnings возвращается как результат работы функции.
341
+ * @param {string} actType - Строка, указывающая, кому назначать тесты.
342
+ * Возможные значения:
343
+ * 'all' - Тесты назначаются всем участникам мероприятия (значение по умолчанию).
344
+ * 'post' - Тесты назначаются участникам мероприятия, у которых проставлен флаг «Присутствовал на мероприятии».
345
+ * @param {boolean} skipDismissed - Аргумент, указывающий на необходимость пропускать уволенных сотрудников
346
+ * (true – пропускать, false – не пропускать). По умолчанию true.
347
+ * @param {boolean} bUseProctoring - Использовать прокторинг.
348
+ * @param {number} iProctorPreferID - Id прокторинга.
349
+ * @param {boolean} bActivateOnlyAssist - Активация мероприятий.
350
+ * @returns {number} Количество назначенных тестов.
351
+ */
352
+ function activate_test_to_event(eventId: number, assessmentId: number, eventDocument?: EventDocument, duration?: number, startLearningDate?: Date, lastLearningDate?: Date, actType?: string, skipDismissed?: boolean, bUseProctoring?: boolean, iProctorPreferID?: number, bActivateOnlyAssist?: boolean): number;
353
+
354
+ /**
355
+ * Назначение курса участникам указанного мероприятия.
356
+ * @param {number} eventId - Id мероприятия, для участников которого назначается курс.
357
+ * @param {number} courseId - Id курса, который необходимо назначить.
358
+ * @param {EventDocument} eventDocument - Документ карточки мероприятия.
359
+ * @param {number} duration - Длительность курса в днях. Определяет дату планируемого завершения.
360
+ * @param {Date} startLearningDate - Дата начала обучения. Если данный аргумент задан,
361
+ * то обучение невозможно будет начать раньше указанной даты.
362
+ * @param {Date} testLearningDate - Контрольная дата завершения предыдущего обучения.
363
+ * Если параметр задан, то при назначении курса, проверяется,
364
+ * существует ли в каталоге learnings курс, завершенный после указанной даты.
365
+ * Если такой курс существует, то соответствующая запись из каталога
366
+ * learnings возвращается как результат работы функции.
367
+ * @returns {number} Количество назначенных курсов.
368
+ */
369
+ function activate_course_to_event(eventId: number, courseId: number, eventDocument?: EventDocument, duration?: number, startLearningDate?: Date, testLearningDate?: Date): number;
370
+
371
+ /**
372
+ * Назначение сотруднику курсов, которые указаны в учебных программах (с типом "Электронный курс"),
373
+ * перечисленных в наборе программ. Если в наборе учебных программ указаны учебные программы,
374
+ * содержащие дистанционное обучение (курсы), то эти курсы будут назначены сотруднику.
375
+ * @param {number} personId - Id сотрудника, которому назначается набор учебных программ.
376
+ * @param {number} educationProgramId - Id набора учебных программ.
377
+ * @param {CollaboratorDocumentTopElem} collaboratorDocumentTopElem - TopElem карточки сотрудника,
378
+ * которому назначается тест.
379
+ * @param {EducationProgramDocumentTopElem} educationProgramDocumentTopElem - TopElem карточки набора
380
+ * учебных программ.
381
+ * @returns {number} Количество назначенных курсов в составе набора учебных программ.
382
+ */
383
+ function activate_education_program_to_person(personId: number, educationProgramId: number, collaboratorDocumentTopElem: CollaboratorDocumentTopElem, educationProgramDocumentTopElem: EducationProgramDocumentTopElem): number;
384
+
385
+ /**
386
+ * Возвращает время (часы, минуты и секунды) из строки с разделителем T,
387
+ * например, вида "2015-06-02T07:51:44".
388
+ * Используется для разбора результатов теста.
389
+ * Проверка формата исходного аргумента не производится.
390
+ * @param {string} duration - Строковое выражение даты в формате "2015-06-02T07:51:44".
391
+ * @returns {string} Строковое выражение времени (часы, минуты и секунды) в формате "07:51:44",
392
+ * если переданы дата и время, или выражение, находящееся после символа T, если передана строка с таким разделителем.
393
+ * @example tools.get_time_from_duration("2015-06-02T07:51:44"); // 07:41:44
394
+ */
395
+ function get_time_from_duration(duration: string): string;
396
+
397
+ /**
398
+ * Возвращаете время (часы, минуты и секунды) в виде «часы H минуты M секунды S»,
399
+ * полученное из количества секунд. Используется для разбора результатов теста.
400
+ * @param {string} seconds - Количество секунд, которые нужно преобразовать в часы, минуты и секунды.
401
+ * @returns {string} Строковое значение, содержащее значение времени в формате «часы H минуты M секунды S» в строке,
402
+ * или пустая строка, если входной параметр (аргумент) не удалось преобразовать в число.
403
+ * @example tools.get_time_from_seconds(86399); // 23H59M59S
404
+ */
405
+ function get_time_from_seconds(seconds: string): string;
406
+
407
+ /**
408
+ * Отменяет транзакцию. Используется в модуле геймификация.
409
+ * @param {number} transactionId - Id транзакции, которую нужно отменить.
410
+ * @returns {number} Id транзакции, отменяющей указанную транзакцию.
411
+ * @example tools.delete_transaction(Ps.Doc.DocID);
412
+ */
413
+ function delete_transaction(transactionId: number): number;
414
+
415
+ /**
416
+ * Создает транзакцию по списанию указной суммы в указанной валюте с указанного счета.
417
+ * Используется в модуле геймификация.
418
+ * Совершает оплату по выбранному объекту.
419
+ * @param {number} acountId - Id объекта, к которому прикреплен счет, с которого будет происходить списание.
420
+ * @param {string} accountCurrency - Строка валюты счета, содержащая Id валюты из списка валют в системе.
421
+ * @param {number} sum - Сумма.
422
+ * @param {string} comment - Комментарий к транзакции.
423
+ * @param {number} objectId - Id объекта по которому происходит транзакция.
424
+ * @returns {TransactionDocument} Документ созданной новой транзакции.
425
+ * @example
426
+ * ```
427
+ * tools.pay_new_transaction_by_object(
428
+ * personID,
429
+ * fldBonusElem.currency_type_id,
430
+ * fldBonusElem.sum,
431
+ * "Bonus by qualification \"" + teQualification.name + "\".",
432
+ * qualificationID
433
+ *);
434
+ * ```
435
+ */
436
+ function pay_new_transaction_by_object(acountId: number, accountCurrency: string, sum: number, comment: string, objectId: number): TransactionDocument;
437
+
438
+ /**
439
+ * Создает транзакцию зачислению суммы из указанной оплаты на счет.
440
+ * @param {number} invoiceId - Id документа Оплат.
441
+ * @param {InvoiceDocumentTopElem} [invoiceDocumentTopElem] - TopElem карточки оплаты.
442
+ * @returns {InvoiceDocument | null} Документ оплаты или null.
443
+ */
444
+ function pay_invoice(invoiceId: number, invoiceDocumentTopElem: InvoiceDocumentTopElem): InvoiceDocument | null;
445
+
446
+ /**
447
+ * Создает транзакцию по списанию указной суммы со счета указанной организации.
448
+ * @param {number} orgId - Id организации.
449
+ * @param {number} amount - Сумма списания.
450
+ * @param {string} [comment] - Комментарий к транзакции.
451
+ * @returns {number | null} Id транзакции или null.
452
+ */
453
+ function pay_courses(orgId: number, amount: number, comment?: string): number | null;
454
+
455
+ /**
456
+ * Создает документ об оплате (invoice).
457
+ * @param {number} orgId - Id организации.
458
+ * @param {number} amount - Сумма списания.
459
+ * @returns {number} Id оплаты.
460
+ */
461
+ function set_account(orgId: number, amount: number): number;
462
+
463
+ /**
464
+ * Создает документ об оплате (invoice) для курса из заявки.
465
+ * @param {number} orgId - Id организации.
466
+ * @param {number} requestId - Id заявки сотрудника на курс по которой происходит списание.
467
+ * @returns {number} Id оплаты.
468
+ */
469
+ function personal_pay(orgId: number, requestId: number): number;
470
+
471
+ /**
472
+ * Создает новое неотправленное уведомление.
473
+ * В теле уведомления (шаблоне уведомления) обращение к первому параметру идет через objDocID, к документу,
474
+ * открываемому автоматически при вызове функции по отправке уведомления, objDoc. ObjDoc- это TopElem документа.
475
+ * Обращение ко второму параметру идет через objDocSecID, к документу, открываемому автоматически при
476
+ * вызове функции по отправке уведомления objDocSec. ObjDocSec- это TopElem документа.
477
+ * Если документ отрыт ранее, то для ускорения работы функции отправки уведомления, можно передать открытый
478
+ * документ в функцию, что позволит избежать его повторного открытия.
479
+ * Для этого вместо tools.create_notification(code, id1, '', id2)
480
+ * вызывается функция, куда передаются дополнительные параметры
481
+ * tools.create_notification(code, id1, '', id2, TopElem1,TopElem2).
482
+ * @param {string} notificationIdentifier - Код типа уведомления, которое будет отправляться.
483
+ * Если параметр пустой ('') или равен '0', то в параметр
484
+ * additionalParams необходимо передавать структуру, из которой будут заполняться типы получателей (recipients),
485
+ * тип отправителя (sender_selector), тема сообщения (subject), тип текста в теле сообщения (body_type),
486
+ * тело сообщения (body) и адрес отправителя (sender_email). Если oTypeParam - это реальный код типа уведомления,
487
+ * то типы получателей (recipients), тип отправителя (sender_selector) и адрес отправителя (sender_email) будут
488
+ * браться из указанного объекта. А тема сообщения (subject), тип текста в теле сообщения (body_type),
489
+ * тело сообщения (body) из шаблона уведомления, прикрепленного к типу сообщения с указанным в параметре кодом.
490
+ * Если в существующих в системе типах уведомления не найдено типа уведомления с указанным кодом,
491
+ * то уведомление не формируется и функция возвратит значение false.
492
+ * В определенных случаях в качестве данного аргумента вместо кода типа уведомления
493
+ * может быть указан Id открытого документа типа уведомления.
494
+ * @param {string} objectId - Id первого объекта (обыкновенно, по данным первого документа формируется, в частности,
495
+ * перечень сотрудников, которым нужно отправить сообщение. В теле уведомления (шаблоне уведомления) обращение
496
+ * к этому параметру идет через objDoc (например, <%=objDoc.name%>) и objDocID.
497
+ * @param {T} text - Аргумент, к которому можно обращаться в теле шаблона уведомления как к Text (<%=Text%>).
498
+ * @param {number} secondObjectId - Id второго объекта, который прикрепляется к уведомлению.
499
+ * В теле уведомления (шаблоне уведомления) обращение этому параметру
500
+ * идет через objDocSec (например, <%=objDocSec.name%>) и objDocSecID.
501
+ * @param {XmlTopElem} objectTopElem - TopElem карточки первого объекта, определяемого аргументом objectId.
502
+ * @param {XmlTopElem} secondObjectTopElem - TopElem карточки второго объекта,
503
+ * определяемого аргументом secondObjectId.
504
+ * @param {ICreateNotificationAdditionalParams} additionalParams - Структура, позволяющая создать собственное
505
+ * (пользовательское) уведомление "на лету".
506
+ * Из нее берутся данные о типах получателей (recipients), тип отправителя (sender_selector),
507
+ * тема сообщения (subject), тип текста в теле сообщения (body_type), тело сообщения (body)
508
+ * и адрес отправителя (sender_email).
509
+ * @returns {boolean} Результат отправки уведомления.
510
+ */
511
+ function create_notification<T>(notificationIdentifier: number | string, objectId: number | string, text?: T, secondObjectId?: number, objectTopElem?: XmlTopElem, secondObjectTopElem?: XmlTopElem, additionalParams?: ICreateNotificationAdditionalParams): boolean;
512
+
513
+ /**
514
+ * Отправляет письмо с параметрами, заданными в аргументах.
515
+ * Если первый параметр равен '0' или пустому значению, то производится отправка по адресам,
516
+ * заданным в структуре recipients объекта teSourceParam.
517
+ * Если первый параметр – это код или идентификатор реального типа уведомления,
518
+ * то в список адресатов будут добавлены адреса, вычисленные по правилам этого объекта (типа уведомления).
519
+ * Тема (subject) и тело (body) письма будут взяты из аргументов, переданных в функцию,
520
+ * а не из параметров шаблона уведомления.
521
+ * @param {string} type - Код типа уведомления, которое будет связано с формируемым шаблоном уведомления.
522
+ * @param {number} objectId - Id первого прикрепленного документа,
523
+ * относительного которого будет идти поиск получателей.
524
+ * В шаблоне уведомления обращение к этому параметру идет через objDocID.
525
+ * @param {string} [subject] - Строка, в которой содержится тема сообщения.
526
+ * @param {string} [body] - Строка, в которой содержится тело сообщения.
527
+ * @param {XmlTopElem} [topElem] - TopElem карточки первого объекта, определяемого аргументом <iObjectIDParam>.
528
+ * @param {XmlDocument} [teSourceParam] - Структура, из которой будут заполняться:
529
+ * - типы получателей (recipients);
530
+ * - тип отправителя (sender_selector);
531
+ * - тип текста в теле сообщения (body_type);
532
+ * - адрес отправителя (sender_email).
533
+ * @param {number} [objectSecondId] - Id документа, который передается,
534
+ * как второй прикрепленный к уведомлению документ.
535
+ * В шаблоне уведомления обращение этому параметру идет через objDocSecID.
536
+ * @returns {boolean} Возвращает значение true, если операция завершилась успешно, или false в противном случае.
537
+ * @example tools.create_template_notification(0, personId, dlgDoc.TopElem.subject, dlgDoc.TopElem.body, null, dlgDoc.TopElem, secondId);
538
+ */
539
+ function create_template_notification(type: string, objectId: number, subject?: string, body?: string, topElem?: XmlTopElem, teSourceParam?: XmlDocument, objectSecondId?: number): ReturnType<typeof create_notification>;
540
+
541
+ /**
542
+ * Отправляет созданное с помощью функции tools.create_notification неотправленное уведомление.
543
+ * @param {number} activeNotificationId - Id неотправленного уведомления, которое должно быть отправлено.
544
+ * @returns {boolean} Флаг успешной или не успешной отправки уведомления.
545
+ */
546
+ function send_notification(activeNotificationId: number): boolean;
547
+
548
+ /**
549
+ * Формирует форму сертификата из стандартного шаблона templates/certificate_template.html
550
+ * на основе завершенного курса.
551
+ * Используется в карточке завершенного курса.
552
+ * @param {number} learningId - Id завершенного курса, для которого формируется сертификат.
553
+ * @returns {string} Сформированный Html сертификат.
554
+ */
555
+ function save_certificate(learningId: number): string;
556
+
557
+ /**
558
+ * Возвращает строку символов указанной длины, сформированную случайным образом.
559
+ * @param {number} length - Количество символов в указанной строке. Длина возвращаемой строки.
560
+ * @param {string} [dictionary] - Набор символов, из которого формируется строка
561
+ * (кроме букв и цифр набор может содержать также специальные символы '!@#$%^&*_+-=?').
562
+ * Для удобства использования набор не должен содержать символы 'o', 'O', '0', 'l', 'I'.
563
+ * Если параметр не указан (опущен или представлен в виде пустой строки),
564
+ * то символы берутся из набора 'qwertyuiopasdfghjklzxcvbnm1234567890'.
565
+ * @returns {string} Cформированное строковое значение.
566
+ * @example
567
+ * ```
568
+ * // строка из 12 случайных символов
569
+ * password = tools.random_string(12);
570
+ * // строка из 10 случайных символов (с применением строчных букв и специальных символов)
571
+ * password = tools.random_string(10, "QWERTYUPASDFGHJKLZXCVBNMqwertyuipasdfghjkzxcvbnm123456789!@#$%^&*_+-=?");
572
+ * docPerson.TopElem.password = tools.random_string(Ps.password_digits_num);
573
+ * ```
574
+ */
575
+ function random_string(length: number, dictionary?: string): string;
576
+
577
+ /**
578
+ * Загрузка данных по сотрудникам из XML-структуры.
579
+ * Используется для импорта сотрудников.
580
+ * Документ XML с данными для загрузки должен быть сформирован
581
+ * предварительно и соответствовать определенным правилам.
582
+ * @param {XmlDocument} xmlDocument - Документ XML с данными для загрузки.
583
+ * @returns {number} Id документа события базы с отчетом о загрузке.
584
+ * @example
585
+ * ```
586
+ * var docId = tools.import_excel_persons(xmlDocument);
587
+ * var xml = CodeLiteral(fldTE.GetXml({ "tabs": false }));
588
+ * var importExcelPersonActionReportId = OptInt(tools.import_excel_persons(xml), null);
589
+ * local_settings.temp.import_excel_person_action_report_id = importExcelPersonActionReportId;
590
+ * ```
591
+ */
592
+ function import_excel_persons(xmlDocument: XmlDocument): number;
593
+
594
+ /**
595
+ * Используется для проверки заполнения схемы импорта перед импортом сотрудников в интерфейсе администратора.
596
+ * @param {XmlTopElem} topElem - TopElem Xml документа с настройками для загрузки.
597
+ * @returns {string} Возвращаемый результат – строка с ошибкой или пустая строка в случае успеха.
598
+ */
599
+ function start_import_excel_persons(topElem: XmlTopElem): string;
600
+
601
+ function get_sub_boss_by_person_id(personId: number, person: CollaboratorDocument): number[];
602
+
603
+ /**
604
+ * Возвращает непосредственных руководителей организации указанного сотрудника.
605
+ * @param {number} personId - Id сотрудника для организации, которого производится поиск руководителей.
606
+ * @returns {number[]} Массив с Id сотрудников, являющихся непосредственными руководителями организации
607
+ * указанного сотрудника.
608
+ */
609
+ function get_main_boss_by_person_id(personId: number): number[];
610
+
611
+ /**
612
+ * Добавляет новый язык в список используемых в системе языков. Загрузка происходит из XML-файла с константами.
613
+ * Используется в администраторе в общих настройках, для установки новых языков или обновления существующих.
614
+ * @param {string} sLngUrlParam - Путь до XML-файла с константами.
615
+ * @param {boolean} bDoObtainParam - Используется при вызове функции на сервере. Если значение аргумента равно `true`,
616
+ * то существующие значения констант языка перезаписываются новыми из файла `sLngUrlParam`.
617
+ * @returns {number} Количество обновленных констант.
618
+ * @example
619
+ * ```
620
+ * tools.add_lng(_url);
621
+ * tools.add_lng(UrlAppendPath("x-local://custom/", temp_doc.lngs_url), true);
622
+ * _num = TopElem.add_lng_items(_doc, true);
623
+ * ```
624
+ */
625
+ function add_lng(sLngUrlParam: string, bDoObtainParam?: boolean): number;
626
+
627
+ /**
628
+ * Получение текстового значения языкового параметра из curLngWeb.
629
+ * @param {string} name - Название параметра.
630
+ * @returns {string} Значение языкового параметра.
631
+ */
632
+ function get_web_str(name: string): string;
633
+
4
634
  /**
5
635
  * Проверяет, является ли указанный сотрудник (первый аргумент функции) непосредственным руководителем сотрудника,
6
636
  * который указан в качестве второго аргумента функции.
@@ -49,9 +679,9 @@ declare namespace tools {
49
679
  * @param {boolean} [bossType] - True поиск только непосредственного руководителя.
50
680
  * False поиск только функционального руководителя без признака непосредственный.
51
681
  * Если передать Id нужного типа руководителя, то будет проверятся руководитель указанного типа.
52
- * @param {number} [limit] - Ограничение на количество выбираемых результатов.
53
- * @param {string} [searchParam] - Условие фильтрации where xquery или по object_name.
54
- * @returns {boolean|null} Результат проверки.
682
+ * @param {number} [limit] - .
683
+ * @param {string} [searchParam] - .
684
+ * @returns {boolean | null} Результат проверки.
55
685
  */
56
686
  function is_user_boss(managerId: number, userId: number, catalogNames?: "not_native" | "native" | "collaborator" | "group" | "org" | "position" | "subdivision" | "" | null | undefined, bossType?: boolean | number, limit?: number | "", searchParam?: string | null): boolean | null;
57
687
 
@@ -63,20 +693,17 @@ declare namespace tools {
63
693
  * Если параметр не указан, то проверка происходит относительно текущего пользователя (curUserID),
64
694
  * если он определен в окружении, в котором вызывается функция.
65
695
  * @returns {boolean} Результат проверки.
66
- * @example
67
- * ```
68
- * tools.is_self_cur_user()
69
- * ```
696
+ * @example tools.is_self_cur_user()
70
697
  */
71
698
  function is_self_cur_user(userId?: number): boolean;
72
699
 
73
- function is_main_boss(): unknown;
700
+ function is_main_boss(): boolean;
74
701
 
75
- function is_real_boss(): unknown;
702
+ function is_real_boss(): boolean;
76
703
 
77
- function is_cost_center_boss(): unknown;
704
+ function is_cost_center_boss(): boolean;
78
705
 
79
- function is_next_boss(): unknown;
706
+ function is_next_boss(): boolean;
80
707
 
81
708
  /**
82
709
  * Используется для работы в документообороте по заявкам в процедуре оценки.
@@ -189,16 +816,15 @@ declare namespace tools {
189
816
  */
190
817
  function is_by_group_id(groupId: number): boolean;
191
818
 
192
- function is_person_func_manager(): unknown;
193
-
194
- function is_person_org_func_manager(): unknown;
819
+ function is_person_func_manager(): boolean;
195
820
 
196
- function is_func_manager(): unknown;
821
+ function is_person_org_func_manager(): boolean;
197
822
 
198
- function is_project_manager(): unknown;
823
+ function is_func_manager(): boolean;
199
824
 
200
- function is_statement_date(iActivityIDParam: unknown, sValueParam: unknown, sUslParam: unknown): unknown;
825
+ function is_project_manager(): boolean;
201
826
 
827
+ function is_statement_date(activityId: number, value: string, usl: string): boolean;
202
828
 
203
829
  /**
204
830
  * Функция заполняет поля в приемнике данных на основе значений из объекта источника данных:
@@ -340,9 +966,7 @@ declare namespace tools {
340
966
  * Для источника типа object очищаются поля object_type, object_name, object_code, object_start_date.
341
967
  * @param {string} type - Строка, содержащая название типа источника объекта.
342
968
  * @param {XmlTopElem} source - Приемник данных.
343
- * @param {MsPersonSdInnerBase} xmlElemWithSdNode - Элемент XML, имеющий дочерний элемент sd
344
- * (если атрибут ps указан, то его дочерний элемент sd очищается).
345
- * @param {unknown} doc - Неиспользуемый параметр.
969
+ * @param {MsPersonSdInnerBase} xmlElemWithSdNode - Элемент XML, имеющий дочерний элемент sd (если атрибут ps указан, то его дочерний элемент sd очищается).
346
970
  * @returns {boolean} Возвращает значение true, если операция завершилась успешно, или false в противном случае.
347
971
  * @example
348
972
  * ```
@@ -350,9 +974,9 @@ declare namespace tools {
350
974
  * tools.common_clear("collaborator", Child(0).Parent, person_id);
351
975
  * ```
352
976
  */
353
- function common_clear(type: "subdivision" | "org" | "position" | "event" | "education_org" | "course" | "assessment" | "request_type" | "task_type" | "response_type" | "collaborator" | "object" | "education_type", source: XmlTopElem, xmlElemWithSdNode?: MsPersonSdInnerBase, doc?: unknown): boolean;
977
+ function common_clear(type: "subdivision" | "org" | "position" | "event" | "education_org" | "course" | "assessment" | "request_type" | "task_type" | "response_type" | "collaborator" | "object" | "education_type", source: XmlTopElem, xmlElemWithSdNode?: MsPersonSdInnerBase): boolean;
354
978
 
355
- function check_course_finish_condition(learningDoc: unknown, courseDoc: unknown): unknown;
979
+ function check_course_finish_condition(learningDoc: LearningDocument, courseDoc: CourseDocument): boolean;
356
980
 
357
981
  /**
358
982
  * Функция завершает указанный активный электронный курс и создает карточку завершенного электронного курса
@@ -374,29 +998,29 @@ declare namespace tools {
374
998
  * @param {ActiveTestLearningDocumentTopElem} activeTestLearningDocumentTopElem - TopElem активного теста,
375
999
  * который необходимо завершить.
376
1000
  * @param {AssessmentDocumentTopElem} assessmentDocumentTopElem - TopElem теста, который необходимо завершить.
377
- * @param {number} iPersonIDParam - Id сотрудника.
378
- * @param {boolean} bFinishTest - Флаг завершение теста.
1001
+ * @param {number} personId - Id сотрудника.
1002
+ * @param {boolean} finishTest - Флаг завершение теста.
379
1003
  * @returns {TestLearningDocument} Документ завершенного теста.
380
1004
  */
381
- function active_test_learning_finish(learningId: number, activeTestLearningDocumentTopElem?: ActiveTestLearningDocumentTopElem, assessmentDocumentTopElem?: AssessmentDocumentTopElem, iPersonIDParam?: number, bFinishTest?: unknown): TestLearningDocument;
1005
+ function active_test_learning_finish(learningId: number, activeTestLearningDocumentTopElem?: ActiveTestLearningDocumentTopElem, assessmentDocumentTopElem?: AssessmentDocumentTopElem, personId?: number, finishTest?: boolean): TestLearningDocument;
382
1006
 
383
- function active_test_learning_finish_link(activeLearningID: number, learningID: number, teLearning: TestLearningDocumentTopElem, teAssessment: AssessmentDocumentTopElem): unknown;
1007
+ function active_test_learning_finish_link(activeLearningId: number, learningId: number, learningTopElem: XmlTopElem, assessmentTopElem: XmlTopElem): false | void;
384
1008
 
385
1009
  /**
386
1010
  * Функция завершает указанную попытку для теста и создает карточку завершенного теста.
387
- * @param {number} _learning_id - Id активного теста, попытку которого необходимо завершить.
388
- * @param {string} _learning_code - Код раздела теста, который нужно завершить.
389
- * @param {AssessmentDocument} _assessment_doc - `TopElem` теста, который необходимо завершить.
390
- * @param {boolean} _flag_create_learning - Возвращает значение, показывающее,
1011
+ * @param {number} learningId - Id активного теста, попытку которого необходимо завершить.
1012
+ * @param {string} learningCode - Код раздела теста, который нужно завершить.
1013
+ * @param {AssessmentDocument} assessmentDocument - `TopElem` теста, который необходимо завершить.
1014
+ * @param {boolean} flagCreateLearning - Возвращает значение, показывающее,
391
1015
  * создавать или не создавать запись завершенного теста:
392
1016
  * - `true` – создавать запись завершенного теста;
393
1017
  * - `false` – не создавать запись.
394
1018
  * @param {ActiveTestLearningDocument} docActiveLearning - Документ активного теста, который необходимо завершить.
395
1019
  * @returns {boolean} Результат выполнения функции.
396
1020
  */
397
- function active_test_learning_finish_attempt(_learning_id: number, _learning_code?: string, _assessment_doc?: AssessmentDocument, _flag_create_learning?: boolean, docActiveLearning?: ActiveTestLearningDocument): boolean;
1021
+ function active_test_learning_finish_attempt(learningId: number, learningCode?: string, assessmentDocument?: AssessmentDocument, flagCreateLearning?: boolean, docActiveLearning?: ActiveTestLearningDocument): boolean;
398
1022
 
399
- function core_decrypt(_core: unknown, _qti_path: unknown, _qti_text: unknown, _learning_doc: unknown): unknown;
1023
+ function core_decrypt(core: string, qtiPath: string, qtiText: string, learning: LearningDocument): string;
400
1024
 
401
1025
  /**
402
1026
  * Представляет результаты завершенного теста в XML-формате.
@@ -430,8 +1054,8 @@ declare namespace tools {
430
1054
  * </elem_count>
431
1055
  * ```
432
1056
  * Примечание – Передаваемый в данную функцию аргумент должен строго соответствовать
433
- * требованиям к объекту XmlElem. В противном случае функция может выдать ошибку:
434
- * «Unknown method: GetXml()».
1057
+ * требованиям к объекту XmlElem.
1058
+ * В противном случае функция может выдать ошибку: «Unknown method: GetXml()».
435
1059
  * Соответствие аргумента структуре annals (результатам тестирования) данная функция не проверяет.
436
1060
  * @param {XmlElem<AnnalsObjectsBase>} annals - Данные для преобразования.
437
1061
  * @returns {string} Строка в формате XML со стандартным заголовком. Результат действия функции.
@@ -440,21 +1064,13 @@ declare namespace tools {
440
1064
 
441
1065
  /**
442
1066
  * Возвращает путь до файла со структурой теста/курса в формате qti.
443
- * @param {number} objectId - Id карточки теста/курса.
444
- * @param {string} partCode - Код модуля электронного теста или курса, для которого нужно определить путь.
445
- * @returns {string} Путь до файла со структурой теста/курса в формате qti.
446
- */
447
- function get_qti_path(objectId: number, partCode: string): string;
448
-
449
- /**
450
- * Возвращает путь до файла со структурой теста/курса в формате qti.
451
- * @param {AssessmentDocumentTopElem | CourseDocumentTopElem} topElem - TopElem карточки теста/курса.
1067
+ * @param {number | AssessmentDocumentTopElem | CourseDocumentTopElem} objectIdOrObject - Id карточки теста/курса или TopElem карточки теста/курса.
452
1068
  * @param {string} partCode - Код модуля электронного теста или курса, для которого нужно определить путь.
453
1069
  * @returns {string} Путь до файла со структурой теста/курса в формате qti.
454
1070
  */
455
- function get_qti_path(topElem: AssessmentDocumentTopElem | CourseDocumentTopElem, partCode: string): string;
1071
+ function get_qti_path(objectIdOrObject: number | AssessmentDocumentTopElem | CourseDocumentTopElem, partCode: string): string;
456
1072
 
457
- function xml_header(): unknown;
1073
+ function xml_header(): "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
458
1074
 
459
1075
  /**
460
1076
  * Представляет результаты теста в формате XML-структуры.
@@ -478,20 +1094,23 @@ declare namespace tools {
478
1094
  */
479
1095
  function annals_decrypt(oSourceParam: XmlElem<unknown>, sQtiPathParam?: string, sQtiTextParam?: string, bNoSendCorrectAnswerParam?: boolean): XmlDocument;
480
1096
 
481
- function report_decrypt(_source: unknown, _qti_path: unknown, _qti_text: unknown): unknown;
1097
+ function report_decrypt(source: unknown, qtiPath: string | null, qtiText: string | null): string;
482
1098
 
483
- function fill_annals_timings(fldTarget: unknown, fldSource: unknown): unknown;
1099
+ function fill_annals_timings(fldTarget: unknown, fldSource: unknown): void;
484
1100
 
485
- function get_data_answers(fldDataItem: unknown): unknown;
1101
+ function get_data_answers(fldDataItem: unknown): {
1102
+ ident: string;
1103
+ value: string;
1104
+ }[];
486
1105
 
487
- function get_item_points(fldQuestion: unknown): unknown;
1106
+ function get_item_points(fldQuestion: unknown): number | null;
488
1107
 
489
1108
  /**
490
1109
  * Заполняет структуру annals результатами теста в XML-формате.
491
- * @param {XmlElem<AnnalsObjectBase>} annals - Структура для заполнения.
1110
+ * @param {XmlElem<AnnalsObjectsBase>} annals - Структура для заполнения.
492
1111
  * @param {string} fileQtiPath - Путь до файла со структурой теста в формате qti.
493
1112
  * @param {string} qtiStructire - Структура теста в формате qti.
494
- * @param {XmlElem<AnnalsObjectBase>} annalsSource - Тест-источник.
1113
+ * @param {XmlElem<AnnalsObjectsBase>} annalsSource - Тест-источник.
495
1114
  * @param {boolean} [noSendCorrectAnswer=true] - Аргумент, указывающий, что не нужно записывать правильный ответ
496
1115
  * в результирующую структуру (true – не нужно записывать правильный ответ,
497
1116
  * false – нужно записывать правильный ответ).
@@ -500,14 +1119,14 @@ declare namespace tools {
500
1119
 
501
1120
  /**
502
1121
  * Заполняет структуру annals результатами теста в XML-формате.
503
- * @param {XmlElem<AnnalsObjectBase>} annals - Структура для заполнения.
1122
+ * @param {XmlElem<AnnalsObjectsBase>} annals - Структура для заполнения.
504
1123
  * @param {string} qtiPath - Путь до файла со структурой теста в формате qti.
505
1124
  * @param {string} qtiText - Структура теста в формате qti.
506
- * @param {AssessmentDocumentTopElem} assessmentDocumentTopElem - TopElem карточки теста.
1125
+ * @param {AssessmentDocumentTopElem} learning - TopElem карточки теста.
507
1126
  * @param {XmlTopElem} annalsTarget - TopElem открытого документа структуры для заполнения.
508
1127
  * @returns {string} Строковое выражение заполненной XML-структуры с результатами тестирования, без отступов.
509
1128
  */
510
- function get_annals_text(annals: unknown, qtiPath: unknown, qtiText: unknown, assessmentDocumentTopElem: AssessmentDocumentTopElem, annalsTarget: XmlTopElem): string;
1129
+ function get_annals_text(annals: XmlElem<AnnalsObjectsBase>, qtiPath: string, qtiText: string, learning: AssessmentDocumentTopElem, annalsTarget: XmlTopElem): string;
511
1130
 
512
1131
  /**
513
1132
  * Закрывает HTTP-запрос к странице.
@@ -535,16 +1154,13 @@ declare namespace tools {
535
1154
  * @param {string} url - Путь до файла со Lists.
536
1155
  * @param {string} [name] - Название списка, значения которого будут обновлены на основе данных из файла.
537
1156
  * @returns {boolean} Флаг да (bool) при любом (успешном или неуспешном) выполнение действия.
538
- * @example
539
- * ```
540
- * tools.obtain_lists(UrlAppendPath("x-local://custom/", temp_doc.lists_url));
541
- * ```
1157
+ * @example tools.obtain_lists(UrlAppendPath("x-local://custom/", temp_doc.lists_url));
542
1158
  */
543
1159
  function obtain_lists(url: string, name?: string): boolean;
544
1160
 
545
- function event_finish(eventId: number, eventDocument?: EventDocument): unknown;
1161
+ function event_finish(eventId: number, eventDocument?: EventDocument, screen?: typeof Screen): EventDocument;
546
1162
 
547
- function event_start(eventId: number, eventDocument: EventDocument, oScreenParam: unknown): unknown;
1163
+ function event_start(eventId: number, event: EventDocument, screen: Object): EventDocument;
548
1164
 
549
1165
  /**
550
1166
  * Проверяет разрешение на доступ к указанному объекту для указанного пользователя.
@@ -561,11 +1177,11 @@ declare namespace tools {
561
1177
  * Возвращает путь до xmd формы каталога или объекта каталога.
562
1178
  * @param {string} catalogName - Название каталога (без s на конце).
563
1179
  * @param {boolean} isCatalog - Флаг указывающий, нужно возвращать форму каталога (true), или форму объекта (false).
564
- * @returns {string} Пусть до формы (string) начинающийся с «x-local:».
1180
+ * @returns {string} Пусть до формы начинающийся с «x-local:».
565
1181
  */
566
- function get_object_form_url(catalogName: string, isCatalog: unknown): string;
1182
+ function get_object_form_url(catalogName: string, isCatalog: boolean): string;
567
1183
 
568
- function get_screen_form_url(catalogName: string): unknown;
1184
+ function get_screen_form_url(catalogName: string): string;
569
1185
 
570
1186
  /**
571
1187
  * Создает новый объект в указанном каталоге.
@@ -593,12 +1209,16 @@ declare namespace tools {
593
1209
  */
594
1210
  function create_package<T extends XmlElem<unknown, unknown>>(packagePath: string, reportId: number, paramSource: T, packId: string): number;
595
1211
 
596
- function create_list_package(sResultUrlParam: unknown, fldPackage: unknown): unknown;
1212
+ function create_list_package(resultUrl: string, fldPackage: unknown): {
1213
+ error: 0 | 1;
1214
+ error_text: string;
1215
+ counter: number;
1216
+ };
597
1217
 
598
1218
  /**
599
1219
  * Возвращает объект документа, соответствующего указанным условиям, или null, если документ не найден.
600
1220
  * @param {string} catalog - Название каталога для поиска объекта (без s на конце).
601
- * @param {string|string[]} key - Строка или Массив.
1221
+ * @param {string | string[]} key - Строка или Массив.
602
1222
  * Критерии поиска.
603
1223
  * Если передается строка, то это название поля в каталоге, по которому происходит поиск значения,
604
1224
  * заданного oKeyValueParam.
@@ -613,15 +1233,15 @@ declare namespace tools {
613
1233
  /**
614
1234
  * Возвращает Doc документа по указанным условиям, если документ не найден, то создает новый документ.
615
1235
  * @param {string} catalogName - Название каталога для поиска объекта (без s на конце).
616
- * @param {string|string[]} key - Если передается строка, то это название поля в каталоге,
1236
+ * @param {string | string[]} key - Если передается строка, то это название поля в каталоге,
617
1237
  * по которому происходит поиск значения, заданного oKeyValueParam.
618
1238
  * Если это массив свойств, то будет создано условие поиска.
619
1239
  * Где название свойства это название поля в каталоге, по которому происходит поиск значения.
620
1240
  * А значение это значение указанного свойства.
621
- * @param {string|number} value - Значение поля в каталоге, по которому происходит поиск.
1241
+ * @param {string | number} value - Значение поля в каталоге, по которому происходит поиск.
622
1242
  * @returns {T} XmlDocument.
623
1243
  */
624
- function obtain_doc_by_key<T extends XmlDocument>(catalogName: unknown, key: unknown, value: string|number): T;
1244
+ function obtain_doc_by_key<T extends XmlDocument>(catalogName: string, key: string | string[], value: string | number): T;
625
1245
 
626
1246
  /**
627
1247
  * Возвращает продолжительность периода времени в секундах.
@@ -687,7 +1307,7 @@ declare namespace tools {
687
1307
  */
688
1308
  function create_filter_xquery(conditions: ViewConditionBase, condition: string, name: string): string;
689
1309
 
690
- function create_condition_field(fldCondition: unknown, elemName: string): unknown;
1310
+ function create_condition_field(fldCondition: unknown, elemName: string): string;
691
1311
 
692
1312
  /**
693
1313
  * Создает строку условий для использования в выражении типа eval в коде администратора WebTutor
@@ -715,29 +1335,16 @@ declare namespace tools {
715
1335
  */
716
1336
  function create_filter_javascript(conditions: ViewConditionBase, condition: string, name: string): string;
717
1337
 
718
- /**
719
- * Обновляет значения текущих настраиваемых полей в системе на основе списка, указанного в параметрах.
720
- * @param {string} url - Путь до файла с структурой списка (List) из которого будут загружаться данные.
721
- * @param {XmlTopElem} source - List для обновления.
722
- * @returns {number} Количество обновленных элементов списка.
723
- * @example
724
- * ```
725
- * count = tools.obtain_custom_templates(UrlAppendPath("x-local://custom/", temp_doc.custom_templates_url));
726
- * ```
727
- */
728
- function obtain_custom_templates(url: unknown, source: unknown): unknown;
1338
+ function obtain_custom_templates(url: string, source: unknown): number;
729
1339
 
730
1340
  /**
731
1341
  * Обновляет значения ролей в системе на основе списка, указанного в параметрах.
732
1342
  * @param {string} url - Путь до файла с структурой списка (List) из которого будут загружаться данные.
733
1343
  * @param {XmlTopElem} list - List для обновления.
734
1344
  * @returns {number} Количество обновленных элементов списка.
735
- * @example
736
- * ```
737
- * count = tools.obtain_custom_templates(UrlAppendPath("x-local://custom/", temp_doc.custom_templates_url));
738
- * ```
1345
+ * @example tools.obtain_custom_templates(UrlAppendPath("x-local://custom/", temp_doc.custom_templates_url));
739
1346
  */
740
- function obtain_access_roles(url: string, list: XmlTopElem): number;
1347
+ function obtain_access_roles(url: string, list: unknown): number;
741
1348
 
742
1349
  /**
743
1350
  * Импортирует курс в систему из указанного файла.
@@ -747,21 +1354,21 @@ declare namespace tools {
747
1354
  */
748
1355
  function import_course(filepath: string): boolean;
749
1356
 
750
- function process_skk(_inst_flag: unknown): unknown;
1357
+ function process_skk(instFlag: boolean): boolean;
751
1358
 
752
1359
  /**
753
1360
  * Возвращает значение параметра, переданного в функцию, в зашифрованном виде.
754
1361
  * Вид шифрования указывается в общих настройках (Формат хранения и проверки пароля): md5, sha1, sha1_base64.
755
1362
  * @param {string} password - Строка для преобразования.
756
- * @param {boolean} flag - Флаг, показывающий, что получаемая в результате преобразования
1363
+ * @param {boolean} check - Флаг, показывающий, что получаемая в результате преобразования
757
1364
  * строка будет использоваться для проверки пароля (true).
758
1365
  * Это значит, что их строки будут удалены открывающаяся "(" и закрывающаяся “)" скобки для
759
1366
  * md5, sha1, sha1_base64. В противном случае (false),
760
1367
  * будет возвращена строка в () в указанном в настройках формате md5, sha1, sha1_base64
761
1368
  * или без скобок для формата Plain.
762
- * @returns {string} Возвращаемый результат – строка (string), преобразованная в соответствие с параметрами вызова.
1369
+ * @returns {string} Возвращаемый результат – строка, преобразованная в соответствие с параметрами вызова.
763
1370
  */
764
- function make_password(password: string, flag: boolean): string;
1371
+ function make_password(password: string, check: boolean): string;
765
1372
 
766
1373
  /**
767
1374
  * Возвращает версию и дату модификации из файла history.
@@ -774,13 +1381,14 @@ declare namespace tools {
774
1381
  * - qti – данные из файла history.xml, находящегося в папке qti.
775
1382
  * - assessment – данные из файла history_ass.xml, находящегося в папке wtv.
776
1383
  * - last – данные из файла history.xml, находящегося в папке last.
1384
+ * @param {boolean} dateFlag - .
777
1385
  * @returns {string} Строка вида 'номер версии (дата модификации версии)'.
778
1386
  * @example
779
1387
  * ```
780
1388
  * tools.get_version("last");
781
1389
  * ```
782
1390
  */
783
- function get_version(type: "wtv" | "qti" | "assessment" | "last"): string;
1391
+ function get_version(type: "wtv" | "qti" | "assessment" | "last", dateFlag: boolean): string;
784
1392
 
785
1393
  /**
786
1394
  * Функция возвращает набор заполненных настраиваемых полей для данного каталога и данного документа.
@@ -841,7 +1449,7 @@ declare namespace tools {
841
1449
  */
842
1450
  function disp_block_filling(source: XmlTopElem, dispBlock: MsDispBlockBase): void;
843
1451
 
844
- function get_order_query(sOrderParam: unknown, sDirParam: unknown): unknown;
1452
+ function get_order_query(order: string, dir: string): string;
845
1453
 
846
1454
  /**
847
1455
  * Формирует строку для использования в запросе XQuery на основе указанных параметров.
@@ -868,9 +1476,10 @@ declare namespace tools {
868
1476
  * (параметр ft_filter), то можно указать ключевое поле поиска, отличное от id.
869
1477
  * Значение по умолчанию равно 'id'.
870
1478
  * @param {T} oColumnsParam - Колонки (например, из файла view_types.xml) для возврата результатов запроса.
1479
+ * @param {"global_settings" | "indexed"} [searchType="global_settings"] - .
871
1480
  * @returns {string} Строка для использования в запросе XQuery на основе указанных параметров.
872
1481
  */
873
- function create_xquery<T extends XmElem<unknown, unknown>>(catalog: string, xqueryQual: string, filterXQuery: string, ftFilter: string, order: string, orderDirection: string, isHier?: boolean, foreignField?: string, oColumnsParam?: T): unknown;
1482
+ function create_xquery<T extends XmElem<unknown, unknown>>(catalog: string, xqueryQual: string, filterXQuery: string, ftFilter: string, order: string, orderDirection: string, isHier?: boolean, foreignField?: string, oColumnsParam?: T, searchType?: "global_settings" | "indexed"): unknown;
874
1483
 
875
1484
  /**
876
1485
  * Осуществляет обработку заявки.
@@ -885,9 +1494,11 @@ declare namespace tools {
885
1494
  */
886
1495
  function request_processing(requestId: number, requestDocument?: RequestDocument): RequestDocument;
887
1496
 
888
- function update_object_versions(docVersion: unknown, iVersionID: unknown, docObject: unknown, personId: number, tePerson: unknown, sComment: unknown): unknown;
1497
+ function request_eval_code(request: RequestDocument, requestTypeTopElem: XmlTopElem, curUserId: number, code: string, codeLibraryId: number, methodName: string): string;
1498
+
1499
+ function update_object_versions(version: XmlDocument, versionId: number, object: XmlDocument, personId: number, personTopElem: XmlTopElem, comment: string): void;
889
1500
 
890
- function update_adding_objects(docObject: unknown, iObjectID: unknown): unknown;
1501
+ function update_adding_objects<T extends XmlDocument>(object: T, objectId: number): T;
891
1502
 
892
1503
  /**
893
1504
  * Осуществляет отмену (отклонение) заявки.
@@ -896,29 +1507,32 @@ declare namespace tools {
896
1507
  * Выполняет код отмены заявки из типа заявки.
897
1508
  * Меняет статус у заявки на «отмена» и проставляет дату закрытия заявки.
898
1509
  * Если стандартная обработка включает отправку уведомлений, то будут отправлены уведомления.
899
- * @param {number} objectId - Id заявки для отмены.
900
- * @param {RequetDocument} objectDocument - XmlDocument заявки для обработки.
1510
+ * @param {number} requestId - Id заявки для отмены.
1511
+ * @param {RequetDocument} request - XmlDocument заявки для обработки.
901
1512
  * @param {number} personId - Id сотрудника.
902
1513
  * Если будет совпадать с id подавшего заявку, то руководителю будет отправлено уведомление,
903
1514
  * что подчиненный сотрудник отменил заявку.
904
1515
  * @param {boolean} isSave - Флаг.
1516
+ * @param {CurUser} curUser - TopElem пользователя.
905
1517
  * @returns {RequestDocument} Doc обработанной и сохраненной заявки.
906
1518
  */
907
- function request_rejecting(objectId: number, objectDocument: RequestDocument, personId?: number, isSave?: boolean): RequestDocument;
1519
+ function request_rejecting(requestId: number, request: RequestDocument, personId?: number, isSave?: boolean, curUser?: CurUser): RequestDocument;
908
1520
 
909
1521
  /**
910
1522
  * Добавляет участника в мероприятие.
911
- * @param {number} userId - Id сотрудника, добавляемого в мероприятие.
1523
+ * @param {number} personId - Id сотрудника, добавляемого в мероприятие.
912
1524
  * @param {number} eventId - Id мероприятия, в которое добавляется сотрудник.
913
- * @param {CollaboratorDocumentTopElem} userTopElem - `TopElem` сотрудника.
914
- * @param {EventDocument} eventDocument - Документ мероприятия.
1525
+ * @param {CollaboratorDocumentTopElem} personTopElem - `TopElem` сотрудника.
1526
+ * @param {EventDocument} event - Документ мероприятия.
915
1527
  * @param {number} educationPlanId - Id плана обучения добавляемого сотрудника.
916
1528
  * Если аргумент указан, то ссылка на план сохранится в результатах мероприятия сотрудника.
917
1529
  * @param {number} requestPersonId - Id лица, подавшего заявку на добавление сотрудника в мероприятие.
918
1530
  * Если аргумент указан, то ссылка на лицо, подавшее заявку, сохранится в результатах мероприятия сотрудника.
919
1531
  * @param {number} requestId - Id заявки на включение сотрудника в состав участников мероприятия.
920
1532
  * Если аргумент указан, то ссылка на заявку сохранится в результате мероприятия сотрудника.
921
- * @returns {EventDocument|null} Документ мероприятия, к которому добавлялся сотрудник
1533
+ * @param {boolean} guestLogin - .
1534
+ * @param {boolean} doObtain - .
1535
+ * @returns {EventDocument | null} Документ мероприятия, к которому добавлялся сотрудник
922
1536
  * (если сотрудник ранее не был добавлен в данное мероприятие),
923
1537
  * или `null` (если сотрудник ранее уже был добавлен).
924
1538
  * @example
@@ -928,18 +1542,18 @@ declare namespace tools {
928
1542
  * tools.add_person_to_event(fldPersonElem.PrimaryKey, docEvent.DocID, null, docEvent, null, catRequest.PrimaryKey);
929
1543
  * ```
930
1544
  */
931
- function add_person_to_event(userId: number, eventId: number, userTopElem?: CollaboratorDocumentTopElem, eventDocument?: EventDocument, educationPlanId?: number, requestPersonId?: number, requestId?: number): EventDocument | null;
1545
+ function add_person_to_event(personId: number, eventId: number, personTopElem?: CollaboratorDocumentTopElem, event?: EventDocument, educationPlanId?: number, requestPersonId?: number, requestId?: number, guestLogin?: boolean, doObtain?: boolean): EventDocument | null;
932
1546
 
933
1547
  /**
934
1548
  * Удаляет участника (сотрудника) из мероприятия.
935
1549
  * @param {number} personId - Id сотрудника, удаляемого из мероприятия.
936
1550
  * @param {number} eventId - Id мероприятия, из которого удаляется сотрудник.
937
- * @param {EventDocument} [eventDocument] - Документ мероприятия, из которого удаляется сотрудник.
1551
+ * @param {EventDocument} [event] - Документ мероприятия, из которого удаляется сотрудник.
938
1552
  * @param {boolean} [isSave=true] - Аргумент, определяющий необходимость сохранения карточки
939
1553
  * мероприятия после удаления сотрудника (true – сохранять карточку мероприятия, false – не сохранять).
940
1554
  * @returns {EventDocument} Документ мероприятия, из которого удален сотрудник.
941
1555
  */
942
- function del_person_from_event(personId: number, eventId: number, eventDocument?: EventDocument, isSave?: boolean): unknown;
1556
+ function del_person_from_event(personId: number, eventId: number, event?: EventDocument, isSave?: boolean): EventDocument;
943
1557
 
944
1558
  /**
945
1559
  * Восстанавливает значение для пустых констант в системе.
@@ -956,10 +1570,9 @@ declare namespace tools {
956
1570
  * @param {number} [objectId] - Id объекта, над которым запускается агента (например, в списке).
957
1571
  * @param {string} [objectIdsStr] - Id объектов разделенных «;», над которым запускается агента (например, в списке).
958
1572
  * @param {Date} [dateStart] - Дата запуска агента, по умолчанию текущая дата.
959
- * @param {string} [tenancyName] - Код экземпляра системы в multitenant системе, в котором нужно запустить агент.
960
1573
  * @returns {boolean} Успех или неуспех выполнения агента.
961
1574
  */
962
- function start_agent(agentId: number, objectId?: number, objectIdsStr?: string, dateStart?: Date, tenancyName?: string): boolean;
1575
+ function start_agent(agentId: number, objectId?: number, objectIdsStr?: string, dateStart?: Date): boolean;
963
1576
 
964
1577
  function update_learnings_course_parts_structure(learningArray: unknown, courseDocStr: unknown): unknown;
965
1578
 
@@ -967,11 +1580,10 @@ declare namespace tools {
967
1580
  * Обновляет структуру разделов активных электронных курсов.
968
1581
  * @param {number} learningId - Id активного электронного курса структуру, которого нужно обновить.
969
1582
  * @param {CourseDocumentTopElem} courseDocumentTopElem - TopElem электронного курса, структура которого обновляется.
970
- * @param {ActiveLearningDocument} activeLearningDocument - Doc активного электронного курса структуру,
971
- * которого нужно обновить.
972
- * @returns {true} Всегда возвращается true.
1583
+ * @param {ActiveLearningDocument} [activeLearningDocument] - Doc активного электронного курса структуру, которого нужно обновить.
1584
+ * @returns {true} - Всегда возвращается true.
973
1585
  */
974
- function update_course_parts_structure(learningId: unknown, courseDocumentTopElem: CourseDocumentTopElem, activeLearningDocument: ActiveLearningDocument): true;
1586
+ function update_course_parts_structure(learningId: number, courseDocumentTopElem: CourseDocumentTopElem, activeLearningDocument?: ActiveLearningDocument): true;
975
1587
 
976
1588
  /**
977
1589
  * Возвращает массив Id сотрудников, состоящий из непосредственных подчиненных указанного сотрудника.
@@ -1066,7 +1678,7 @@ declare namespace tools {
1066
1678
  /**
1067
1679
  * Выполняет функцию eval указанного в параметрах функции файла.
1068
1680
  * @param {string} url - Путь до файла.
1069
- * @param {number|XmlDocument|XmlTopElem} documentId - Целое число, объект XmlDoc или TopElem.
1681
+ * @param {number | XmlDocument | XmlTopElem} documentId - Целое число, объект XmlDoc или TopElem.
1070
1682
  * Id объекта. Если аргумент указан, то будет открыт объект по указанному Id
1071
1683
  * (если данный объект еще не был открыт) и он будет доступен для исполняемого кода файла.
1072
1684
  * В этом аргументе может быть также указан объект XmlDoc или TopElem открытого объекта.
@@ -1077,25 +1689,35 @@ declare namespace tools {
1077
1689
  */
1078
1690
  function eval_code_page_url(url: string, documentId: number | XmlDocument | XmlTopElem, fileName: string): string;
1079
1691
 
1080
- let cur_user_id: XmlElem<number>;
1081
- let cur_user: XmlElem<unknown>;
1082
- let cur_user_groups: XmlElem<unknown>;
1083
- let cur_user_content_access: XmlElem<unknown>;
1084
- let cur_user_admin_configuration: XmlElem<unknown>;
1085
- let cur_user_admin_configuration_applications: XmlElem<unknown>;
1086
- let cur_user_access_claims: XmlElem<unknown>;
1087
- let cur_user_access_blocks: XmlElem<unknown>;
1088
- let cur_user_admin_type: XmlElem<string>;
1692
+ let cur_user_id: XmlElem<number | null, CollaboratorCatalogDocumentTopElem>;
1693
+
1694
+ let cur_user: XmlElem<CurUser | null>;
1089
1695
 
1090
- function get_cur_user(): unknown;
1696
+ let cur_user_groups: XmlElem<unknown | null>;
1091
1697
 
1092
- function update_cur_user(): unknown;
1698
+ let cur_user_content_access: XmlElem<unknown | null>;
1093
1699
 
1094
- function get_cur_user_groups(): unknown;
1700
+ let cur_user_admin_configuration: XmlElem<unknown | null>;
1095
1701
 
1096
- function update_cur_user_groups(): unknown;
1702
+ let cur_user_admin_configuration_applications: XmlElem<unknown | null>;
1097
1703
 
1098
- function cur_user_is_admin(): unknown;
1704
+ let cur_user_access_claims: XmlElem<unknown | null>;
1705
+
1706
+ let cur_user_access_blocks: XmlElem<unknown | null>;
1707
+
1708
+ let cur_user_admin_type: XmlElem<string | null>;
1709
+
1710
+ function get_cur_user_id(): number | null;
1711
+
1712
+ function get_cur_user(): CurUser | null;
1713
+
1714
+ function update_cur_user(): CurUser | null;
1715
+
1716
+ function get_cur_user_groups(): GroupCollaboratorCatalogDocumentTopElem[];
1717
+
1718
+ function update_cur_user_groups(): GroupCollaboratorCatalogDocumentTopElem[];
1719
+
1720
+ function cur_user_is_admin(): boolean;
1099
1721
 
1100
1722
  function get_cur_user_content_access(): unknown;
1101
1723
 
@@ -1123,7 +1745,7 @@ declare namespace tools {
1123
1745
  */
1124
1746
  function update_filter_conditions<T extends XmlElem<unknown, unknown>>(sourceConditions: T, catalogName: string, schemeId: string, setFlag: boolean): void;
1125
1747
 
1126
- function check_cur_user_admin_access(objectTopElem: unknown, curUser: unknown, fldAccessCalalogParam: unknown): unknown;
1748
+ function check_cur_user_admin_access(objectTopElem: XmlTopElem, fldAccessCalalogName: unknown): boolean;
1127
1749
 
1128
1750
  /**
1129
1751
  * Проверяет доступ к объекту на основе настроек в разделе
@@ -1132,26 +1754,22 @@ declare namespace tools {
1132
1754
  * @returns {boolean} Возвращает значение, показывающее наличие или отсутствие доступа:
1133
1755
  * - `true` – доступ разрешен;
1134
1756
  * - `false` – доступ запрещен.
1135
- * @example
1136
- * ```
1137
- * tools.admin_access_filling(TopElem);
1138
- * ``
1139
1757
  */
1140
1758
  function admin_access_filling(objectTopElem: XmlTopElem): boolean;
1141
1759
 
1142
1760
  /**
1143
1761
  * Копирует параметры доступа к объекту в другой объект.
1144
- * @param {number} _to_obj_id - Id объекта, в который нужно скопировать параметры доступа.
1145
- * @param {XmlTopElem} _to_obj_doc - TopElem объекта, в который нужно скопировать параметры доступа.
1146
- * @param {number} _from_obj_id - Id объекта, из которого нужно скопировать параметры доступа.
1147
- * @param {XmlTopElem} _from_obj_doc - TopElem объекта, из которого нужно скопировать параметры доступа.
1762
+ * @param {number} toObjId - Id объекта, в который нужно скопировать параметры доступа.
1763
+ * @param {XmlTopElem} toObjDoc - TopElem объекта, в который нужно скопировать параметры доступа.
1764
+ * @param {number} fromObjId - Id объекта, из которого нужно скопировать параметры доступа.
1765
+ * @param {XmlTopElem} fromObjDoc - TopElem объекта, из которого нужно скопировать параметры доступа.
1148
1766
  * @example
1149
1767
  * ```
1150
1768
  * tools.admin_access_copying("", docEventResult.TopElem, "", topElem);
1151
1769
  * tools.admin_access_copying(null, requestDoc.TopElem, curObjectID, curObject);
1152
1770
  * ```
1153
1771
  */
1154
- function admin_access_copying(_to_obj_id: number | undefined | null, _to_obj_doc: XmlTopElem | undefined | null, _from_obj_id: number | undefined | null, _from_obj_doc: XmlTopElem | undefined | null): void;
1772
+ function admin_access_copying(toObjId: number | undefined | null, toObjDoc: XmlTopElem | undefined | null, fromObjId: number | undefined | null, fromObjDoc: XmlTopElem | undefined | null): void;
1155
1773
 
1156
1774
  /**
1157
1775
  * Используется в процессе выгрузке/загрузки данных в WebTutor при интеграции с другими системами.
@@ -1168,10 +1786,6 @@ declare namespace tools {
1168
1786
  * @param {Date} date - Дата, данные из которой берутся для замены символов в строке,
1169
1787
  * по умолчанию текущая дата и время.
1170
1788
  * @returns {string} Результирующая строка.
1171
- * @example
1172
- * ```
1173
- * tools.replace_temlate_tags(_source.db_path);
1174
- * ```
1175
1789
  */
1176
1790
  function replace_temlate_tags(str: string, date?: Date): string;
1177
1791
 
@@ -1196,10 +1810,10 @@ declare namespace tools {
1196
1810
  * «Редактирование разделов» в администраторе в разделе портала.
1197
1811
  * Обновления происходят во всех дочерних элементов портала.
1198
1812
  * @param {number} objectId - Id измененного документа.
1199
- * @param {T} topElem - TopElem измененного документа.
1813
+ * @param {XmlTopElem} topElem - TopElem измененного документа.
1200
1814
  * @returns {number} Количество изменённых дочерних элементов.
1201
1815
  */
1202
- function update_document_persons<T extends XmlTopElem>(objectId: number, topElem: T): number;
1816
+ function update_document_persons(objectId: number, topElem: XmlTopElem): number;
1203
1817
 
1204
1818
  /**
1205
1819
  * Возвращает продолжительность периода времени в миллисекундах,
@@ -1226,23 +1840,12 @@ declare namespace tools {
1226
1840
  * Возвращает Id самого верхнего иерархии документа портала, на который разрешена подписка,
1227
1841
  * относительно текущего документа.
1228
1842
  * Используется для отправки сообщений об изменении документа портала.
1229
- * @param {number} documentId - Id документа для которого происходит поиск документов верхнего уровня.
1843
+ * @param {number | DocumentDocument} documentId - Id документа для которого происходит поиск документов верхнего уровня.
1230
1844
  * @returns {number | null} Id самого верхнего иерархии документа портала,
1231
1845
  * на который разрешена подписка, относительно текущего документа или Null если такой документ не найден.
1232
1846
  */
1233
1847
  function get_notification_document(documentId: number | DocumentDocument): number | null;
1234
1848
 
1235
- /**
1236
- * Возвращает Id самого верхнего иерархии документа портала, на который разрешена подписка,
1237
- * относительно текущего документа.
1238
- * Используется для отправки сообщений об изменении документа портала.
1239
- * @param {DocumentDocumentTopElem} topElem - TopElem документа для которого происходит поиск
1240
- * документов верхнего уровня.
1241
- * @returns {number | null} Id самого верхнего иерархии документа портала,
1242
- * на который разрешена подписка, относительно текущего документа или Null если такой документ не найден.
1243
- */
1244
- function get_notification_document(topElem: DocumentDocument): number | null;
1245
-
1246
1849
  /**
1247
1850
  * Функция возвращает Id центра затрат сотрудника, указанного в качестве аргумента.
1248
1851
  * Если такой центр затрат не найден, то функция возвращает Id центра затрат,
@@ -1259,10 +1862,8 @@ declare namespace tools {
1259
1862
  * Возвращает массив руководителей (руководителей по должности) центра затрат указанного сотрудника.
1260
1863
  * Если указанные руководители не найдены, то возвращается пустой массив.
1261
1864
  * @param {number} personId - Id сотрудника, для которого производится поиск руководителей центра затрат.
1262
- * @param {CollaboratorDocumentTopElem} [personDocumentTopElem] - TopElem сотрудника,
1263
- * для которого производится поиск руководителей центра затрат.
1264
- * @returns {CollaboratorCatalogDocumentTopElem[]} Массив каталожных записей сотрудников,
1265
- * являющихся руководителями центра затрат указанного сотрудника.
1865
+ * @param {CollaboratorDocumentTopElem} [personDocumentTopElem] - TopElem сотрудника, для которого производится поиск руководителей центра затрат.
1866
+ * @returns {CollaboratorCatalogDocumentTopElem[]} Массив каталожных записей сотрудников, являющихся руководителями центра затрат указанного сотрудника.
1266
1867
  */
1267
1868
  function get_cost_center_boss_by_person_id(personId: number, personDocumentTopElem: CollaboratorDocumentTopElem): CollaboratorCatalogDocumentTopElem[];
1268
1869
 
@@ -1320,39 +1921,39 @@ declare namespace tools {
1320
1921
  /**
1321
1922
  * Прообразовывает содержание строки для сохранения в теге <desc> ... </desc>.
1322
1923
  * Предназначено для преобразования тегов и ссылок на файлы в описании.
1323
- * @param {string} _desc - Строка для преобразования.
1324
- * @param {string} _temp_dir - Строчное выражение пути до папки с файлами, указанными в теге.
1924
+ * @param {string} desc - Строка для преобразования.
1925
+ * @param {string} tempDir - Строчное выражение пути до папки с файлами, указанными в теге.
1325
1926
  * @returns {string} Преобразованная строка. Результат действия функции.
1326
1927
  */
1327
- function desc_cleanup(_desc: string, _temp_dir?: string): string;
1928
+ function desc_cleanup(desc: string, tempDir?: string): string;
1328
1929
 
1329
1930
  /**
1330
1931
  * Возвращает название поле из тега TITLE xmd или xml формы для указанного языка.
1331
1932
  * Если в теге есть «const=», то производится поиск значения указанного после «=» среди констант языка.
1332
1933
  * Если в константах значение не найдено, то возвращается, то, что указано после «const=».
1333
1934
  * Если «const=» не указано, то возвращается значение тега TITLE.
1334
- * @param {T} field - Объект, представляющий собой XML поле, для которого нужно взять название.
1335
- * @param {K} curLngWeb - Текущий язык, если не указан, берется язык пользовательского интерфейса
1935
+ * @param {XmlElem<unknown, unknown>} field - Объект, представляющий собой XML поле, для которого нужно взять название.
1936
+ * @param {XmlElem<unknown, unknown>} curLngWeb - Текущий язык, если не указан, берется язык пользовательского интерфейса
1336
1937
  * в администраторе. При вызове на портале параметр обязателен.
1337
1938
  * @returns {string} Название поле из тега TITLE xmd или xml формы для указанного языка.
1338
1939
  */
1339
- function get_field_title<T extends XmlElem<unknown, unknown>, K extends XmlElem<unknown, unknown>>(field: T, curLngWeb?: K): unknown;
1940
+ function get_field_title(field: XmlElem<unknown, unknown>, curLngWeb?: XmlElem<unknown, unknown>): string;
1340
1941
 
1341
1942
  /**
1342
1943
  * Заполняет структуру полей (из объекта или из каталога) для использования в формах выбора условий.
1343
1944
  * Применяется в диалогах построения фильтров, настраиваемых отчетах и т.д.
1344
1945
  * @param {XmlElem<FieldNamesBase>} fieldNames - Структура полей.
1345
- * @param {T} form - Форма источника (объект или каталог), из которой нужно заполнить данные.
1946
+ * @param {XmlElem<unknown, unknown>} form - Форма источника (объект или каталог), из которой нужно заполнить данные.
1346
1947
  * @param {boolean} [isCatalog=true] - Аргумент, определяющий тип источника (объект или каталог)
1347
1948
  * (true – в качестве источника используется каталог, false – в качестве источника используется объект).
1348
- * @param {K} [evalPath] - XML-элемент в структуре field_names внутри элемента, который нужно заполнять.
1949
+ * @param {XmlElem<unknown, unknown>} [evalPath] - XML-элемент в структуре field_names внутри элемента, который нужно заполнять.
1349
1950
  * Задается в случае, если нужно заполнить один из дочерних элементов field_names,
1350
1951
  * вложенных в элемент первого уровня field_names.
1351
1952
  * @param {string} [prefix] - Префикс, который добавляется к названию полей в источнике form
1352
1953
  * при заполнении структуры field_names. Атрибут передается, если нужно, например,
1353
1954
  * заполнить значения по ключу данными типа multiple из дочернего элемента источника form.
1354
1955
  */
1355
- function fill_field_names<T extends XmlElem<unknown, unknown>, K extends XmlElem<unknown, unknown>>(fieldNames: XmlElem<FieldNamesBase>, form: T, isCatalog?: boolean, evalPath?: K, prefix?: string): void;
1956
+ function fill_field_names(fieldNames: XmlElem<FieldNamesBase>, form: XmlElem<unknown, unknown>, isCatalog?: boolean, evalPath?: XmlElem<unknown, unknown>, prefix?: string): void;
1356
1957
 
1357
1958
  /**
1358
1959
  * Возвращает результат выполнения функции eval, определяемый формулой evalstr и
@@ -1384,11 +1985,11 @@ declare namespace tools {
1384
1985
  * Сдвигает указанную дату на количество секунд, заданное параметрами функции.
1385
1986
  * Можно передать дни, часы, минуты и секунды для сдвига даты.
1386
1987
  * Дни, часы, минуты будут пересчитаны в секунды.
1387
- * @param {Date} [DATE_VAL=Date()] - Исходная дата, подлежащая изменению.
1388
- * @param {number} [DAYS=0] - Количество дней, на которое нужно сдвинуть текущую дату.
1389
- * @param {number} [HOURS=0] - Количество часов, на которое нужно сдвинуть текущую дату.
1390
- * @param {number} [MINUTES=0] - Количество минут, на которое нужно сдвинуть текущую дату.
1391
- * @param {number} [SECONDS=0] - Количество секунд, на которое нужно сдвинуть текущую дату.
1988
+ * @param {Date} [dateVal=CurDate] - Исходная дата, подлежащая изменению.
1989
+ * @param {number} [days=0] - Количество дней, на которое нужно сдвинуть текущую дату.
1990
+ * @param {number} [hours=0] - Количество часов, на которое нужно сдвинуть текущую дату.
1991
+ * @param {number} [minutes=0] - Количество минут, на которое нужно сдвинуть текущую дату.
1992
+ * @param {number} [seconds=0] - Количество секунд, на которое нужно сдвинуть текущую дату.
1392
1993
  * @returns {Date} Измененная дата, полученная сдвигом исходной даты на указанное
1393
1994
  * количество дней, часов, минут и секунд.
1394
1995
  * @example
@@ -1397,7 +1998,7 @@ declare namespace tools {
1397
1998
  * newDate1 = tools.AdjustDate(null, -1); // сдвиг текущей даты на 1 сутки назад
1398
1999
  * ```
1399
2000
  */
1400
- function AdjustDate(DATE_VAL?: Date, DAYS?: number, HOURS?: number, MINUTES?: number, SECONDS?: number): Date;
2001
+ function AdjustDate(dateVal?: Date, days?: number, hours?: number, minutes?: number, seconds?: number): Date;
1401
2002
 
1402
2003
  /**
1403
2004
  * Используется в настраиваемых отчетах для возврата названия тега,
@@ -1423,7 +2024,7 @@ declare namespace tools {
1423
2024
  * @param {ActionReportDocument} [actionReportDocument] - Документ отчета.
1424
2025
  * @param {string} [lngShort] - Неизвестный параметр.
1425
2026
  * @param {boolean} [metaOnly] - Неизвестный параметр.
1426
- * @returns {TaskInfoBase|null} Документ сохраненного настраиваемого отчета.
2027
+ * @returns {TaskInfoBase | null} Документ сохраненного настраиваемого отчета.
1427
2028
  * @example
1428
2029
  * ```
1429
2030
  * tools.build_report_remote (null, null, docCustomReport);
@@ -1439,16 +2040,16 @@ declare namespace tools {
1439
2040
 
1440
2041
  /**
1441
2042
  * Возвращает массив каталожных записей всех дочерних объектов указанного объекта,включая его самого.
1442
- * @param {number} NODE_ID - Id объекта, для которого происходит поиск дочерних объектов.
1443
- * @param {string} NODE_CATALOG - Название каталога без `s` на конце, в котором производится поиск.
1444
- * @param {string} NODE_PARENT_FIELD - Название поля, в котором указывается Id родительского элемента.
2043
+ * @param {number} nodeId - Id объекта, для которого происходит поиск дочерних объектов.
2044
+ * @param {string} nodeCatalog - Название каталога без `s` на конце, в котором производится поиск.
2045
+ * @param {string} nodeParentField - Название поля, в котором указывается Id родительского элемента.
1445
2046
  * По умолчанию parent_object_id.
1446
2047
  * Если название данного поля отличается от принятого по умолчанию,
1447
2048
  * это название обязательно нужно указать.
1448
2049
  * @returns {XmlTopElem[]} Массив каталожных записей всех дочерних объектов указанного объекта,
1449
2050
  * включая его самого.
1450
2051
  */
1451
- function get_sub_hierarchy(NODE_ID: number, NODE_CATALOG: string, NODE_PARENT_FIELD: string): XmlTopElem[];
2052
+ function get_sub_hierarchy(nodeId: number, nodeCatalog: string, nodeParentField: string): XmlTopElem[];
1452
2053
 
1453
2054
  /**
1454
2055
  * Возвращает сформированный на основе кода печатной формы текст печатной формы.
@@ -1457,18 +2058,9 @@ declare namespace tools {
1457
2058
  */
1458
2059
  function process_print_form(formParam: number): string;
1459
2060
 
1460
- function get_user_boss(OBJECT: unknown): unknown;
2061
+ function get_user_boss(object: number | XmlDocument): CollaboratorCatalogDocumentTopElem | undefined;
1461
2062
 
1462
- /**
1463
- * Функция, которая заполняет структуру path_subs в карточке преподавателя,
1464
- * для отображения пути штатного расписания на основе карточки сотрудника
1465
- * для внутренних преподавателей.
1466
- * @param {PathSubBase["path_subs"]} pathSubsElement - Xml структура.
1467
- * @param {number} personId - Id сотрудника.
1468
- * @param {CollaboratorDocument} personDocument - TopElem сотрудника.
1469
- * @returns {PathSubBase["path_subs"]} Заполненная структура {@link PathSubBase["path_subs"]}.
1470
- */
1471
- function path_subs_filling(pathSubsElement: PathSubsBase["path_subs"], personId: number, personDocument: CollaboratorDocument): unknown;
2063
+ function path_subs_filling(pathSubs: PathSubsBase, personId: number, person: CollaboratorDocument): PathSubsBase;
1472
2064
 
1473
2065
  /**
1474
2066
  * Функция возвращает строку вида «часы:минуты:секунды.миллисекунды»,
@@ -1492,8 +2084,7 @@ declare namespace tools {
1492
2084
  * Если 1, то штатное расписание рассчитывается 'снизу', то есть от должности сотрудника.
1493
2085
  * Если в параметре _depth задано 0 (полная цепочка),
1494
2086
  * то параметр направления не учитывается - полная цепочка всегда строится "сверху", от организации.
1495
- * @param {string} [separator=" -> "] - Если указана пустая строка "",
1496
- * по умолчанию используется разделитель "" -> "".
2087
+ * @param {string} [separator=" -> "] - Если указана пустая строка "", по умолчанию используется разделитель "" -> "".
1497
2088
  * @returns {string} Строка с полным штатным расписанием (без должности).
1498
2089
  */
1499
2090
  function person_list_staff_by_person_id(personId: number, personDocumentTopElem: CollaboratorDocumentTopElem, depth: number, top: string, separator: string): string;
@@ -1501,29 +2092,25 @@ declare namespace tools {
1501
2092
  /**
1502
2093
  * Функция выявляет домен и логин почтового адреса из электронного сообщения в стандарте X.400
1503
2094
  * и возвращает строку вида login@domainтекст_письма.
1504
- * @param {string} _x40_email - Строка электронного сообщения в стандарте X.400,
2095
+ * @param {string} x40Email - Строка электронного сообщения в стандарте X.400,
1505
2096
  * из которого выделяется домен и логин электронного адреса.
1506
- * @param {string} _end_mail - Строковое выражение, содержащее текст письма, который будет добавлен к login@domain.
2097
+ * @param {string} endMail - Строковое выражение, содержащее текст письма, который будет добавлен к login@domain.
1507
2098
  * @returns {string} Строковое выражение вида login@domain текст_письма.
1508
2099
  */
1509
- function convert_email_from_x40(_x40_email: string, _end_mail: string): string;
2100
+ function convert_email_from_x40(x40Email: string, endMail: string): string;
1510
2101
 
1511
2102
  /**
1512
2103
  * Функция добавляет сотрудника в список оцениваемых в процедуре оценки. Планы и анкеты при этом не создаются.
1513
2104
  * @param {number} personId - Id сотрудника.
1514
2105
  * @param {number} assessmentAppraiseId - Id процедуры оценки, в которую нужно добавить сотрудника.
1515
2106
  * @param {CollaboratorDocument} personDocument - `TopElem` карточки сотрудника.
1516
- * @param {AssessmentAppraiseDocument} assessmentAppraiseDocument - Документ процедуры оценки,
1517
- * в которую нужно добавить сотрудника.
2107
+ * @param {AssessmentAppraiseDocument} assessmentAppraiseDocument - Документ процедуры оценки, в которую нужно добавить сотрудника.
1518
2108
  * @returns {AssessmentAppraiseDocument} Измененный и сохраненный документ процедуры оценки.
1519
- * @example
1520
- * ```
1521
- * tools.add_person_to_assessment_appraise (iPersonID, iObjectID, null, docObject);
1522
2109
  * ```
1523
2110
  */
1524
2111
  function add_person_to_assessment_appraise(personId: number, assessmentAppraiseId: number, personDocument?: CollaboratorDocument, assessmentAppraiseDocument?: AssessmentAppraiseDocument): AssessmentAppraiseDocument;
1525
2112
 
1526
- function get_tag_cloud(): unknown;
2113
+ function get_tag_cloud(): unknown[];
1527
2114
 
1528
2115
  /**
1529
2116
  * Проверяет, что переданная строка не пустая и не содержит русские буквы
@@ -1577,7 +2164,7 @@ declare namespace tools {
1577
2164
  */
1578
2165
  function register_doc_type(docTypeDocument: DocTypeDocument, documentId: number): object;
1579
2166
 
1580
- function drop_doc_type(docTypeId: number, checkContent: unknown): unknown;
2167
+ function drop_doc_type(typeId: number, checkContent: boolean): 1 | -1;
1581
2168
 
1582
2169
  /**
1583
2170
  * Создает сертификаты указанного типа для всех участников указанного мероприятия.
@@ -1638,7 +2225,7 @@ declare namespace tools {
1638
2225
  * передается в параметрах функции при назначении теста/курса сотруднику.
1639
2226
  * @param {boolean} givePoint - Начислять баллы квалификации (вкладка `Бонус`), `true`,
1640
2227
  * если присвоение происходит из контекстного меню интерфейса администратора.
1641
- * @returns {QualificationAssignmentDocument|null} Документ квалификации или null.
2228
+ * @returns {QualificationAssignmentDocument | null} Документ квалификации или null.
1642
2229
  */
1643
2230
  function assign_qualification_to_person(personId: number, eventId: number | undefined | null, qualificationId: number, assignmentDate: Date | undefined | null, expirationDate: Date | undefined | null, testLearnings: number[] | undefined | null, learnings: number[] | undefined | null, sendMail: number, inProcess: number, assignTests: boolean, assignCourses: boolean, unconditionalAssignment: boolean, qualificationAssignmentDocument: QualificationAssignmentDocument | null, qualificationDocumentTopElem: QualificationDocumentTopElem | undefined | null, collaboratorDocumentTopElem: CollaboratorDocumentTopElem | null, givePoint: boolean): QualificationAssignmentDocument | null;
1644
2231
 
@@ -1654,12 +2241,12 @@ declare namespace tools {
1654
2241
 
1655
2242
  /**
1656
2243
  * Создает xms форму пользовательского интерфейса.
1657
- * @param {number|XmlTopElem} template - Id или TopElem объекта пользовательский интерфейс.
2244
+ * @param {number | XmlTopElem} template - Id или TopElem объекта пользовательский интерфейс.
1658
2245
  * @returns {boolean} Флаг true – создание успешно завершено, false создание неуспешно.
1659
2246
  */
1660
2247
  function save_custom_ui_form(template: number | XmlTopElem): boolean;
1661
2248
 
1662
- function get_custom_ui_form(customAdminTemplate: unknown): unknown;
2249
+ function get_custom_ui_form(customAdminTemplate: Object): string;
1663
2250
 
1664
2251
  /**
1665
2252
  * Возвращает XMS-форму (экранную форму) для каталога (указанного в качестве аргумента),
@@ -1672,7 +2259,7 @@ declare namespace tools {
1672
2259
  */
1673
2260
  function get_custom_document_form(catalogName: string): typeof Screen;
1674
2261
 
1675
- function get_custom_document_data_form_url(sCatalogNameParam: unknown): unknown;
2262
+ function get_custom_document_data_form_url(catalogName: string): string;
1676
2263
 
1677
2264
  /**
1678
2265
  * Функция возвращает строку с полным путем из родительских элементов карты знаний (значений)
@@ -1690,7 +2277,7 @@ declare namespace tools {
1690
2277
  */
1691
2278
  function knowledge_part_path_by_knowledge_part_id(knowledgePartId: number, knowledgePartTopElem: KnowledgePartDocumentTopElem, depth: number, top: number, separator: string): string;
1692
2279
 
1693
- function get_func_manager_substitution(arrFuncManagerParam: unknown, oParams: unknown): unknown;
2280
+ function get_func_manager_substitution(arrFuncManager: unknown[], params: Object): number[];
1694
2281
 
1695
2282
  /**
1696
2283
  * Возвращает массив Id или список каталожных записей сотрудников,
@@ -1700,11 +2287,11 @@ declare namespace tools {
1700
2287
  * организации (если они определены для данного типа объекта).
1701
2288
  * Для сотрудника также учитываются функциональные руководители групп,
1702
2289
  * в которые данный сотрудник включен.
1703
- * @param {object} objectParam - Либо Id объекта, либо Doc объекта,
1704
- * либо TopElem объекта, для которого идет поиск руководителей.
2290
+ * @param {object} objectParam - Либо Id объекта, либо Doc объекта, либо TopElem объекта, для которого идет поиск руководителей.
2291
+ * @param {object} params -
1705
2292
  * @returns {number[]} Массив Id или список каталожных записей руководителей указанного объекта.
1706
2293
  */
1707
- function get_uni_user_bosses(objectParam: object): number[];
2294
+ function get_uni_user_bosses(objectParam: object, params: Object): number[];
1708
2295
 
1709
2296
  /**
1710
2297
  * Возвращает каталожную запись сотрудника, являющегося непосредственным (фактическим)
@@ -1715,15 +2302,15 @@ declare namespace tools {
1715
2302
  * в которые данный сотрудник включен.
1716
2303
  * По сути возвращается первый руководитель из массива, полученного из функции
1717
2304
  * tools.get_uni_user_bosses.
1718
- * @param {number | XmlTopElem} objectParam - Либо Id объекта, либо Doc объекта,
1719
- * либо TopElem объекта, для которого идет поиск руководителей.
2305
+ * @param {number | XmlTopElem} objectParam - Либо Id объекта, либо Doc объекта, либо TopElem объекта, для которого идет поиск руководителей.
2306
+ * @param {object} [params] -
1720
2307
  * @returns {XmlDocument} Каталожная запись руководителя указанного объекта.
1721
2308
  */
1722
- function get_uni_user_boss(objectParam: number | XmlTopElem): XmlDocument;
2309
+ function get_uni_user_boss(objectParam: number | XmlTopElem, params?: Object): CollaboratorDocument;
1723
2310
 
1724
2311
  /**
1725
2312
  * Вызов эскалации по документообороту.
1726
- * @param {T} source - Документ объекта, относительно которого вызывается действие.
2313
+ * @param {XmlDocument} source - Документ объекта, относительно которого вызывается действие.
1727
2314
  * @param {string} escalationCode - Код эскалации документооборота.
1728
2315
  * @param {number} workflowId - Id документооборота.
1729
2316
  * @param {WorkflowDocumentTopElem} workflowTopElem - TopElem документооборота.
@@ -1732,7 +2319,7 @@ declare namespace tools {
1732
2319
  * как object_id.
1733
2320
  * @returns {true} Флаг всегда true.
1734
2321
  */
1735
- function workflow_escalation_process<T extends XmlDocument>(source: T, escalationCode: string, workflowId: number, workflowTopElem: WorkflowDocumentTopElem, alterObjectId: number): true;
2322
+ function workflow_escalation_process(source: XmlDocument, escalationCode: string, workflowId: number, workflowTopElem: WorkflowDocumentTopElem, alterObjectId: number): true;
1736
2323
 
1737
2324
  /**
1738
2325
  * Возвращает список каталожных записей из профилей компетенции указанного сотрудника.
@@ -1741,15 +2328,18 @@ declare namespace tools {
1741
2328
  * Если в должности сотрудника не найдены профили компетенции,
1742
2329
  * то берется профиль из типовой должности, привязанной к должности сотрудника
1743
2330
  * (если такая связь имеется).
1744
- * @param {number|object|XmlTopElem} objectParam - Id сотрудника, либо документ сотрудника,
1745
- * либо TopElem сотрудника.
2331
+ * @param {number | object | XmlTopElem} objectParam - Id сотрудника, либо документ сотрудника, либо TopElem сотрудника.
1746
2332
  * @returns {number[]} Список каталожных записей из профилей компетенции, указанного сотрудника.
1747
2333
  */
1748
- function get_user_comp_profiles(objectParam: number | object| XmlTopElem): number[];
2334
+ function get_user_comp_profiles(objectParam: number | object | XmlTopElem): number[];
1749
2335
 
1750
- function get_object_data_from_package_url(urlPackage: string, objectId: number, objectType: string): unknown;
2336
+ function get_object_data_from_package_url(urlPackage: string, objectId: number, objectType: string): {
2337
+ error: 0 | 1;
2338
+ error_text: string;
2339
+ object_xml: string;
2340
+ };
1751
2341
 
1752
- function get_package_log(sUrlPackageParam: unknown, oParam: unknown): unknown;
2342
+ function get_package_log(urlPackage: string, o: Object): unknown;
1753
2343
 
1754
2344
  /**
1755
2345
  * Заполняет пакет данными из пакета источника.
@@ -1778,7 +2368,7 @@ declare namespace tools {
1778
2368
  */
1779
2369
  function wvars_to_script(listWVars: WebVariablesBaseWvar, warily: boolean): string;
1780
2370
 
1781
- function object_to_script(object: unknown, warily: boolean): unknown;
2371
+ function object_to_script(object: Object, warily: boolean): string;
1782
2372
 
1783
2373
  /**
1784
2374
  * Функция, которая формирует объект на основе переменных элемента шаблона, шаблона документа,
@@ -1789,7 +2379,7 @@ declare namespace tools {
1789
2379
  * @returns {object} Объект, полученный на основе переменных элемента шаблона,
1790
2380
  * шаблона документа, удаленного действия, выгрузки и т.д.
1791
2381
  */
1792
- function wvars_to_object(listWVars: WebVariablesBaseWvar): object;
2382
+ function wvars_to_object(listWVars: WebVariablesBaseWvar): Object;
1793
2383
 
1794
2384
  /**
1795
2385
  * Копирует папку с файлами, включая все подпапки из указанного источника в указанный приемник.
@@ -1831,7 +2421,7 @@ declare namespace tools {
1831
2421
 
1832
2422
  /**
1833
2423
  * Преобразует массив в строку указанного формата (`json`, `xml`).
1834
- * @param {unknown[]} _aArrayPARAM - Массив, который необходимо преобразовать.
2424
+ * @param {unknown[]} array - Массив, который необходимо преобразовать.
1835
2425
  * @param {string} [format="xml"] - Формат возвращаемой строки. Возможны два значения: `json` и `xml`).
1836
2426
  * @param {string} [rootName="data"] - Название корневого (`root`) тега.
1837
2427
  * Значение аргумента учитывается, если формируется строка в формате XML.
@@ -1839,50 +2429,44 @@ declare namespace tools {
1839
2429
  * @returns {string} Строка, сформированная из массива.
1840
2430
  * @example
1841
2431
  * ```
1842
- * tools.array_to_text(["one", "two", "three"], "json");
1843
- * // ["value":"one", "value":"two", "value":"three"]
1844
- *
1845
- * tools.array_to_text(["one", "two", "three"], "xml");
1846
- * // <data><value>one</value></data><data><value>two</value></data><data><value>three</value></data>
1847
- *
1848
- * tools.array_to_text(["one", "two", "three"], "xml", "d");
1849
- * // <d><value>one</value></d><d><value>two</value></d><d><value>three</value></d>
2432
+ * tools.array_to_text(["one", "two", "three"], "json"); // ["value":"one", "value":"two", "value":"three"]
2433
+ * tools.array_to_text(["one", "two", "three"], "xml"); // <data><value>one</value></data><data><value>two</value></data><data><value>three</value></data>
2434
+ * tools.array_to_text(["one", "two", "three"], "xml", "d"); // <d><value>one</value></d><d><value>two</value></d><d><value>three</value></d>
1850
2435
  * ```
1851
2436
  */
1852
- function array_to_text(_aArrayPARAM: unknown[], format?: string, rootName?: string): string;
2437
+ function array_to_text(array: unknown[], format?: string, rootName?: string): string;
1853
2438
 
1854
2439
  /**
1855
2440
  * Преобразует массив или объект в строку указанного формата (json, xml).
1856
- * @param {object | unknown[]} _aDataPARAM - Массив array или объект (object) для преобразования.
1857
- * @param { string }[_sName=null] - Необязательный по умолчанию null.
2441
+ * @param {object | unknown[]} array - Массив array или объект (object) для преобразования.
2442
+ * @param {string} [name=null] - Необязательный по умолчанию null.
1858
2443
  * Если не null, то параметр указывает название тега (для XML) или свойства (json),
1859
- * в который будут заключены данные, полученные из _aDataPARAM.
1860
- * @param { boolean } [_bObj=false] - Флаг true – преобразуется объект, false – преобразуется массив.
1861
- * @param { string } [_sFormatPARAM=xml] - По умолчанию XML. Возможны два значения (json, xml).
2444
+ * в который будут заключены данные, полученные из array.
2445
+ * @param {boolean} [isObject=false] - Флаг true – преобразуется объект, false – преобразуется массив.
2446
+ * @param {"json" | "xml"} [format=xml] - По умолчанию XML. Возможны два значения (json, xml).
1862
2447
  * Задает формат возвращаемой строки.
1863
2448
  * @returns {string} Строка, полученная из массива или объекта.
1864
- * @example
1865
- * tools.merge_text_array(_aPairs, (_sFormatPARAM == "json" ? null: _sNamePARAM), false, _sFormatPARAM);
2449
+ * @example tools.merge_text_array(_aPairs, (format == "json" ? null : namePARAM), false, format);
1866
2450
  */
1867
- function merge_text_array(_aDataPARAM: Object | unknown[], _sName?: string, _bObj?: boolean, _sFormatPARAM?: string): string;
2451
+ function merge_text_array(array: Object | unknown[], name?: string, isObject?: boolean, format?: "json" | "xml"): string;
1868
2452
 
1869
2453
  /**
1870
2454
  * Сериализация объекта в строку/xml.
1871
2455
  * @param {T} arg - Объект для преобразования.
1872
- * @param { string }[formatType=xml] - По умолчанию XML. Возможны два значения (json, xml).
2456
+ * @param {"json" | "xml"} [formatType=xml] - По умолчанию XML. Возможны два значения (json, xml).
1873
2457
  * Задает формат возвращаемой строки.
1874
- * @param { number } [maxDepth=0] - По умолчанию 0. Глубина дочерних свойств объекта,
2458
+ * @param {number} [maxDepth=0] - По умолчанию 0. Глубина дочерних свойств объекта,
1875
2459
  * до которой можно спускаться. Должна быть не больше 5.
1876
- * @param { stirng } [_sName=null] - Параметр указывает название тега (для XML),
2460
+ * @param {string} [name=null] - Параметр указывает название тега (для XML),
1877
2461
  * в который будут заключены данные, полученные из _vObjectPARAM. По умолчанию <value></value>.
1878
2462
  * @returns {string} Строка, полученная из объекта.
1879
2463
  * @example
1880
2464
  * ```
1881
- * tools.object_to_text(RESULT,'json')
1882
- * tools.object_to_text(_vValue, _sFormatPARAM, iDepth + 1, _sName);
2465
+ * tools.object_to_text(RESULT, "json")
2466
+ * tools.object_to_text(_vValue, _sFormatPARAM, iDepth + 1, name);
1883
2467
  * ```
1884
2468
  */
1885
- function object_to_text<T>(arg: T, formatType: string, maxDepth?: number, _sName?: string): string;
2469
+ function object_to_text<T>(arg: T, formatType: "json" | "xml", maxDepth?: number, name?: string): string;
1886
2470
 
1887
2471
  /**
1888
2472
  * Сохраняет версию объекта каталога, для которого проставлен флаг сохранения версий в администраторе.
@@ -1900,9 +2484,16 @@ declare namespace tools {
1900
2484
  * @param {number} objectId - Id объекта обучения.
1901
2485
  * @param {CollaboratorDocumentTopElem} personTopElem - Элемент {@link XmlTopElem} сотрудника.
1902
2486
  * @param {XmlTopElem} objectTopElem - Элемент {@link XmlTopElem} объекта обучения.
1903
- * @returns {unknown} Массив из обязательных обучений сотрудника, в которые входит переданный объект.
2487
+ * @returns {unknown[]} Массив из обязательных обучений сотрудника, в которые входит переданный объект.
1904
2488
  */
1905
- function get_mandatory_learnings(personId: number, objectId: number, personTopElem: CollaboratorDocumentTopElem, objectTopElem: XmlTopElem): unknown;
2489
+ function get_mandatory_learnings(personId: number, objectId: number, personTopElem: CollaboratorDocumentTopElem, objectTopElem: XmlTopElem): {
2490
+ source_object_id: number;
2491
+ source_object_type: string;
2492
+ source_object_name: string;
2493
+ object_id: number;
2494
+ object_type: string;
2495
+ object_name: string;
2496
+ }[];
1906
2497
 
1907
2498
  /**
1908
2499
  * Возвращает массив каталожных записей функциональных руководителей.
@@ -1910,13 +2501,13 @@ declare namespace tools {
1910
2501
  * переданный в качестве первого параметра, является руководителем объекта
1911
2502
  * (сотрудника/сотрудников, подразделений, организаций, групп), переданного во втором параметре.
1912
2503
  * Для объектов должность, группа, подразделение, организация, сотрудник руководитель может быть любого типа.
1913
- * @param {number|XmlDocument|XmlTopElem} object - Id объекта, либо Doc объекта, либо TopElem объекта,
2504
+ * @param {number | XmlDocument | XmlTopElem} object - Id объекта, либо Doc объекта, либо TopElem объекта,
1914
2505
  * для которого идет поиск руководителей относительно объекта, переданного во втором параметре.
1915
- * @param {number|unknown[]} personParameter - Id сотрудника, для которого ищется руководитель,
2506
+ * @param {number | unknown[]} personParameter - Id сотрудника, для которого ищется руководитель,
1916
2507
  * либо массив элементов (сотрудников, подразделений, организаций, групп).
1917
2508
  * @returns {unknow[]} Массив каталожных записей функциональных руководителей.
1918
2509
  */
1919
- function get_relative_boss_types(object: number | XmlDocument | XmlTopElem, personParameter: number|unknown[]): unknown[];
2510
+ function get_relative_boss_types(object: number | XmlDocument | XmlTopElem, personParameter: number | unknown[]): unknown[];
1920
2511
 
1921
2512
  /**
1922
2513
  * Возвращает массив каталожных записей операций, определяемых типами руководителей
@@ -1925,17 +2516,17 @@ declare namespace tools {
1925
2516
  * @param {FuncManagersBaseFuncManager[]} manager - Массив каталожных записей функциональных руководителей.
1926
2517
  * @returns {OperationCatalogDocumentTopElem[]} Массив каталожных записей операций.
1927
2518
  */
1928
- function get_relative_operations(manager: unknown): OperationCatalogDocumentTopElem[];
2519
+ function get_relative_operations(manager: FuncManagersBaseFuncManager[]): OperationCatalogDocumentTopElem[];
1929
2520
 
1930
2521
  /**
1931
2522
  * Проверяет, входит ли указанная операция в состав массива операций, определяемых типами руководителей
1932
2523
  * из массива функциональных руководителей, который передается в функцию.
1933
2524
  * @param {FuncManagersBaseFuncManager[]} manager - Массив каталожных записей функциональных руководителей.
1934
- * @param {string|number} operation - Id операции или код действия (action), привязанного к операции.
2525
+ * @param {string | number} operation - Id операции или код действия (action), привязанного к операции.
1935
2526
  * @returns {boolean} Возвращает значение, показывающее, входит ли указанная операция в массив операций
1936
2527
  * (true – операция входит в массив операций, false – операция не входит в массив операций).
1937
2528
  */
1938
- function check_relative_operation(manager: unknown, operation: string|number): boolean;
2529
+ function check_relative_operation(manager: FuncManagersBaseFuncManager[], operation: string | number): boolean;
1939
2530
 
1940
2531
  /**
1941
2532
  * Возвращает массив из каталожных записей типов функциональных руководителей (boss_types),
@@ -1992,10 +2583,8 @@ declare namespace tools {
1992
2583
  * @param {number} userId - Id сотрудника, для которого нужно определить список операций.
1993
2584
  * @param {number} objectId - Id объекта, относительно которого нужно определить список операций.
1994
2585
  * @param {string} catalogName - Строка с названием типа объекта (каталога без ‘s’ на конце).
1995
- * Если передана пустая строка, то функция вернет все операции,
1996
- * доступные всем типам руководителей данного пользователя.
1997
- * @returns {OperationCatalogDocumentTopElem[]} Массив из каталожных записей операций,
1998
- * доступных указанному пользователю в рамках указанного объекта и указанного типа.
2586
+ * Если передана пустая строка, то функция вернет все операции, доступные всем типам руководителей данного пользователя.
2587
+ * @returns {OperationCatalogDocumentTopElem[]} Массив из каталожных записей операций, доступных указанному пользователю в рамках указанного объекта и указанного типа.
1999
2588
  */
2000
2589
  function get_object_relative_operations(userId: number, objectId: number, catalogName: string): OperationCatalogDocumentTopElem[];
2001
2590
 
@@ -2004,8 +2593,7 @@ declare namespace tools {
2004
2593
  * в списке переданных операций.
2005
2594
  * @param {OperationCatalogDocumentTopElem[]} operations - Массив каталожных записей операций.
2006
2595
  * @param {CollaboratorDocumentTopElem} collaboratorTopElem - TopElem сотрудника.
2007
- * Если передан не пустой атрибут и не null и если роль доступа - Администратор,
2008
- * то функция всегда будет возвращать true.
2596
+ * Если передан не пустой атрибут и не null и если роль доступа - Администратор, то функция всегда будет возвращать true.
2009
2597
  * @param {string} action - Код действия, к которому должна быть привязана операция.
2010
2598
  * @returns {boolean} Значение true демонстрирует, что в функцию передан TopElem сотрудника с ролью Администратор
2011
2599
  * или в массиве найдена операция с указанным кодом действия. В противном случае возвращается значение false.
@@ -2018,9 +2606,9 @@ declare namespace tools {
2018
2606
  * @param {object} source - Объект-источник.
2019
2607
  * @returns {object} Объект-получатель с добавлением свойств объекта-источника.
2020
2608
  */
2021
- function extend_object(target: object, source: object): object;
2609
+ function extend_object(target: Object, source: Object): Object;
2022
2610
 
2023
- let current_user_boss_type: Variant<BossTypeDocumentTopElem>;
2611
+ let current_user_boss_type: Variant<BossTypeDocumentTopElem | null>;
2024
2612
 
2025
2613
  function get_current_user_operations(): number[];
2026
2614
 
@@ -2033,7 +2621,7 @@ declare namespace tools {
2033
2621
  */
2034
2622
  function assign_elems(fldTarget: XmlTopElem, fldSourceParam: XmlTopElem, arrFieldNamesParam: string[]): void;
2035
2623
 
2036
- function assign_elems_exclude(fldTarget: unknown, fldSourceParam: unknown, arrFieldNamesParam: unknown): unknown;
2624
+ function assign_elems_exclude(fldTarget: unknown, fldSource: unknown, arrFieldNames: unknown[]): unknown;
2037
2625
 
2038
2626
  /**
2039
2627
  * Возвращает значение указанного поля, полученного как ForeignElem поля источника данных,
@@ -2048,15 +2636,14 @@ declare namespace tools {
2048
2636
  name: T,
2049
2637
  defaultValue?: string): R[T] extends XmlElem<unknown, unknown> ? R[T]["Value"] : string;
2050
2638
 
2051
- function get_short_login_by_login(login: string): unknown;
2639
+ function get_short_login_by_login(login: string): string;
2052
2640
 
2053
2641
  /**
2054
2642
  * Возвращает каталожную запись сотрудника с соответствующим логином и типом авторизации,
2055
2643
  * или undefined, если такой сотрудник не найден.
2056
2644
  * @param {string} login - Логин сотрудника.
2057
2645
  * @param {string} authType - Тип авторизации.
2058
- * @returns {CollaboratorCatalogDocument | undefined} Каталожная запись сотрудника или undefined,
2059
- * если сотрудник не найден.
2646
+ * @returns {CollaboratorCatalogDocument | undefined} Каталожная запись сотрудника или undefined, если сотрудник не найден.
2060
2647
  */
2061
2648
  function get_user_by_login(login: string, authType: "ntlm" | string): CollaboratorCatalogDocumentTopElem | undefined;
2062
2649
 
@@ -2092,15 +2679,14 @@ declare namespace tools {
2092
2679
  * Отличие от функции {@link tools.get_disp_name_value} в том,
2093
2680
  * что если поле содержит путь до элемента через “.”, то данная функция выдаст ошибку,
2094
2681
  * а функция {@link tools.get_disp_name_value} найдет поле с названием по указанному пути.
2095
- * @param {K} topElem - TopElem объекта, название которого нужно показать.
2682
+ * @param {XmlTopElem} topElem - TopElem объекта, название которого нужно показать.
2096
2683
  * @returns {string} Строка с названием объекта.
2097
2684
  */
2098
- function get_object_name_field_value<K extends XmlTopElem>(topElem: K): string;
2685
+ function get_object_name_field_value(topElem: XmlTopElem): string;
2099
2686
 
2100
2687
  /**
2101
2688
  * Копирует файл из адреса источника данных по адресу получателя данных.
2102
- * Все папки в адресе должны существовать до начала копирования,
2103
- * как в источнике, так и в получателе.
2689
+ * Все папки в адресе должны существовать до начала копирования, как в источнике, так и в получателе.
2104
2690
  * @param {string} destinationDirectory - Путь или URL до файла получателя (включая название файла).
2105
2691
  * @param {string} sourceDirectory - Путь или URL до файла источника (включая название файла).
2106
2692
  * @returns {boolean} Возвращает значение true, если операция завершилась успешно (копирование выполнено),
@@ -2127,65 +2713,112 @@ declare namespace tools {
2127
2713
  */
2128
2714
  function zip_create(archivePath: string, contentPath: string, contentDirectoryPath?: string): void;
2129
2715
 
2130
- function sys_db_type(): unknown;
2131
-
2132
- let sys_db_capability: XmlElem<number>;
2133
- let sys_db_capability_ex: XmlElem<number>;
2134
- let sys_db_capability_role_tags: XmlElem<number>;
2135
- let uid: XmlElem<string>;
2136
- let UNI_CAP_BASIC: XmlElem<number>;
2137
- let UNI_CAP_BLOB_STREAM: XmlElem<number>;
2138
- let UNI_CAP_CLUSTER: XmlElem<number>;
2139
- let UNI_CAP_WORKER_ROLE: XmlElem<number>;
2140
- let UNI_CAP_WEB_ROLE: XmlElem<number>;
2141
- let UNI_CAP_IMPORT_DOCS_BATCH: XmlElem<number>;
2142
- let UNI_CAP_IMPORT_CATALOG_BATCH: XmlElem<number>;
2143
- let UNI_CAP_IMPORT_BLOBS_BATCH: XmlElem<number>;
2144
- let UNI_CAP_IMPORT_LOCAL_BLOBS_BATCH: XmlElem<number>;
2145
- let UNI_CAP_EXPORT_DOCS_BATCH: XmlElem<number>;
2146
- let UNI_CAP_EXPORT_CATALOG_BATCH: XmlElem<number>;
2147
- let UNI_CAP_EXPORT_BLOBS_BATCH: XmlElem<number>;
2148
- let UNI_CAP_EXPORT_LOCAL_BLOBS_BATCH: XmlElem<number>;
2149
- let UNI_CAP_FT_INDEX: XmlElem<number>;
2150
- let UNI_CAP_MULTI_TENANCY: XmlElem<number>;
2151
- let UNI_CAP_AZURE: XmlElem<number>;
2152
- let UNI_CAP_MSSQL: XmlElem<number>;
2153
- let UNI_CAP_ORACLE: XmlElem<number>;
2154
- let UNI_CAP_DATA_STORAGE: XmlElem<number>;
2155
- let UNI_CAP_USER_CACHE: XmlElem<number>;
2156
- let UNI_CAP_DISTR_CACHE: XmlElem<number>;
2157
- let UNI_CAP_SYNC_CATALOG: XmlElem<number>;
2158
- let UNI_CAP_TEMP_OBJECTS_IN_MEMORY: XmlElem<number>;
2159
- let UNI_CAP_FT_INDEX_BLOBS: XmlElem<number>;
2160
- let UNI_CAP_PD: XmlElem<number>;
2161
- let UNI_CAP_APP_INSIGHTS: XmlElem<number>;
2162
- let UNI_CAP_AGENT_MANAGER: XmlElem<number>;
2163
- let UNI_CAP_INVENTORY: XmlElem<number>;
2164
- let UNI_CAP_ALL_ROLE_TAG: XmlElem<number>;
2165
- let UNI_CAP_AGENT_ROLE_TAG: XmlElem<number>;
2166
- let UNI_CAP_NOTIFICATION_ROLE_TAG: XmlElem<number>;
2167
- let UNI_CAP_SCRIPT_QUEUE_ROLE_TAG: XmlElem<number>;
2168
- let UNI_CAP_WEBSOCKET_ROLE_TAG: XmlElem<number>;
2169
- let UNI_CAP_WEBONLY_ROLE_TAG: XmlElem<number>;
2170
- let UNI_CAP_VCLASS_RECORDER_ROLE_TAG: XmlElem<number>;
2171
- let UNI_CAP_MEDIA_HANDLER_ROLE_TAG: XmlElem<number>;
2172
- let UNI_CAP_NEURAL_HANDLER_ROLE_TAG: XmlElem<number>;
2173
- let spxml_unibridge: SPXMLUnibridgeTool;
2174
- let app_insights_threshold: XmlElem<number>;
2716
+ function sys_db_type(): string;
2717
+
2718
+ let sys_db_capability: XmlElem<number | null>;
2719
+
2720
+ let sys_db_capability_ex: XmlElem<number | null>;
2721
+
2722
+ let sys_db_capability_role_tags: XmlElem<number | null>;
2723
+
2724
+ let uid: XmlElem<string | null>;
2725
+
2726
+ let UNI_CAP_BASIC: XmlElem<number | null>;
2727
+
2728
+ let UNI_CAP_BLOB_STREAM: XmlElem<number | null>;
2729
+
2730
+ let UNI_CAP_CLUSTER: XmlElem<number | null>;
2731
+
2732
+ let UNI_CAP_WORKER_ROLE: XmlElem<number | null>;
2733
+
2734
+ let UNI_CAP_WEB_ROLE: XmlElem<number | null>;
2735
+
2736
+ let UNI_CAP_IMPORT_DOCS_BATCH: XmlElem<number | null>;
2737
+
2738
+ let UNI_CAP_IMPORT_CATALOG_BATCH: XmlElem<number | null>;
2739
+
2740
+ let UNI_CAP_IMPORT_BLOBS_BATCH: XmlElem<number | null>;
2741
+
2742
+ let UNI_CAP_IMPORT_LOCAL_BLOBS_BATCH: XmlElem<number | null>;
2743
+
2744
+ let UNI_CAP_EXPORT_DOCS_BATCH: XmlElem<number | null>;
2745
+
2746
+ let UNI_CAP_EXPORT_CATALOG_BATCH: XmlElem<number | null>;
2747
+
2748
+ let UNI_CAP_EXPORT_BLOBS_BATCH: XmlElem<number | null>;
2749
+
2750
+ let UNI_CAP_EXPORT_LOCAL_BLOBS_BATCH: XmlElem<number | null>;
2751
+
2752
+ let UNI_CAP_FT_INDEX: XmlElem<number | null>;
2753
+
2754
+ let UNI_CAP_MULTI_TENANCY: XmlElem<number | null>;
2755
+
2756
+ let UNI_CAP_AZURE: XmlElem<number | null>;
2757
+
2758
+ let UNI_CAP_MSSQL: XmlElem<number | null>;
2759
+
2760
+ let UNI_CAP_ORACLE: XmlElem<number | null>;
2761
+
2762
+ let UNI_CAP_DATA_STORAGE: XmlElem<number | null>;
2763
+
2764
+ let UNI_CAP_USER_CACHE: XmlElem<number | null>;
2765
+
2766
+ let UNI_CAP_DISTR_CACHE: XmlElem<number | null>;
2767
+
2768
+ let UNI_CAP_SYNC_CATALOG: XmlElem<number | null>;
2769
+
2770
+ let UNI_CAP_TEMP_OBJECTS_IN_MEMORY: XmlElem<number | null>;
2771
+
2772
+ let UNI_CAP_FT_INDEX_BLOBS: XmlElem<number | null>;
2773
+
2774
+ let UNI_CAP_PD: XmlElem<number | null>;
2775
+
2776
+ let UNI_CAP_AGENT_MANAGER: XmlElem<number | null>;
2777
+
2778
+ let UNI_CAP_INVENTORY: XmlElem<number | null>;
2779
+
2780
+ let UNI_CAP_ALL_ROLE_TAG: XmlElem<number | null>;
2781
+
2782
+ let UNI_CAP_AGENT_ROLE_TAG: XmlElem<number | null>;
2783
+
2784
+ let UNI_CAP_NOTIFICATION_ROLE_TAG: XmlElem<number | null>;
2785
+
2786
+ let UNI_CAP_SCRIPT_QUEUE_ROLE_TAG: XmlElem<number | null>;
2787
+
2788
+ let UNI_CAP_WEBSOCKET_ROLE_TAG: XmlElem<number | null>;
2789
+
2790
+ let UNI_CAP_WEBONLY_ROLE_TAG: XmlElem<number | null>;
2791
+
2792
+ let UNI_CAP_VCLASS_RECORDER_ROLE_TAG: XmlElem<number | null>;
2793
+
2794
+ let UNI_CAP_MEDIA_HANDLER_ROLE_TAG: XmlElem<number | null>;
2795
+
2796
+ let UNI_CAP_NEURAL_HANDLER_ROLE_TAG: XmlElem<number | null>;
2797
+
2798
+ let spxml_unibridge: XmlElem<{
2799
+ Object: {
2800
+ provider: SPXMLUnibridgeProvider;
2801
+ }
2802
+ }>;
2803
+
2175
2804
  let spxml_unibridge_stage: XmlElem<number>;
2176
- let UNI_STAGE_INIT: XmlElem<number>;
2177
- let UNI_STAGE_COMPLETE: XmlElem<number>;
2178
- let doc_types_catalog_hashes: XmlMultiElem<ToolsDocTypesCatalogHash>;
2805
+
2806
+ let UNI_STAGE_INIT: XmlElem<number | null>;
2807
+
2808
+ let UNI_STAGE_COMPLETE: XmlElem<number | null>;
2809
+
2810
+ let doc_types_catalog_hashes: XmlMultiElem<ToolsDocTypesCatalogHash | null>;
2811
+
2179
2812
  let doc_types_catalog_registered: XmlElem<boolean>;
2180
2813
 
2181
- function register_doc_types_catalog_by_serialized_str(sSerializedCatalogsToRegPARAM: unknown, bServerCheck: unknown): unknown;
2814
+ function register_doc_types_catalog_by_serialized_str(serializedCatalogsToReg: string, serverCheck: boolean): unknown;
2182
2815
 
2183
2816
  /**
2184
2817
  * Сравнивает hash в структуре doc_types_catalog_hashes с текущим hash объектов и обновляет его в случае изменения.
2185
- * @param {string} objectName - Название объекта.
2818
+ * @param {RegisterDocTypeCatalog[]} object - Название объекта.
2186
2819
  * @param {boolean} serverCheck - Флаг true – запускать проверку на сервере, или false на локальной машине.
2187
2820
  */
2188
- function register_doc_types_catalog(objectName: unknown, serverCheck: boolean): void;
2821
+ function register_doc_types_catalog(object: RegisterDocTypeCatalog[], serverCheck: boolean): void;
2189
2822
 
2190
2823
  /**
2191
2824
  * Возвращает название объекта из поля, которое его содержит.
@@ -2206,16 +2839,16 @@ declare namespace tools {
2206
2839
  * @param {string} value - Строка.
2207
2840
  * @returns {object} Объект с указными полями.
2208
2841
  */
2209
- function read_selected_date(value: string): object;
2842
+ function read_selected_date(value: string): Object;
2210
2843
 
2211
- function get_sum_sid(id: string): unknown;
2844
+ function get_sum_sid(id: string): ReturnType<typeof tools_web.get_sum_sid>;
2212
2845
 
2213
- function check_sum_sid(id: string, sSumParam: unknown): unknown;
2846
+ function check_sum_sid(id: string, sum: string): ReturnType<typeof tools_web.check_sum_sid>;
2214
2847
 
2215
2848
  /**
2216
2849
  * Заменяет в строке пробел, «(» , «)», «+» и «-» на пустую сроку, а символы «,» и «;» - на пробел.
2217
2850
  * @param {string} strPhoneParam - Исходная строка для преобразования.
2218
- * @returns {string|null} Преобразованная строка или значение `null`, если произошла ошибка.
2851
+ * @returns {string | null} - Преобразованная строка или значение `null`, если произошла ошибка.
2219
2852
  * @example
2220
2853
  * ```
2221
2854
  * sPhoneUnif1 = tools.build_simple_phone('+7-903-508-20-45');
@@ -2226,7 +2859,6 @@ declare namespace tools {
2226
2859
  */
2227
2860
  function build_simple_phone(strPhoneParam: string): string | null;
2228
2861
 
2229
-
2230
2862
  /**
2231
2863
  * Преобразует строку вида `+7-903-508-20-45` или `+7(903)508-20-45` в строку `79035082045 5082045`.
2232
2864
  * Функция используется для унификации поиска по телефонным номерам.
@@ -2261,7 +2893,7 @@ declare namespace tools {
2261
2893
  * как он передан в функцию, или undefined, если он не задан.
2262
2894
  * @param {string} value - Cтрока для преобразования в дату.
2263
2895
  * @param {T} defaultValue - Значение по умолчанию, если преобразование перового параметра не удалось.
2264
- * @returns {Date|T} Либо дата, либо второй параметр в таком виде,
2896
+ * @returns {Date | T} Либо дата, либо второй параметр в таком виде,
2265
2897
  * как он передан в функцию, или undefined, если он не задан.
2266
2898
  */
2267
2899
  function opt_date<T>(value: string, defaultValue: T): Date | T;
@@ -2269,14 +2901,10 @@ declare namespace tools {
2269
2901
  /**
2270
2902
  * Преобразует в строку числовой параметр функции.
2271
2903
  * Если параметр отрицательный, то строка будет начинаться со знака «-».
2272
- * @param {number} number - Число для преобразования в строку.
2904
+ * @param {number | null} number - Число для преобразования в строку.
2273
2905
  * @returns {string} Строка.
2274
- * @example
2275
- * ```
2276
- * tools.str_negative_number(TopElem.weight);
2277
- * ```
2278
2906
  */
2279
- function str_negative_number(number: number): string;
2907
+ function str_negative_number(number: number | null): string;
2280
2908
 
2281
2909
  /**
2282
2910
  * Возвращает строку с размером файла в соответствующих единицах измерения
@@ -2293,10 +2921,7 @@ declare namespace tools {
2293
2921
  * Строка параметр функция преобразуется в строку в зависимости от настроек базы.
2294
2922
  * @param {string} value - Строка для преобразования.
2295
2923
  * @returns {string} Строка для использования в запросах для поиска по full text индексу.
2296
- * @example
2297
- * ```
2298
- * tools.get_ft_value(value);
2299
- * ```
2924
+ * @example tools.get_ft_value(value);
2300
2925
  */
2301
2926
  function get_ft_value(value: string): string;
2302
2927
 
@@ -2334,7 +2959,7 @@ declare namespace tools {
2334
2959
  * tools.get_agent_command_queue_xml(5724546796725872406, 5724546796725872406, "", Date(), "dbo");
2335
2960
  * ```
2336
2961
  */
2337
- function get_agent_command_queue_xml(agentId: number, sElementIDParam?: number, elems?: string, date?: Date, tenancyName?: string): unknown;
2962
+ function get_agent_command_queue_xml(agentId: number, sElementIDParam?: number, elems?: string, date?: Date, tenancyName?: string): string;
2338
2963
 
2339
2964
  /**
2340
2965
  * Формирует строку с уникальным идентификатором на основе параметров функции.
@@ -2355,25 +2980,24 @@ declare namespace tools {
2355
2980
  */
2356
2981
  function check_and_refresh_cached_docs(url: string): boolean;
2357
2982
 
2358
- /**
2359
- * Возвращает сроку с тегами XML, полученную из файла путь до которого, передан в параметрах функции.
2360
- * Вызывает функцию tools.open_str_win_ini для разбора файла.
2361
- * @param {string} url -string с путем до файла.
2362
- * @returns {string} Строка с путем до файла.
2363
- */
2364
- function open_doc_win_ini(url: string): string;
2365
-
2366
2983
  /**
2367
2984
  * Возвращает сроку с тегами XML, полученную из строки, переданной в параметрах функции.
2368
2985
  * Предполагается, что в функцию передается файл со значениями параметров,
2369
2986
  * потому в результирующей строке будут представлены название параметра и его значение.
2370
2987
  * @param {string} sFileText - Строка для разбора.
2371
2988
  * @returns {string} Строка с тегами XML.
2372
- * @example
2373
- * tools.open_str_win_ini(LoadUrlText(url))string
2989
+ * @example tools.open_str_win_ini(LoadUrlText(url))string
2374
2990
  */
2375
2991
  function open_str_win_ini(sFileText: string): string;
2376
2992
 
2993
+ /**
2994
+ * Возвращает сроку с тегами XML, полученную из файла путь до которого, передан в параметрах функции.
2995
+ * Вызывает функцию tools.open_str_win_ini для разбора файла.
2996
+ * @param {string} url -string с путем до файла.
2997
+ * @returns {string} Строка с путем до файла.
2998
+ */
2999
+ function open_doc_win_ini(url: string): string;
3000
+
2377
3001
  /**
2378
3002
  * Функция для записи в лог настраиваемых сообщений с более подробной информацией и
2379
3003
  * возможностью указания типа ошибки и отключения отладочных сообщений,
@@ -2398,54 +3022,55 @@ declare namespace tools {
2398
3022
  * - curUserID;
2399
3023
  * если их можно получить.
2400
3024
  */
2401
- function log(value: unknown, type: "error" | "debug" | "info", showAdditionalInfo: boolean): void;
2402
-
3025
+ function log(value: string, type: "error" | "debug" | "info", showAdditionalInfo: boolean): void;
2403
3026
 
2404
3027
  /**
2405
3028
  * Возвращает массив каталожных записей сотрудников, которые подписаны на данного сотрудника или
2406
3029
  * на его индивидуальный (а не групповой) блог.
2407
3030
  * @param {number} personId - Id сотрудника, подписки на которого определяет функция.
3031
+ * @param {string} messageType - .
3032
+ * @param {boolean} showAdditionalInfo - .
2408
3033
  * @returns {CollaboratorCatalogDocumentTopElem[]} Массив каталожных записей сотрудников,
2409
3034
  * подписанных на данного сотрудника или на его индивидуальный блог.
2410
3035
  */
2411
- function get_sibscriber_subscriptions(personId: number): CollaboratorCatalogDocumentTopElem[];
3036
+ function get_sibscriber_subscriptions(personId: number, messageType: string, showAdditionalInfo: boolean): CollaboratorCatalogDocumentTopElem[];
2412
3037
 
2413
3038
  /**
2414
3039
  * Проверяет, существует ли файл по указанному пути.
2415
- * @param {string} filepath - Строка с путем до файла.
3040
+ * @param {string} filePath - Строка с путем до файла.
2416
3041
  * @returns {boolean} Возвращает значение true, если файл существует, или false в противном случае.
2417
3042
  */
2418
- function file_url_exists(filepath: string): boolean;
3043
+ function file_url_exists(filePath: string): boolean;
2419
3044
 
2420
- function file_url_exists_server(sFilePathParam: unknown): unknown;
3045
+ function file_url_exists_server(filePath: string): boolean | never;
2421
3046
 
2422
- function load_url_text_server(sFilePathParam: unknown): unknown;
3047
+ function load_url_text_server(filePath: string): string | never;
2423
3048
 
2424
- function load_url_data_server(sFilePathParam: unknown, iSizeParam: unknown): unknown;
3049
+ function load_url_data_server(filePath: string, size: number): string | never;
2425
3050
 
2426
- function read_directory_server(sFilePathParam: unknown, bDirParam: unknown): unknown;
3051
+ function read_directory_server(filePath: string, dir: boolean): string[] | never;
2427
3052
 
2428
- function delete_directory_server(sDirParam: unknown): unknown;
3053
+ function delete_directory_server(dir: string): boolean | never;
2429
3054
 
2430
- function zip_extract_server(sSourceUrlParam: unknown, sTargetUrlParam: unknown): unknown;
3055
+ function zip_extract_server(sourceUrl: string, targetUrl: string): void | never;
2431
3056
 
2432
- function delete_trash_url_server(url: string): unknown;
3057
+ function delete_trash_url_server(url: string): void | never;
2433
3058
 
2434
- function alert_server(sMessageParam: unknown): unknown;
3059
+ function alert_server(message: string): void;
2435
3060
 
2436
- function log_event_server(sTypeParam: unknown, sTextParam: unknown): unknown;
3061
+ function log_event_server(type: string, text: string): void;
2437
3062
 
2438
- function replace_cached_doc_server(url: string): unknown;
3063
+ function replace_cached_doc_server(url: string): void | never;
2439
3064
 
2440
- function copy_url_server(sDestUrlParam: unknown, sSourceUrlParam: unknown): unknown;
3065
+ function copy_url_server(destUrl: string, sourceUrl: string): string | never;
2441
3066
 
2442
- function url_file_size_server(url: string): unknown;
3067
+ function url_file_size_server(url: string): number | never;
2443
3068
 
2444
- function put_url_text_server(url: string, sTextParam: unknown): unknown;
3069
+ function put_url_text_server(url: string, text: string): string | never;
2445
3070
 
2446
- function load_share_url_server(url: string): unknown;
3071
+ function load_share_url_server(url: string, b64encode: unknown): string | never;
2447
3072
 
2448
- function get_hash_server(sTextParam: unknown, sTypeParam: unknown): unknown;
3073
+ function get_hash_server(text: string, type: string): string;
2449
3074
 
2450
3075
  /**
2451
3076
  * Используется для вариантов установки WebTutor c базой данных отличной от XML.
@@ -2461,13 +3086,13 @@ declare namespace tools {
2461
3086
  * Проверяет, существует ли файл по указанному пути.
2462
3087
  * @param {string} catalogName - Cтрока с названием каталога с `s` на конце.
2463
3088
  */
2464
- function sync_catalog(catalogName: unknown): void;
3089
+ function sync_catalog(catalogName: string): void;
2465
3090
 
2466
3091
  /**
2467
3092
  * Обновляет список типов мероприятий в системе.
2468
3093
  * @param {boolean} updateServers - Флаг true обновлять данные на сервере
2469
3094
  * (если функция запускается не на сервере) или на локальной машине - false .
2470
- * @param {XmlTopElem=common} target - TopElem документа, дочерний элемент event_types, которого нужно обновить.
3095
+ * @param {XmlTopElem} target - TopElem документа, дочерний элемент event_types, которого нужно обновить.
2471
3096
  */
2472
3097
  function update_commons_event_types(updateServers: boolean, target: XmlTopElem): void;
2473
3098
 
@@ -2494,8 +3119,10 @@ declare namespace tools {
2494
3119
  /**
2495
3120
  * Устанавливает пакеты со стандартными объектами системы, которые входят в первоначальную поставку WebTutor.
2496
3121
  * При этом проверяется дата последней установки и язык системы по умолчанию.
3122
+ * @param {unknown[]} arrAddPacks - .
3123
+ * @param {string} basePathElem - .
2497
3124
  */
2498
- function process_custom_packs(): void;
3125
+ function process_custom_packs(arrAddPacks: unknown[], basePathElem: string): void;
2499
3126
 
2500
3127
  /**
2501
3128
  * На основе настроек профиля редактирования контента в карточке сотрудника проверяется
@@ -2505,10 +3132,11 @@ declare namespace tools {
2505
3132
  * Применяется при загрузке файла в базу с портала.
2506
3133
  * @param {number} filesize - Размер файла в байта.
2507
3134
  * @param {number} personId - Id сотрудника.
2508
- * @returns {string} Возвращает выражение `ok`, если загрузка разрешена,
3135
+ * @param {XmlTopElem} personTopElem - .
3136
+ * @returns {"ok" | string} Возвращает выражение `ok`, если загрузка разрешена,
2509
3137
  * или строку с сообщением о причине отказа в загрузке в противном случае.
2510
3138
  */
2511
- function check_resource_size(filesize: number, personId: number): "ok" | string;
3139
+ function check_resource_size(filesize: number, personId: number, personTopElem: XmlTopElem): "ok" | string;
2512
3140
 
2513
3141
  /**
2514
3142
  * Включает сотрудника в кадровый резерв.
@@ -2533,12 +3161,12 @@ declare namespace tools {
2533
3161
  * @param {Date} [includeDateParam=CurDate] - Дата включения в резерв.
2534
3162
  * @returns {number} Id объекта Кадровый резерв.
2535
3163
  */
2536
- function include_person_to_personnel_reserve_position(personId: unknown, requestTopElem: RequestDocumentTopElem, careerReserveTypeId: unknown, positionId: number, state: string, positionCommonId: number, includeDateParam: Date): number;
3164
+ function include_person_to_personnel_reserve_position(personId: number, requestTopElem: RequestDocumentTopElem, careerReserveTypeId: unknown, positionId: number, state: string, positionCommonId: number, includeDateParam: Date): number;
2537
3165
 
2538
3166
  /**
2539
3167
  * Возвращает объект, составленный из списка полей указанного объекта-источника.
2540
3168
  * Список полей передаётся как аргумент функции.
2541
- * @param {object|XmlTopElem} fldSPXML - Ссылка на объект или его TopElem.
3169
+ * @param {object | XmlTopElem} fldSPXML - Ссылка на объект или его TopElem.
2542
3170
  * @param {string} fieldList - Строка из названий полей объекта-источника,
2543
3171
  * которые нужно получить (названия полей в строке разделяются символом «точка с запятой» (;)).
2544
3172
  * @param {boolean} [noValidation=true] - Аргумент, определяющий необходимость выполнения проверки в списке полей,
@@ -2555,7 +3183,7 @@ declare namespace tools {
2555
3183
  * Если свойство Doc определено, то функция возвращает его значение.
2556
3184
  * В противном случае функция открывает объект по идентификатору Id и возвращает значение Doc открытого объекта.
2557
3185
  * @param {XmlTopElem} topElem - TopElem объекта.
2558
- * @returns {XmlDocument|null} Документ объекта или значение null.
3186
+ * @returns {XmlDocument | null} Документ объекта или значение null.
2559
3187
  */
2560
3188
  function get_opened_doc(topElem: XmlTopElem): XmlDocument | null;
2561
3189
 
@@ -2570,13 +3198,12 @@ declare namespace tools {
2570
3198
  * @param {string} sResourcesDirPath - Путь до папки с ресурсами (изображения, стили и т.д.),
2571
3199
  * которые используются в html. При отсутствии таких ресурсов указывается пустая строка ('').
2572
3200
  * @param {string} sOutFilePath - Путь до файла, в который будет сохранен полученный файл pdf.
3201
+ * @param {0 | 1} pageOrientation - Ориентация листа. 0 - Вертикальная 1 - Горизонтальная
2573
3202
  * @returns {boolean} Возвращает значение `true`, если преобразование завершилось успешно,
2574
3203
  * или `false` - в противном случае.
2575
- * @example
2576
- * // returns true
2577
- * tools.html_to_pdf(_str, "", UrlToFilePath(_filename));
3204
+ * @example tools.html_to_pdf(_str, "", UrlToFilePath(_filename)); // returns true
2578
3205
  */
2579
- function html_to_pdf(sHtmlText: string, sResourcesDirPath: string, sOutFilePath: string): boolean;
3206
+ function html_to_pdf(sHtmlText: string, sResourcesDirPath: string, sOutFilePath: string, pageOrientation: 0 | 1): boolean;
2580
3207
 
2581
3208
  /**
2582
3209
  * Устанавливает тип руководителя для участника проекта.
@@ -2593,15 +3220,17 @@ declare namespace tools {
2593
3220
  * @param {number} objectId - Id сотрудника.
2594
3221
  * @param {CollaboratorDocumentTopElem} collaboratorTopElem - TopElem документа Сотрудник.
2595
3222
  * @param {number} projectId - Id проекта.
3223
+ * @param {number} bossTypeId - .
3224
+ * @param {boolean} withoutAgreement - .
2596
3225
  * @returns {ProjectParticipantDocument} Документ созданного объекта Участник проекта.
2597
3226
  */
2598
- function create_project_participant(objectId: number, collaboratorTopElem: CollaboratorDocumentTopElem, projectId: number): ProjectParticipantDocument;
3227
+ function create_project_participant(objectId: number, collaboratorTopElem: CollaboratorDocumentTopElem, projectId: number, bossTypeId: number, withoutAgreement: boolean): ProjectParticipantDocument;
2599
3228
 
2600
3229
  /**
2601
3230
  * Создает запись в журнале profiling.log.
2602
3231
  * @example
2603
3232
  * ```
2604
- * Строка вида
3233
+ * // Строка вида
2605
3234
  * var sid = Request.Session.GetOptProperty("sid", "");
2606
3235
  * sIDParam + "\t" + GetCurTicks() + "\t" + sid + "\t" + Request.Url + "\t" + sTypeParam;
2607
3236
  * ```
@@ -2613,7 +3242,7 @@ declare namespace tools {
2613
3242
 
2614
3243
  /**
2615
3244
  * Очищает данные статуса экземпляра товара.
2616
- * @param {number|string} goodInstance - Id экземпляра товара или документ экземпляра товара.
3245
+ * @param {number | string} goodInstance - Id экземпляра товара или документ экземпляра товара.
2617
3246
  * @returns {boolean} Возвращает значение, показывающее,
2618
3247
  * выполнена ли функция успешно (true – функция выполнена успешно, false – функция не выполнена).
2619
3248
  */
@@ -2640,24 +3269,24 @@ declare namespace tools {
2640
3269
 
2641
3270
  /**
2642
3271
  * Возвращает Id различных объектов системы по умолчанию.
2643
- * Смотрите также устаревшие функции: {@link get_default_notification_system_id}
2644
- * и {@link get_default_webinar_system_id}.
2645
3272
  * @param {string} catalogName - Строковое значение типа объекта.
2646
3273
  * @param {string} type - Строковое значение подтипа объекта.
2647
3274
  * @param {XmlTopElem} topElem - TopElem объекта.
2648
3275
  * @returns {number} Id заданного объекта системы по умолчанию.
3276
+ * @see {@link get_default_notification_system_id}
3277
+ * @see {@link get_default_webinar_system_id}.
2649
3278
  */
2650
3279
  function get_default_object_id(catalogName: "notification_system" | "webinar_system" | "boss_type" | "contact_type" | "contact_result" | "custom_web_template" | "learning_storage", type?: string, topElem?: XmlTopElem): number;
2651
3280
 
2652
3281
  /**
2653
3282
  * Возвращает TopElem системы отправки уведомлений.
2654
- * @param {unknown} param - Id объекта системы отправки уведомлений, или его TopElem.
3283
+ * @param {number} param - Id объекта системы отправки уведомлений, или его TopElem.
2655
3284
  * Если передан Id или TopElem объекта отличного от notification_system,
2656
3285
  * то в объекте будет произведен поиск Id системы отправки уведомлений в поле notification_system_id,
2657
3286
  * и возращен TopElem объекта, определяемый Id из этого поля.
2658
- * @returns {NotificationSystemDocumentTopElem} TopElem системы отправки уведомлений.
3287
+ * @returns {NotificationSystemDocumentTopElem} - TopElem системы отправки уведомлений.
2659
3288
  */
2660
- function get_notification_system(param: unknown): NotificationSystemDocumentTopElem;
3289
+ function get_notification_system(param: number): NotificationSystemDocumentTopElem;
2661
3290
 
2662
3291
  /**
2663
3292
  * Выполняет метод системы отправки уведомлений, указанный в атрибуте.
@@ -2672,7 +3301,7 @@ declare namespace tools {
2672
3301
  * @param {string} json - Строка в формате json, задающая значения переменных в объекте системы отправки уведомлений.
2673
3302
  * @returns {unknown} Результат выполнения метода <sMethodNameParam>, определяемый типом указанного метода.
2674
3303
  */
2675
- function call_notification_system_method(param: unknown, methodName: string, json: unknown): unknown;
3304
+ function call_notification_system_method(param: unknown, methodName: string, json: Object): unknown;
2676
3305
 
2677
3306
  /**
2678
3307
  * Заполняет в объекте получатель поле type_id кодом типа мероприятия, переданного в параметрах функции.
@@ -2680,7 +3309,7 @@ declare namespace tools {
2680
3309
  * в поле event_type_id.
2681
3310
  * @param {XmlTopElem} target - TopElem для заполнения.
2682
3311
  * @param {string} eventTypeCode - Cтрока с кодом типа мероприятия.
2683
- * @returns {number|null} Если тип мероприятия с указным кодом не найден, то null, или id этого типа мероприятия.
3312
+ * @returns {number | null} Если тип мероприятия с указным кодом не найден, то null, или id этого типа мероприятия.
2684
3313
  */
2685
3314
  function set_event_type_id(target: unknown, eventTypeCode: string): number | null;
2686
3315
 
@@ -2722,7 +3351,10 @@ declare namespace tools {
2722
3351
  * error описание ошибки, возникшей при выполнении (если ошибка обрабатывается скриптом).
2723
3352
  * Если элемент очереди скриптов не найден, вернет null.
2724
3353
  */
2725
- function wait_script_queue(scriptId: unknown, isScriptDelete: boolean): unknown;
3354
+ function wait_script_queue(scriptId: number, isScriptDelete: boolean): {
3355
+ result: string;
3356
+ error: unknown;
3357
+ } | null;
2726
3358
 
2727
3359
  /**
2728
3360
  * Отрывает указанную версию курса в интерфейсе администратора WebTutor.
@@ -2759,15 +3391,15 @@ declare namespace tools {
2759
3391
  */
2760
3392
  function xquery<T>(command: string): T[];
2761
3393
 
2762
- function get_catalog_limits(): unknown;
3394
+ function get_catalog_limits(): string;
2763
3395
 
2764
- let xhttp_ini: XmlElem<unknown>;
3396
+ let xhttp_ini: XmlElem<{ name: string, value: string }[] | null>;
2765
3397
 
2766
- function load_xhttp_ini(): unknown;
3398
+ function load_xhttp_ini(): void;
2767
3399
 
2768
- function get_xhttp_ini(sIniVarName: unknown): unknown;
3400
+ function get_xhttp_ini(iniVarName: string): unknown;
2769
3401
 
2770
- function resource_pic_envelope(sMode: unknown, vParam1: unknown, vParam2: unknown, vParam3: unknown, vParam4: unknown): unknown;
3402
+ function resource_pic_envelope(mode: string, vParam1: unknown, vParam2: unknown, vParam3: unknown, vParam4: unknown, resourceId: number): unknown;
2771
3403
 
2772
3404
  function file_source_get_upload_file_url(fileSourceId: number, fileName: string): unknown;
2773
3405
 
@@ -2775,55 +3407,60 @@ declare namespace tools {
2775
3407
 
2776
3408
  function file_source_get_file_to_save_url(fileSourceId: number, resourceId: number, uid: string): string;
2777
3409
 
2778
- function file_source_get_temp_file_to_save_url(fileSourceId: number, resourceId: number, uid: string): unknown;
3410
+ function file_source_get_temp_file_to_save_url(fileSourceId: number, resourceId: number, uId: string): unknown;
2779
3411
 
2780
3412
  function file_source_clear_old_file(fileSourceId: number, oldFileUrl: string, curFileUrl: string): unknown;
2781
3413
 
2782
3414
  function file_source_get_files_list(fileSourceId: number): unknown;
2783
3415
 
2784
- function file_source_download_file(fileSourceId: number, uid: string, oRequestPARAM: unknown, oResponsePARAM: unknown): unknown;
3416
+ function file_source_download_file(fileSourceId: number, uId: string, request: Object, response: Object): unknown;
2785
3417
 
2786
- function file_source_get_file_url(fileSourceId: number, uid: string): unknown;
3418
+ function file_source_get_file_url(fileSourceId: number, uId: string): unknown;
2787
3419
 
2788
- function call_webinar_system_method(webinarSystemId: number, methodName: number, oParams: unknown): unknown;
3420
+ function call_webinar_system_method(webinarSystemId: number, methodName: string, params: Object): unknown;
2789
3421
 
2790
3422
  function get_webinar_system_topelem(webinarSystemId: number): unknown;
2791
3423
 
2792
- function call_library_system_method(librarySystemId: number, methodName: number, oParams: unknown): unknown;
3424
+ function call_library_system_method(librarySystemId: number, methodName: string, params: Object): unknown;
2793
3425
 
2794
- function calculate_statistic_rec(statisticRecId: number, objectId: number, bIgnorePeriodSettingsParam: unknown, bCalculateCatalogsParam: unknown): unknown;
3426
+ function calculate_statistic_rec(statisticRecId: number, objectId: number, ignorePeriodSettings: boolean, calculateCatalogs: boolean): unknown;
2795
3427
 
2796
3428
  function get_statistic_data(statisticRecId: number, objectId: number, periodType: string, dateStart: Date, dateEnd: Date): unknown;
2797
3429
 
2798
- function obtain_statistic_data(StatisticRec: unknown, objectId: number, periodType: string, dateStart: Date, dateEnd: Date, bVirtual: unknown, bForceRedo: unknown): unknown;
3430
+ function obtain_statistic_data(statisticRec: unknown, objectId: number, periodType: string, dateStart: Date, dateEnd: Date, virtual: boolean, forceRedo: boolean): unknown;
2799
3431
 
2800
- function assign_from_object(fldTarget: unknown, oSourceParam: unknown): unknown;
3432
+ function assign_from_object(fldTarget: unknown, source: Object): unknown;
2801
3433
 
2802
3434
  /**
2803
3435
  * Функция открывает документ и возвращает его.
2804
3436
  * Если не смогла открыть, возвращает undefined.
2805
- * @param {string|number} documentId - Id документа.
2806
- * @returns {T|undefined} XML документ или undefined.
3437
+ * @param {string | number} documentId - Id документа.
3438
+ * @returns {T | undefined} XML документ или undefined.
2807
3439
  */
2808
- function open_doc<T = XmlDocument>(documentId: number): T | undefined;
3440
+ function open_doc<T extends XmlDocument = XmlDocument>(documentId: number): T | undefined;
3441
+
3442
+ function filling_learning_parts(topElem: unknown): unknown;
2809
3443
 
2810
- function filling_learning_parts(TopElem: unknown): unknown;
3444
+ function parse_email_address(address: string): unknown;
2811
3445
 
2812
- function parse_email_address(sAddressParam: unknown): unknown;
3446
+ function safe_execution(codeSaveExecution: string, env: Object): unknown;
2813
3447
 
2814
- function safe_execution(sCodeSaveExecutionParam: unknown, oEnvParam?: unknown): unknown;
3448
+ function get_content_access(personId: number, personTopElem: XmlTopElem, appOnly: boolean): unknown;
2815
3449
 
2816
- function get_content_access(personId: number, tePerson: unknown): unknown;
3450
+ function update_content_access(idOrTEUser: unknown, catalog: string, idOrTEObjectId: number, canEdit: boolean, canDelete: boolean): unknown;
2817
3451
 
2818
- function update_content_access(idOrTE_UserPARAM: unknown, sCatalogPARAM: unknown, idOrTE_ObjectID: unknown, bCanEditPARAM: boolean, bCanDeletePARAM: boolean): unknown;
3452
+ function set_default_content(contentTopElem: XmlTopElem, subjectTopElem: XmlTopElem): unknown;
2819
3453
 
2820
- function set_default_content(teContentPARAM: unknown, teSubjectPARAM: unknown): unknown;
2821
3454
  let upgrade_locked: XmlElem<boolean>;
2822
- let in_place_upgrade: XmlElem<boolean>;
2823
3455
 
2824
- function set_upgrade_locked(bParam: unknown): unknown;
2825
- let os_type: XmlElem<string>;
3456
+ let in_place_upgrade: XmlElem<boolean | null>;
3457
+
3458
+ function set_upgrade_locked(b: boolean): unknown;
3459
+
3460
+ let os_type: XmlElem<string | null>;
3461
+
2826
3462
  let dotnet_host: DotNetCoreHost | null;
3463
+
2827
3464
  let object_assembly: Variant<Websoft.Interfaces>;
2828
3465
 
2829
3466
  /**
@@ -2833,14 +3470,15 @@ declare namespace tools {
2833
3470
  */
2834
3471
  function get_object_assembly<T extends keyof Websoft.Interfaces>(libraryName: T): T extends keyof Websoft.Interfaces ? Websoft.Interfaces[T] : T;
2835
3472
 
2836
- function create_committee_member(objectID: number, objectTopElem: unknown, iPersonnelCommitteeIDParam: unknown, strCommitteeMemberTypeParam: unknown): unknown;
3473
+ function create_committee_member(objectId: number, objectTopElem: XmlTopElem, personnelCommitteeId: number, strCommitteeMemberType: unknown): unknown;
3474
+
3475
+ function activate_poll_to_person(personId: Object, pollId: Object, pollProcedureId: number, educationPlanId: number): unknown;
2837
3476
 
2838
- function activate_poll_to_person(personId: unknown, oPollID: unknown, iPollProcedureID: unknown, iEducationPlanID: unknown): unknown;
3477
+ function delete_poll_result(pollResult: Object, pollTopElem: XmlTopElem): unknown;
2839
3478
 
2840
- function delete_poll_result(oPollResultParam: unknown, tePollParam: unknown): unknown;
3479
+ function array_opt_find_by_key(arr: unknown, key: string, value: Object): unknown;
2841
3480
 
2842
- function array_opt_find_by_key(arrParam: unknown, sKeyParam: unknown, oValueParam: unknown): unknown;
2843
- let crypto_obj: XmlElem<unknown>;
3481
+ let crypto_obj: XmlElem<unknown | null>;
2844
3482
 
2845
3483
  function crypto_obj_init(): unknown;
2846
3484
 
@@ -2850,28 +3488,29 @@ declare namespace tools {
2850
3488
 
2851
3489
  function get_list_lngs(): unknown;
2852
3490
 
2853
- function check_periodity(fldPeriodityParam: unknown, _cur_date: unknown, iSleepSecParam: unknown): unknown;
3491
+ function check_periodity(fldPeriodity: unknown, curDate: unknown, sleepSec: number): unknown;
2854
3492
 
2855
- function upload_begin(url: string, iLenghtParam: unknown): unknown;
3493
+ function upload_begin(url: string, lenght: number): unknown;
2856
3494
 
2857
- function upload_range(id: string, iStartIndexParam: unknown, iFinishIndexParam: unknown, sDataParam: unknown): unknown;
3495
+ function upload_range(id: string, startIndex: number, finishIndex: number, data: string): unknown;
2858
3496
 
2859
3497
  function upload_end(id: string): unknown;
2860
3498
 
2861
3499
  function get_oapi_schemas(): unknown;
2862
- let dotnet_xhttp_middleware: XmlElem<unknown>;
2863
3500
 
2864
- function is_simple_array_field(fldParam: unknown): unknown;
3501
+ let dotnet_xhttp_middleware: XmlElem<unknown | null>;
2865
3502
 
2866
- function restore_doc(objectID: number): unknown;
3503
+ function is_simple_array_field(fld: unknown): unknown;
2867
3504
 
2868
- function ValidateName(str: unknown, is_var: unknown): unknown;
3505
+ function restore_doc(objectId: number): unknown;
2869
3506
 
2870
- function check_event_fields(eventId: number, docEvent: unknown, teEvent: unknown): unknown;
3507
+ function ValidateName(str: unknown, isVar: boolean): unknown;
2871
3508
 
2872
- function get_code_library(library: unknown): unknown;
3509
+ function check_event_fields(eventId: number, event: EventDocument, eventTopElem: XmlTopElem): unknown;
2873
3510
 
2874
- function lite_call_code_library_method(libraryUrl: unknown, methodName: string, arrParams: unknown): unknown;
3511
+ function get_code_library(library: Object): unknown;
3512
+
3513
+ function lite_call_code_library_method(libraryUrl: Object, methodName: string, arrParams: unknown[]): unknown;
2875
3514
 
2876
3515
  /**
2877
3516
  * Вызов метода из библиотеки программного кода. После выполнения загрузки библиотека кэшируется.
@@ -2899,65 +3538,94 @@ declare namespace tools {
2899
3538
  * )
2900
3539
  * ```
2901
3540
  */
2902
- function call_code_library_method<T, K>(library: string, method: string, arrParams: T): K;
3541
+ function call_code_library_method<T, K>(library: string, method: string, arrParams: T[]): K;
2903
3542
 
2904
- function get_params_code_library(library: unknown): unknown;
3543
+ function get_params_code_library(library: Object): unknown;
2905
3544
 
2906
- function get_process_param(library: unknown, nameAttr: string): unknown;
3545
+ function get_process_param(library: Object, nameAttr: string): unknown;
2907
3546
 
2908
- function get_code_library_error_message(oLibResParam: unknown, oEnvParam: unknown): unknown;
3547
+ function get_code_library_error_message(libRes: Object, env: Object): unknown;
2909
3548
 
2910
- function parse_throw_error(errorStr: string, error: unknown): unknown;
3549
+ function parse_throw_error(errorStr: string, error: Object): unknown;
2911
3550
 
2912
3551
  function split_errortext(errorStr: string): unknown;
2913
3552
 
2914
- function get_code_library_result_object(oLibResParam: unknown, oEnvParam: unknown): unknown;
3553
+ function get_code_library_result_object(libRes: Object, env: Object): unknown;
2915
3554
 
2916
3555
  function amgr_get_agent_list_json(): unknown;
2917
3556
 
2918
- function amgr_cancel_agent(roleUID: unknown, threadID: unknown): unknown;
3557
+ function amgr_cancel_agent(roleUId: number, threadId: number): unknown;
3558
+
3559
+ function amgr_kill_role(nodeId: number, roleUId: number): unknown;
2919
3560
 
2920
- function amgr_kill_role(nodeId: unknown, roleUID: unknown): unknown;
3561
+ function get_doc_desc(objectTopElem: XmlTopElem): string;
2921
3562
 
2922
- function get_doc_desc(objectTopElem: unknown): unknown;
3563
+ function get_client_data(login: string, password: string): unknown;
2923
3564
 
2924
- function get_client_data(sLogin: unknown, sPassword: unknown): unknown;
2925
- let webinar_conversation_participants_obj: XmlElem<unknown>;
3565
+ let webinar_conversation_participants_obj: XmlElem<unknown | null>;
2926
3566
 
2927
- function get_webinar_conversation_participants(iWebinarSystemId: unknown): unknown;
3567
+ function get_webinar_conversation_participants(webinarSystemId: number): unknown;
2928
3568
 
2929
3569
  function update_webinar_conversation_participants(webinarSystemId: number): unknown;
2930
- let system_event_handlers_obj: XmlElem<unknown>;
3570
+
3571
+ let system_event_handlers_obj: XmlElem<unknown | null>;
2931
3572
 
2932
3573
  function get_system_event_handlers(systemEventId: number): unknown;
2933
3574
 
2934
- function add_system_event_handlers_to_obj(systemEventId: number, systemEventHandlerId: number, teSystemEventHandler: unknown): unknown;
3575
+ function add_system_event_handlers_to_obj(systemEventId: number, systemEventHandlerId: number, systemEventHandlerTopElem: XmlTopElem): unknown;
2935
3576
 
2936
3577
  function del_system_event_handlers_from_obj(systemEventId: number, systemEventHandlerId: number): unknown;
2937
3578
 
2938
- function add_object_to_package(docObject: unknown, iObjectID: unknown, Screen: unknown, fldPackage: unknown): unknown;
3579
+ function add_object_to_package(object: XmlDocument, objectId: number, screen: unknown, fldPackage: unknown, o: Object): unknown;
2939
3580
 
2940
- function generate_qr(text: string, options: unknown): unknown;
3581
+ function generate_qr(text: unknown, options: unknown): unknown;
2941
3582
 
2942
- function repeate_learning_activation(leartning: unknown): unknown;
3583
+ function repeate_learning_activation(leartning: Object): unknown;
2943
3584
 
2944
3585
  function person_hierarchy_build(aInstructions: unknown): unknown;
3586
+
2945
3587
  function person_hierarchy_build_all(): unknown;
3588
+
3589
+ function put_message_in_queue(queueName: string, commandXml: string): unknown;
3590
+
2946
3591
  let file_sources_obj: XmlElem<unknown | null>;
2947
- let cache_code_librarys_obj: XmlElem<unknown | null>;
3592
+
3593
+ function get_file_sources(fileSourceId: number): unknown;
3594
+
2948
3595
  function update_file_sources(fileSourceId: number, fileSourceTopElem: XmlTopElem): unknown;
3596
+
3597
+ let cache_code_librarys_obj: XmlElem<unknown | null>;
3598
+
2949
3599
  function init_cache_code_librarys(codeLibraryId: number): unknown;
3600
+
2950
3601
  function get_cache_code_librarys(codeLibraryId: number): unknown;
3602
+
2951
3603
  function update_cache_code_librarys(codeLibraryId: number, paramCodeLibraryTopElem: XmlTopElem): unknown;
3604
+
2952
3605
  function drop_cache_code_library(codeLibraryIds: unknown): unknown;
3606
+
3607
+ function get_file_from_data(source: Object): unknown;
3608
+
2953
3609
  function getDayYear(date: Date): unknown;
3610
+
2954
3611
  function getWeekYear(date: Date): unknown;
3612
+
2955
3613
  function create_search_condition(searchString: string, catalogName: string, arrSearchFieldNames: unknown[], foreignFieldName: string, searchType: string): unknown;
3614
+
2956
3615
  function get_access_role_claims(update: Date): unknown;
2957
3616
 
2958
3617
  function remove_fetch_doc(objectId: number): unknown;
2959
3618
 
2960
3619
  function open_excel(fileUrl: string): unknown;
3620
+
3621
+ function get_hashable_object_text(topElem: unknown): unknown;
3622
+
3623
+ function get_srw_object(defaultObjectType: string): unknown;
3624
+
3625
+ function obtain_simple_array_from_unform_array(fldArrTarget: unknown, fldArrSource: unknown): unknown;
3626
+
3627
+ function obtain_field_from_unform_field(fldTarget: unknown, fldSource: unknown): unknown;
3628
+
2961
3629
  type ToolsDocTypesCatalogHash = {
2962
3630
  object_hash: XmlElem<string>;
2963
3631
  };
@@ -3035,7 +3703,6 @@ declare namespace tools {
3035
3703
  * 4 - электронно-цифровая подпись пустая.
3036
3704
  */
3037
3705
  type DigitalVerifyResult = {
3038
- // eslint-disable-next-line no-magic-numbers
3039
3706
  id: 0 | 1 | 2 | 3 | 4;
3040
3707
  strMessage: string;
3041
3708
  };
@@ -3046,19 +3713,6 @@ declare namespace tools {
3046
3713
  server_version: string;
3047
3714
  };
3048
3715
 
3049
- /**
3050
- * Информация об успехе выполнения функции или об ошибке.
3051
- * Результирующий объект oRes имеет три свойства:
3052
- * - код oRes.error;
3053
- * - URL файла данных oRes.data_file_url;
3054
- * - и сведения об ошибке oRes.error_text.
3055
- */
3056
- interface DownloadDataResponse {
3057
- error: number;
3058
- data_fileurl: string;
3059
- error_text: string;
3060
- }
3061
-
3062
3716
  interface ICreateNotificationAdditionalParams {
3063
3717
  recipients: string[];
3064
3718
  sender_selector: string;
@@ -3108,4 +3762,10 @@ declare namespace tools {
3108
3762
  /** Использовать прокторинг (необязательный). */
3109
3763
  bUseProctoring?: boolean;
3110
3764
  };
3765
+
3766
+ type RegisterDocTypeCatalog = {
3767
+ catalog: string;
3768
+ catalog_form_url: string;
3769
+ catalog_form_hash: string;
3770
+ };
3111
3771
  }