bx-rest 0.9.6 → 0.9.7

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.
@@ -1042,6 +1042,8 @@ const $lead = 'lead';
1042
1042
  const $deal = 'deal';
1043
1043
  const $contact = 'contact';
1044
1044
  const $company = 'company';
1045
+ const $quote = 'quote';
1046
+ const $productrows = 'productrows';
1045
1047
 
1046
1048
  var partNameMethods$1 = /*#__PURE__*/Object.freeze({
1047
1049
  __proto__: null,
@@ -1121,8 +1123,10 @@ var partNameMethods$1 = /*#__PURE__*/Object.freeze({
1121
1123
  $pause: $pause,
1122
1124
  $pin: $pin,
1123
1125
  $planner: $planner,
1126
+ $productrows: $productrows,
1124
1127
  $public: $public,
1125
1128
  $pull: $pull,
1129
+ $quote: $quote,
1126
1130
  $read: $read,
1127
1131
  $recent: $recent,
1128
1132
  $rename: $rename,
@@ -3167,6 +3171,15 @@ class BXRestNavvyTasksTask {
3167
3171
  return this.Navvy.simple(this.url.add, param, BXRestMapTasksTask.add);
3168
3172
  }
3169
3173
  // TODO: переписать нормально
3174
+ approve(param) {
3175
+ return this.Navvy.simple(this.url.approve, param);
3176
+ }
3177
+ complete(param) {
3178
+ return this.Navvy.simple(this.url.complete, param);
3179
+ }
3180
+ defer(param) {
3181
+ return this.Navvy.simple(this.url.defer, param);
3182
+ }
3170
3183
  update(task, updateFields) {
3171
3184
  let sendTask = {};
3172
3185
  let taskTS = task;
@@ -5961,6 +5974,76 @@ class BXRestMapCrmCompany {
5961
5974
  }
5962
5975
  }
5963
5976
 
5977
+ function optionalNumber(value) {
5978
+ return value === null || value === undefined || value === '' ? undefined : toNum(value);
5979
+ }
5980
+ function optionalDate(value) {
5981
+ return value === null || value === undefined || value === '' ? undefined : toDate(value);
5982
+ }
5983
+ class BXRestMapCrmQuote {
5984
+ static list(value) {
5985
+ return value?.map(item => BXRestMapCrmQuote.get(item));
5986
+ }
5987
+ static get(value) {
5988
+ if (!value)
5989
+ return undefined;
5990
+ return Object.assign(clone(value), {
5991
+ ID: toNum(value.ID),
5992
+ OPPORTUNITY: optionalNumber(value.OPPORTUNITY),
5993
+ TAX_VALUE: optionalNumber(value.TAX_VALUE),
5994
+ COMPANY_ID: optionalNumber(value.COMPANY_ID),
5995
+ CONTACT_ID: optionalNumber(value.CONTACT_ID),
5996
+ MYCOMPANY_ID: optionalNumber(value.MYCOMPANY_ID),
5997
+ ASSIGNED_BY_ID: optionalNumber(value.ASSIGNED_BY_ID),
5998
+ CREATED_BY_ID: optionalNumber(value.CREATED_BY_ID),
5999
+ MODIFY_BY_ID: optionalNumber(value.MODIFY_BY_ID),
6000
+ LEAD_ID: optionalNumber(value.LEAD_ID),
6001
+ DEAL_ID: optionalNumber(value.DEAL_ID),
6002
+ PERSON_TYPE_ID: optionalNumber(value.PERSON_TYPE_ID),
6003
+ LOCATION_ID: optionalNumber(value.LOCATION_ID),
6004
+ LAST_ACTIVITY_BY: optionalNumber(value.LAST_ACTIVITY_BY),
6005
+ BEGINDATE: optionalDate(value.BEGINDATE),
6006
+ CLOSEDATE: optionalDate(value.CLOSEDATE),
6007
+ ACTUAL_DATE: optionalDate(value.ACTUAL_DATE),
6008
+ DATE_CREATE: optionalDate(value.DATE_CREATE),
6009
+ DATE_MODIFY: optionalDate(value.DATE_MODIFY),
6010
+ LAST_COMMUNICATION_TIME: optionalDate(value.LAST_COMMUNICATION_TIME),
6011
+ LAST_ACTIVITY_TIME: optionalDate(value.LAST_ACTIVITY_TIME),
6012
+ OPENED: value.OPENED ? toBool(value.OPENED) : undefined,
6013
+ CLOSED: value.CLOSED ? toBool(value.CLOSED) : undefined
6014
+ });
6015
+ }
6016
+ }
6017
+ class BXRestMapCrmQuoteProductRow {
6018
+ static list(value) {
6019
+ return value?.map(item => Object.assign(clone(item), {
6020
+ ID: toNum(item.ID),
6021
+ OWNER_ID: toNum(item.OWNER_ID),
6022
+ CUSTOMIZED: item.CUSTOMIZED ? toBool(item.CUSTOMIZED) : undefined,
6023
+ TAX_INCLUDED: item.TAX_INCLUDED ? toBool(item.TAX_INCLUDED) : undefined,
6024
+ DATE_RESERVE_END: optionalDate(item.DATE_RESERVE_END)
6025
+ }));
6026
+ }
6027
+ }
6028
+ class BXRestMapCrmQuoteUserField {
6029
+ static list(value) {
6030
+ return value?.map(item => BXRestMapCrmQuoteUserField.get(item));
6031
+ }
6032
+ static get(value) {
6033
+ if (!value)
6034
+ return undefined;
6035
+ return Object.assign(clone(value), {
6036
+ ID: toNum(value.ID),
6037
+ SORT: toNum(value.SORT),
6038
+ MULTIPLE: toBool(value.MULTIPLE),
6039
+ MANDATORY: toBool(value.MANDATORY),
6040
+ SHOW_IN_LIST: toBool(value.SHOW_IN_LIST),
6041
+ EDIT_IN_LIST: toBool(value.EDIT_IN_LIST),
6042
+ IS_SEARCHABLE: toBool(value.IS_SEARCHABLE)
6043
+ });
6044
+ }
6045
+ }
6046
+
5964
6047
  class BXRestNavvyCrmLead {
5965
6048
  constructor() {
5966
6049
  this.url = {
@@ -6253,12 +6336,174 @@ class BXRestNavvyCrmCompany {
6253
6336
  }
6254
6337
  }
6255
6338
 
6339
+ /** Методы товарных позиций коммерческого предложения. */
6340
+ class BXRestNavvyCrmQuoteProductRows {
6341
+ constructor() {
6342
+ this.Navvy = new Navvy();
6343
+ this.url = {
6344
+ get: [$crm, $quote, $productrows, $get],
6345
+ set: [$crm, $quote, $productrows, $set]
6346
+ };
6347
+ }
6348
+ /**
6349
+ * Возвращает товарные позиции коммерческого предложения.
6350
+ *
6351
+ * @deprecated Развитие метода остановлено. Используйте `crm.item.productrow.*`.
6352
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/quote/crm-quote-product-rows-get.html
6353
+ */
6354
+ get(param) {
6355
+ return this.Navvy.simple(this.url.get, param, BXRestMapCrmQuoteProductRow.list);
6356
+ }
6357
+ /**
6358
+ * Полностью заменяет товарные позиции коммерческого предложения.
6359
+ * Передайте пустой массив `rows`, чтобы удалить все позиции.
6360
+ *
6361
+ * @deprecated Развитие метода остановлено. Используйте `crm.item.productrow.*`.
6362
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/quote/crm-quote-product-rows-set.html
6363
+ */
6364
+ set(param) {
6365
+ return this.Navvy.simple(this.url.set, param);
6366
+ }
6367
+ }
6368
+
6369
+ /** Методы пользовательских полей коммерческих предложений. */
6370
+ class BXRestNavvyCrmQuoteUserField {
6371
+ constructor() {
6372
+ this.Navvy = new Navvy();
6373
+ this.url = {
6374
+ add: [$crm, $quote, $userfield, $add],
6375
+ update: [$crm, $quote, $userfield, $update],
6376
+ get: [$crm, $quote, $userfield, $get],
6377
+ list: [$crm, $quote, $userfield, $list],
6378
+ delete: [$crm, $quote, $userfield, $delete]
6379
+ };
6380
+ }
6381
+ /**
6382
+ * Создает пользовательское поле для предложений.
6383
+ * Метод доступен администратору CRM.
6384
+ *
6385
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/quote/user-field/crm-quote-user-field-add.html
6386
+ */
6387
+ add(param) {
6388
+ return this.Navvy.simple(this.url.add, param);
6389
+ }
6390
+ /**
6391
+ * Обновляет существующее пользовательское поле предложений.
6392
+ * Метод доступен администратору CRM.
6393
+ *
6394
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/quote/user-field/crm-quote-user-field-update.html
6395
+ */
6396
+ update(param) {
6397
+ return this.Navvy.simple(this.url.update, param);
6398
+ }
6399
+ /**
6400
+ * Возвращает пользовательское поле предложения по идентификатору.
6401
+ *
6402
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/quote/user-field/crm-quote-user-field-get.html
6403
+ */
6404
+ get(param) {
6405
+ return this.Navvy.simple(this.url.get, param, BXRestMapCrmQuoteUserField.get);
6406
+ }
6407
+ /**
6408
+ * Возвращает список пользовательских полей предложений по фильтру.
6409
+ *
6410
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/quote/user-field/crm-quote-user-field-list.html
6411
+ */
6412
+ list(param = {}) {
6413
+ return this.Navvy.simple(this.url.list, param, BXRestMapCrmQuoteUserField.list);
6414
+ }
6415
+ /**
6416
+ * Удаляет пользовательское поле предложений.
6417
+ * Метод доступен администратору CRM.
6418
+ *
6419
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/quote/user-field/crm-quote-user-field-delete.html
6420
+ */
6421
+ delete(param) {
6422
+ return this.Navvy.simple(this.url.delete, param);
6423
+ }
6424
+ }
6425
+
6426
+ /** Навигатор REST-методов коммерческих предложений Bitrix24. */
6427
+ class BXRestNavvyCrmQuote {
6428
+ constructor() {
6429
+ this.Navvy = new Navvy();
6430
+ this.url = {
6431
+ add: [$crm, $quote, $add],
6432
+ update: [$crm, $quote, $update],
6433
+ get: [$crm, $quote, $get],
6434
+ list: [$crm, $quote, $list],
6435
+ delete: [$crm, $quote, $delete],
6436
+ fields: [$crm, $quote, 'fields']
6437
+ };
6438
+ /** Товарные позиции предложения (`crm.quote.productrows.*`). */
6439
+ this.productrows = new BXRestNavvyCrmQuoteProductRows();
6440
+ /** Пользовательские поля предложений (`crm.quote.userfield.*`). */
6441
+ this.userfield = new BXRestNavvyCrmQuoteUserField();
6442
+ }
6443
+ /**
6444
+ * Создает коммерческое предложение.
6445
+ *
6446
+ * @deprecated Развитие метода остановлено. Используйте `crm.item.add`.
6447
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/quote/crm-quote-add.html
6448
+ */
6449
+ add(param) {
6450
+ return this.Navvy.simple(this.url.add, param);
6451
+ }
6452
+ /**
6453
+ * Изменяет существующее коммерческое предложение.
6454
+ *
6455
+ * @deprecated Развитие метода остановлено. Используйте `crm.item.update`.
6456
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/quote/crm-quote-update.html
6457
+ */
6458
+ update(param) {
6459
+ return this.Navvy.simple(this.url.update, param);
6460
+ }
6461
+ /**
6462
+ * Возвращает коммерческое предложение по идентификатору.
6463
+ *
6464
+ * @deprecated Развитие метода остановлено. Используйте `crm.item.get`.
6465
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/quote/crm-quote-get.html
6466
+ */
6467
+ get(param) {
6468
+ return this.Navvy.simple(this.url.get, param, BXRestMapCrmQuote.get);
6469
+ }
6470
+ /**
6471
+ * Возвращает список коммерческих предложений по фильтру.
6472
+ *
6473
+ * @deprecated Развитие метода остановлено. Используйте `crm.item.list`.
6474
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/quote/crm-quote-list.html
6475
+ */
6476
+ list(param = {}) {
6477
+ return this.Navvy.pagNav(this.url.list, param, BXRestMapCrmQuote.list);
6478
+ }
6479
+ /**
6480
+ * Удаляет коммерческое предложение.
6481
+ *
6482
+ * @deprecated Развитие метода остановлено. Используйте `crm.item.delete`.
6483
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/quote/crm-quote-delete.html
6484
+ */
6485
+ delete(param) {
6486
+ return this.Navvy.simple(this.url.delete, param);
6487
+ }
6488
+ /**
6489
+ * Возвращает описание полей коммерческого предложения.
6490
+ *
6491
+ * @deprecated Развитие метода остановлено. Используйте `crm.item.fields`.
6492
+ * @see https://apidocs.bitrix24.ru/api-reference/crm/quote/crm-quote-fields.html
6493
+ */
6494
+ fields() {
6495
+ return this.Navvy.simple(this.url.fields);
6496
+ }
6497
+ }
6498
+
6256
6499
  class BXRestNavvyCrm {
6257
6500
  constructor() {
6258
6501
  this.lead = new BXRestNavvyCrmLead();
6259
6502
  this.deal = new BXRestNavvyCrmDeal();
6260
6503
  this.contact = new BXRestNavvyCrmContact();
6261
6504
  this.company = new BXRestNavvyCrmCompany();
6505
+ /** Коммерческие предложения и связанные с ними товарные и пользовательские поля. */
6506
+ this.quote = new BXRestNavvyCrmQuote();
6262
6507
  }
6263
6508
  }
6264
6509