@snabcentr/client-core 3.21.0-profstroy → 3.22.0

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 (71) hide show
  1. package/cart/classes/sc-cart.d.ts +0 -4
  2. package/cart/constants/sc-empty-cart.d.ts +0 -1
  3. package/cart/internal/sc-i-cart.d.ts +0 -4
  4. package/cart/services/sc-cart.service.d.ts +0 -7
  5. package/catalog/dto/sc-product.d.ts +0 -7
  6. package/config/sc-i-update-interval.d.ts +0 -12
  7. package/esm2022/cart/classes/sc-cart.mjs +2 -3
  8. package/esm2022/cart/constants/sc-empty-cart.mjs +2 -2
  9. package/esm2022/cart/internal/sc-i-cart.mjs +1 -1
  10. package/esm2022/cart/services/sc-cart.service.mjs +2 -16
  11. package/esm2022/catalog/classes/sc-catalog-item.mjs +2 -2
  12. package/esm2022/catalog/dto/sc-product.mjs +1 -13
  13. package/esm2022/config/sc-i-update-interval.mjs +1 -1
  14. package/esm2022/helpers/index.mjs +1 -2
  15. package/esm2022/helpers/sc-units-helper.mjs +2 -3
  16. package/esm2022/order/classes/index.mjs +1 -3
  17. package/esm2022/order/classes/sc-order-draft-short.mjs +2 -7
  18. package/esm2022/order/classes/sc-order-draft.mjs +3 -15
  19. package/esm2022/order/classes/sc-order-item.mjs +1 -24
  20. package/esm2022/order/classes/sc-order-short.mjs +1 -3
  21. package/esm2022/order/enums/index.mjs +1 -2
  22. package/esm2022/order/internal/index.mjs +1 -6
  23. package/esm2022/order/internal/sc-i-order-draft-short.mjs +1 -1
  24. package/esm2022/order/internal/sc-i-order-draft.mjs +1 -1
  25. package/esm2022/order/internal/sc-i-order-item.mjs +1 -1
  26. package/esm2022/order/internal/sc-i-order-short.mjs +1 -1
  27. package/esm2022/order/services/sc-order-drafts.service.mjs +11 -122
  28. package/esm2022/order/services/sc-orders.service.mjs +5 -6
  29. package/esm2022/ui/services/sc-ui.service.mjs +13 -39
  30. package/esm2022/user/dto/sc-user-metadata.mjs +5 -6
  31. package/esm2022/user-metrika/enums/sc-user-metrika-goals-enum.mjs +1 -19
  32. package/fesm2022/snabcentr-client-core.mjs +74 -470
  33. package/fesm2022/snabcentr-client-core.mjs.map +1 -1
  34. package/helpers/index.d.ts +0 -1
  35. package/helpers/sc-units-helper.d.ts +1 -1
  36. package/order/classes/index.d.ts +0 -2
  37. package/order/classes/sc-order-draft-short.d.ts +2 -16
  38. package/order/classes/sc-order-draft.d.ts +2 -16
  39. package/order/classes/sc-order-item.d.ts +0 -16
  40. package/order/classes/sc-order-short.d.ts +0 -4
  41. package/order/enums/index.d.ts +0 -1
  42. package/order/internal/index.d.ts +0 -5
  43. package/order/internal/sc-i-order-draft-short.d.ts +0 -15
  44. package/order/internal/sc-i-order-draft.d.ts +1 -2
  45. package/order/internal/sc-i-order-item.d.ts +0 -4
  46. package/order/internal/sc-i-order-short.d.ts +0 -4
  47. package/order/services/sc-order-drafts.service.d.ts +1 -63
  48. package/order/services/sc-orders.service.d.ts +2 -3
  49. package/package.json +1 -1
  50. package/release_notes.tmp +4 -2
  51. package/ui/services/sc-ui.service.d.ts +6 -15
  52. package/user/dto/sc-user-metadata.d.ts +2 -2
  53. package/user-metrika/enums/sc-user-metrika-goals-enum.d.ts +0 -18
  54. package/esm2022/helpers/sc-date-helper.mjs +0 -23
  55. package/esm2022/order/classes/sc-order-draft-actualization.mjs +0 -46
  56. package/esm2022/order/classes/sc-profstroy-order-item.mjs +0 -88
  57. package/esm2022/order/enums/sc-order-draft-actualization-status.mjs +0 -24
  58. package/esm2022/order/internal/sc-i-new-profstroy-order-draft-request.mjs +0 -2
  59. package/esm2022/order/internal/sc-i-order-draft-actualization.mjs +0 -2
  60. package/esm2022/order/internal/sc-i-order-draft-file.mjs +0 -2
  61. package/esm2022/order/internal/sc-i-profstroy-order-item.mjs +0 -2
  62. package/esm2022/order/internal/sc-i-profstroy-product-stub.mjs +0 -2
  63. package/helpers/sc-date-helper.d.ts +0 -12
  64. package/order/classes/sc-order-draft-actualization.d.ts +0 -47
  65. package/order/classes/sc-profstroy-order-item.d.ts +0 -73
  66. package/order/enums/sc-order-draft-actualization-status.d.ts +0 -21
  67. package/order/internal/sc-i-new-profstroy-order-draft-request.d.ts +0 -14
  68. package/order/internal/sc-i-order-draft-actualization.d.ts +0 -22
  69. package/order/internal/sc-i-order-draft-file.d.ts +0 -13
  70. package/order/internal/sc-i-profstroy-order-item.d.ts +0 -28
  71. package/order/internal/sc-i-profstroy-product-stub.d.ts +0 -13
@@ -1,4 +1,3 @@
1
1
  export * from './sc-image-helper';
2
2
  export * from './sc-units-helper';
3
3
  export * from './sc-get-current-route';
4
- export * from './sc-date-helper';
@@ -1,4 +1,4 @@
1
- import type { ScProduct } from '../catalog/dto/sc-product';
1
+ import { ScProduct } from '../catalog/dto/sc-product';
2
2
  /**
3
3
  * Класс-помощник для работы со значениями единиц измерения товара.
4
4
  */
@@ -1,7 +1,6 @@
1
1
  export * from './sc-delivery-cost';
2
2
  export * from './sc-order-base';
3
3
  export * from './sc-order-draft';
4
- export * from './sc-order-draft-actualization';
5
4
  export * from './sc-order-draft-short';
6
5
  export * from './sc-order-delivery';
7
6
  export * from './sc-order-history-user';
@@ -9,5 +8,4 @@ export * from './sc-i-order-history';
9
8
  export * from './sc-order-item';
10
9
  export * from './sc-order-payment';
11
10
  export * from './sc-order-short';
12
- export * from './sc-profstroy-order-item';
13
11
  export * from './sc-order';
@@ -1,7 +1,6 @@
1
1
  import { ScOrderDraftType } from '../enums/sc-order-draft-type';
2
- import { ScIOrderDraftFile, ScIOrderDraftShort } from '../internal';
2
+ import { ScIOrderDraftShort } from '../internal';
3
3
  import { ScOrderBase } from './sc-order-base';
