@colijnit/transaction 262.1.54 → 262.1.56

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.
@@ -360,8 +360,8 @@ import { DateField } from '@colijnit/ioneconnector/build/factory/decorators/date
360
360
  class Version {
361
361
  name = "@colijnit/transaction";
362
362
  description = "Colijn IT transaction package";
363
- symVer = "262.1.54";
364
- publishDate = "6-10-2026, 17:10:20";
363
+ symVer = "262.1.56";
364
+ publishDate = "8-10-2026, 16:56:52";
365
365
  }
366
366
 
367
367
  class CheckoutModuleService extends BaseModuleService {
@@ -466,6 +466,7 @@ var TransactionTypeCategory;
466
466
  TransactionTypeCategory["SalesOrderReserve"] = "salesOrderQuotation";
467
467
  TransactionTypeCategory["SalesOrderActivities"] = "salesOrderActivities";
468
468
  TransactionTypeCategory["SalesOrderQuotation"] = "salesOrderQuotation";
469
+ TransactionTypeCategory["SalesOrderQuotationPurchase"] = "salesOrderQuotationPurchase";
469
470
  TransactionTypeCategory["SalesOrderQuotationActivities"] = "salesOrderQuotationActivities";
470
471
  TransactionTypeCategory["ServiceOrderService"] = "serviceOrderService";
471
472
  TransactionTypeCategory["ServiceOrderOverview"] = "serviceOrderOverview";
@@ -10046,6 +10047,7 @@ class TransactionBaseService extends BaseModuleService {
10046
10047
  internalParameterSellDirectlyFromSupp = false;
10047
10048
  internalParameterStockMutBeforeDelivery = false;
10048
10049
  printColliStickerDefault = false;
10050
+ canGenerateMultipleOrdersFromSingleQuotation = false;
10049
10051
  internalPlanDaysParam = 0;
10050
10052
  contactPersonId = 0;
10051
10053
  firstDayOfWeek = '1';
@@ -10159,6 +10161,9 @@ class TransactionBaseService extends BaseModuleService {
10159
10161
  this.printColliStickerDefault = (value === "J");
10160
10162
  });
10161
10163
  }
10164
+ async prepareCanGenerateMultipleOrdersFromSingleQuotationParam() {
10165
+ this.canGenerateMultipleOrdersFromSingleQuotation = await this.getInternalParameter(InternalParam.QuotationToOrderMulti);
10166
+ }
10162
10167
  async getInternalParameter(param) {
10163
10168
  const response = await this.connector.getInternalParameterValue(param);
10164
10169
  return response && response === 'J';
@@ -13420,6 +13425,7 @@ class TransactionService extends PendingReasonService {
13420
13425
  this.prepareCanChangeSalesOrderWhenFullyInvoicedParam();
13421
13426
  this.prepareCanChangeRelationParam();
13422
13427
  this.prepareInternalPlanDaysParam();
13428
+ this.prepareCanGenerateMultipleOrdersFromSingleQuotationParam();
13423
13429
  }
13424
13430
  async _handleAfterRememberCurrentTransaction() {
13425
13431
  this.remainingAmount = 0;
@@ -47136,6 +47142,7 @@ class TransactionSearchSalesLineSelectTileComponent extends TransactionSearchTil
47136
47142
  extendedTransactionSearch = false;
47137
47143
  returnWizardLayout = false;
47138
47144
  customerPortal = false;
47145
+ filterOnlyAllocated = false;
47139
47146
  lineClicked = new EventEmitter();
47140
47147
  transactionClick = new EventEmitter();
47141
47148
  lines;
@@ -47148,7 +47155,13 @@ class TransactionSearchSalesLineSelectTileComponent extends TransactionSearchTil
47148
47155
  }
47149
47156
  async handleVisibilityChange(visible) {
47150
47157
  if (visible && (this.lines === null || this.lines === undefined)) {
47151
- this.lines = await this.transactionService.getLineIndicesByTransId(this.transaction.transId);
47158
+ let foundLines = await this.transactionService.getLineIndicesByTransId(this.transaction.transId);
47159
+ if (!this.filterOnlyAllocated) {
47160
+ this.lines = foundLines;
47161
+ }
47162
+ else {
47163
+ this.lines = foundLines.filter(l => l.quantityAllocated > 0);
47164
+ }
47152
47165
  }
47153
47166
  }
47154
47167
  tileClicked(line) {
@@ -47187,7 +47200,7 @@ class TransactionSearchSalesLineSelectTileComponent extends TransactionSearchTil
47187
47200
  }
47188
47201
  }
