@colijnit/transaction 300.1.35 → 300.1.37

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.
@@ -364,8 +364,8 @@ import { DateField } from '@colijnit/ioneconnector/build/factory/decorators/date
364
364
  class Version {
365
365
  name = "@colijnit/transaction";
366
366
  description = "Colijn IT transaction package";
367
- symVer = "300.1.35";
368
- publishDate = "6-10-2026, 16:48:50";
367
+ symVer = "300.1.37";
368
+ publishDate = "8-10-2026, 16:43:47";
369
369
  }
370
370
 
371
371
  class CheckoutModuleService extends BaseModuleService {
@@ -471,6 +471,7 @@ var TransactionTypeCategory;
471
471
  TransactionTypeCategory["SalesOrderReserve"] = "salesOrderQuotation";
472
472
  TransactionTypeCategory["SalesOrderActivities"] = "salesOrderActivities";
473
473
  TransactionTypeCategory["SalesOrderQuotation"] = "salesOrderQuotation";
474
+ TransactionTypeCategory["SalesOrderQuotationPurchase"] = "salesOrderQuotationPurchase";
474
475
  TransactionTypeCategory["SalesOrderQuotationActivities"] = "salesOrderQuotationActivities";
475
476
  TransactionTypeCategory["ServiceOrderService"] = "serviceOrderService";
476
477
  TransactionTypeCategory["ServiceOrderOverview"] = "serviceOrderOverview";
@@ -10245,6 +10246,7 @@ class TransactionBaseService extends BaseModuleService {
10245
10246
  internalParameterSellDirectlyFromSupp = false;
10246
10247
  internalParameterStockMutBeforeDelivery = false;
10247
10248
  printColliStickerDefault = false;
10249
+ canGenerateMultipleOrdersFromSingleQuotation = false;
10248
10250
  internalPlanDaysParam = 0;
10249
10251
  coolingOffPeriodInDaysParam = 0;
10250
10252
  contactPersonId = 0;
@@ -10382,6 +10384,9 @@ class TransactionBaseService extends BaseModuleService {
10382
10384
  this.printColliStickerDefault = (value === "J");
10383
10385
  });
10384
10386
  }