4
- import { ScOrderDraftActualization } from './sc-order-draft-actualization';
5
4
  /**
6
5
  * Данные о кратком коммерческом предложении/черновике заказа.
7
6
  */
@@ -14,23 +13,10 @@ export declare class ScOrderDraftShort extends ScOrderBase implements ScIOrderDr
14
13
  * @inheritDoc
15
14
  */
16
15
  type: ScOrderDraftType;
17
- /**
18
- * Признак черновика, созданного из файла программы «Профстрой».
19
- */
20
- isProfstroy: boolean;
21
- /**
22
- * Данные об актуализации черновика Профстрой.
23
- */
24
- actualization?: ScOrderDraftActualization;
25
- /**
26
- * Данные об исходном файле черновика Профстрой.
27
- */
28
- file?: ScIOrderDraftFile;
29
16
  /**
30
17
  * Инициализирует экземпляр класса {@link ScOrderDraftShort}.
31
18
  *
32
19
  * @param data Данные для первоначальной инициализации.
33
- * @param apiDateFormat Формат дат в данных API.
34
20
  */
35
- constructor(data: ScIOrderDraftShort, apiDateFormat: string);
21
+ constructor(data: ScIOrderDraftShort);
36
22
  }
@@ -1,6 +1,5 @@
1
1
  import { ScOrderDraftType } from '../enums/sc-order-draft-type';
2
- import { ScIOrderDraft, ScIOrderDraftFile } from '../internal';
3
- import { ScOrderDraftActualization } from './sc-order-draft-actualization';
2
+ import { ScIOrderDraft } from '../internal';
4
3
  import { ScOrderDraftShort } from './sc-order-draft-short';
5
4
  import { ScOrderItem } from './sc-order-item';
6
5
  /**
@@ -31,18 +30,6 @@ export declare class ScOrderDraft implements ScIOrderDraft {
31
30
  * @inheritDoc
32
31
  */
33
32
  products: ScOrderItem[];
34
- /**
35
- * Признак черновика, созданного из файла программы «Профстрой».
36
- */
37
- isProfstroy: boolean;
38
- /**
39
- * Данные об актуализации черновика Профстрой.
40
- */
41
- actualization?: ScOrderDraftActualization;
42
- /**
43
- * Данные об исходном файле черновика Профстрой.
44
- */
45
- file?: ScIOrderDraftFile;
46
33
  /**
47
34
  * Дата последнего обновления данных.
48
35
  */