47189
47202
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionSearchSalesLineSelectTileComponent, deps: [{ token: IconCacheService }, { token: TransactionService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
47190
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: TransactionSearchSalesLineSelectTileComponent, isStandalone: false, selector: "co-transaction-search-sales-line-select-tile", inputs: { extendedTransactionSearch: "extendedTransactionSearch", returnWizardLayout: "returnWizardLayout", customerPortal: "customerPortal" }, outputs: { lineClicked: "lineClicked", transactionClick: "transactionClick" }, host: { properties: { "class.co-transaction-search-sales-line-select-tile": "this.showClass" } }, usesInheritance: true, ngImport: i0, template: `
47203
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: TransactionSearchSalesLineSelectTileComponent, isStandalone: false, selector: "co-transaction-search-sales-line-select-tile", inputs: { extendedTransactionSearch: "extendedTransactionSearch", returnWizardLayout: "returnWizardLayout", customerPortal: "customerPortal", filterOnlyAllocated: "filterOnlyAllocated" }, outputs: { lineClicked: "lineClicked", transactionClick: "transactionClick" }, host: { properties: { "class.co-transaction-search-sales-line-select-tile": "this.showClass" } }, usesInheritance: true, ngImport: i0, template: `
47191
47204
  @if (customerPortal) {
47192
47205
  <div class="co-transaction-search-sales-line-select-tile-wrapper " observeVisibility #observer=visibilityObserve
47193
47206
  (visibilityChange)="handleVisibilityChange($event)">
@@ -47418,6 +47431,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
47418
47431
  type: Input
47419
47432
  }], customerPortal: [{
47420
47433
  type: Input
47434
+ }], filterOnlyAllocated: [{
47435
+ type: Input
47421
47436
  }], lineClicked: [{
47422
47437
  type: Output
47423
47438
  }], transactionClick: [{
@@ -47431,6 +47446,7 @@ class DialogTransactionSearchComponent {
47431
47446
  placeholder;
47432
47447
  set relation(value) {
47433
47448
  this.transactionSearchService.searchRequest.relationNrTr = Number(value.relationNumber);
47449
+ this.transactionSearchService.searchRequest.quantityAllocated = [2, 3];
47434
47450
  }
47435
47451
  filterIconClick = new EventEmitter();
47436
47452
  closeClick = new EventEmitter();
@@ -47458,62 +47474,66 @@ class DialogTransactionSearchComponent {
47458
47474
  this.transactionSearchService.searchTransactions();
47459
47475
  }
47460
47476
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DialogTransactionSearchComponent, deps: [{ token: TransactionSearchService }, { token: IconCacheService }], target: i0.ɵɵFactoryTarget.Component });
47461
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DialogTransactionSearchComponent, isStandalone: false, selector: "co-dialog-transaction-search", inputs: { placeholder: "placeholder", relation: "relation" }, outputs: { filterIconClick: "filterIconClick", closeClick: "closeClick", lineClicked: "lineClicked" }, host: { properties: { "class.co-dialog-transaction-search": "this.showClass" } }, ngImport: i0, template: `
47462
- <co-dialog (closeClick)="closeClick.emit()" >
47463
-
47464
- <div class="search-wrapper">
47465
- <co-transaction-search-header (filterIconClick)="onFilterButtonClick()"></co-transaction-search-header>
47466
- <div class="search-content">
47467
- <ng-container>
47468
- @if (showFilters) {
47469
- <div class="search-filter-panel narrow-scrollbar" >
47470
- <co-transaction-filter></co-transaction-filter>
47471
- </div>
47472
- }
47473
- <div class="search-result-content">
47474
- @for (transaction of transactionSearchService.transactions; track transaction) {
47475
- <div class="transaction-tile">
47476
- <co-transaction-search-sales-line-select-tile
47477
- [transaction]="transaction" (lineClicked)="transLineClicked($event)">
47478
- </co-transaction-search-sales-line-select-tile>
47479
- </div>
47480
- }
47481
- </div>
47482
- </ng-container>
47483
- </div>
47484
- </div>
47485
- </co-dialog>
47486
- `, isInline: true, dependencies: [{ kind: "component", type: i1$1.CoDialogComponent, selector: "co-dialog", inputs: ["customCssClass", "headerTemplate", "footerTemplate", "showCloseIcon", "modal", "borderless"], outputs: ["closeClick"] }, { kind: "component", type: TransactionSearchHeaderComponent, selector: "co-transaction-search-header", inputs: ["placeholder"], outputs: ["filterIconClick"] }, { kind: "component", type: TransactionFilterComponent, selector: "co-transaction-filter", outputs: ["totalActiveFiltersChange"] }, { kind: "component", type: TransactionSearchSalesLineSelectTileComponent, selector: "co-transaction-search-sales-line-select-tile", inputs: ["extendedTransactionSearch", "returnWizardLayout", "customerPortal"], outputs: ["lineClicked", "transactionClick"] }], encapsulation: i0.ViewEncapsulation.None });
47477
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DialogTransactionSearchComponent, isStandalone: false, selector: "co-dialog-transaction-search", inputs: { placeholder: "placeholder", relation: "relation" }, outputs: { filterIconClick: "filterIconClick", closeClick: "closeClick", lineClicked: "lineClicked" }, host: { properties: { "class.co-dialog-transaction-search": "this.showClass" } }, ngImport: i0, template: `
47478
+ <co-dialog (closeClick)="closeClick.emit()" >
47479
+
47480
+ <div class="search-wrapper">
47481
+ <co-transaction-search-header (filterIconClick)="onFilterButtonClick()"></co-transaction-search-header>
47482
+ <div class="search-content">
47483
+ <ng-container>
47484
+ @if (showFilters) {
47485
+ <div class="search-filter-panel narrow-scrollbar" >
47486
+ <co-transaction-filter></co-transaction-filter>
47487
+ </div>
47488
+ }
47489
+ <div class="search-result-content">
47490
+ @for (transaction of transactionSearchService.transactions; track transaction) {
47491
+ <div class="transaction-tile">
47492
+ <co-transaction-search-sales-line-select-tile
47493
+ [transaction]="transaction"
47494
+ [filterOnlyAllocated]="true"
47495
+ (lineClicked)="transLineClicked($event)">
47496
+ </co-transaction-search-sales-line-select-tile>
47497
+ </div>
47498
+ }
47499
+ </div>
47500
+ </ng-container>
47501
+ </div>
47502
+ </div>
47503
+ </co-dialog>
47504
+ `, isInline: true, dependencies: [{ kind: "component", type: i1$1.CoDialogComponent, selector: "co-dialog", inputs: ["customCssClass", "headerTemplate", "footerTemplate", "showCloseIcon", "modal", "borderless"], outputs: ["closeClick"] }, { kind: "component", type: TransactionSearchHeaderComponent, selector: "co-transaction-search-header", inputs: ["placeholder"], outputs: ["filterIconClick"] }, { kind: "component", type: TransactionFilterComponent, selector: "co-transaction-filter", outputs: ["totalActiveFiltersChange"] }, { kind: "component", type: TransactionSearchSalesLineSelectTileComponent, selector: "co-transaction-search-sales-line-select-tile", inputs: ["extendedTransactionSearch", "returnWizardLayout", "customerPortal", "filterOnlyAllocated"], outputs: ["lineClicked", "transactionClick"] }], encapsulation: i0.ViewEncapsulation.None });
47487
47505
  }
