bx-rest 0.10.0 → 0.10.2
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.
- package/consts/part-name-methods.d.ts +6 -0
- package/esm2022/consts/part-name-methods.mjs +7 -1
- package/esm2022/functions/serializeBitrixParams.mjs +2 -3
- package/esm2022/map/crm/currency.mjs +36 -0
- package/esm2022/map/crm/index.mjs +2 -1
- package/esm2022/request-navvy/crm/currency/base.mjs +31 -0
- package/esm2022/request-navvy/crm/currency.mjs +75 -0
- package/esm2022/request-navvy/crm/documentgenerator/document.mjs +103 -0
- package/esm2022/request-navvy/crm/documentgenerator/index.mjs +18 -0
- package/esm2022/request-navvy/crm/documentgenerator/numerator.mjs +61 -0
- package/esm2022/request-navvy/crm/documentgenerator/template.mjs +76 -0
- package/esm2022/request-navvy/crm.mjs +7 -1
- package/esm2022/services/navvy/navvy-pag-nav-result-key-object.mjs +60 -0
- package/esm2022/services/navvy.mjs +6 -1
- package/esm2022/typification/rest/crm/currency.mjs +2 -0
- package/esm2022/typification/rest/crm/documentgenerator.mjs +2 -0
- package/esm2022/typification/rest/crm/index.mjs +3 -1
- package/fesm2022/bx-rest.mjs +453 -3
- package/fesm2022/bx-rest.mjs.map +1 -1
- package/map/crm/currency.d.ts +8 -0
- package/map/crm/index.d.ts +1 -0
- package/package.json +2 -2
- package/request-navvy/crm/currency/base.d.ts +20 -0
- package/request-navvy/crm/currency.d.ts +51 -0
- package/request-navvy/crm/documentgenerator/document.d.ts +92 -0
- package/request-navvy/crm/documentgenerator/index.d.ts +15 -0
- package/request-navvy/crm/documentgenerator/numerator.d.ts +51 -0
- package/request-navvy/crm/documentgenerator/template.d.ts +65 -0
- package/request-navvy/crm.d.ts +6 -0
- package/services/navvy/navvy-pag-nav-result-key-object.d.ts +12 -0
- package/services/navvy.d.ts +3 -0
- package/typification/rest/crm/currency.d.ts +146 -0
- package/typification/rest/crm/documentgenerator.d.ts +200 -0
- package/typification/rest/crm/index.d.ts +2 -0
package/fesm2022/bx-rest.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DateTime } from 'luxon';
|
|
2
2
|
import { switchMap, map, catchError, take, mergeMap as mergeMap$1 } from 'rxjs/operators';
|
|
3
|
-
import { Subscription, of, throwError, from, forkJoin, last, shareReplay, mergeMap, concatMap, toArray, tap } from 'rxjs';
|
|
3
|
+
import { Subscription, of, throwError, from, forkJoin, last, shareReplay, mergeMap, concatMap, toArray, map as map$1, tap } from 'rxjs';
|
|
4
4
|
import clone from 'just-clone';
|
|
5
5
|
import axios from 'axios';
|
|
6
6
|
import flatten from 'just-flatten-it';
|
|
@@ -710,8 +710,7 @@ class HttpServices extends BaseHttp {
|
|
|
710
710
|
const BITRIX_STRINGIFY_OPTIONS = {
|
|
711
711
|
// Добавляет числовые индексы массивов: fields[PHONE][0][VALUE].
|
|
712
712
|
arrayFormat: 'indices',
|
|
713
|
-
//
|
|
714
|
-
allowDots: false,
|
|
713
|
+
// allowDots не передаётся: значение по умолчанию false сохраняет bracket notation.
|
|
715
714
|
// Выполняет URL-кодирование ключей и значений параметров.
|
|
716
715
|
encode: true,
|
|
717
716
|
// Кодирует не только значения, но и ключи вместе с квадратными скобками.
|
|
@@ -1033,7 +1032,13 @@ const $deal = 'deal';
|
|
|
1033
1032
|
const $contact = 'contact';
|
|
1034
1033
|
const $company = 'company';
|
|
1035
1034
|
const $quote = 'quote';
|
|
1035
|
+
const $currency = 'currency';
|
|
1036
1036
|
const $productrows = 'productrows';
|
|
1037
|
+
const $documentgenerator = 'documentgenerator';
|
|
1038
|
+
const $numerator = 'numerator';
|
|
1039
|
+
const $document = 'document';
|
|
1040
|
+
const $enablepublicurl = 'enablepublicurl';
|
|
1041
|
+
const $upload = 'upload';
|
|
1037
1042
|
|
|
1038
1043
|
var partNameMethods$1 = /*#__PURE__*/Object.freeze({
|
|
1039
1044
|
__proto__: null,
|
|
@@ -1064,6 +1069,7 @@ var partNameMethods$1 = /*#__PURE__*/Object.freeze({
|
|
|
1064
1069
|
$counters: $counters,
|
|
1065
1070
|
$create: $create,
|
|
1066
1071
|
$crm: $crm,
|
|
1072
|
+
$currency: $currency,
|
|
1067
1073
|
$deal: $deal,
|
|
1068
1074
|
$defer: $defer,
|
|
1069
1075
|
$delegate: $delegate,
|
|
@@ -1072,8 +1078,11 @@ var partNameMethods$1 = /*#__PURE__*/Object.freeze({
|
|
|
1072
1078
|
$dialog: $dialog,
|
|
1073
1079
|
$disapprove: $disapprove,
|
|
1074
1080
|
$disk: $disk,
|
|
1081
|
+
$document: $document,
|
|
1082
|
+
$documentgenerator: $documentgenerator,
|
|
1075
1083
|
$elapseditem: $elapseditem,
|
|
1076
1084
|
$element: $element,
|
|
1085
|
+
$enablepublicurl: $enablepublicurl,
|
|
1077
1086
|
$end: $end,
|
|
1078
1087
|
$enum: $enum,
|
|
1079
1088
|
$event: $event,
|
|
@@ -1114,6 +1123,7 @@ var partNameMethods$1 = /*#__PURE__*/Object.freeze({
|
|
|
1114
1123
|
$multifield: $multifield,
|
|
1115
1124
|
$mute: $mute,
|
|
1116
1125
|
$nearest: $nearest,
|
|
1126
|
+
$numerator: $numerator,
|
|
1117
1127
|
$params: $params,
|
|
1118
1128
|
$pause: $pause,
|
|
1119
1129
|
$pin: $pin,
|
|
@@ -1158,6 +1168,7 @@ var partNameMethods$1 = /*#__PURE__*/Object.freeze({
|
|
|
1158
1168
|
$updateAvatar: $updateAvatar,
|
|
1159
1169
|
$updateColor: $updateColor,
|
|
1160
1170
|
$updateTitle: $updateTitle,
|
|
1171
|
+
$upload: $upload,
|
|
1161
1172
|
$uploadfile: $uploadfile,
|
|
1162
1173
|
$url: $url,
|
|
1163
1174
|
$user: $user,
|
|
@@ -2361,6 +2372,59 @@ class NavvyPagNavResultKey extends NavvyPagBase {
|
|
|
2361
2372
|
}
|
|
2362
2373
|
}
|
|
2363
2374
|
|
|
2375
|
+
/** Пагинация для методов, возвращающих коллекцию как объект с идентификаторами в ключах. */
|
|
2376
|
+
class NavvyPagNavResultKeyObject extends NavvyPagBase {
|
|
2377
|
+
constructor(url, param, key, mapResult) {
|
|
2378
|
+
super(url, param, mapResult);
|
|
2379
|
+
this.key = key;
|
|
2380
|
+
}
|
|
2381
|
+
resAll() {
|
|
2382
|
+
return this.resultAllEnd().pipe(last(), shareReplay(1));
|
|
2383
|
+
}
|
|
2384
|
+
resultAllEnd() {
|
|
2385
|
+
const bxRest = new BXRest();
|
|
2386
|
+
return this.resVanilla().pipe(mergeMap(items => {
|
|
2387
|
+
if (!items || !instanceOfiBXRestAnswerSuccess(items)) {
|
|
2388
|
+
return from([]);
|
|
2389
|
+
}
|
|
2390
|
+
if (!items.total || items.total <= this.pageSize) {
|
|
2391
|
+
return this.mapResult(items);
|
|
2392
|
+
}
|
|
2393
|
+
const pageCount = Math.ceil(items.total / this.pageSize);
|
|
2394
|
+
const commands = Array.from({ length: pageCount - 1 }, (_, index) => {
|
|
2395
|
+
const param = clone(this.param);
|
|
2396
|
+
param.start = (index + 1) * this.pageSize;
|
|
2397
|
+
return bxRest.batch({
|
|
2398
|
+
halt: 1,
|
|
2399
|
+
cmd: [this.http.getNameMethod(this.url) + '?' + serializeBitrixParams(param)]
|
|
2400
|
+
});
|
|
2401
|
+
});
|
|
2402
|
+
return from(commands).pipe(concatMap(request => request), toArray(), mergeMap(results => {
|
|
2403
|
+
const merged = { ...(items.result?.[this.key] ?? {}) };
|
|
2404
|
+
for (const result of results) {
|
|
2405
|
+
if (result && instanceOfiBXRestAnswerSuccess(result)) {
|
|
2406
|
+
for (const page of result.result?.result ?? []) {
|
|
2407
|
+
Object.assign(merged, page?.[this.key] ?? {});
|
|
2408
|
+
}
|
|
2409
|
+
}
|
|
2410
|
+
}
|
|
2411
|
+
return this.mapResult({ [this.key]: merged });
|
|
2412
|
+
}));
|
|
2413
|
+
}), catchError(error => {
|
|
2414
|
+
console.error(error);
|
|
2415
|
+
return throwError(() => error);
|
|
2416
|
+
}));
|
|
2417
|
+
}
|
|
2418
|
+
mapResult(items) {
|
|
2419
|
+
if (!instanceOfiBXRestAnswerSuccess(items)) {
|
|
2420
|
+
return from([]);
|
|
2421
|
+
}
|
|
2422
|
+
return from([items.result]).pipe(map$1(value => this.map
|
|
2423
|
+
? this.map(value)
|
|
2424
|
+
: Object.values(value?.[this.key] ?? {})));
|
|
2425
|
+
}
|
|
2426
|
+
}
|
|
2427
|
+
|
|
2364
2428
|
class NavvySupport {
|
|
2365
2429
|
constructor(requestClass) {
|
|
2366
2430
|
this.requestClass = requestClass;
|
|
@@ -2410,6 +2474,9 @@ class Navvy {
|
|
|
2410
2474
|
pagNavResultKey(url, arg, key, map) {
|
|
2411
2475
|
return new NavvyPagNavResultKey(url, arg, key, map);
|
|
2412
2476
|
}
|
|
2477
|
+
pagNavResultKeyObject(url, arg, key, map) {
|
|
2478
|
+
return new NavvyPagNavResultKeyObject(url, arg, key, map);
|
|
2479
|
+
}
|
|
2413
2480
|
pagNavWithUselessKey(url,
|
|
2414
2481
|
// func: (param: A) => Observable<iBXRestAnswer<{ [key: string]: T }> | undefined>,
|
|
2415
2482
|
arg, map) {
|
|
@@ -6124,6 +6191,40 @@ class BXRestMapCrmAutomatedSolution {
|
|
|
6124
6191
|
}
|
|
6125
6192
|
}
|
|
6126
6193
|
|
|
6194
|
+
class BXRestMapCrmCurrency {
|
|
6195
|
+
/** Преобразует список валют из формата Bitrix24 в локальный формат библиотеки. */
|
|
6196
|
+
static list(value) {
|
|
6197
|
+
return value?.map(item => BXRestMapCrmCurrency.get(item));
|
|
6198
|
+
}
|
|
6199
|
+
/** Преобразует валюту из формата Bitrix24 в локальный формат библиотеки. */
|
|
6200
|
+
static get(value) {
|
|
6201
|
+
if (!value)
|
|
6202
|
+
return undefined;
|
|
6203
|
+
return Object.assign(clone(value), {
|
|
6204
|
+
AMOUNT_CNT: toNum(value.AMOUNT_CNT),
|
|
6205
|
+
AMOUNT: toNum(value.AMOUNT),
|
|
6206
|
+
SORT: toNum(value.SORT),
|
|
6207
|
+
BASE: toBool(value.BASE),
|
|
6208
|
+
DECIMALS: toNum(value.DECIMALS),
|
|
6209
|
+
DATE_UPDATE: toDate(value.DATE_UPDATE),
|
|
6210
|
+
LANG: BXRestMapCrmCurrency.localizations(value.LANG)
|
|
6211
|
+
});
|
|
6212
|
+
}
|
|
6213
|
+
static localizations(value) {
|
|
6214
|
+
if (!value)
|
|
6215
|
+
return undefined;
|
|
6216
|
+
return Object.fromEntries(Object.entries(value).map(([language, localization]) => [
|
|
6217
|
+
language,
|
|
6218
|
+
Object.assign(clone(localization), {
|
|
6219
|
+
DECIMALS: toNum(localization.DECIMALS),
|
|
6220
|
+
HIDE_ZERO: localization.HIDE_ZERO === undefined
|
|
6221
|
+
? undefined
|
|
6222
|
+
: toBool(localization.HIDE_ZERO)
|
|
6223
|
+
})
|
|
6224
|
+
]));
|
|
6225
|
+
}
|
|
6226
|
+
}
|
|
6227
|
+
|
|
6127
6228
|
class BXRestNavvyCrmLead {
|
|
6128
6229
|
constructor() {
|
|
6129
6230
|
this.url = {
|
|
@@ -6855,8 +6956,357 @@ class BXRestNavvyCrmAutomatedSolution {
|
|
|
6855
6956
|
}
|
|
6856
6957
|
}
|
|
6857
6958
|
|
|
6959
|
+
/** Методы документов генератора документов (`crm.documentgenerator.document.*`). */
|
|
6960
|
+
class BXRestNavvyCrmDocumentGeneratorDocument {
|
|
6961
|
+
constructor() {
|
|
6962
|
+
this.Navvy = new Navvy();
|
|
6963
|
+
this.url = {
|
|
6964
|
+
/** Создаёт документ по шаблону. */
|
|
6965
|
+
add: [$crm, $documentgenerator, $document, $add],
|
|
6966
|
+
/** Обновляет существующий документ. */
|
|
6967
|
+
update: [$crm, $documentgenerator, $document, $update],
|
|
6968
|
+
/** Возвращает документ по идентификатору. */
|
|
6969
|
+
get: [$crm, $documentgenerator, $document, $get],
|
|
6970
|
+
/** Возвращает список документов. */
|
|
6971
|
+
list: [$crm, $documentgenerator, $document, $list],
|
|
6972
|
+
/** Удаляет документ. */
|
|
6973
|
+
delete: [$crm, $documentgenerator, $document, $delete],
|
|
6974
|
+
/** Включает или выключает публичную ссылку на документ. */
|
|
6975
|
+
enablePublicUrl: [$crm, $documentgenerator, $document, $enablepublicurl],
|
|
6976
|
+
/** Загружает готовый документ и прикрепляет его к CRM-объекту. */
|
|
6977
|
+
upload: [$crm, $documentgenerator, $document, $upload],
|
|
6978
|
+
/** Возвращает доступные поля созданного документа. */
|
|
6979
|
+
getFields: [$crm, $documentgenerator, $document, $getFields]
|
|
6980
|
+
};
|
|
6981
|
+
}
|
|
6982
|
+
/**
|
|
6983
|
+
* Создаёт документ по шаблону для указанного CRM-объекта.
|
|
6984
|
+
*
|
|
6985
|
+
* `pdfUrl` и `imageUrl` могут появиться позднее, поскольку конвертация выполняется асинхронно.
|
|
6986
|
+
*
|
|
6987
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/documents/crm-document-generator-document-add.html
|
|
6988
|
+
*/
|
|
6989
|
+
add(param) {
|
|
6990
|
+
return this.documentRequest(this.url.add, param);
|
|
6991
|
+
}
|
|
6992
|
+
/**
|
|
6993
|
+
* Обновляет значения существующего документа и запускает его повторную генерацию.
|
|
6994
|
+
*
|
|
6995
|
+
* `pdfUrl` и `imageUrl` могут появиться позднее, поскольку конвертация выполняется асинхронно.
|
|
6996
|
+
*
|
|
6997
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/documents/crm-document-generator-document-update.html
|
|
6998
|
+
*/
|
|
6999
|
+
update(param) {
|
|
7000
|
+
return this.documentRequest(this.url.update, param);
|
|
7001
|
+
}
|
|
7002
|
+
/**
|
|
7003
|
+
* Возвращает документ по идентификатору.
|
|
7004
|
+
*
|
|
7005
|
+
* Если конвертация ещё не завершилась, повторите запрос через 30–40 секунд.
|
|
7006
|
+
*
|
|
7007
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/documents/crm-document-generator-document-get.html
|
|
7008
|
+
*/
|
|
7009
|
+
get(param) {
|
|
7010
|
+
return this.documentRequest(this.url.get, param);
|
|
7011
|
+
}
|
|
7012
|
+
/**
|
|
7013
|
+
* Возвращает список документов по фильтру с поддержкой постраничной навигации.
|
|
7014
|
+
*
|
|
7015
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/documents/crm-document-generator-document-list.html
|
|
7016
|
+
*/
|
|
7017
|
+
list(param = {}) {
|
|
7018
|
+
return this.Navvy.pagNavResultKey(this.url.list, param, 'documents', (result) => result?.documents);
|
|
7019
|
+
}
|
|
7020
|
+
/**
|
|
7021
|
+
* Удаляет документ.
|
|
7022
|
+
*
|
|
7023
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/documents/crm-document-generator-document-delete.html
|
|
7024
|
+
*/
|
|
7025
|
+
delete(param) {
|
|
7026
|
+
return this.Navvy.simple(this.url.delete, param);
|
|
7027
|
+
}
|
|
7028
|
+
/**
|
|
7029
|
+
* Включает или выключает публичную ссылку на документ.
|
|
7030
|
+
* Если `status` не передан, ссылка включается.
|
|
7031
|
+
*
|
|
7032
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/documents/crm-document-generator-document-enable-public-url.html
|
|
7033
|
+
*/
|
|
7034
|
+
enablePublicUrl(param) {
|
|
7035
|
+
return this.Navvy.simple(this.url.enablePublicUrl, param);
|
|
7036
|
+
}
|
|
7037
|
+
/**
|
|
7038
|
+
* Загружает готовый DOCX-документ и прикрепляет его к CRM-объекту.
|
|
7039
|
+
* Дополнительно можно передать готовые PDF и изображение в Base64.
|
|
7040
|
+
*
|
|
7041
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/documents/crm-document-generator-document-upload.html
|
|
7042
|
+
*/
|
|
7043
|
+
upload(param) {
|
|
7044
|
+
return this.documentRequest(this.url.upload, param);
|
|
7045
|
+
}
|
|
7046
|
+
/**
|
|
7047
|
+
* Возвращает карточку полей созданного документа.
|
|
7048
|
+
* Переданные `values` используются только для вычисления ответа и не изменяют документ.
|
|
7049
|
+
*
|
|
7050
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/documents/crm-document-generator-document-get-fields.html
|
|
7051
|
+
*/
|
|
7052
|
+
getFields(param) {
|
|
7053
|
+
return this.Navvy.simple(this.url.getFields, param, result => result?.documentFields);
|
|
7054
|
+
}
|
|
7055
|
+
documentRequest(url, param) {
|
|
7056
|
+
return this.Navvy.simple(url, param, result => result?.document);
|
|
7057
|
+
}
|
|
7058
|
+
}
|
|
7059
|
+
|
|
7060
|
+
/** Методы нумераторов генератора документов (`crm.documentgenerator.numerator.*`). */
|
|
7061
|
+
class BXRestNavvyCrmDocumentGeneratorNumerator {
|
|
7062
|
+
constructor() {
|
|
7063
|
+
this.Navvy = new Navvy();
|
|
7064
|
+
this.url = {
|
|
7065
|
+
/** Добавляет новый нумератор. */
|
|
7066
|
+
add: [$crm, $documentgenerator, $numerator, $add],
|
|
7067
|
+
/** Обновляет существующий нумератор. */
|
|
7068
|
+
update: [$crm, $documentgenerator, $numerator, $update],
|
|
7069
|
+
/** Возвращает нумератор по идентификатору. */
|
|
7070
|
+
get: [$crm, $documentgenerator, $numerator, $get],
|
|
7071
|
+
/** Возвращает список нумераторов. */
|
|
7072
|
+
list: [$crm, $documentgenerator, $numerator, $list],
|
|
7073
|
+
/** Удаляет созданный через REST нумератор. */
|
|
7074
|
+
delete: [$crm, $documentgenerator, $numerator, $delete]
|
|
7075
|
+
};
|
|
7076
|
+
}
|
|
7077
|
+
/**
|
|
7078
|
+
* Добавляет новый нумератор.
|
|
7079
|
+
*
|
|
7080
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/numerator/crm-document-generator-numerator-add.html
|
|
7081
|
+
*/
|
|
7082
|
+
add(param) {
|
|
7083
|
+
return this.Navvy.simple(this.url.add, param, result => result?.numerator);
|
|
7084
|
+
}
|
|
7085
|
+
/**
|
|
7086
|
+
* Обновляет существующий нумератор и возвращает его актуальные данные.
|
|
7087
|
+
*
|
|
7088
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/numerator/crm-document-generator-numerator-update.html
|
|
7089
|
+
*/
|
|
7090
|
+
update(param) {
|
|
7091
|
+
return this.Navvy.simple(this.url.update, param);
|
|
7092
|
+
}
|
|
7093
|
+
/**
|
|
7094
|
+
* Возвращает информацию о нумераторе по идентификатору.
|
|
7095
|
+
*
|
|
7096
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/numerator/crm-document-generator-numerator-get.html
|
|
7097
|
+
*/
|
|
7098
|
+
get(param) {
|
|
7099
|
+
return this.Navvy.simple(this.url.get, param, result => result?.numerator);
|
|
7100
|
+
}
|
|
7101
|
+
/**
|
|
7102
|
+
* Возвращает список нумераторов с поддержкой постраничной навигации.
|
|
7103
|
+
*
|
|
7104
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/numerator/crm-document-generator-numerator-list.html
|
|
7105
|
+
*/
|
|
7106
|
+
list(param = {}) {
|
|
7107
|
+
return this.Navvy.pagNavResultKey(this.url.list, param, 'numerators', (result) => result?.numerators);
|
|
7108
|
+
}
|
|
7109
|
+
/**
|
|
7110
|
+
* Удаляет нумератор. Удалить можно только нумератор, созданный через REST.
|
|
7111
|
+
*
|
|
7112
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/numerator/crm-document-generator-numerator-delete.html
|
|
7113
|
+
*/
|
|
7114
|
+
delete(param) {
|
|
7115
|
+
return this.Navvy.simple(this.url.delete, param);
|
|
7116
|
+
}
|
|
7117
|
+
}
|
|
7118
|
+
|
|
7119
|
+
/** Методы шаблонов генератора документов (`crm.documentgenerator.template.*`). */
|
|
7120
|
+
class BXRestNavvyCrmDocumentGeneratorTemplate {
|
|
7121
|
+
constructor() {
|
|
7122
|
+
this.Navvy = new Navvy();
|
|
7123
|
+
this.url = {
|
|
7124
|
+
/** Добавляет новый шаблон документа. */
|
|
7125
|
+
add: [$crm, $documentgenerator, $template, $add],
|
|
7126
|
+
/** Обновляет существующий шаблон документа. */
|
|
7127
|
+
update: [$crm, $documentgenerator, $template, $update],
|
|
7128
|
+
/** Возвращает шаблон документа по идентификатору. */
|
|
7129
|
+
get: [$crm, $documentgenerator, $template, $get],
|
|
7130
|
+
/** Возвращает список шаблонов документов. */
|
|
7131
|
+
list: [$crm, $documentgenerator, $template, $list],
|
|
7132
|
+
/** Удаляет шаблон документа. */
|
|
7133
|
+
delete: [$crm, $documentgenerator, $template, $delete],
|
|
7134
|
+
/** Возвращает доступные поля шаблона для CRM-объекта. */
|
|
7135
|
+
getFields: [$crm, $documentgenerator, $template, $getFields]
|
|
7136
|
+
};
|
|
7137
|
+
}
|
|
7138
|
+
/**
|
|
7139
|
+
* Добавляет новый шаблон документа из файла DOCX.
|
|
7140
|
+
*
|
|
7141
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/templates/crm-document-generator-template-add.html
|
|
7142
|
+
*/
|
|
7143
|
+
add(param) {
|
|
7144
|
+
return this.Navvy.simple(this.url.add, param, result => result?.template);
|
|
7145
|
+
}
|
|
7146
|
+
/**
|
|
7147
|
+
* Обновляет существующий шаблон документа.
|
|
7148
|
+
*
|
|
7149
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/templates/crm-document-generator-template-update.html
|
|
7150
|
+
*/
|
|
7151
|
+
update(param) {
|
|
7152
|
+
return this.Navvy.simple(this.url.update, param, result => result?.template);
|
|
7153
|
+
}
|
|
7154
|
+
/**
|
|
7155
|
+
* Возвращает информацию о шаблоне документа по идентификатору.
|
|
7156
|
+
*
|
|
7157
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/templates/crm-document-generator-template-get.html
|
|
7158
|
+
*/
|
|
7159
|
+
get(param) {
|
|
7160
|
+
return this.Navvy.simple(this.url.get, param, result => result?.template);
|
|
7161
|
+
}
|
|
7162
|
+
/**
|
|
7163
|
+
* Возвращает список шаблонов с поддержкой постраничной навигации.
|
|
7164
|
+
*
|
|
7165
|
+
* В ответе Битрикс24 шаблоны индексированы идентификаторами; навигатор преобразует их в массив.
|
|
7166
|
+
*
|
|
7167
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/templates/crm-document-generator-template-list.html
|
|
7168
|
+
*/
|
|
7169
|
+
list(param = {}) {
|
|
7170
|
+
return this.Navvy.pagNavResultKeyObject(this.url.list, param, 'templates', (result) => result?.templates
|
|
7171
|
+
? Object.values(result.templates)
|
|
7172
|
+
: undefined);
|
|
7173
|
+
}
|
|
7174
|
+
/**
|
|
7175
|
+
* Удаляет шаблон документа.
|
|
7176
|
+
*
|
|
7177
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/templates/crm-document-generator-template-delete.html
|
|
7178
|
+
*/
|
|
7179
|
+
delete(param) {
|
|
7180
|
+
return this.Navvy.simple(this.url.delete, param);
|
|
7181
|
+
}
|
|
7182
|
+
/**
|
|
7183
|
+
* Возвращает карточку полей шаблона для указанного типа и элемента CRM.
|
|
7184
|
+
* Переданные `values` применяются временно и не изменяют данные CRM.
|
|
7185
|
+
*
|
|
7186
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/document-generator/templates/crm-document-generator-template-get-fields.html
|
|
7187
|
+
*/
|
|
7188
|
+
getFields(param) {
|
|
7189
|
+
return this.Navvy.simple(this.url.getFields, param, result => result?.templateFields);
|
|
7190
|
+
}
|
|
7191
|
+
}
|
|
7192
|
+
|
|
7193
|
+
/** Методы генератора документов CRM (`crm.documentgenerator.*`). */
|
|
7194
|
+
class BXRestNavvyCrmDocumentGenerator {
|
|
7195
|
+
constructor() {
|
|
7196
|
+
/** Нумераторы задают шаблон номера и параметры счётчика документов. */
|
|
7197
|
+
this.numerator = new BXRestNavvyCrmDocumentGeneratorNumerator();
|
|
7198
|
+
/** Шаблоны DOCX, привязанные к нумераторам и типам CRM-объектов. */
|
|
7199
|
+
this.template = new BXRestNavvyCrmDocumentGeneratorTemplate();
|
|
7200
|
+
/** Создание, загрузка и управление документами CRM. */
|
|
7201
|
+
this.document = new BXRestNavvyCrmDocumentGeneratorDocument();
|
|
7202
|
+
}
|
|
7203
|
+
}
|
|
7204
|
+
|
|
7205
|
+
/** Методы управления базовой валютой (`crm.currency.base.*`). */
|
|
7206
|
+
class BXRestNavvyCrmCurrencyBase {
|
|
7207
|
+
constructor() {
|
|
7208
|
+
this.Navvy = new Navvy();
|
|
7209
|
+
this.url = {
|
|
7210
|
+
get: [$crm, $currency, 'base', $get],
|
|
7211
|
+
set: [$crm, $currency, 'base', $set]
|
|
7212
|
+
};
|
|
7213
|
+
}
|
|
7214
|
+
/**
|
|
7215
|
+
* Возвращает символьный идентификатор базовой валюты.
|
|
7216
|
+
*
|
|
7217
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/currency/crm-currency-base-get.html
|
|
7218
|
+
*/
|
|
7219
|
+
get() {
|
|
7220
|
+
return this.Navvy.simple(this.url.get);
|
|
7221
|
+
}
|
|
7222
|
+
/**
|
|
7223
|
+
* Устанавливает указанную валюту в качестве базовой.
|
|
7224
|
+
* После смены базовой валюты курсы остальных валют необходимо обновить вручную.
|
|
7225
|
+
*
|
|
7226
|
+
* @param param Символьный идентификатор новой базовой валюты.
|
|
7227
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/currency/crm-currency-base-set.html
|
|
7228
|
+
*/
|
|
7229
|
+
set(param) {
|
|
7230
|
+
return this.Navvy.simple(this.url.set, param);
|
|
7231
|
+
}
|
|
7232
|
+
}
|
|
7233
|
+
|
|
7234
|
+
/** Навигатор REST-методов валют CRM (`crm.currency.*`). */
|
|
7235
|
+
class BXRestNavvyCrmCurrency {
|
|
7236
|
+
constructor() {
|
|
7237
|
+
this.Navvy = new Navvy();
|
|
7238
|
+
this.url = {
|
|
7239
|
+
add: [$crm, $currency, $add],
|
|
7240
|
+
update: [$crm, $currency, $update],
|
|
7241
|
+
get: [$crm, $currency, $get],
|
|
7242
|
+
list: [$crm, $currency, $list],
|
|
7243
|
+
delete: [$crm, $currency, $delete],
|
|
7244
|
+
fields: [$crm, $currency, 'fields']
|
|
7245
|
+
};
|
|
7246
|
+
/** Базовая валюта (`crm.currency.base.*`). */
|
|
7247
|
+
this.base = new BXRestNavvyCrmCurrencyBase();
|
|
7248
|
+
}
|
|
7249
|
+
/**
|
|
7250
|
+
* Создает новую валюту.
|
|
7251
|
+
*
|
|
7252
|
+
* @param param Поля новой валюты, включая код ISO 4217, номинал и курс.
|
|
7253
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/currency/crm-currency-add.html
|
|
7254
|
+
*/
|
|
7255
|
+
add(param) {
|
|
7256
|
+
return this.Navvy.simple(this.url.add, param);
|
|
7257
|
+
}
|
|
7258
|
+
/**
|
|
7259
|
+
* Обновляет существующую валюту.
|
|
7260
|
+
*
|
|
7261
|
+
* @param param Идентификатор валюты и изменяемые поля.
|
|
7262
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/currency/crm-currency-update.html
|
|
7263
|
+
*/
|
|
7264
|
+
update(param) {
|
|
7265
|
+
return this.Navvy.simple(this.url.update, param);
|
|
7266
|
+
}
|
|
7267
|
+
/**
|
|
7268
|
+
* Возвращает валюту по символьному идентификатору.
|
|
7269
|
+
*
|
|
7270
|
+
* @param param Символьный идентификатор валюты по ISO 4217.
|
|
7271
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/currency/crm-currency-get.html
|
|
7272
|
+
*/
|
|
7273
|
+
get(param) {
|
|
7274
|
+
return this.Navvy.simple(this.url.get, param, BXRestMapCrmCurrency.get);
|
|
7275
|
+
}
|
|
7276
|
+
/**
|
|
7277
|
+
* Возвращает список валют с локализацией для текущего языка портала.
|
|
7278
|
+
*
|
|
7279
|
+
* @param param Необязательный порядок сортировки.
|
|
7280
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/currency/crm-currency-list.html
|
|
7281
|
+
*/
|
|
7282
|
+
list(param = {}) {
|
|
7283
|
+
return this.Navvy.simple(this.url.list, param, BXRestMapCrmCurrency.list);
|
|
7284
|
+
}
|
|
7285
|
+
/**
|
|
7286
|
+
* Удаляет валюту.
|
|
7287
|
+
*
|
|
7288
|
+
* @param param Символьный идентификатор удаляемой валюты.
|
|
7289
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/currency/crm-currency-delete.html
|
|
7290
|
+
*/
|
|
7291
|
+
delete(param) {
|
|
7292
|
+
return this.Navvy.simple(this.url.delete, param);
|
|
7293
|
+
}
|
|
7294
|
+
/**
|
|
7295
|
+
* Возвращает описание полей валюты.
|
|
7296
|
+
*
|
|
7297
|
+
* @see https://apidocs.bitrix24.ru/api-reference/crm/currency/crm-currency-fields.html
|
|
7298
|
+
*/
|
|
7299
|
+
fields() {
|
|
7300
|
+
return this.Navvy.simple(this.url.fields);
|
|
7301
|
+
}
|
|
7302
|
+
}
|
|
7303
|
+
|
|
6858
7304
|
class BXRestNavvyCrm {
|
|
6859
7305
|
constructor() {
|
|
7306
|
+
/** Валюты CRM (`crm.currency.*`). */
|
|
7307
|
+
this.currency = new BXRestNavvyCrmCurrency();
|
|
7308
|
+
/** Генератор документов CRM (`crm.documentgenerator.*`). */
|
|
7309
|
+
this.documentGenerator = new BXRestNavvyCrmDocumentGenerator();
|
|
6860
7310
|
/** Цифровые рабочие места (`crm.automatedsolution.*`). */
|
|
6861
7311
|
this.automatedSolution = new BXRestNavvyCrmAutomatedSolution();
|
|
6862
7312
|
/** Автоматизация CRM (`crm.automation.*`). */
|