@@ -51,9 +38,8 @@ export declare class ScOrderDraft implements ScIOrderDraft {
51
38
  * Инициализирует экземпляр класса {@link ScOrderDraft}.
52
39
  *
53
40
  * @param data Данные для первоначальной инициализации.
54
- * @param apiDateFormat Формат дат в данных API.
55
41
  */
56
- constructor(data: ScIOrderDraft, apiDateFormat: string);
42
+ constructor(data: ScIOrderDraft);
57
43
  /**
58
44
  * @inheritDoc
59
45
  */
@@ -53,10 +53,6 @@ export declare class ScOrderItem {
53
53
  * @inheritDoc
54
54
  */
55
55
  logicGroupId?: string;
56
- /**
57
- * @inheritDoc
58
- */
59
- salesDirection?: number;
60
56
  /**
61
57
  * @inheritDoc
62
58
  */
@@ -75,18 +71,6 @@ export declare class ScOrderItem {
75
71
  * @param data Данные для первоначальной инициализации.
76
72
  */
77
73
  constructor(data: ScIOrderItem);
78
- /**
79
- * Признак, что позиция может попасть в заказ: товар есть в каталоге и предоставляется.
80
- */
81
- get isOrderable(): boolean;
82
- /**
83
- * Шаг изменения количества позиции.
84
- */
85
- get quantityStep(): number;
86
- /**
87
- * Возвращает причину, по которой позиция не может попасть в заказ, или пустую строку.
88
- */
89
- getUnavailableReason(): string;
90
74
  /**
91
75
  * @inheritDoc
92
76
  */
@@ -35,10 +35,6 @@ export declare class ScOrderShort extends ScOrderBase implements ScIOrderShort {
35
35
  * @inheritDoc
36
36
  */
37
37
  barcode?: number;
38
- /**
39
- * Признак заказа, созданного из черновика Профстрой.
40
- */
41
- isProfstroy: boolean;
42
38
  /**
43
39
  * Инициализирует экземпляр класса {@link ScOrderShort}.
44
40
  *
@@ -1,4 +1,3 @@
1
1
  export * from './sc-delivery-type';
2
2
  export * from './sc-order-draft-type';
3
3
  export * from './sc-payment-type';
4
- export * from './sc-order-draft-actualization-status';
@@ -12,8 +12,3 @@ export * from './sc-i-order-item';
12
12
  export * from './sc-i-order-loader';
13
13
  export * from './sc-i-order-short';
14
14
  export * from './sc-i-update-order-order-request';
15
- export * from './sc-i-order-draft-actualization';
16
- export * from './sc-i-order-draft-file';
17
- export * from './sc-i-profstroy-order-item';
18
- export * from './sc-i-profstroy-product-stub';
19
- export * from './sc-i-new-profstroy-order-draft-request';
@@ -1,8 +1,5 @@
1
- import { ScOrderDraftActualization } from '../classes/sc-order-draft-actualization';
2
1
  import { ScOrderDraftType } from '../enums';
3
2
  import { ScIOrderBase } from './sc-i-order-base';
4
- import { ScIOrderDraftActualization } from './sc-i-order-draft-actualization';
5
- import { ScIOrderDraftFile } from './sc-i-order-draft-file';
6
3
  /**
7
4
  * Данные о кратком коммерческом предложении/черновике заказа.
8
5
  */
@@ -15,16 +12,4 @@ export interface ScIOrderDraftShort extends ScIOrderBase {
15
12
  * Тип коммерческого предложения/черновика.
16
13
  */
17
14
  type: ScOrderDraftType;
18
- /**
19
- * Признак черновика, созданного из файла программы «Профстрой».
20
- */
21
- isProfstroy?: boolean;
22
- /**
23
- * Данные об актуализации черновика Профстрой.
24
- */
25
- actualization?: ScIOrderDraftActualization | ScOrderDraftActualization | null;
26
- /**
27
- * Данные об исходном файле черновика Профстрой.
28
- */
29
- file?: ScIOrderDraftFile | null;
30
15
  }
@@ -2,7 +2,6 @@ import { ScOrderDraft } from '../classes/sc-order-draft';
2
2
  import { ScOrderDraftShort } from '../classes/sc-order-draft-short';
3
3
  import { ScIOrderDraftShort } from './sc-i-order-draft-short';
4
4
  import { ScIOrderItem } from './sc-i-order-item';
5
- import { ScIProfstroyOrderItem } from './sc-i-profstroy-order-item';
6
5
  /**
7
6
  * Данные о коммерческом предложении/черновике заказа.
8
7
  */
@@ -14,7 +13,7 @@ export interface ScIOrderDraft extends ScIOrderDraftShort {
14
13
  /**
15
14
  * Список продуктов коммерческого предложения/черновика.
16
15
  */
17
- products: Array<ScIOrderItem | ScIProfstroyOrderItem>;
16
+ products: ScIOrderItem[];
18
17
  /**
19
18
  * Возвращает сумму в виде строки. Если стоимость отсутствует, то вернёт '-'.
20
19
  */
@@ -52,10 +52,6 @@ export interface ScIOrderItem {
52
52
  * Идентификатор логической группы товаров/услуг.
53
53
  */
54
54
  logicGroupId?: string;
55
- /**
56
- * Направление продаж.
57
- */
58
- salesDirection?: number;
59
55
  /**
60
56
  * URL изображения со спецификацией.
61
57
  */
@@ -39,10 +39,6 @@ export interface ScIOrderShort extends ScIOrderBase {
39
39
  * Штрих-код заказа.
40
40
  */
41
41
  barcode?: number;
42
- /**
43
- * Признак заказа, созданного из черновика Профстрой.
44
- */
45
- isProfstroy?: boolean;
46
42
  /**
47
43
  * Обновляет данные заказа.
48
44
  *
@@ -3,7 +3,7 @@ import { Observable } from 'rxjs';
3
3
  import { ScIPaginate } from '../../pagination';
4
4
  import { ScOrderDraft, ScOrderDraftShort, ScOrderShort } from '../classes';
5
5
  import { ScOrderItem } from '../classes/sc-order-item';
6
- import { ScINewProfstroyOrderDraftRequest, ScIOrderEditorLoader } from '../internal';
6
+ import { ScIOrderEditorLoader } from '../internal';
7
7
  import { ScINewOrder } from '../internal/sc-i-new-order';
8
8
  import { ScINewOrderDraftRequest } from '../internal/sc-i-new-order-draft-request';
9
9
  import { ScINewOrderItemBase } from '../internal/sc-i-new-order-item-base';
@@ -38,18 +38,6 @@ export declare class ScOrderDraftsService implements ScIOrderEditorLoader<ScOrde
38
38
  * Сервис для сбора метрик о действиях пользователей.
39
39
  */
40
40
  private readonly userMetrikaService;
41
- /**
42
- * Форматы дат.
43
- */
44
- private readonly dateFormats;
45
- /**
46
- * Сервис конвертации данных.
47
- */
48
- private readonly convertersService;
49
- /**
50
- * Объект документа.
51
- */
52
- private readonly document;
53
41
  /**
54
42
  * Коллекция пар ключ-значение для кэшированных коммерческих предложений/черновиков пользователя.
55
43
  */
@@ -64,43 +52,6 @@ export declare class ScOrderDraftsService implements ScIOrderEditorLoader<ScOrde
64
52
  * @param params Параметры запроса получения списка.
65
53
  */
66
54
  getList$(params: HttpParams): Observable<ScIPaginate<ScOrderDraftShort>>;
67
- /**
68
- * Возвращает краткие данные черновиков с указанными номерами. Используется для лёгкого опроса состояния актуализации без загрузки позиций.
69
- *
70
- * @param ids Номера черновиков.
71
- */
72
- getShortList$(ids: number[]): Observable<ScOrderDraftShort[]>;
73
- /**
74
- * Периодически запрашивает краткие данные черновиков с указанными номерами, пока есть подписка.
75
- * Пока вкладка браузера скрыта, запросы не выполняются; новый запрос не начинается до завершения предыдущего.
76
- *
77
- * @param ids Номера черновиков.
78
- */
79
- watchShortList$(ids: number[]): Observable<ScOrderDraftShort[]>;
80
- /**
81
- * Периодически перезапрашивает страницу списка черновиков в фоне, пока есть подписка. Условия запросов как у {@link watchShortList$}.
82
- *
83
- * @param params Параметры запроса получения списка.
84
- */
85
- watchList$(params: HttpParams): Observable<ScOrderDraftShort[]>;
86
- /**
87
- * Создаёт черновик заказа из файла программы «Профстрой» и запускает его обработку.
88
- *
89
- * @param data Данные для создания.
90
- */
91
- createProfstroy$(data: ScINewProfstroyOrderDraftRequest): Observable<ScOrderDraft>;
92
- /**
93
- * Запускает актуализацию черновика Профстрой (повторный обмен с 1С по текущему составу).
94
- *
95
- * @param offerId Идентификатор черновика.
96
- */
97
- actualizeProfstroy$(offerId: number): Observable<ScOrderDraft>;
98
- /**
99
- * Запускает пересборку черновика Профстрой из ранее загруженного файла.
100
- *
101
- * @param offerId Идентификатор черновика.
102
- */
103
- reloadProfstroy$(offerId: number): Observable<ScOrderDraft>;
104
55
  /**
105
56
  * Создаёт новое коммерческое предложение/черновик заказа.
106
57
  *
@@ -114,12 +65,6 @@ export declare class ScOrderDraftsService implements ScIOrderEditorLoader<ScOrde
114
65
  * @param cacheable Признак возможности получения из кэшированных данных.
115
66
  */
116
67
  get$(draftId: number, cacheable?: boolean): Observable<ScOrderDraft | ScOrderLoading>;
117
- /**
118
- * Запрашивает полную информацию о черновике в обход кэша и обновляет кэш полученными данными.
119
- *
120
- * @param draftId Идентификатор записи.
121
- */
122
- fetch$(draftId: number): Observable<ScOrderDraft>;
123
68
  /**
124
69
  * Возвращает список элементов коммерческого предложения/черновика.
125
70
  *
@@ -146,13 +91,6 @@ export declare class ScOrderDraftsService implements ScIOrderEditorLoader<ScOrde
146
91
  * @param data Данные заказа.
147
92
  */
148
93
  createOrder$(offerId: number, data: ScINewOrder): Observable<ScOrderShort[]>;
149
- /**
150
- * Выполняет запрос с указанным интервалом, пока вкладка браузера видна. Новый запрос не начинается до завершения предыдущего, ошибки пропускаются.
151
- *
152
- * @param period Интервал запросов (ms).
153
- * @param request Функция, возвращающая запрос.
154
- */
155
- private poll$;
156
94
  /**
157
95
  * Убирает заказанные позиции из кэша черновика локально (сервер сразу после заказа ещё может вернуть их в списке).
158
96
  *
@@ -56,12 +56,11 @@ export declare class ScOrdersService implements ScIOrderLoader<ScOrderItem, ScOr
56
56
  */
57
57
  constructor();
58
58
  /**
59
- * Создаёт запрос нового заказа по указанному направлению продаж.
59
+ * Создаёт заказы из выбранных позиций корзины.
60
60
  *
61
- * @param directionId Идентификатор направления продаж.
62
61
  * @param newOrder Данные нового заказа.
63
62
  */
64
- createOrder$(directionId: number, newOrder: ScINewOrder): Observable<ScOrderShort[]>;
63
+ createOrder$(newOrder: ScINewOrder): Observable<ScOrderShort[]>;
65
64
  /**
66
65
  * Возвращает список доступных дат доставки для указанного адреса.
67
66
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snabcentr/client-core",
3
- "version": "3.21.0-profstroy",
3
+ "version": "3.22.0",
4
4
  "author": "Snabcentr Ltd.",
5
5
  "repository": "https://gitlab.snabcentr.met/web/angular/snabcentr-client-core-lib",
6
6
  "license": "Commercial",
package/release_notes.tmp CHANGED
@@ -1,4 +1,6 @@
1
- ## 3.21.0-profstroy (2026-09-23)
1
+ ## 3.22.0 (2026-09-28)
2
2
 
3
- No changes.
3
+ ### removed (1 change)
4
+
5
+ - [#13702: Удалено направление продаж из оформления заказа](web_soft/libs/angular/snabcentr-client-core-lib@59cf1bd0f2111b764ac833c29c9c4b8711c8e6da) ([merge request](web_soft/libs/angular/snabcentr-client-core-lib!348))
4
6
 
@@ -69,28 +69,19 @@ export declare class ScUIService {
69
69
  */
70
70
  setPaginatePageSize(paginatePageSize: number): void;
71
71
  /**
72
- * Возвращает {@link Observable} метаданных неоформленного заказа по направлению продаж.
73
- *
74
- * @param directionsId Идентификатор направления продаж.
72
+ * Возвращает {@link Observable} метаданных неоформленного заказа.
75
73
  */
76
- getNewOrderMetadata$(directionsId: number): Observable<ScINewOrder | undefined>;
74
+ getNewOrderMetadata$(): Observable<ScINewOrder | undefined>;
77
75
  /**
78
- * Устанавливает метаданные неоформленного заказа по направлению продаж.
76
+ * Устанавливает метаданные неоформленного заказа.
79
77
  *
80
- * @param directionsId Идентификатор направления продаж.
81
78
  * @param newOrderMetadata Данные нового неоформленного заказа.
82
79
  */
83
- setNewOrderMetadata(directionsId: number, newOrderMetadata: ScINewOrder): void;
84
- /**
85
- * Удаляет метаданные неоформленного заказа по направлению продаж.
86
- *
87
- * @param directionsId Идентификатор направления продаж.
88
- */
89
- removeNewOrderMetadata(directionsId: number): void;
80
+ setNewOrderMetadata(newOrderMetadata: ScINewOrder): void;
90
81
  /**
91
- * Удаляет метаданные не оформленных заказов по всем направлениям продаж.
82
+ * Удаляет метаданные неоформленного заказа.
92
83
  */
93
- removeAllNewOrdersMetadata(): void;
84
+ removeNewOrderMetadata(): void;
94
85
  /**
95
86
  * Возвращает дату последнего открытия опросников.
96
87
  */
@@ -22,9 +22,9 @@ export declare class ScUserMetadata {
22
22
  */
23
23
  paginatePageSize?: number;
24
24
  /**
25
- * Метаданные не оформленных заказов.
25
+ * Метаданные неоформленного заказа.
26
26
  */
27
- newOrdersMetadata: Record<number, ScINewOrder | undefined>;
27
+ newOrderMetadata?: ScINewOrder;
28
28
  /**
29
29
  * Дата последнего открытия опросников.
30
30
  */
@@ -151,24 +151,6 @@ export declare enum ScUserMetrikaGoalsEnum {
151
151
  * В качестве параметра должен быть указан идентификатор КП/черновика (параметр "offer_id").
152
152
  */
153
153
  orderDraftDeleted = "ORDER_DRAFT_DELETED",
154
- /**
155
- * Черновик заказа создан из файла программы «Профстрой».
156
- *
157
- * В качестве параметра должен быть указан идентификатор черновика (параметр "offer_id").
158
- */
159
- orderDraftProfstroyCreated = "ORDER_DRAFT_PROFSTROY_CREATED",
160
- /**
161
- * Запущена актуализация черновика Профстрой.
162
- *
163
- * В качестве параметра должен быть указан идентификатор черновика (параметр "offer_id").
164
- */
165
- orderDraftProfstroyActualized = "ORDER_DRAFT_PROFSTROY_ACTUALIZED",
166
- /**
167
- * Запущена пересборка черновика Профстрой из файла.
168
- *
169
- * В качестве параметра должен быть указан идентификатор черновика (параметр "offer_id").
170
- */
171
- orderDraftProfstroyReloaded = "ORDER_DRAFT_PROFSTROY_RELOADED",
172
154
  /**
173
155
  * Открыто диалоговое окно/страница конфигуратора товара.
174
156
  *
@@ -1,23 +0,0 @@
1
- import { isValid, parse } from 'date-fns';
2
- /**
3
- * Класс-помощник для работы с датами.
4
- */
5
- export class ScDateHelper {
6
- /**
7
- * Возвращает дату, полученную из строки в указанном формате, или `undefined`, если значение отсутствует или не является датой.
8
- *
9
- * @param value Дата строкой или готовый объект даты.
10
- * @param format Формат даты строкой (например, {@link ScIDateFormat.api}).
11
- */
12
- static parse(value, format) {
13
- if (value instanceof Date) {
14
- return isValid(value) ? value : undefined;
15
- }
16
- if (!value) {
17
- return undefined;
18
- }
19
- const date = parse(value, format, new Date());
20
- return isValid(date) ? date : undefined;
21
- }
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZGF0ZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2hlbHBlcnMvc2MtZGF0ZS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFMUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQUNyQjs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBdUMsRUFBRSxNQUFjO1FBQ3ZFLElBQUksS0FBSyxZQUFZLElBQUksRUFBRSxDQUFDO1lBQ3hCLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUM5QyxDQUFDO1FBRUQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1QsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztRQUVELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUU5QyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDNUMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNWYWxpZCwgcGFyc2UgfSBmcm9tICdkYXRlLWZucyc7XG5cbi8qKlxuICog0JrQu9Cw0YHRgS3Qv9C+0LzQvtGJ0L3QuNC6INC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0LTQsNGC0LDQvNC4LlxuICovXG5leHBvcnQgY2xhc3MgU2NEYXRlSGVscGVyIHtcbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQtNCw0YLRgywg0L/QvtC70YPRh9C10L3QvdGD0Y4g0LjQtyDRgdGC0YDQvtC60Lgg0LIg0YPQutCw0LfQsNC90L3QvtC8INGE0L7RgNC80LDRgtC1LCDQuNC70LggYHVuZGVmaW5lZGAsINC10YHQu9C4INC30L3QsNGH0LXQvdC40LUg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiDQuNC70Lgg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC00LDRgtC+0LkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWUg0JTQsNGC0LAg0YHRgtGA0L7QutC+0Lkg0LjQu9C4INCz0L7RgtC+0LLRi9C5INC+0LHRitC10LrRgiDQtNCw0YLRiy5cbiAgICAgKiBAcGFyYW0gZm9ybWF0INCk0L7RgNC80LDRgiDQtNCw0YLRiyDRgdGC0YDQvtC60L7QuSAo0L3QsNC/0YDQuNC80LXRgCwge0BsaW5rIFNjSURhdGVGb3JtYXQuYXBpfSkuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBwYXJzZSh2YWx1ZTogc3RyaW5nIHwgRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQsIGZvcm1hdDogc3RyaW5nKTogRGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiBpc1ZhbGlkKHZhbHVlKSA/IHZhbHVlIDogdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRhdGUgPSBwYXJzZSh2YWx1ZSwgZm9ybWF0LCBuZXcgRGF0ZSgpKTtcblxuICAgICAgICByZXR1cm4gaXNWYWxpZChkYXRlKSA/IGRhdGUgOiB1bmRlZmluZWQ7XG4gICAgfVxufVxuIl19
@@ -1,46 +0,0 @@
1
- import { ScDateHelper } from '../../helpers/sc-date-helper';
2
- import { ScOrderDraftActualizationStatus } from '../enums/sc-order-draft-actualization-status';
3
- /**
4
- * Данные об актуализации черновика Профстрой.
5
- */
6
- export class ScOrderDraftActualization {
7
- /**
8
- * Инициализирует экземпляр класса {@link ScOrderDraftActualization}.
9
- *
10
- * @param data Данные от API или готовый экземпляр актуализации.
11
- * @param apiDateFormat Формат дат в данных API.
12
- */
13
- constructor(data, apiDateFormat) {
14
- this.status = data?.status ?? ScOrderDraftActualizationStatus.processing;
15
- this.actualizedAt = ScDateHelper.parse(data?.actualizedAt, apiDateFormat);
16
- this.expiresAt = ScDateHelper.parse(data?.expiresAt, apiDateFormat);
17
- this.error = data?.error ?? undefined;
18
- }
19
- /**
20
- * Признак, что выполняется обработка.
21
- */
22
- get isProcessing() {
23
- return this.status === ScOrderDraftActualizationStatus.processing;
24
- }
25
- /**
26
- * Возвращает признак, что данные актуализации устарели на указанный момент: актуализация не завершена успешно или истёк срок её действия.
27
- * Момент, равный сроку действия, ещё допустим. Если срок не известен, данные считаются актуальными.
28
- *
29
- * @param now Момент проверки.
30
- */
31
- isOutdatedAt(now) {
32
- if (this.status !== ScOrderDraftActualizationStatus.completed || !this.actualizedAt) {
33
- return true;
34
- }
35
- return this.expiresAt !== undefined && this.expiresAt.getTime() < now.getTime();
36
- }
37
- /**
38
- * Возвращает признак, что на указанный момент из черновика можно оформить заказ.
39
- *
40
- * @param now Момент проверки.
41
- */
42
- isOrderAllowedAt(now) {
43
- return this.status === ScOrderDraftActualizationStatus.completed && !this.isOutdatedAt(now);
44
- }
45
- }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXItZHJhZnQtYWN0dWFsaXphdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvb3JkZXIvY2xhc3Nlcy9zYy1vcmRlci1kcmFmdC1hY3R1YWxpemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUcvRjs7R0FFRztBQUNILE1BQU0sT0FBTyx5QkFBeUI7SUFxQmxDOzs7OztPQUtHO0lBQ0gsWUFBbUIsSUFBK0UsRUFBRSxhQUFxQjtRQUNySCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxNQUFNLElBQUksK0JBQStCLENBQUMsVUFBVSxDQUFDO1FBQ3pFLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxFQUFFLEtBQUssSUFBSSxTQUFTLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxZQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSywrQkFBK0IsQ0FBQyxVQUFVLENBQUM7SUFDdEUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksWUFBWSxDQUFDLEdBQVM7UUFDekIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLCtCQUErQixDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsRixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGdCQUFnQixDQUFDLEdBQVM7UUFDN0IsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLCtCQUErQixDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEcsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NEYXRlSGVscGVyIH0gZnJvbSAnLi4vLi4vaGVscGVycy9zYy1kYXRlLWhlbHBlcic7XG5pbXBvcnQgeyBTY09yZGVyRHJhZnRBY3R1YWxpemF0aW9uU3RhdHVzIH0gZnJvbSAnLi4vZW51bXMvc2Mtb3JkZXItZHJhZnQtYWN0dWFsaXphdGlvbi1zdGF0dXMnO1xuaW1wb3J0IHsgU2NJT3JkZXJEcmFmdEFjdHVhbGl6YXRpb24gfSBmcm9tICcuLi9pbnRlcm5hbC9zYy1pLW9yZGVyLWRyYWZ0LWFjdHVhbGl6YXRpb24nO1xuXG4vKipcbiAqINCU0LDQvdC90YvQtSDQvtCxINCw0LrRgtGD0LDQu9C40LfQsNGG0LjQuCDRh9C10YDQvdC+0LLQuNC60LAg0J/RgNC+0YTRgdGC0YDQvtC5LlxuICovXG5leHBvcnQgY2xhc3MgU2NPcmRlckRyYWZ0QWN0dWFsaXphdGlvbiB7XG4gICAgLyoqXG4gICAgICog0KHRgtCw0YLRg9GBINCw0LrRgtGD0LDQu9C40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdHVzOiBTY09yZGVyRHJhZnRBY3R1YWxpemF0aW9uU3RhdHVzO1xuXG4gICAgLyoqXG4gICAgICog0JTQsNGC0LAg0Lgg0LLRgNC10LzRjyDQv9C+0YHQu9C10LTQvdC10Lkg0YPRgdC/0LXRiNC90L7QuSDQsNC60YLRg9Cw0LvQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgcHVibGljIGFjdHVhbGl6ZWRBdD86IERhdGU7XG5cbiAgICAvKipcbiAgICAgKiDQlNCw0YLQsCDQuCDQstGA0LXQvNGPLCDQtNC+INC60L7RgtC+0YDRi9GFINC00LDQvdC90YvQtSDQsNC60YLRg9Cw0LvQuNC30LDRhtC40Lgg0YHRh9C40YLQsNGO0YLRgdGPINCw0LrRgtGD0LDQu9GM0L3Ri9C80LguXG4gICAgICovXG4gICAgcHVibGljIGV4cGlyZXNBdD86IERhdGU7XG5cbiAgICAvKipcbiAgICAgKiDQotC10LrRgdGCINC+0YjQuNCx0LrQuCDQv9C+0YHQu9C10LTQvdC10Lkg0L7QsdGA0LDQsdC+0YLQutC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBlcnJvcj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NPcmRlckRyYWZ0QWN0dWFsaXphdGlvbn0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSDQlNCw0L3QvdGL0LUg0L7RgiBBUEkg0LjQu9C4INCz0L7RgtC+0LLRi9C5INGN0LrQt9C10LzQv9C70Y/RgCDQsNC60YLRg9Cw0LvQuNC30LDRhtC40LguXG4gICAgICogQHBhcmFtIGFwaURhdGVGb3JtYXQg0KTQvtGA0LzQsNGCINC00LDRgiDQsiDQtNCw0L3QvdGL0YUgQVBJLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihkYXRhOiBTY0lPcmRlckRyYWZ0QWN0dWFsaXphdGlvbiB8IFNjT3JkZXJEcmFmdEFjdHVhbGl6YXRpb24gfCBudWxsIHwgdW5kZWZpbmVkLCBhcGlEYXRlRm9ybWF0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zdGF0dXMgPSBkYXRhPy5zdGF0dXMgPz8gU2NPcmRlckRyYWZ0QWN0dWFsaXphdGlvblN0YXR1cy5wcm9jZXNzaW5nO1xuICAgICAgICB0aGlzLmFjdHVhbGl6ZWRBdCA9IFNjRGF0ZUhlbHBlci5wYXJzZShkYXRhPy5hY3R1YWxpemVkQXQsIGFwaURhdGVGb3JtYXQpO1xuICAgICAgICB0aGlzLmV4cGlyZXNBdCA9IFNjRGF0ZUhlbHBlci5wYXJzZShkYXRhPy5leHBpcmVzQXQsIGFwaURhdGVGb3JtYXQpO1xuICAgICAgICB0aGlzLmVycm9yID0gZGF0YT8uZXJyb3IgPz8gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0LLRi9C/0L7Qu9C90Y/QtdGC0YHRjyDQvtCx0YDQsNCx0L7RgtC60LAuXG4gICAgICovXG4gICAgcHVibGljIGdldCBpc1Byb2Nlc3NpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gU2NPcmRlckRyYWZ0QWN0dWFsaXphdGlvblN0YXR1cy5wcm9jZXNzaW5nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0YDQuNC30L3QsNC6LCDRh9GC0L4g0LTQsNC90L3Ri9C1INCw0LrRgtGD0LDQu9C40LfQsNGG0LjQuCDRg9GB0YLQsNGA0LXQu9C4INC90LAg0YPQutCw0LfQsNC90L3Ri9C5INC80L7QvNC10L3Rgjog0LDQutGC0YPQsNC70LjQt9Cw0YbQuNGPINC90LUg0LfQsNCy0LXRgNGI0LXQvdCwINGD0YHQv9C10YjQvdC+INC40LvQuCDQuNGB0YLRkdC6INGB0YDQvtC6INC10ZEg0LTQtdC50YHRgtCy0LjRjy5cbiAgICAgKiDQnNC+0LzQtdC90YIsINGA0LDQstC90YvQuSDRgdGA0L7QutGDINC00LXQudGB0YLQstC40Y8sINC10YnRkSDQtNC+0L/Rg9GB0YLQuNC8LiDQldGB0LvQuCDRgdGA0L7QuiDQvdC1INC40LfQstC10YHRgtC10L0sINC00LDQvdC90YvQtSDRgdGH0LjRgtCw0Y7RgtGB0Y8g0LDQutGC0YPQsNC70YzQvdGL0LzQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBub3cg0JzQvtC80LXQvdGCINC/0YDQvtCy0LXRgNC60LguXG4gICAgICovXG4gICAgcHVibGljIGlzT3V0ZGF0ZWRBdChub3c6IERhdGUpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdHVzICE9PSBTY09yZGVyRHJhZnRBY3R1YWxpemF0aW9uU3RhdHVzLmNvbXBsZXRlZCB8fCAhdGhpcy5hY3R1YWxpemVkQXQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZXhwaXJlc0F0ICE9PSB1bmRlZmluZWQgJiYgdGhpcy5leHBpcmVzQXQuZ2V0VGltZSgpIDwgbm93LmdldFRpbWUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQv9GA0LjQt9C90LDQuiwg0YfRgtC+INC90LAg0YPQutCw0LfQsNC90L3Ri9C5INC80L7QvNC10L3RgiDQuNC3INGH0LXRgNC90L7QstC40LrQsCDQvNC+0LbQvdC+INC+0YTQvtGA0LzQuNGC0Ywg0LfQsNC60LDQty5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBub3cg0JzQvtC80LXQvdGCINC/0YDQvtCy0LXRgNC60LguXG4gICAgICovXG4gICAgcHVibGljIGlzT3JkZXJBbGxvd2VkQXQobm93OiBEYXRlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gU2NPcmRlckRyYWZ0QWN0dWFsaXphdGlvblN0YXR1cy5jb21wbGV0ZWQgJiYgIXRoaXMuaXNPdXRkYXRlZEF0KG5vdyk7XG4gICAgfVxufVxuIl19
@@ -1,88 +0,0 @@
1
- import { ScProduct } from '../../catalog/dto/sc-product';
2
- import { ScOrderItem } from './sc-order-item';
3
- /**
4
- * Данные о позиции черновика Профстрой.
5
- */
6
- export class ScProfstroyOrderItem extends ScOrderItem {
7
- /**
8
- * Название группы для позиций без группы.
9
- */
10
- static { this.ungroupedName = 'Без группы'; }
11
- /**
12
- * Шаг количества позиции, для которой не найден товар каталога и кратность не известна.
13
- */
14
- static { this.stubQuantityStep = 0.001; }
15
- /**
16
- * Тексты ошибок строк по их кодам.
17
- */
18
- static { this.lineErrorTexts = {
19
- // eslint-disable-next-line @typescript-eslint/naming-convention
20
- not_returned_by_1c: 'Продукт недоступен для заказа',
21
- }; }
22
- /**
23
- * Возвращает признак, что вместо товара каталога пришла заглушка.
24
- *
25
- * @param product Данные о товаре.
26
- */
27
- static isStub(product) {
28
- return !product || (product instanceof ScProduct && product.isNull) || !('id' in product);
29
- }
30
- /**
31
- * Возвращает название группы позиции для отображения. Позиции обычного черновика относятся к группе «Без группы».
32
- *
33
- * @param item Позиция черновика.
34
- */
35
- static getGroupTitle(item) {
36
- return item instanceof ScProfstroyOrderItem ? item.groupTitle : ScProfstroyOrderItem.ungroupedName;
37
- }
38
- /**
39
- * Инициализирует экземпляр класса {@link ScProfstroyOrderItem}.
40
- *
41
- * @param data Данные от API или готовый экземпляр позиции.
42
- */
43
- constructor(data) {
44
- const isProductStub = ScProfstroyOrderItem.isStub(data.product);
45
- // Базовому классу нужны только собственные поля позиции, прототип не используется.
46
- // eslint-disable-next-line @typescript-eslint/no-misused-spread
47
- super({ ...data, product: isProductStub ? null : data.product });
48
- this.isProductStub = isProductStub;
49
- this.groupName = data.groupName ?? undefined;
50
- this.isIgnored = data.isIgnored ?? false;
51
- this.lineError = data.lineError ?? undefined;
52
- this.supplierSku = data.supplierSku ?? data.product?.supplierSku ?? undefined;
53
- if (isProductStub) {
54
- this.product = ScProduct.createNotFound(data.product?.name, this.supplierSku);
55
- }
56
- }
57
- /**
58
- * Название группы для отображения: группа из файла или «Без группы».
59
- */
60
- get groupTitle() {
61
- return this.groupName?.trim() ? this.groupName.trim() : ScProfstroyOrderItem.ungroupedName;
62
- }
63
- /**
64
- * @inheritDoc
65
- */
66
- get isOrderable() {
67
- return !this.isProductStub && !this.isIgnored && !this.lineError && super.isOrderable;
68
- }
69
- /**
70
- * @inheritDoc
71
- */
72
- get quantityStep() {
73
- return this.isProductStub ? ScProfstroyOrderItem.stubQuantityStep : super.quantityStep;
74
- }
75
- /**
76
- * @inheritDoc
77
- */
78
- getUnavailableReason() {
79
- if (this.isIgnored) {
80
- return 'Группа не участвует в заказе';
81
- }
82
- if (this.lineError) {
83
- return ScProfstroyOrderItem.lineErrorTexts[this.lineError] ?? this.lineError;
84
- }
85
- return super.getUnavailableReason();
86
- }
87
- }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtcHJvZnN0cm95LW9yZGVyLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL29yZGVyL2NsYXNzZXMvc2MtcHJvZnN0cm95LW9yZGVyLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBS3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU5Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxXQUFXO0lBQ2pEOztPQUVHO2FBQ29CLGtCQUFhLEdBQUcsWUFBWSxDQUFDO0lBRXBEOztPQUVHO2FBQ29CLHFCQUFnQixHQUFHLEtBQUssQ0FBQztJQUVoRDs7T0FFRzthQUNxQixtQkFBYyxHQUFxQztRQUN2RSxnRUFBZ0U7UUFDaEUsa0JBQWtCLEVBQUUsK0JBQStCO0tBQ3RELENBQUM7SUFFRjs7OztPQUlHO0lBQ0ssTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFnRTtRQUNsRixPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxZQUFZLFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBaUI7UUFDekMsT0FBTyxJQUFJLFlBQVksb0JBQW9CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGFBQWEsQ0FBQztJQUN2RyxDQUFDO0lBMkJEOzs7O09BSUc7SUFDSCxZQUFtQixJQUFrRDtRQUNqRSxNQUFNLGFBQWEsR0FBRyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWhFLG1GQUFtRjtRQUNuRixnRUFBZ0U7UUFDaEUsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsT0FBc0IsRUFBa0IsQ0FBQyxDQUFDO1FBRWpHLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUM7UUFDN0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQztRQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxDQUFDO1FBQzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsSUFBSSxTQUFTLENBQUM7UUFFOUUsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xGLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUM7SUFDL0YsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBb0IsV0FBVztRQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUM7SUFDMUYsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBb0IsWUFBWTtRQUM1QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO0lBQzNGLENBQUM7SUFFRDs7T0FFRztJQUNhLG9CQUFvQjtRQUNoQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixPQUFPLDhCQUE4QixDQUFDO1FBQzFDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixPQUFPLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNqRixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NQcm9kdWN0IH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9kdG8vc2MtcHJvZHVjdCc7XG5pbXBvcnQgeyBTY0lQcm9kdWN0IH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9pbnRlcmZhY2VzL3NjLWktcHJvZHVjdCc7XG5pbXBvcnQgeyBTY0lPcmRlckl0ZW0gfSBmcm9tICcuLi9pbnRlcm5hbC9zYy1pLW9yZGVyLWl0ZW0nO1xuaW1wb3J0IHsgU2NJUHJvZnN0cm95T3JkZXJJdGVtIH0gZnJvbSAnLi4vaW50ZXJuYWwvc2MtaS1wcm9mc3Ryb3ktb3JkZXItaXRlbSc7XG5pbXBvcnQgeyBTY0lQcm9mc3Ryb3lQcm9kdWN0U3R1YiB9IGZyb20gJy4uL2ludGVybmFsL3NjLWktcHJvZnN0cm95LXByb2R1Y3Qtc3R1Yic7XG5pbXBvcnQgeyBTY09yZGVySXRlbSB9IGZyb20gJy4vc2Mtb3JkZXItaXRlbSc7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+INC/0L7Qt9C40YbQuNC4INGH0LXRgNC90L7QstC40LrQsCDQn9GA0L7RhNGB0YLRgNC+0LkuXG4gKi9cbmV4cG9ydCBjbGFzcyBTY1Byb2ZzdHJveU9yZGVySXRlbSBleHRlbmRzIFNjT3JkZXJJdGVtIHtcbiAgICAvKipcbiAgICAgKiDQndCw0LfQstCw0L3QuNC1INCz0YDRg9C/0L/RiyDQtNC70Y8g0L/QvtC30LjRhtC40Lkg0LHQtdC3INCz0YDRg9C/0L/Riy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHVuZ3JvdXBlZE5hbWUgPSAn0JHQtdC3INCz0YDRg9C/0L/Riyc7XG5cbiAgICAvKipcbiAgICAgKiDQqNCw0LMg0LrQvtC70LjRh9C10YHRgtCy0LAg0L/QvtC30LjRhtC40LgsINC00LvRjyDQutC+0YLQvtGA0L7QuSDQvdC1INC90LDQudC00LXQvSDRgtC+0LLQsNGAINC60LDRgtCw0LvQvtCz0LAg0Lgg0LrRgNCw0YLQvdC+0YHRgtGMINC90LUg0LjQt9Cy0LXRgdGC0L3QsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHN0dWJRdWFudGl0eVN0ZXAgPSAwLjAwMTtcblxuICAgIC8qKlxuICAgICAqINCi0LXQutGB0YLRiyDQvtGI0LjQsdC+0Log0YHRgtGA0L7QuiDQv9C+INC40YUg0LrQvtC00LDQvC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBsaW5lRXJyb3JUZXh0czogUmVhZG9ubHk8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4gPSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAgICAgbm90X3JldHVybmVkX2J5XzFjOiAn0J/RgNC+0LTRg9C60YIg0L3QtdC00L7RgdGC0YPQv9C10L0g0LTQu9GPINC30LDQutCw0LfQsCcsXG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0YDQuNC30L3QsNC6LCDRh9GC0L4g0LLQvNC10YHRgtC+INGC0L7QstCw0YDQsCDQutCw0YLQsNC70L7Qs9CwINC/0YDQuNGI0LvQsCDQt9Cw0LPQu9GD0YjQutCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3Qg0JTQsNC90L3Ri9C1INC+INGC0L7QstCw0YDQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHN0YXRpYyBpc1N0dWIocHJvZHVjdDogU2NJUHJvZHVjdCB8IFNjSVByb2ZzdHJveVByb2R1Y3RTdHViIHwgU2NQcm9kdWN0IHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXByb2R1Y3QgfHwgKHByb2R1Y3QgaW5zdGFuY2VvZiBTY1Byb2R1Y3QgJiYgcHJvZHVjdC5pc051bGwpIHx8ICEoJ2lkJyBpbiBwcm9kdWN0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQvdCw0LfQstCw0L3QuNC1INCz0YDRg9C/0L/RiyDQv9C+0LfQuNGG0LjQuCDQtNC70Y8g0L7RgtC+0LHRgNCw0LbQtdC90LjRjy4g0J/QvtC30LjRhtC40Lgg0L7QsdGL0YfQvdC+0LPQviDRh9C10YDQvdC+0LLQuNC60LAg0L7RgtC90L7RgdGP0YLRgdGPINC6INCz0YDRg9C/0L/QtSDCq9CR0LXQtyDQs9GA0YPQv9C/0YvCuy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtINCf0L7Qt9C40YbQuNGPINGH0LXRgNC90L7QstC40LrQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEdyb3VwVGl0bGUoaXRlbTogU2NPcmRlckl0ZW0pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gaXRlbSBpbnN0YW5jZW9mIFNjUHJvZnN0cm95T3JkZXJJdGVtID8gaXRlbS5ncm91cFRpdGxlIDogU2NQcm9mc3Ryb3lPcmRlckl0ZW0udW5ncm91cGVkTmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQndCw0LfQstCw0L3QuNC1INCz0YDRg9C/0L/RiyDQuNC3INGE0LDQudC70LAuXG4gICAgICovXG4gICAgcHVibGljIGdyb3VwTmFtZT86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCQ0YDRgtC40LrRg9C7INC/0L7RgdGC0LDQstGJ0LjQutCwINC40Lcg0YTQsNC50LvQsCDQuNC70Lgg0LjQtyDQt9Cw0LPQu9GD0YjQutC4INGC0L7QstCw0YDQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3VwcGxpZXJTa3U/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQn9GA0LjQt9C90LDQuiDRgdGC0YDQvtC60Lgg0LjQtyDQs9GA0YPQv9C/0YssINC60L7RgtC+0YDQsNGPINC90LUg0YPRh9Cw0YHRgtCy0YPQtdGCINCyINC30LDQutCw0LfQtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNJZ25vcmVkOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog0J7RiNC40LHQutCwINGB0YLRgNC+0LrQuCwg0LjQty3Qt9CwINC60L7RgtC+0YDQvtC5INC+0L3QsCDQvdC1INC/0L7Qv9Cw0LTRkdGCINCyINC30LDQutCw0LcuXG4gICAgICovXG4gICAgcHVibGljIGxpbmVFcnJvcj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0LTQu9GPINC/0L7Qt9C40YbQuNC4INC90LUg0L3QsNC50LTQtdC9INGC0L7QstCw0YAg0LrQsNGC0LDQu9C+0LPQsCDQuCDQstC80LXRgdGC0L4g0L3QtdCz0L4g0LfQsNCz0LvRg9GI0LrQsCDRgSDQtNCw0L3QvdGL0LzQuCDQuNC3INGE0LDQudC70LAuXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGlzUHJvZHVjdFN0dWI6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjUHJvZnN0cm95T3JkZXJJdGVtfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRhINCU0LDQvdC90YvQtSDQvtGCIEFQSSDQuNC70Lgg0LPQvtGC0L7QstGL0Lkg0Y3QutC30LXQvNC/0LvRj9GAINC/0L7Qt9C40YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihkYXRhOiBTY0lQcm9mc3Ryb3lPcmRlckl0ZW0gfCBTY1Byb2ZzdHJveU9yZGVySXRlbSkge1xuICAgICAgICBjb25zdCBpc1Byb2R1Y3RTdHViID0gU2NQcm9mc3Ryb3lPcmRlckl0ZW0uaXNTdHViKGRhdGEucHJvZHVjdCk7XG5cbiAgICAgICAgLy8g0JHQsNC30L7QstC+0LzRgyDQutC70LDRgdGB0YMg0L3Rg9C20L3RiyDRgtC+0LvRjNC60L4g0YHQvtCx0YHRgtCy0LXQvdC90YvQtSDQv9C+0LvRjyDQv9C+0LfQuNGG0LjQuCwg0L/RgNC+0YLQvtGC0LjQvyDQvdC1INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjy5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXNwcmVhZFxuICAgICAgICBzdXBlcih7IC4uLmRhdGEsIHByb2R1Y3Q6IGlzUHJvZHVjdFN0dWIgPyBudWxsIDogKGRhdGEucHJvZHVjdCBhcyBTY0lQcm9kdWN0KSB9IGFzIFNjSU9yZGVySXRlbSk7XG5cbiAgICAgICAgdGhpcy5pc1Byb2R1Y3RTdHViID0gaXNQcm9kdWN0U3R1YjtcbiAgICAgICAgdGhpcy5ncm91cE5hbWUgPSBkYXRhLmdyb3VwTmFtZSA/PyB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuaXNJZ25vcmVkID0gZGF0YS5pc0lnbm9yZWQgPz8gZmFsc2U7XG4gICAgICAgIHRoaXMubGluZUVycm9yID0gZGF0YS5saW5lRXJyb3IgPz8gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLnN1cHBsaWVyU2t1ID0gZGF0YS5zdXBwbGllclNrdSA/PyBkYXRhLnByb2R1Y3Q/LnN1cHBsaWVyU2t1ID8/IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAoaXNQcm9kdWN0U3R1Yikge1xuICAgICAgICAgICAgdGhpcy5wcm9kdWN0ID0gU2NQcm9kdWN0LmNyZWF0ZU5vdEZvdW5kKGRhdGEucHJvZHVjdD8ubmFtZSwgdGhpcy5zdXBwbGllclNrdSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQndCw0LfQstCw0L3QuNC1INCz0YDRg9C/0L/RiyDQtNC70Y8g0L7RgtC+0LHRgNCw0LbQtdC90LjRjzog0LPRgNGD0L/Qv9CwINC40Lcg0YTQsNC50LvQsCDQuNC70LggwqvQkdC10Lcg0LPRgNGD0L/Qv9GLwrsuXG4gICAgICovXG4gICAgcHVibGljIGdldCBncm91cFRpdGxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyb3VwTmFtZT8udHJpbSgpID8gdGhpcy5ncm91cE5hbWUudHJpbSgpIDogU2NQcm9mc3Ryb3lPcmRlckl0ZW0udW5ncm91cGVkTmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBnZXQgaXNPcmRlcmFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pc1Byb2R1Y3RTdHViICYmICF0aGlzLmlzSWdub3JlZCAmJiAhdGhpcy5saW5lRXJyb3IgJiYgc3VwZXIuaXNPcmRlcmFibGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHF1YW50aXR5U3RlcCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1Byb2R1Y3RTdHViID8gU2NQcm9mc3Ryb3lPcmRlckl0ZW0uc3R1YlF1YW50aXR5U3RlcCA6IHN1cGVyLnF1YW50aXR5U3RlcDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBnZXRVbmF2YWlsYWJsZVJlYXNvbigpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5pc0lnbm9yZWQpIHtcbiAgICAgICAgICAgIHJldHVybiAn0JPRgNGD0L/Qv9CwINC90LUg0YPRh9Cw0YHRgtCy0YPQtdGCINCyINC30LDQutCw0LfQtSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5saW5lRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBTY1Byb2ZzdHJveU9yZGVySXRlbS5saW5lRXJyb3JUZXh0c1t0aGlzLmxpbmVFcnJvcl0gPz8gdGhpcy5saW5lRXJyb3I7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3VwZXIuZ2V0VW5hdmFpbGFibGVSZWFzb24oKTtcbiAgICB9XG59XG4iXX0=