47488
47506
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DialogTransactionSearchComponent, decorators: [{
47489
47507
  type: Component,
47490
47508
  args: [{
47491
47509
  selector: "co-dialog-transaction-search",
47492
- template: `
47493
- <co-dialog (closeClick)="closeClick.emit()" >
47494
-
47495
- <div class="search-wrapper">
47496
- <co-transaction-search-header (filterIconClick)="onFilterButtonClick()"></co-transaction-search-header>
47497
- <div class="search-content">
47498
- <ng-container>
47499
- @if (showFilters) {
47500
- <div class="search-filter-panel narrow-scrollbar" >
47501
- <co-transaction-filter></co-transaction-filter>
47502
- </div>
47503
- }
47504
- <div class="search-result-content">
47505
- @for (transaction of transactionSearchService.transactions; track transaction) {
47506
- <div class="transaction-tile">
47507
- <co-transaction-search-sales-line-select-tile
47508
- [transaction]="transaction" (lineClicked)="transLineClicked($event)">
47509
- </co-transaction-search-sales-line-select-tile>
47510
- </div>
47511
- }
47512
- </div>
47513
- </ng-container>
47514
- </div>
47515
- </div>
47516
- </co-dialog>
47510
+ template: `
47511
+ <co-dialog (closeClick)="closeClick.emit()" >
47512
+
47513
+ <div class="search-wrapper">
47514
+ <co-transaction-search-header (filterIconClick)="onFilterButtonClick()"></co-transaction-search-header>
47515
+ <div class="search-content">
47516
+ <ng-container>
47517
+ @if (showFilters) {
47518
+ <div class="search-filter-panel narrow-scrollbar" >
47519
+ <co-transaction-filter></co-transaction-filter>
47520
+ </div>
47521
+ }
47522
+ <div class="search-result-content">
47523
+ @for (transaction of transactionSearchService.transactions; track transaction) {
47524
+ <div class="transaction-tile">
47525
+ <co-transaction-search-sales-line-select-tile
47526
+ [transaction]="transaction"
47527
+ [filterOnlyAllocated]="true"
47528
+ (lineClicked)="transLineClicked($event)">
47529
+ </co-transaction-search-sales-line-select-tile>
47530
+ </div>
47531
+ }
47532
+ </div>
47533
+ </ng-container>
47534
+ </div>
47535
+ </div>
47536
+ </co-dialog>
47517
47537
  `,
47518
47538
  encapsulation: ViewEncapsulation.None,
47519
47539
  standalone: false
@@ -56431,7 +56451,7 @@ class TransactionLineSupplierComponent extends TransactionFilterPopupLineBaseCom
56431
56451
  this._getCollection();
56432
56452
  }
56433
56453
  async commit(id) {
56434
- if (this.transactionLine.supplierId !== id) {
56454
+ if (this.transactionLine.supplierId !== id && (await this.lockTransaction())) {
56435
56455
  const oldId = this.transactionLine.supplierId;
56436
56456
  const success = await this.transactionService.updateSupplierTransactionLine(this.transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, id);
56437
56457
  if (!success) {
@@ -57748,6 +57768,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
57748
57768
  }] } });
57749
57769
 
57750
57770
  class TransactionPurchaseLineComponent extends TransactionPurchaseLineBaseComponent {
57771
+ TransactionKind = TransactionKind;
57751
57772
  showConfirmedDeliveryDate = true;
57752
57773
  lineIndex;
57753
57774
  showClass() {
@@ -57810,6 +57831,14 @@ class TransactionPurchaseLineComponent extends TransactionPurchaseLineBaseCompon
57810
57831
  this.salesReservationService.salesReservationLines = reservation.salesOrderLines.filter((line) => line.lineNr === lineNr);
57811
57832
  this.transactionHeaderService.reservationPopupToggle.next(true);
57812
57833
  }
57834
+ readOnlyClassNeeded() {
57835
+ if (this.transactionKind !== TransactionKind.SalesQuotation) {
57836
+ return !this.transactionInfo.transactionDefinitive;
57837
+ }
57838
+ else {
57839
+ return ((!this.transactionService.canGenerateMultipleOrdersFromSingleQuotation) && (this.transactionLine.refTransactions.length > 0));
57840
+ }
57841
+ }
57813
57842
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionPurchaseLineComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
57814
57843
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: TransactionPurchaseLineComponent, isStandalone: false, selector: "co-transaction-purchase-line", inputs: { lineIndex: "lineIndex" }, host: { properties: { "class.co-transaction-purchase-line": "this.showClass" } }, usesInheritance: true, ngImport: i0, template: `
57815
57844
  <co-transaction-base-line
@@ -57817,7 +57846,7 @@ class TransactionPurchaseLineComponent extends TransactionPurchaseLineBaseCompon
57817
57846
  [transactionInfo]="transactionInfo"
57818
57847
  [transactionLine]="transactionLine"
57819
57848
  [preview]="preview"
57820
- [checkbox]="showCheckboxForLine && transactionInfo.transactionDefinitive"
57849
+ [checkbox]="showCheckboxForLine && transactionInfo.transactionDefinitive && transactionKind !== TransactionKind.SalesQuotation"
57821
57850
  [checkboxValue]="transactionLine.selected"
57822
57851
  (checkboxValueChanged)="transactionLineSelectedChanged($event)"
57823
57852
  [isFirst]="isFirst"
@@ -57828,7 +57857,7 @@ class TransactionPurchaseLineComponent extends TransactionPurchaseLineBaseCompon
57828
57857
  [iconData]="iconCacheService.getIcon(icons.PalletBoxesRotate)">
57829
57858
  </co-icon>
57830
57859
  </span>
57831
- <div class="transaction-line-wrapper" [class.transaction-not-definitive]="!transactionInfo.transactionDefinitive">
57860
+ <div class="transaction-line-wrapper" [class.transaction-not-definitive]="readOnlyClassNeeded()">
57832
57861
  <div *ngIf=!preview class="transaction-line-extended-wrapper">
57833
57862
  <div class="column-full align-right">
57834
57863
  <co-transaction-line-statusbar
@@ -57908,7 +57937,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
57908
57937
  [transactionInfo]="transactionInfo"
57909
57938
  [transactionLine]="transactionLine"
57910
57939
  [preview]="preview"
57911
- [checkbox]="showCheckboxForLine && transactionInfo.transactionDefinitive"
57940
+ [checkbox]="showCheckboxForLine && transactionInfo.transactionDefinitive && transactionKind !== TransactionKind.SalesQuotation"
57912
57941
  [checkboxValue]="transactionLine.selected"
57913
57942
  (checkboxValueChanged)="transactionLineSelectedChanged($event)"
57914
57943
  [isFirst]="isFirst"
@@ -57919,7 +57948,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
57919
57948
  [iconData]="iconCacheService.getIcon(icons.PalletBoxesRotate)">
57920
57949
  </co-icon>
57921
57950
  </span>
57922
- <div class="transaction-line-wrapper" [class.transaction-not-definitive]="!transactionInfo.transactionDefinitive">
57951
+ <div class="transaction-line-wrapper" [class.transaction-not-definitive]="readOnlyClassNeeded()">
57923
57952
  <div *ngIf=!preview class="transaction-line-extended-wrapper">
57924
57953
  <div class="column-full align-right">
57925
57954
  <co-transaction-line-statusbar
@@ -65000,6 +65029,7 @@ class TransactionButtonBarModule {
65000
65029
  ]],
65001
65030
  [TransactionKind.SalesQuotation, [
65002
65031
  { title: 'OVERVIEW', icon: Icon.CartShoppingRegular, category: TransactionTypeCategory.SalesOrderQuotation, component: TransactionSalesQuotationButtonBarButtonComponent, cfgName: TransactionCfgName.RubricOverview },
65032
+ { title: 'PURCHASE', icon: Icon.PalletBoxesSharpRegular, category: TransactionTypeCategory.SalesOrderQuotationPurchase, component: TransactionSalesPurchaseButtonBarButtonComponent, cfgName: TransactionCfgName.RubricPurchase },
65003
65033
  { title: 'ACTIVITIES', icon: Icon.RegularGearCircleUser, category: TransactionTypeCategory.SalesOrderQuotationActivities, component: TransactionActivitiesButtonBarButtonComponent, cfgName: TransactionCfgName.RubricActivities },
65004
65034
  //{title: 'DELIVERY_NOTE', icon: Icon.MemoCircleCheckRegular, category: TransactionTypeCategory.SalesOrderDeliveryNote, component: TransactionSalesDeliveryButtonBarButtonComponent, cfgName: TransactionCfgName.RubricDelivery},
65005
65035
  ]],
@@ -65095,6 +65125,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
65095
65125
  ]],
65096
65126
  [TransactionKind.SalesQuotation, [
65097
65127
  { title: 'OVERVIEW', icon: Icon.CartShoppingRegular, category: TransactionTypeCategory.SalesOrderQuotation, component: TransactionSalesQuotationButtonBarButtonComponent, cfgName: TransactionCfgName.RubricOverview },
65128
+ { title: 'PURCHASE', icon: Icon.PalletBoxesSharpRegular, category: TransactionTypeCategory.SalesOrderQuotationPurchase, component: TransactionSalesPurchaseButtonBarButtonComponent, cfgName: TransactionCfgName.RubricPurchase },
65098
65129
  { title: 'ACTIVITIES', icon: Icon.RegularGearCircleUser, category: TransactionTypeCategory.SalesOrderQuotationActivities, component: TransactionActivitiesButtonBarButtonComponent, cfgName: TransactionCfgName.RubricActivities },
65099
65130
  //{title: 'DELIVERY_NOTE', icon: Icon.MemoCircleCheckRegular, category: TransactionTypeCategory.SalesOrderDeliveryNote, component: TransactionSalesDeliveryButtonBarButtonComponent, cfgName: TransactionCfgName.RubricDelivery},
65100
65131
  ]],
@@ -73164,7 +73195,7 @@ class TransactionSearchResultComponent {
73164
73195
  (close)="showBatchProcessDialog = false">
73165
73196
  </co-batch-process-dialog>
73166
73197
  }
73167
- `, isInline: true, dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: TransactionSearchGridComponent, selector: "co-transaction-search-grid", inputs: ["showCheckbox"], outputs: ["transactionClick"] }, { kind: "component", type: TransactionSearchTileComponent, selector: "co-transaction-search-tile", inputs: ["showCheckbox", "selected", "transaction"], outputs: ["transactionClick", "selectedClick"] }, { kind: "component", type: i1$1.PaginationBarComponent, selector: "co-pagination-bar", inputs: ["directionLinks", "previousLabel", "nextLabel", "currentPage", "itemsPerPage", "totalItems", "paginationRange", "autoHide"], outputs: ["previousClick", "nextClick", "pageClick"] }, { kind: "component", type: i1$1.InputCheckboxComponent, selector: "co-input-checkbox", inputs: ["cssClass", "clickableLabel"], outputs: ["modelChange"] }, { kind: "component", type: QuickSendButtonComponent, selector: "co-quick-send-button", inputs: ["title", "icon", "defaultMethodIcon", "showSendMethodIcon", "showSendMethodDialogIcon", "showLoader", "disabled"], outputs: ["openSendMethodDialog", "sendIconClicked"] }, { kind: "component", type: ShippingMethodDialogComponent, selector: "co-shipping-method-dialog", inputs: ["category", "selectedTransactions"], outputs: ["saveClicked", "cancelClicked"] }, { kind: "component", type: BatchProcessDialogComponent, selector: "co-batch-process-dialog", inputs: ["batchJobProgress"], outputs: ["close"] }, { kind: "component", type: TransactionSearchSalesLineSelectTileComponent, selector: "co-transaction-search-sales-line-select-tile", inputs: ["extendedTransactionSearch", "returnWizardLayout", "customerPortal"], outputs: ["lineClicked", "transactionClick"] }, { kind: "component", type: TransactionContainerComponent, selector: "co-transaction-container", inputs: ["fullscreen"], outputs: ["containerChoiceMade", "containerContentModeChanged", "fillContainerClicked", "removeFromContainerClicked"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], animations: [
73198
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: TransactionSearchGridComponent, selector: "co-transaction-search-grid", inputs: ["showCheckbox"], outputs: ["transactionClick"] }, { kind: "component", type: TransactionSearchTileComponent, selector: "co-transaction-search-tile", inputs: ["showCheckbox", "selected", "transaction"], outputs: ["transactionClick", "selectedClick"] }, { kind: "component", type: i1$1.PaginationBarComponent, selector: "co-pagination-bar", inputs: ["directionLinks", "previousLabel", "nextLabel", "currentPage", "itemsPerPage", "totalItems", "paginationRange", "autoHide"], outputs: ["previousClick", "nextClick", "pageClick"] }, { kind: "component", type: i1$1.InputCheckboxComponent, selector: "co-input-checkbox", inputs: ["cssClass", "clickableLabel"], outputs: ["modelChange"] }, { kind: "component", type: QuickSendButtonComponent, selector: "co-quick-send-button", inputs: ["title", "icon", "defaultMethodIcon", "showSendMethodIcon", "showSendMethodDialogIcon", "showLoader", "disabled"], outputs: ["openSendMethodDialog", "sendIconClicked"] }, { kind: "component", type: ShippingMethodDialogComponent, selector: "co-shipping-method-dialog", inputs: ["category", "selectedTransactions"], outputs: ["saveClicked", "cancelClicked"] }, { kind: "component", type: BatchProcessDialogComponent, selector: "co-batch-process-dialog", inputs: ["batchJobProgress"], outputs: ["close"] }, { kind: "component", type: TransactionSearchSalesLineSelectTileComponent, selector: "co-transaction-search-sales-line-select-tile", inputs: ["extendedTransactionSearch", "returnWizardLayout", "customerPortal", "filterOnlyAllocated"], outputs: ["lineClicked", "transactionClick"] }, { kind: "component", type: TransactionContainerComponent, selector: "co-transaction-container", inputs: ["fullscreen"], outputs: ["containerChoiceMade", "containerContentModeChanged", "fillContainerClicked", "removeFromContainerClicked"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], animations: [
73168
73199
  trigger('fadeInOut', [
73169
73200
  transition(':enter', [
73170
73201
  style({ opacity: 0 }),
@@ -83269,6 +83300,7 @@ class TransactionLineModule {
83269
83300
  [{ type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOrderConfirmation }, TransactionPurchaseOrderLineComponent],
83270
83301
  [{ type: TransactionKind.CashDesk, category: TransactionTypeCategory.SalesOrderCashRegister }, TransactionCashRegisterOrderLineComponent],
83271
83302
  [{ type: TransactionKind.SalesQuotation, category: TransactionTypeCategory.SalesOrderQuotation }, TransactionSalesOrderQuotationLineComponent],
83303
+ [{ type: TransactionKind.SalesQuotation, category: TransactionTypeCategory.SalesOrderQuotationPurchase }, TransactionPurchaseLineComponent],
83272
83304
  [{ type: TransactionKind.SalesQuotation, category: TransactionTypeCategory.SalesOrderMarginInfo }, TransactionMarginInfoLineComponent],
83273
83305
  [{ type: TransactionKind.ServiceOrder, category: TransactionTypeCategory.ServiceOrderOverview }, TransactionOverviewLineComponent],
83274
83306
  [{ type: TransactionKind.ServiceOrder, category: TransactionTypeCategory.ServiceOrderPurchase }, TransactionPurchaseLineComponent],
@@ -83373,6 +83405,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
83373
83405
  [{ type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOrderConfirmation }, TransactionPurchaseOrderLineComponent],
83374
83406
  [{ type: TransactionKind.CashDesk, category: TransactionTypeCategory.SalesOrderCashRegister }, TransactionCashRegisterOrderLineComponent],
83375
83407
  [{ type: TransactionKind.SalesQuotation, category: TransactionTypeCategory.SalesOrderQuotation }, TransactionSalesOrderQuotationLineComponent],
83408
+ [{ type: TransactionKind.SalesQuotation, category: TransactionTypeCategory.SalesOrderQuotationPurchase }, TransactionPurchaseLineComponent],
83376
83409
  [{ type: TransactionKind.SalesQuotation, category: TransactionTypeCategory.SalesOrderMarginInfo }, TransactionMarginInfoLineComponent],
83377
83410
  [{ type: TransactionKind.ServiceOrder, category: TransactionTypeCategory.ServiceOrderOverview }, TransactionOverviewLineComponent],
83378
83411
  [{ type: TransactionKind.ServiceOrder, category: TransactionTypeCategory.ServiceOrderPurchase }, TransactionPurchaseLineComponent],
@@ -94602,12 +94635,13 @@ class TransactionQuickAccessSalesQuotationComponent extends TransactionQuickAcce
94602
94635
  [transactionTypeCategory]="transactionTypeCategory.SalesOrderQuotation"
94603
94636
  (openSendMethodDialog)="showSendMethodDialog = true"
94604
94637
  ></co-transaction-send-documents>
94605
- <co-transaction-button class="sales-quote-btn custom-width"
94606
- [title]="'SALES_ORDER' | localize"
94607
- [iconData]="iconCacheService.getIcon(icons.CartShoppingGear)"
94608
- [hidden]="refTransactions.length > 0"
94609
- (click)="createSalesOrder()"
94610
- ></co-transaction-button>
94638
+ @if (refTransactions.length <= 0 || transactionService.canGenerateMultipleOrdersFromSingleQuotation) {
94639
+ <co-transaction-button class="sales-quote-btn custom-width"
94640
+ [title]="'SALES_ORDER' | localize"
94641
+ [iconData]="iconCacheService.getIcon(icons.CartShoppingGear)"
94642
+ (click)="createSalesOrder()"
94643
+ ></co-transaction-button>
94644
+ }
94611
94645
  <co-transaction-navigation-button-list
94612
94646
  [refTransactions]="refTransactions"
94613
94647
  [showRelationButton]="false"
@@ -94662,12 +94696,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
94662
94696
  [transactionTypeCategory]="transactionTypeCategory.SalesOrderQuotation"
94663
94697
  (openSendMethodDialog)="showSendMethodDialog = true"
94664
94698
  ></co-transaction-send-documents>
94665
- <co-transaction-button class="sales-quote-btn custom-width"
94666
- [title]="'SALES_ORDER' | localize"
94667
- [iconData]="iconCacheService.getIcon(icons.CartShoppingGear)"
94668
- [hidden]="refTransactions.length > 0"
94669
- (click)="createSalesOrder()"
94670
- ></co-transaction-button>
94699
+ @if (refTransactions.length <= 0 || transactionService.canGenerateMultipleOrdersFromSingleQuotation) {
94700
+ <co-transaction-button class="sales-quote-btn custom-width"
94701
+ [title]="'SALES_ORDER' | localize"
94702
+ [iconData]="iconCacheService.getIcon(icons.CartShoppingGear)"
94703
+ (click)="createSalesOrder()"
94704
+ ></co-transaction-button>
94705
+ }
94671
94706
  <co-transaction-navigation-button-list
94672
94707
  [refTransactions]="refTransactions"
94673
94708
  [showRelationButton]="false"
@@ -110575,6 +110610,7 @@ class ServiceWizardSearchBundleComponent {
110575
110610
  placeholder;
110576
110611
  set relation(value) {
110577
110612
  this.transactionSearchService.searchRequest.relationNrTr = Number(value.relationNumber);
110613
+ this.transactionSearchService.searchRequest.quantityAllocated = [2, 3];
110578
110614
  }
110579
110615
  filterIconClick = new EventEmitter();
110580
110616
  closeClick = new EventEmitter();
@@ -110620,6 +110656,7 @@ class ServiceWizardSearchBundleComponent {
110620
110656
  <div class="transaction-tile" [classList]="transaction.transDate">
110621
110657
  <co-transaction-search-sales-line-select-tile
110622
110658
  [transaction]="transaction"
110659
+ [filterOnlyAllocated]="true"
110623
110660
  [customerPortal]="true"
110624
110661
  (lineClicked)="transLineClicked($event)">
110625
110662
  </co-transaction-search-sales-line-select-tile>
@@ -110632,7 +110669,7 @@ class ServiceWizardSearchBundleComponent {
110632
110669
  }
110633
110670
 
110634
110671
  </div>
110635
- `, isInline: true, dependencies: [{ kind: "component", type: i1$1.ButtonComponent, selector: "co-button", inputs: ["label", "iconData", "iconDataRight", "isToggleButton", "isToggled", "hidden", "disabled"], outputs: ["onClick", "clickedWhileDisabled", "isToggledChange"] }, { kind: "component", type: TransactionSearchSalesLineSelectTileComponent, selector: "co-transaction-search-sales-line-select-tile", inputs: ["extendedTransactionSearch", "returnWizardLayout", "customerPortal"], outputs: ["lineClicked", "transactionClick"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], encapsulation: i0.ViewEncapsulation.None });
110672
+ `, isInline: true, dependencies: [{ kind: "component", type: i1$1.ButtonComponent, selector: "co-button", inputs: ["label", "iconData", "iconDataRight", "isToggleButton", "isToggled", "hidden", "disabled"], outputs: ["onClick", "clickedWhileDisabled", "isToggledChange"] }, { kind: "component", type: TransactionSearchSalesLineSelectTileComponent, selector: "co-transaction-search-sales-line-select-tile", inputs: ["extendedTransactionSearch", "returnWizardLayout", "customerPortal", "filterOnlyAllocated"], outputs: ["lineClicked", "transactionClick"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], encapsulation: i0.ViewEncapsulation.None });
110636
110673
  }
110637
110674
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ServiceWizardSearchBundleComponent, decorators: [{
110638
110675
  type: Component,
@@ -110646,6 +110683,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
110646
110683
  <div class="transaction-tile" [classList]="transaction.transDate">
110647
110684
  <co-transaction-search-sales-line-select-tile
110648
110685
  [transaction]="transaction"
110686
+ [filterOnlyAllocated]="true"
110649
110687
  [customerPortal]="true"
110650
110688
  (lineClicked)="transLineClicked($event)">
110651
110689
  </co-transaction-search-sales-line-select-tile>