10387
+ async prepareCanGenerateMultipleOrdersFromSingleQuotationParam() {
10388
+ this.canGenerateMultipleOrdersFromSingleQuotation = await this.getInternalParameter(InternalParam.QuotationToOrderMulti);
10389
+ }
10385
10390
  async getInternalParameter(param) {
10386
10391
  const response = await this.connector.getInternalParameterValue(param);
10387
10392
  return response && response === 'J';
@@ -13727,6 +13732,7 @@ class TransactionService extends PendingReasonService {
13727
13732
  this.prepareCanChangeRelationParam();
13728
13733
  this.prepareInternalPlanDaysParam();
13729
13734
  this.prepareCoolingOffPeriodInDaysParam();
13735
+ this.prepareCanGenerateMultipleOrdersFromSingleQuotationParam();
13730
13736
  if (!fromHeader) {
13731
13737
  this.suggestedReceiptLocations.length = 0;
13732
13738
  if (transactionInfoResponse && transactionInfoResponse.transactionInfo && transactionInfoResponse.transactionInfo.id) {
@@ -32306,11 +32312,19 @@ class RelationGeneralComponent extends RelationBaseComponent {
32306
32312
  @if (relationType === relType.Private) {
32307
32313
  <div class="collapseable" @showHidePrivateRelationFields>
32308
32314
  <div class="default-data-row">
32309
- <relation-customer-titles
32310
- [screenConfigurationObject]="cfgNames.RelationTitle"
32311
- [model]="relation.titleId"
32312
- (modelChange)="handleCustomerTitleChange($event)">
32313
- </relation-customer-titles>
32315
+ <relation-customer-titles
32316
+ class="search"
32317
+ [screenConfigurationObject]="cfgNames.RelationTitle"
32318
+ [model]="relation.titleId"
32319
+ (modelChange)="handleCustomerTitleChange($event)">
32320
+ </relation-customer-titles>
32321
+ <co-input-text
32322
+ class="checkout-prefix-name default-width search"
32323
+ [screenConfigurationObject]="configNames?.relationInitials"
32324
+ [readonly]="readonly"
32325
+ [(model)]="relation.initials"
32326
+ [placeholder]="'INITIALS' | localize"
32327
+ ></co-input-text>
32314
32328
  <co-input-text
32315
32329
  class="checkout-first-name"
32316
32330
  [screenConfigurationObject]="configNames?.relationFirstName"
@@ -32319,22 +32333,18 @@ class RelationGeneralComponent extends RelationBaseComponent {
32319
32333
  [placeholder]="'FIRST_NAME' | localize"
32320
32334
  (modelChange)="firstNameChange($event)"
32321
32335
  ></co-input-text>
32336
+ </div>
32337
+ <div class="default-data-row">
32338
+
32339
+
32340
+
32322
32341
  <co-input-text
32323
- class="checkout-prefix-name default-width"
32324
- [screenConfigurationObject]="configNames?.relationInitials"
32325
- [readonly]="readonly"
32326
- [(model)]="relation.initials"
32327
- [placeholder]="'INITIALS' | localize"
32328
- ></co-input-text>
32329
- <co-input-text
32330
- class="checkout-prefix-name default-width"
32342
+ class="checkout-prefix-name default-width search"
32331
32343
  [screenConfigurationObject]="configNames?.relationPrefix"
32332
32344
  [readonly]="readonly"
32333
32345
  [(model)]="relation.prefix"
32334
32346
  [placeholder]="'PREFIX' | localize"
32335
32347
  ></co-input-text>
32336
- </div>
32337
- <div class="default-data-row">
32338
32348
  <co-input-text
32339
32349
  class="checkout-last-name"
32340
32350
  [screenConfigurationObject]="configNames?.relationLastName"
@@ -32344,38 +32354,6 @@ class RelationGeneralComponent extends RelationBaseComponent {
32344
32354
  (modelChange)="familyNameChange($event)"
32345
32355
  ></co-input-text>
32346
32356
  </div>
32347
- <!-- <div class="default-data-row" [screenConfigurationObject]="configNames?.relationGender" [screenConfigNativeElement]="true">-->
32348
- <!-- <co-input-radio-button class="default-width"-->
32349
- <!-- [readonly]="readonly"-->
32350
- <!-- [label]="'MALE' | localize"-->
32351
- <!-- [model]="relation.gender === genderType.Male"-->
32352
- <!-- (modelChange)="changeGenderType(genderType.Male)"-->
32353
- <!-- ></co-input-radio-button>-->
32354
- <!-- <co-input-radio-button class="default-width"-->
32355
- <!-- [readonly]="readonly"-->
32356
- <!-- [label]="'FEMALE' | localize"-->
32357
- <!-- [model]="relation.gender === genderType.Female"-->
32358
- <!-- (modelChange)="changeGenderType(genderType.Female)"-->
32359
- <!-- ></co-input-radio-button>-->
32360
- <!-- <co-input-radio-button class="default-width"-->
32361
- <!-- [readonly]="readonly"-->
32362
- <!-- [label]="'UNKNOWN' | localize"-->
32363
- <!-- [model]="relation.gender === genderType.Unspecified"-->
32364
- <!-- (modelChange)="changeGenderType(genderType.Unspecified)"-->
32365
- <!-- ></co-input-radio-button>-->
32366
- <!-- </div>-->
32367
- <!--co-relation-contact-details
32368
- [configNames]="configNames?.contactDetails"
32369
- [readonly]="readonly"
32370
- [(relation)]="relation"
32371
- [relationKind]="relationKind"
32372
- (inputChangeForSuggestions)="inputChangeForSuggestions.emit($event)"
32373
- ></co-relation-contact-details-->
32374
- <!--
32375
- <div class="default-data-row">
32376
- <co-input-date [readonly]="readonly" [placeholder]="'DATE_OF_BIRTH' | localize " [(model)]="dateOfBirth"></co-input-date>
32377
- </div>
32378
- -->
32379
32357
  </div>
32380
32358
  }
32381
32359
  @if (relationType === relType.Company) {
@@ -32432,11 +32410,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
32432
32410
  @if (relationType === relType.Private) {
32433
32411
  <div class="collapseable" @showHidePrivateRelationFields>
32434
32412
  <div class="default-data-row">
32435
- <relation-customer-titles
32436
- [screenConfigurationObject]="cfgNames.RelationTitle"
32437
- [model]="relation.titleId"
32438
- (modelChange)="handleCustomerTitleChange($event)">
32439
- </relation-customer-titles>
32413
+ <relation-customer-titles
32414
+ class="search"
32415
+ [screenConfigurationObject]="cfgNames.RelationTitle"
32416
+ [model]="relation.titleId"
32417
+ (modelChange)="handleCustomerTitleChange($event)">
32418
+ </relation-customer-titles>
32419
+ <co-input-text
32420
+ class="checkout-prefix-name default-width search"
32421
+ [screenConfigurationObject]="configNames?.relationInitials"
32422
+ [readonly]="readonly"
32423
+ [(model)]="relation.initials"
32424
+ [placeholder]="'INITIALS' | localize"
32425
+ ></co-input-text>
32440
32426
  <co-input-text
32441
32427
  class="checkout-first-name"
32442
32428
  [screenConfigurationObject]="configNames?.relationFirstName"
@@ -32445,22 +32431,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
32445
32431
  [placeholder]="'FIRST_NAME' | localize"
32446
32432
  (modelChange)="firstNameChange($event)"
32447
32433
  ></co-input-text>
32434
+ </div>
32435
+ <div class="default-data-row">
32436
+
32437
+
32438
+
32448
32439
  <co-input-text
32449
- class="checkout-prefix-name default-width"
32450
- [screenConfigurationObject]="configNames?.relationInitials"
32451
- [readonly]="readonly"
32452
- [(model)]="relation.initials"
32453
- [placeholder]="'INITIALS' | localize"
32454
- ></co-input-text>
32455
- <co-input-text
32456
- class="checkout-prefix-name default-width"
32440
+ class="checkout-prefix-name default-width search"
32457
32441
  [screenConfigurationObject]="configNames?.relationPrefix"
32458
32442
  [readonly]="readonly"
32459
32443
  [(model)]="relation.prefix"
32460
32444
  [placeholder]="'PREFIX' | localize"
32461
32445
  ></co-input-text>
32462
- </div>
32463
- <div class="default-data-row">
32464
32446
  <co-input-text
32465
32447
  class="checkout-last-name"
32466
32448
  [screenConfigurationObject]="configNames?.relationLastName"
@@ -32470,38 +32452,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
32470
32452
  (modelChange)="familyNameChange($event)"
32471
32453
  ></co-input-text>
32472
32454
  </div>
32473
- <!-- <div class="default-data-row" [screenConfigurationObject]="configNames?.relationGender" [screenConfigNativeElement]="true">-->
32474
- <!-- <co-input-radio-button class="default-width"-->
32475
- <!-- [readonly]="readonly"-->
32476
- <!-- [label]="'MALE' | localize"-->
32477
- <!-- [model]="relation.gender === genderType.Male"-->
32478
- <!-- (modelChange)="changeGenderType(genderType.Male)"-->
32479
- <!-- ></co-input-radio-button>-->
32480
- <!-- <co-input-radio-button class="default-width"-->
32481
- <!-- [readonly]="readonly"-->
32482
- <!-- [label]="'FEMALE' | localize"-->
32483
- <!-- [model]="relation.gender === genderType.Female"-->
32484
- <!-- (modelChange)="changeGenderType(genderType.Female)"-->
32485
- <!-- ></co-input-radio-button>-->
32486
- <!-- <co-input-radio-button class="default-width"-->
32487
- <!-- [readonly]="readonly"-->
32488
- <!-- [label]="'UNKNOWN' | localize"-->
32489
- <!-- [model]="relation.gender === genderType.Unspecified"-->
32490
- <!-- (modelChange)="changeGenderType(genderType.Unspecified)"-->
32491
- <!-- ></co-input-radio-button>-->
32492
- <!-- </div>-->
32493
- <!--co-relation-contact-details
32494
- [configNames]="configNames?.contactDetails"
32495
- [readonly]="readonly"
32496
- [(relation)]="relation"
32497
- [relationKind]="relationKind"
32498
- (inputChangeForSuggestions)="inputChangeForSuggestions.emit($event)"
32499
- ></co-relation-contact-details-->
32500
- <!--
32501
- <div class="default-data-row">
32502
- <co-input-date [readonly]="readonly" [placeholder]="'DATE_OF_BIRTH' | localize " [(model)]="dateOfBirth"></co-input-date>
32503
- </div>
32504
- -->
32505
32455
  </div>
32506
32456
  }
32507
32457
  @if (relationType === relType.Company) {
@@ -33574,38 +33524,29 @@ class CheckoutOverviewRelationEditComponent {
33574
33524
  ></co-relation-type>
33575
33525
  }
33576
33526
 
33577
- @if (relationKind === relKind.Customer || relationKind === relKind.Supplier) {
33578
- <co-input-text
33579
- class="search"
33580
- [placeholder]="
33581
- (relationKind === relKind.Customer
33582
- ? 'CUSTOMER_NR'
33583
- : relationKind === relKind.Supplier
33584
- ? 'SUPPLIERNO'
33585
- : '')
33586
- | localize
33587
- "
33588
- [screenConfigurationObject]="cfgNames.SearchByRelationNr"
33589
- [model]="relation.relationNumber"
33590
- (modelChange)="handleRelationNumberChange($event)"
33591
- ></co-input-text>
33592
- }
33593
-
33594
33527
  <co-button class="empty-relation-button default-width" [label]="'EMPTY' | localize"
33595
33528
  (click)="emptyRelation($event)"></co-button>
33596
33529
  </div>
33597
- @if (relationKind === relKind.Customer) {
33530
+ @if (relationKind === relKind.Customer || relationKind === relKind.Supplier) {
33598
33531
  <div class="checkout-data-row">
33599
- <relation-customer-groups
33600
- [screenConfigurationObject]="cfgNames.RelationCustomerGroup"
33601
- [model]="customerGroup"
33602
- (modelChange)="handleCustomerGroupChange($event)">
33603
- </relation-customer-groups>
33604
- <relation-customer-languages
33605
- [screenConfigurationObject]="cfgNames.RelationLanguage"
33606
- [model]="customerLanguage"
33607
- (modelChange)="handleCustomerLanguageChange($event)">
33608
- </relation-customer-languages>
33532
+ <co-input-text
33533
+ [placeholder]="(relationKind === relKind.Customer ? 'CUSTOMER_NR' : relationKind === relKind.Supplier ? 'SUPPLIERNO' : '') | localize"
33534
+ [screenConfigurationObject]="cfgNames.SearchByRelationNr"
33535
+ [model]="relation.relationNumber"
33536
+ (modelChange)="handleRelationNumberChange($event)"
33537
+ ></co-input-text>
33538
+ @if (relationKind === relKind.Customer) {
33539
+ <relation-customer-groups
33540
+ [screenConfigurationObject]="cfgNames.RelationCustomerGroup"
33541
+ [model]="customerGroup"
33542
+ (modelChange)="handleCustomerGroupChange($event)">
33543
+ </relation-customer-groups>
33544
+ <relation-customer-languages
33545
+ [screenConfigurationObject]="cfgNames.RelationLanguage"
33546
+ [model]="customerLanguage"
33547
+ (modelChange)="handleCustomerLanguageChange($event)">
33548
+ </relation-customer-languages>
33549
+ }
33609
33550
  </div>
33610
33551
  }
33611
33552
  <div class="checkout-data-row">
@@ -33617,6 +33558,10 @@ class CheckoutOverviewRelationEditComponent {
33617
33558
  (inputChangeForSuggestions)="handleInputChange($event)"
33618
33559
  ></co-relation-general>
33619
33560
  </div>
33561
+ <div class="checkout-label-column">
33562
+ <!--span #indexLabel></span-->
33563
+ <span class="label-description" [textContent]="'ADDRESS_DATA' | localize"></span>
33564
+ </div>
33620
33565
  <div class="checkout-data-row">
33621
33566
  <co-relation-address
33622
33567
  [configNames]="relationAddressConfigNames"
@@ -33748,38 +33693,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
33748
33693
  ></co-relation-type>
33749
33694
  }
33750
33695
 
33751
- @if (relationKind === relKind.Customer || relationKind === relKind.Supplier) {
33752
- <co-input-text
33753
- class="search"
33754
- [placeholder]="
33755
- (relationKind === relKind.Customer
33756
- ? 'CUSTOMER_NR'
33757
- : relationKind === relKind.Supplier
33758
- ? 'SUPPLIERNO'
33759
- : '')
33760
- | localize
33761
- "
33762
- [screenConfigurationObject]="cfgNames.SearchByRelationNr"
33763
- [model]="relation.relationNumber"
33764
- (modelChange)="handleRelationNumberChange($event)"
33765
- ></co-input-text>
33766
- }
33767
-
33768
33696
  <co-button class="empty-relation-button default-width" [label]="'EMPTY' | localize"
33769
33697
  (click)="emptyRelation($event)"></co-button>
33770
33698
  </div>
33771
- @if (relationKind === relKind.Customer) {
33699
+ @if (relationKind === relKind.Customer || relationKind === relKind.Supplier) {
33772
33700
  <div class="checkout-data-row">
33773
- <relation-customer-groups
33774
- [screenConfigurationObject]="cfgNames.RelationCustomerGroup"
33775
- [model]="customerGroup"
33776
- (modelChange)="handleCustomerGroupChange($event)">
33777
- </relation-customer-groups>
33778
- <relation-customer-languages
33779
- [screenConfigurationObject]="cfgNames.RelationLanguage"
33780
- [model]="customerLanguage"
33781
- (modelChange)="handleCustomerLanguageChange($event)">
33782
- </relation-customer-languages>
33701
+ <co-input-text
33702
+ [placeholder]="(relationKind === relKind.Customer ? 'CUSTOMER_NR' : relationKind === relKind.Supplier ? 'SUPPLIERNO' : '') | localize"
33703
+ [screenConfigurationObject]="cfgNames.SearchByRelationNr"
33704
+ [model]="relation.relationNumber"
33705
+ (modelChange)="handleRelationNumberChange($event)"
33706
+ ></co-input-text>
33707
+ @if (relationKind === relKind.Customer) {
33708
+ <relation-customer-groups
33709
+ [screenConfigurationObject]="cfgNames.RelationCustomerGroup"
33710
+ [model]="customerGroup"
33711
+ (modelChange)="handleCustomerGroupChange($event)">
33712
+ </relation-customer-groups>
33713
+ <relation-customer-languages
33714
+ [screenConfigurationObject]="cfgNames.RelationLanguage"
33715
+ [model]="customerLanguage"
33716
+ (modelChange)="handleCustomerLanguageChange($event)">
33717
+ </relation-customer-languages>
33718
+ }
33783
33719
  </div>
33784
33720
  }
33785
33721
  <div class="checkout-data-row">
@@ -33791,6 +33727,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
33791
33727
  (inputChangeForSuggestions)="handleInputChange($event)"
33792
33728
  ></co-relation-general>
33793
33729
  </div>
33730
+ <div class="checkout-label-column">
33731
+ <!--span #indexLabel></span-->
33732
+ <span class="label-description" [textContent]="'ADDRESS_DATA' | localize"></span>
33733
+ </div>
33794
33734
  <div class="checkout-data-row">
33795
33735
  <co-relation-address
33796
33736
  [configNames]="relationAddressConfigNames"
@@ -48254,6 +48194,7 @@ class TransactionSearchSalesLineSelectTileComponent extends TransactionSearchTil
48254
48194
  extendedTransactionSearch = false;
48255
48195
  returnWizardLayout = false;
48256
48196
  customerPortal = false;
48197
+ filterOnlyAllocated = false;
48257
48198
  lineClicked = new EventEmitter();
48258
48199
  transactionClick = new EventEmitter();
48259
48200
  lines;
@@ -48266,7 +48207,13 @@ class TransactionSearchSalesLineSelectTileComponent extends TransactionSearchTil
48266
48207
  }
48267
48208
  async handleVisibilityChange(visible) {
48268
48209
  if (visible && (this.lines === null || this.lines === undefined)) {
48269
- this.lines = await this.transactionService.getLineIndicesByTransId(this.transaction.transId);
48210
+ let foundLines = await this.transactionService.getLineIndicesByTransId(this.transaction.transId);
48211
+ if (!this.filterOnlyAllocated) {
48212
+ this.lines = foundLines;
48213
+ }
48214
+ else {
48215
+ this.lines = foundLines.filter(l => l.quantityAllocated > 0);
48216
+ }
48270
48217
  }
48271
48218
  }
48272
48219
  tileClicked(line) {
@@ -48305,7 +48252,7 @@ class TransactionSearchSalesLineSelectTileComponent extends TransactionSearchTil
48305
48252
  }
48306
48253
  }
48307
48254
  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 });
48308
- 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: `
48255
+ 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: `
48309
48256
  @if (customerPortal) {
48310
48257
  <div class="co-transaction-search-sales-line-select-tile-wrapper " observeVisibility #observer=visibilityObserve
48311
48258
  (visibilityChange)="handleVisibilityChange($event)">
@@ -48536,6 +48483,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
48536
48483
  type: Input
48537
48484
  }], customerPortal: [{
48538
48485
  type: Input
48486
+ }], filterOnlyAllocated: [{
48487
+ type: Input
48539
48488
  }], lineClicked: [{
48540
48489
  type: Output
48541
48490
  }], transactionClick: [{
@@ -48549,6 +48498,7 @@ class DialogTransactionSearchComponent {
48549
48498
  placeholder;
48550
48499
  set relation(value) {
48551
48500
  this.transactionSearchService.searchRequest.relationNrTr = Number(value.relationNumber);
48501
+ this.transactionSearchService.searchRequest.quantityAllocated = [2, 3];
48552
48502
  }
48553
48503
  filterIconClick = new EventEmitter();
48554
48504
  closeClick = new EventEmitter();
@@ -48576,62 +48526,66 @@ class DialogTransactionSearchComponent {
48576
48526
  this.transactionSearchService.searchTransactions();
48577
48527
  }
48578
48528
  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 });
48579
- 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: `
48580
- <co-dialog (closeClick)="closeClick.emit()" >
48581
-
48582
- <div class="search-wrapper">
48583
- <co-transaction-search-header (filterIconClick)="onFilterButtonClick()"></co-transaction-search-header>
48584
- <div class="search-content">
48585
- <ng-container>
48586
- @if (showFilters) {
48587
- <div class="search-filter-panel narrow-scrollbar" >
48588
- <co-transaction-filter></co-transaction-filter>
48589
- </div>
48590
- }
48591
- <div class="search-result-content">
48592
- @for (transaction of transactionSearchService.transactions; track transaction) {
48593
- <div class="transaction-tile">
48594
- <co-transaction-search-sales-line-select-tile
48595
- [transaction]="transaction" (lineClicked)="transLineClicked($event)">
48596
- </co-transaction-search-sales-line-select-tile>
48597
- </div>
48598
- }
48599
- </div>
48600
- </ng-container>
48601
- </div>
48602
- </div>
48603
- </co-dialog>
48604
- `, 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 });
48529
+ 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: `
48530
+ <co-dialog (closeClick)="closeClick.emit()" >
48531
+
48532
+ <div class="search-wrapper">
48533
+ <co-transaction-search-header (filterIconClick)="onFilterButtonClick()"></co-transaction-search-header>
48534
+ <div class="search-content">
48535
+ <ng-container>
48536
+ @if (showFilters) {
48537
+ <div class="search-filter-panel narrow-scrollbar" >
48538
+ <co-transaction-filter></co-transaction-filter>
48539
+ </div>
48540
+ }
48541
+ <div class="search-result-content">
48542
+ @for (transaction of transactionSearchService.transactions; track transaction) {
48543
+ <div class="transaction-tile">
48544
+ <co-transaction-search-sales-line-select-tile
48545
+ [transaction]="transaction"
48546
+ [filterOnlyAllocated]="true"
48547
+ (lineClicked)="transLineClicked($event)">
48548
+ </co-transaction-search-sales-line-select-tile>
48549
+ </div>
48550
+ }
48551
+ </div>
48552
+ </ng-container>
48553
+ </div>
48554
+ </div>
48555
+ </co-dialog>
48556
+ `, 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 });
48605
48557
  }
48606
48558
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DialogTransactionSearchComponent, decorators: [{
48607
48559
  type: Component,
48608
48560
  args: [{
48609
48561
  selector: "co-dialog-transaction-search",
48610
- template: `
48611
- <co-dialog (closeClick)="closeClick.emit()" >
48612
-
48613
- <div class="search-wrapper">
48614
- <co-transaction-search-header (filterIconClick)="onFilterButtonClick()"></co-transaction-search-header>
48615
- <div class="search-content">
48616
- <ng-container>
48617
- @if (showFilters) {
48618
- <div class="search-filter-panel narrow-scrollbar" >
48619
- <co-transaction-filter></co-transaction-filter>
48620
- </div>
48621
- }
48622
- <div class="search-result-content">
48623
- @for (transaction of transactionSearchService.transactions; track transaction) {
48624
- <div class="transaction-tile">
48625
- <co-transaction-search-sales-line-select-tile
48626
- [transaction]="transaction" (lineClicked)="transLineClicked($event)">
48627
- </co-transaction-search-sales-line-select-tile>
48628
- </div>
48629
- }
48630
- </div>
48631
- </ng-container>
48632
- </div>
48633
- </div>
48634
- </co-dialog>
48562
+ template: `
48563
+ <co-dialog (closeClick)="closeClick.emit()" >
48564
+
48565
+ <div class="search-wrapper">
48566
+ <co-transaction-search-header (filterIconClick)="onFilterButtonClick()"></co-transaction-search-header>
48567
+ <div class="search-content">
48568
+ <ng-container>
48569
+ @if (showFilters) {
48570
+ <div class="search-filter-panel narrow-scrollbar" >
48571
+ <co-transaction-filter></co-transaction-filter>
48572
+ </div>
48573
+ }
48574
+ <div class="search-result-content">
48575
+ @for (transaction of transactionSearchService.transactions; track transaction) {
48576
+ <div class="transaction-tile">
48577
+ <co-transaction-search-sales-line-select-tile
48578
+ [transaction]="transaction"
48579
+ [filterOnlyAllocated]="true"
48580
+ (lineClicked)="transLineClicked($event)">
48581
+ </co-transaction-search-sales-line-select-tile>
48582
+ </div>
48583
+ }
48584
+ </div>
48585
+ </ng-container>
48586
+ </div>
48587
+ </div>
48588
+ </co-dialog>
48635
48589
  `,
48636
48590
  encapsulation: ViewEncapsulation.None,
48637
48591
  standalone: false
@@ -57715,7 +57669,7 @@ class TransactionLineSupplierComponent extends TransactionFilterPopupLineBaseCom
57715
57669
  this._getCollection();
57716
57670
  }
57717
57671
  async commit(id) {
57718
- if (this.transactionLine.supplierId !== id) {
57672
+ if (this.transactionLine.supplierId !== id && (await this.lockTransaction())) {
57719
57673
  const oldId = this.transactionLine.supplierId;
57720
57674
  const success = await this.transactionService.updateSupplierTransactionLine(this.transactionService.currentTransaction.transactionInfo.uuid, this.transactionLine.uuid, id);
57721
57675
  if (!success) {
@@ -59036,6 +58990,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
59036
58990
  }] } });
59037
58991
 
59038
58992
  class TransactionPurchaseLineComponent extends TransactionPurchaseLineBaseComponent {
58993
+ TransactionKind = TransactionKind;
59039
58994
  showConfirmedDeliveryDate = true;
59040
58995
  lineIndex;
59041
58996
  showClass() {
@@ -59098,12 +59053,20 @@ class TransactionPurchaseLineComponent extends TransactionPurchaseLineBaseCompon
59098
59053
  this.salesReservationService.salesReservationLines = reservation.salesOrderLines.filter((line) => line.lineNr === lineNr);
59099
59054
  this.transactionHeaderService.reservationPopupToggle.next(true);
59100
59055
  }
59056
+ readOnlyClassNeeded() {
59057
+ if (this.transactionKind !== TransactionKind.SalesQuotation) {
59058
+ return !this.transactionInfo.transactionDefinitive;
59059
+ }
59060
+ else {
59061
+ return ((!this.transactionService.canGenerateMultipleOrdersFromSingleQuotation) && (this.transactionLine.refTransactions.length > 0));
59062
+ }
59063
+ }
59101
59064
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionPurchaseLineComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
59102
59065
  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: `
59103
59066
  <co-transaction-base-line
59104
59067
  [lineIndex]="lineIndex"
59105
59068
  [preview]="preview"
59106
- [checkbox]="showCheckboxForLine && transactionInfo.transactionDefinitive"
59069
+ [checkbox]="showCheckboxForLine && transactionInfo.transactionDefinitive && transactionKind !== TransactionKind.SalesQuotation"
59107
59070
  [checkboxValue]="transactionLine.selected"
59108
59071
  (checkboxValueChanged)="transactionLineSelectedChanged($event)"
59109
59072
  [isFirst]="isFirst"
@@ -59114,7 +59077,7 @@ class TransactionPurchaseLineComponent extends TransactionPurchaseLineBaseCompon
59114
59077
  [iconData]="iconCacheService.getIcon(icons.PalletBoxesRotate)">
59115
59078
  </co-icon>
59116
59079
  </span>
59117
- <div class="transaction-line-wrapper" [class.transaction-not-definitive]="!transactionInfo.transactionDefinitive">
59080
+ <div class="transaction-line-wrapper" [class.transaction-not-definitive]="readOnlyClassNeeded()">
59118
59081
  <div *ngIf=!preview class="transaction-line-extended-wrapper">
59119
59082
  <div class="column-full align-right">
59120
59083
  <co-transaction-line-statusbar
@@ -59192,7 +59155,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
59192
59155
  <co-transaction-base-line
59193
59156
  [lineIndex]="lineIndex"
59194
59157
  [preview]="preview"
59195
- [checkbox]="showCheckboxForLine && transactionInfo.transactionDefinitive"
59158
+ [checkbox]="showCheckboxForLine && transactionInfo.transactionDefinitive && transactionKind !== TransactionKind.SalesQuotation"
59196
59159
  [checkboxValue]="transactionLine.selected"
59197
59160
  (checkboxValueChanged)="transactionLineSelectedChanged($event)"
59198
59161
  [isFirst]="isFirst"
@@ -59203,7 +59166,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
59203
59166
  [iconData]="iconCacheService.getIcon(icons.PalletBoxesRotate)">
59204
59167
  </co-icon>
59205
59168
  </span>
59206
- <div class="transaction-line-wrapper" [class.transaction-not-definitive]="!transactionInfo.transactionDefinitive">
59169
+ <div class="transaction-line-wrapper" [class.transaction-not-definitive]="readOnlyClassNeeded()">
59207
59170
  <div *ngIf=!preview class="transaction-line-extended-wrapper">
59208
59171
  <div class="column-full align-right">
59209
59172
  <co-transaction-line-statusbar
@@ -66287,6 +66250,7 @@ class TransactionButtonBarModule {
66287
66250
  ]],
66288
66251
  [TransactionKind.SalesQuotation, [
66289
66252
  { title: 'OVERVIEW', icon: Icon.CartShoppingRegular, category: TransactionTypeCategory.SalesOrderQuotation, component: TransactionSalesQuotationButtonBarButtonComponent, cfgName: TransactionCfgName.RubricOverview },
66253
+ { title: 'PURCHASE', icon: Icon.PalletBoxesSharpRegular, category: TransactionTypeCategory.SalesOrderQuotationPurchase, component: TransactionSalesPurchaseButtonBarButtonComponent, cfgName: TransactionCfgName.RubricPurchase },
66290
66254
  { title: 'ACTIVITIES', icon: Icon.RegularGearCircleUser, category: TransactionTypeCategory.SalesOrderQuotationActivities, component: TransactionActivitiesButtonBarButtonComponent, cfgName: TransactionCfgName.RubricActivities },
66291
66255
  //{title: 'DELIVERY_NOTE', icon: Icon.MemoCircleCheckRegular, category: TransactionTypeCategory.SalesOrderDeliveryNote, component: TransactionSalesDeliveryButtonBarButtonComponent, cfgName: TransactionCfgName.RubricDelivery},
66292
66256
  ]],
@@ -66384,6 +66348,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
66384
66348
  ]],
66385
66349
  [TransactionKind.SalesQuotation, [
66386
66350
  { title: 'OVERVIEW', icon: Icon.CartShoppingRegular, category: TransactionTypeCategory.SalesOrderQuotation, component: TransactionSalesQuotationButtonBarButtonComponent, cfgName: TransactionCfgName.RubricOverview },
66351
+ { title: 'PURCHASE', icon: Icon.PalletBoxesSharpRegular, category: TransactionTypeCategory.SalesOrderQuotationPurchase, component: TransactionSalesPurchaseButtonBarButtonComponent, cfgName: TransactionCfgName.RubricPurchase },
66387
66352
  { title: 'ACTIVITIES', icon: Icon.RegularGearCircleUser, category: TransactionTypeCategory.SalesOrderQuotationActivities, component: TransactionActivitiesButtonBarButtonComponent, cfgName: TransactionCfgName.RubricActivities },
66388
66353
  //{title: 'DELIVERY_NOTE', icon: Icon.MemoCircleCheckRegular, category: TransactionTypeCategory.SalesOrderDeliveryNote, component: TransactionSalesDeliveryButtonBarButtonComponent, cfgName: TransactionCfgName.RubricDelivery},
66389
66354
  ]],
@@ -71250,7 +71215,7 @@ class TransactionSalesOrderFilterContentOrderComponent extends TransactionFilter
71250
71215
  </div>
71251
71216
 
71252
71217
  }
71253
-
71218
+
71254
71219
  <div class="filter-item-wrapper">
71255
71220
  <co-transaction-filter-item [placeholder]="'HAS_LINES'"
71256
71221
  [(model)]="searchService.searchRequest.ordersWithOrWithoutLines"
@@ -71259,7 +71224,7 @@ class TransactionSalesOrderFilterContentOrderComponent extends TransactionFilter
71259
71224
  (activeFilterCountChange)="onActiveFilterCountChanged($event)">
71260
71225
  </co-transaction-filter-item>
71261
71226
  </div>
71262
-
71227
+
71263
71228
  <!--Orderdatum-->
71264
71229
  <div class="filter-item-wrapper">
71265
71230
  <co-transaction-filter-item [placeholder]="'ORDER_DATE'"
@@ -71437,7 +71402,7 @@ class TransactionSalesOrderFilterContentOrderComponent extends TransactionFilter
71437
71402
  (activeFilterCountChange)="onActiveFilterCountChanged($event)">
71438
71403
  </co-transaction-filter-item>
71439
71404
  </div>
71440
-
71405
+
71441
71406
  </div>
71442
71407
  `, isInline: true, dependencies: [{ kind: "component", type: TransactionFilterItemComponent, selector: "co-transaction-filter-item", inputs: ["model", "mode", "collection", "placeholder", "customContent", "singleSelect", "sliderDefaultMin", "sliderDefaultMax", "minSearchCharsToLoadCollection", "searchCollectionPlaceholder", "collectionLoadFn", "canFilterByCode"], outputs: ["modelChange", "collectionChange", "activeFilterCountChange"] }] });
71443
71408
  }
@@ -71461,7 +71426,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
71461
71426
  </div>
71462
71427
 
71463
71428
  }
71464
-
71429
+
71465
71430
  <div class="filter-item-wrapper">
71466
71431
  <co-transaction-filter-item [placeholder]="'HAS_LINES'"
71467
71432
  [(model)]="searchService.searchRequest.ordersWithOrWithoutLines"
@@ -71470,7 +71435,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
71470
71435
  (activeFilterCountChange)="onActiveFilterCountChanged($event)">
71471
71436
  </co-transaction-filter-item>
71472
71437
  </div>
71473
-
71438
+
71474
71439
  <!--Orderdatum-->
71475
71440
  <div class="filter-item-wrapper">
71476
71441
  <co-transaction-filter-item [placeholder]="'ORDER_DATE'"
@@ -71648,7 +71613,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
71648
71613
  (activeFilterCountChange)="onActiveFilterCountChanged($event)">
71649
71614
  </co-transaction-filter-item>
71650
71615
  </div>
71651
-
71616
+
71652
71617
  </div>
71653
71618
  `,
71654
71619
  standalone: false
@@ -74687,7 +74652,7 @@ class TransactionSearchResultComponent {
74687
74652
  (close)="showBatchProcessDialog = false">
74688
74653
  </co-batch-process-dialog>
74689
74654
  }
74690
- `, 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: [
74655
+ `, 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: [
74691
74656
  trigger('fadeInOut', [
74692
74657
  transition(':enter', [
74693
74658
  style({ opacity: 0 }),
@@ -78948,6 +78913,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
78948
78913
  }] });
78949
78914
 
78950
78915
  class TransactionServiceOrderFilterContentOrderComponent extends TransactionFilterContentBaseComponent {
78916
+ transactionFilterContentService;
78917
+ _dictionaryService;
78951
78918
  modes = FilterItemMode;
78952
78919
  showClass() {
78953
78920
  return true;
@@ -78970,6 +78937,8 @@ class TransactionServiceOrderFilterContentOrderComponent extends TransactionFilt
78970
78937
  orderFullyPaidFields = { text: "description", value: "code" };
78971
78938
  orderDepositFullyPaid;
78972
78939
  orderDepositFullyPaidFields = { text: "description", value: "code" };
78940
+ transactionKinds;
78941
+ transactionKindsFields = { text: 'description', value: 'code' };
78973
78942
  orderActive;
78974
78943
  orderActiveFields = { text: "description", value: "code" };
78975
78944
  customerGroups;
@@ -78982,6 +78951,11 @@ class TransactionServiceOrderFilterContentOrderComponent extends TransactionFilt
78982
78951
  slaProductsFields = { text: "description", value: "description" };
78983
78952
  searchTypes;
78984
78953
  searchTypeFields = { text: 'name', value: 'value' };
78954
+ constructor(searchService, filterRequestService, transactionService, changeDetector, relationService, transationConnectorService, transactionFilterContentService, _dictionaryService) {
78955
+ super(searchService, filterRequestService, transactionService, changeDetector, relationService, transationConnectorService, _dictionaryService);
78956
+ this.transactionFilterContentService = transactionFilterContentService;
78957
+ this._dictionaryService = _dictionaryService;
78958
+ }
78985
78959
  handleCollectionChange() {
78986
78960
  this.changeDetector.detectChanges();
78987
78961
  }
@@ -79004,11 +78978,30 @@ class TransactionServiceOrderFilterContentOrderComponent extends TransactionFilt
79004
78978
  this._setOrderDepositFullyPaid();
79005
78979
  this._setOrderActive();
79006
78980
  this._setCustomerGroups();
78981
+ this._setTransactionKinds();
79007
78982
  this._setWorkFlowStatusNames();
79008
78983
  this._setSLAProducts();
79009
78984
  this._setAllProjectCodes();
79010
78985
  this._setSearchTypes();
79011
78986
  }
78987
+ handleTransactionKindChange(codeList) {
78988
+ if (!this.searchRequest.transKindList) {
78989
+ this.searchRequest.transKindList = [];
78990
+ }
78991
+ codeList.forEach(code => {
78992
+ switch (code) {
78993
+ case '1':
78994
+ this.searchService.searchRequest.transKindList.push(TransactionKind.SalesOrder);
78995
+ break;
78996
+ case '2':
78997
+ this.searchService.searchRequest.transKindList.push(TransactionKind.ServiceOrder);
78998
+ break;
78999
+ case '3':
79000
+ this.searchService.searchRequest.transKindList.push(TransactionKind.InternalDelivery);
79001
+ break;
79002
+ }
79003
+ });
79004
+ }
79012
79005
  //Verkoper
79013
79006
  _setSalesPersons() {
79014
79007
  this.transactionService.getSalesPersons().then((salesPersons) => {
@@ -79094,10 +79087,27 @@ class TransactionServiceOrderFilterContentOrderComponent extends TransactionFilt
79094
79087
  }));
79095
79088
  this.searchTypes = new FilterViewmodel(searchTypes, this.searchTypeFields).filterItems;
79096
79089
  }
79097
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionServiceOrderFilterContentOrderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
79098
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.16", type: TransactionServiceOrderFilterContentOrderComponent, isStandalone: false, selector: "co-transaction-service-order-filter-content-order", host: { properties: { "class.co-transaction-search-filter-content": "this.showClass" } }, usesInheritance: true, ngImport: i0, template: `
79090
+ _setTransactionKinds() {
79091
+ this.transationConnectorService.getTransactionTypes().then((transactionTypes) => {
79092
+ this.transactionKinds = new FilterViewmodel(transactionTypes, this.transactionKindsFields).filterItems;
79093
+ });
79094
+ }
79095
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: TransactionServiceOrderFilterContentOrderComponent, deps: [{ token: TransactionSearchService }, { token: FilterRequestService }, { token: TransactionService }, { token: i0.ChangeDetectorRef }, { token: TransactionRelationService }, { token: TransactionConnectorService }, { token: TransactionFilterContentService }, { token: DictionaryService }], target: i0.ɵɵFactoryTarget.Component });
79096
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: TransactionServiceOrderFilterContentOrderComponent, isStandalone: false, selector: "co-transaction-service-order-filter-content-order", host: { properties: { "class.co-transaction-search-filter-content": "this.showClass" } }, usesInheritance: true, ngImport: i0, template: `
79099
79097
  <div class="transaction-filter-content-order-wrapper transaction-filter-content-wrapper">
79098
+ @if (transactionFilterContentService.showTransactionTypes) {
79099
+ <!--Transaction kind list-->
79100
+ <div class="filter-item-wrapper">
79101
+ <co-transaction-filter-item [placeholder]="'TRANSACTION_TYPES'"
79102
+ [model]="searchService.searchRequest.transKindList"
79103
+ (modelChange)="handleTransactionKindChange($event)"
79104
+ [mode]="modes.SelectListWithStringCollectionOutput"
79105
+ [collection]="transactionKinds"
79106
+ (activeFilterCountChange)="onActiveFilterCountChanged($event)">
79107
+ </co-transaction-filter-item>
79108
+ </div>
79100
79109
 
79110
+ }
79101
79111
  <!--Orderdatum-->
79102
79112
  <div class="filter-item-wrapper">
79103
79113
  <co-transaction-filter-item [placeholder]="'ORDER_DATE'"
@@ -79309,7 +79319,7 @@ class TransactionServiceOrderFilterContentOrderComponent extends TransactionFilt
79309
79319
  </co-transaction-filter-item>
79310
79320
  </div>
79311
79321
  </div>
79312
-
79322
+
79313
79323
  <div class="filter-item-wrapper">
79314
79324
  <co-transaction-filter-item [placeholder]="'SEARCH_TYPE'"
79315
79325
  [collection]="searchTypes"
@@ -79326,7 +79336,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
79326
79336
  selector: 'co-transaction-service-order-filter-content-order',
79327
79337
  template: `
79328
79338
  <div class="transaction-filter-content-order-wrapper transaction-filter-content-wrapper">
79339
+ @if (transactionFilterContentService.showTransactionTypes) {
79340
+ <!--Transaction kind list-->
79341
+ <div class="filter-item-wrapper">
79342
+ <co-transaction-filter-item [placeholder]="'TRANSACTION_TYPES'"
79343
+ [model]="searchService.searchRequest.transKindList"
79344
+ (modelChange)="handleTransactionKindChange($event)"
79345
+ [mode]="modes.SelectListWithStringCollectionOutput"
79346
+ [collection]="transactionKinds"
79347
+ (activeFilterCountChange)="onActiveFilterCountChanged($event)">
79348
+ </co-transaction-filter-item>
79349
+ </div>
79329
79350
 
79351
+ }
79330
79352
  <!--Orderdatum-->
79331
79353
  <div class="filter-item-wrapper">
79332
79354
  <co-transaction-filter-item [placeholder]="'ORDER_DATE'"
@@ -79538,7 +79560,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
79538
79560
  </co-transaction-filter-item>
79539
79561
  </div>
79540
79562
  </div>
79541
-
79563
+
79542
79564
  <div class="filter-item-wrapper">
79543
79565
  <co-transaction-filter-item [placeholder]="'SEARCH_TYPE'"
79544
79566
  [collection]="searchTypes"
@@ -79550,7 +79572,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
79550
79572
  `,
79551
79573
  standalone: false
79552
79574
  }]
79553
- }], propDecorators: { showClass: [{
79575
+ }], ctorParameters: () => [{ type: TransactionSearchService }, { type: FilterRequestService }, { type: TransactionService }, { type: i0.ChangeDetectorRef }, { type: TransactionRelationService }, { type: TransactionConnectorService }, { type: TransactionFilterContentService }, { type: DictionaryService }], propDecorators: { showClass: [{
79554
79576
  type: HostBinding,
79555
79577
  args: ["class.co-transaction-search-filter-content"]
79556
79578
  }] } });
@@ -85544,6 +85566,7 @@ class TransactionLineModule {
85544
85566
  [{ type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOrderConfirmation }, TransactionPurchaseOrderLineComponent],
85545
85567
  [{ type: TransactionKind.CashDesk, category: TransactionTypeCategory.SalesOrderCashRegister }, TransactionCashRegisterOrderLineComponent],
85546
85568
  [{ type: TransactionKind.SalesQuotation, category: TransactionTypeCategory.SalesOrderQuotation }, TransactionSalesOrderQuotationLineComponent],
85569
+ [{ type: TransactionKind.SalesQuotation, category: TransactionTypeCategory.SalesOrderQuotationPurchase }, TransactionPurchaseLineComponent],
85547
85570
  [{ type: TransactionKind.SalesQuotation, category: TransactionTypeCategory.SalesOrderMarginInfo }, TransactionMarginInfoLineComponent],
85548
85571
  [{ type: TransactionKind.ServiceOrder, category: TransactionTypeCategory.ServiceOrderOverview }, TransactionOverviewLineComponent],
85549
85572
  [{ type: TransactionKind.ServiceOrder, category: TransactionTypeCategory.ServiceOrderPurchase }, TransactionPurchaseLineComponent],
@@ -85651,6 +85674,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
85651
85674
  [{ type: TransactionKind.PurchaseOrder, category: TransactionTypeCategory.PurchaseOrderOrderConfirmation }, TransactionPurchaseOrderLineComponent],
85652
85675
  [{ type: TransactionKind.CashDesk, category: TransactionTypeCategory.SalesOrderCashRegister }, TransactionCashRegisterOrderLineComponent],
85653
85676
  [{ type: TransactionKind.SalesQuotation, category: TransactionTypeCategory.SalesOrderQuotation }, TransactionSalesOrderQuotationLineComponent],
85677
+ [{ type: TransactionKind.SalesQuotation, category: TransactionTypeCategory.SalesOrderQuotationPurchase }, TransactionPurchaseLineComponent],
85654
85678
  [{ type: TransactionKind.SalesQuotation, category: TransactionTypeCategory.SalesOrderMarginInfo }, TransactionMarginInfoLineComponent],
85655
85679
  [{ type: TransactionKind.ServiceOrder, category: TransactionTypeCategory.ServiceOrderOverview }, TransactionOverviewLineComponent],
85656
85680
  [{ type: TransactionKind.ServiceOrder, category: TransactionTypeCategory.ServiceOrderPurchase }, TransactionPurchaseLineComponent],
@@ -96839,7 +96863,6 @@ class TransactionQuickAccessSalesQuotationComponent extends TransactionQuickAcce
96839
96863
  _transactionCreationService;
96840
96864
  showConvertDialog = false;
96841
96865
  creatingSalesOrder = false;
96842
- allowMultiCreation = false;
96843
96866
  refTransactions = [];
96844
96867
  _subscriptions = [];
96845
96868
  showClass() {
@@ -96867,9 +96890,6 @@ class TransactionQuickAccessSalesQuotationComponent extends TransactionQuickAcce
96867
96890
  }
96868
96891
  ngOnInit() {
96869
96892
  super.ngOnInit();
96870
- this.transactionService.getInternalParameter(InternalParam.QuotationToOrderMulti).then((value) => {
96871
- this.allowMultiCreation = value;
96872
- });
96873
96893
  this._subscriptions.push(this.transactionEventService.transactionLineRefTransactionsChanged.subscribe(() => {
96874
96894
  this.updateRefTransactions();
96875
96895
  }));
@@ -97029,11 +97049,10 @@ class TransactionQuickAccessSalesQuotationComponent extends TransactionQuickAcce
97029
97049
  [transactionTypeCategory]="transactionTypeCategory.SalesOrderQuotation"
97030
97050
  (openSendMethodDialog)="showSendMethodDialog = true"
97031
97051
  ></co-transaction-send-documents>
97032
- @if (refTransactions.length <= 0 && !allowMultiCreation) {
97052
+ @if (refTransactions.length <= 0 || transactionService.canGenerateMultipleOrdersFromSingleQuotation) {
97033
97053
  <co-transaction-button class="sales-quote-btn custom-width"
97034
97054
  [title]="'SALES_ORDER' | localize"
97035
97055
  [iconData]="iconCacheService.getIcon(icons.CartShoppingGear)"
97036
- [hidden]="refTransactions.length > 0"
97037
97056
  (click)="createSalesOrder()"
97038
97057
  ></co-transaction-button>
97039
97058
  }
@@ -97091,11 +97110,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
97091
97110
  [transactionTypeCategory]="transactionTypeCategory.SalesOrderQuotation"
97092
97111
  (openSendMethodDialog)="showSendMethodDialog = true"
97093
97112
  ></co-transaction-send-documents>
97094
- @if (refTransactions.length <= 0 && !allowMultiCreation) {
97113
+ @if (refTransactions.length <= 0 || transactionService.canGenerateMultipleOrdersFromSingleQuotation) {
97095
97114
  <co-transaction-button class="sales-quote-btn custom-width"
97096
97115
  [title]="'SALES_ORDER' | localize"
97097
97116
  [iconData]="iconCacheService.getIcon(icons.CartShoppingGear)"
97098
- [hidden]="refTransactions.length > 0"
97099
97117
  (click)="createSalesOrder()"
97100
97118
  ></co-transaction-button>
97101
97119
  }
@@ -114386,6 +114404,7 @@ class ServiceWizardSearchBundleComponent {
114386
114404
  placeholder;
114387
114405
  set relation(value) {
114388
114406
  this.transactionSearchService.searchRequest.relationNrTr = Number(value.relationNumber);
114407
+ this.transactionSearchService.searchRequest.quantityAllocated = [2, 3];
114389
114408
  }
114390
114409
  filterIconClick = new EventEmitter();
114391
114410
  closeClick = new EventEmitter();
@@ -114431,6 +114450,7 @@ class ServiceWizardSearchBundleComponent {
114431
114450
  <div class="transaction-tile" [classList]="transaction.transDate">
114432
114451
  <co-transaction-search-sales-line-select-tile
114433
114452
  [transaction]="transaction"
114453
+ [filterOnlyAllocated]="true"
114434
114454
  [customerPortal]="true"
114435
114455
  (lineClicked)="transLineClicked($event)">
114436
114456
  </co-transaction-search-sales-line-select-tile>
@@ -114443,7 +114463,7 @@ class ServiceWizardSearchBundleComponent {
114443
114463
  }
114444
114464
 
114445
114465
  </div>
114446
- `, 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 });
114466
+ `, 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 });
114447
114467
  }
114448
114468
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: ServiceWizardSearchBundleComponent, decorators: [{
114449
114469
  type: Component,
@@ -114457,6 +114477,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
114457
114477
  <div class="transaction-tile" [classList]="transaction.transDate">
114458
114478
  <co-transaction-search-sales-line-select-tile
114459
114479
  [transaction]="transaction"
114480
+ [filterOnlyAllocated]="true"
114460
114481
  [customerPortal]="true"
114461
114482
  (lineClicked)="transLineClicked($event)">
114462
114483
  </co-transaction-search-sales-line-select-tile>
@@ -115787,6 +115808,7 @@ class TransactionInvoiceCheckOrderTileComponent {
115787
115808
  SimpleGridColumnTemplateType = SimpleGridColumnTemplateType;
115788
115809
  columnAlign = ColumnAlign;
115789
115810
  icons = Icon;
115811
+ newBookingPrice;
115790
115812
  invoiceCheckOrder;
115791
115813
  lineSelectedEvent = new EventEmitter();
115792
115814
  saveRowEvent = new EventEmitter();
@@ -115807,7 +115829,7 @@ class TransactionInvoiceCheckOrderTileComponent {
115807
115829
  }
115808
115830
  handleSaveRow(data) {
115809
115831
  const row = data;
115810
- this.saveRowEvent.emit({ row: row, newValues: { bookingPrice: row.bookingPrice, quantity: row.toCheck } });
115832
+ this.saveRowEvent.emit({ row: row, newValues: { bookingPrice: this.newBookingPrice, quantity: row.toCheck } });
115811
115833
  }
115812
115834
  handleOpenTransaction(transNo) {
115813
115835
  this.openTransactionEvent.emit(transNo);
@@ -115838,14 +115860,14 @@ class TransactionInvoiceCheckOrderTileComponent {
115838
115860
  <div class="tile-body">
115839
115861
  <div class="tile-middle-left">
115840
115862
  <div class="row center">
115841
-
115863
+
115842
115864
  </div>
115843
115865
  </div>
115844
115866
  <div class="tile-middle-middle">
115845
115867
 
115846
115868
  </div>
115847
115869
  <div class="tile-middle-right">
115848
-
115870
+
115849
115871
  </div>
115850
115872
  </div>
115851
115873
  <div class="tile-footer">
@@ -115870,10 +115892,10 @@ class TransactionInvoiceCheckOrderTileComponent {
115870
115892
  </div>
115871
115893
  </div>
115872
115894
  <div class="grid-wrapper">
115873
- <co-simple-grid
115874
- [data]="invoiceCheckOrder?.orderLines"
115875
- [rowsPerPage]="8"
115876
- [inlineEdit]="true"
115895
+ <co-simple-grid
115896
+ [data]="invoiceCheckOrder?.orderLines"
115897
+ [rowsPerPage]="8"
115898
+ [inlineEdit]="true"
115877
115899
  (saveRow)="handleSaveRow($event)">
115878
115900
 
115879
115901
  <co-simple-grid-column [width]="10" [order]="1" [textAlign]="columnAlign.Center">
@@ -115881,7 +115903,7 @@ class TransactionInvoiceCheckOrderTileComponent {
115881
115903
  <co-input-checkbox (modelChange)="handleLineSelected($event, row)" [model]="row['process']"></co-input-checkbox>
115882
115904
  </ng-template>
115883
115905
  </co-simple-grid-column>
115884
-
115906
+
115885
115907
  <co-simple-grid-column
115886
115908
  [headerText]="'ARTICLE_NR' | localize"
115887
115909
  [order]="2"
@@ -115920,7 +115942,8 @@ class TransactionInvoiceCheckOrderTileComponent {
115920
115942
  <span [textContent]="row['bookingPrice'] | coCurrency: true"></span>
115921
115943
  </ng-template>
115922
115944
  <ng-template [templateType]="SimpleGridColumnTemplateType.Edit" let-row="row">
115923
- <co-input-text #editBookingPriceComponent [customHeight]="true" [customWidth]="true" [showClearButton]="false" [type]="'number'" [(model)]="row['bookingPrice']"></co-input-text>
115945
+ <co-input-text #editBookingPriceComponent [customHeight]="true" [customWidth]="true" [showClearButton]="false" [type]="'number'" [model]="row['bookingPrice']"
115946
+ (modelChange)="newBookingPrice = $event"></co-input-text>
115924
115947
  </ng-template>
115925
115948
  </co-simple-grid-column>
115926
115949
 
@@ -115981,7 +116004,7 @@ class TransactionInvoiceCheckOrderTileComponent {
115981
116004
  </ng-template>
115982
116005
  </co-simple-grid-column>
115983
116006
 
115984
-
116007
+
115985
116008
  </co-simple-grid>
115986
116009
  </div>
115987
116010
  </div>
@@ -116013,14 +116036,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
116013
116036
  <div class="tile-body">
116014
116037
  <div class="tile-middle-left">
116015
116038
  <div class="row center">
116016
-
116039
+
116017
116040
  </div>
116018
116041
  </div>
116019
116042
  <div class="tile-middle-middle">
116020
116043
 
116021
116044
  </div>
116022
116045
  <div class="tile-middle-right">
116023
-
116046
+
116024
116047
  </div>
116025
116048
  </div>
116026
116049
  <div class="tile-footer">
@@ -116045,10 +116068,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
116045
116068
  </div>
116046
116069
  </div>
116047
116070
  <div class="grid-wrapper">
116048
- <co-simple-grid
116049
- [data]="invoiceCheckOrder?.orderLines"
116050
- [rowsPerPage]="8"
116051
- [inlineEdit]="true"
116071
+ <co-simple-grid
116072
+ [data]="invoiceCheckOrder?.orderLines"
116073
+ [rowsPerPage]="8"
116074
+ [inlineEdit]="true"
116052
116075
  (saveRow)="handleSaveRow($event)">
116053
116076
 
116054
116077
  <co-simple-grid-column [width]="10" [order]="1" [textAlign]="columnAlign.Center">
@@ -116056,7 +116079,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
116056
116079
  <co-input-checkbox (modelChange)="handleLineSelected($event, row)" [model]="row['process']"></co-input-checkbox>
116057
116080
  </ng-template>
116058
116081
  </co-simple-grid-column>
116059
-
116082
+
116060
116083
  <co-simple-grid-column
116061
116084
  [headerText]="'ARTICLE_NR' | localize"
116062
116085
  [order]="2"
@@ -116095,7 +116118,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
116095
116118
  <span [textContent]="row['bookingPrice'] | coCurrency: true"></span>
116096
116119
  </ng-template>
116097
116120
  <ng-template [templateType]="SimpleGridColumnTemplateType.Edit" let-row="row">
116098
- <co-input-text #editBookingPriceComponent [customHeight]="true" [customWidth]="true" [showClearButton]="false" [type]="'number'" [(model)]="row['bookingPrice']"></co-input-text>
116121
+ <co-input-text #editBookingPriceComponent [customHeight]="true" [customWidth]="true" [showClearButton]="false" [type]="'number'" [model]="row['bookingPrice']"
116122
+ (modelChange)="newBookingPrice = $event"></co-input-text>
116099
116123
  </ng-template>
116100
116124
  </co-simple-grid-column>
116101
116125
 
@@ -116156,7 +116180,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
116156
116180
  </ng-template>
116157
116181
  </co-simple-grid-column>
116158
116182
 
116159
-
116183
+
116160
116184
  </co-simple-grid>
116161
116185
  </div>
116162
116186
  </div>