@kontur.candy/generator 5.4.0 → 5.5.0-fs-7964-multiple-keys-groupsum.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +138 -63
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -61724,7 +61724,8 @@ __webpack_require__.r(__webpack_exports__);
61724
61724
  /* harmony export */ "groupCountKCLangFunction": () => (/* binding */ groupCountKCLangFunction),
61725
61725
  /* harmony export */ "concatKCLangFunction": () => (/* binding */ concatKCLangFunction),
61726
61726
  /* harmony export */ "newlineKCLangFunction": () => (/* binding */ newlineKCLangFunction),
61727
- /* harmony export */ "dateNowKCLangFunction": () => (/* binding */ dateNowKCLangFunction)
61727
+ /* harmony export */ "dateNowKCLangFunction": () => (/* binding */ dateNowKCLangFunction),
61728
+ /* harmony export */ "listOfKCLangFunction": () => (/* binding */ listOfKCLangFunction)
61728
61729
  /* harmony export */ });
61729
61730
  class ArgumentValidationError {
61730
61731
  constructor(validationMessage) {
@@ -62021,16 +62022,20 @@ const groupSumKCLangFunction = params => {
62021
62022
  if (errors.length > 0) {
62022
62023
  return new FunctionValidationErrorCollection(errors);
62023
62024
  }
62024
- const targetKeyPathParam = (_params$20 = params[0]) === null || _params$20 === void 0 ? void 0 : _params$20.value;
62025
+ const targetKeysParam = (_params$20 = params[0]) === null || _params$20 === void 0 ? void 0 : _params$20.value;
62025
62026
  const sourceKeyPathParam = (_params$21 = params[1]) === null || _params$21 === void 0 ? void 0 : _params$21.value;
62026
62027
  const sourceValuePathParam = (_params$22 = params[2]) === null || _params$22 === void 0 ? void 0 : _params$22.value;
62027
- if ((targetKeyPathParam === null || targetKeyPathParam === void 0 ? void 0 : targetKeyPathParam.type) !== "argument" || (sourceKeyPathParam === null || sourceKeyPathParam === void 0 ? void 0 : sourceKeyPathParam.type) !== "argument" || (sourceValuePathParam === null || sourceValuePathParam === void 0 ? void 0 : sourceValuePathParam.type) !== "argument") {
62028
- const argumentsValidationError = new ArgumentValidationError("Expected 3 paths as arguments: targetKeyPath, sourceKeyPath, sourceValuePath");
62028
+ if (targetKeysParam == undefined || (sourceKeyPathParam === null || sourceKeyPathParam === void 0 ? void 0 : sourceKeyPathParam.type) !== "argument" || (sourceValuePathParam === null || sourceValuePathParam === void 0 ? void 0 : sourceValuePathParam.type) !== "argument") {
62029
+ const argumentsValidationError = new ArgumentValidationError("Expected 3 paths as arguments: targetKeys, sourceKeyPath, sourceValuePath");
62029
62030
  return new FunctionValidationErrorCollection([argumentsValidationError]);
62030
62031
  }
62032
+ const targetKeys = targetKeysParam.type === "array" ? targetKeysParam : {
62033
+ type: "array",
62034
+ items: [targetKeysParam]
62035
+ };
62031
62036
  return {
62032
62037
  type: "groupSum",
62033
- targetKeyPath: targetKeyPathParam.select,
62038
+ targetKeys: targetKeys,
62034
62039
  sourceKeyPath: sourceKeyPathParam.select,
62035
62040
  sourceValuePath: sourceValuePathParam.select
62036
62041
  };
@@ -62041,15 +62046,19 @@ const groupCountKCLangFunction = params => {
62041
62046
  if (errors.length > 0) {
62042
62047
  return new FunctionValidationErrorCollection(errors);
62043
62048
  }
62044
- const targetKeyPathParam = (_params$23 = params[0]) === null || _params$23 === void 0 ? void 0 : _params$23.value;
62049
+ const targetKeysParam = (_params$23 = params[0]) === null || _params$23 === void 0 ? void 0 : _params$23.value;
62045
62050
  const sourceKeyPathParam = (_params$24 = params[1]) === null || _params$24 === void 0 ? void 0 : _params$24.value;
62046
- if ((targetKeyPathParam === null || targetKeyPathParam === void 0 ? void 0 : targetKeyPathParam.type) !== "argument" || (sourceKeyPathParam === null || sourceKeyPathParam === void 0 ? void 0 : sourceKeyPathParam.type) !== "argument") {
62051
+ if (targetKeysParam == undefined || (sourceKeyPathParam === null || sourceKeyPathParam === void 0 ? void 0 : sourceKeyPathParam.type) !== "argument") {
62047
62052
  const argumentsValidationError = new ArgumentValidationError("Expected 2 paths as arguments: targetKeyPath, sourceKeyPath");
62048
62053
  return new FunctionValidationErrorCollection([argumentsValidationError]);
62049
62054
  }
62055
+ const targetKeys = targetKeysParam.type === "array" ? targetKeysParam : {
62056
+ type: "array",
62057
+ items: [targetKeysParam]
62058
+ };
62050
62059
  return {
62051
62060
  type: "groupCount",
62052
- targetKeyPath: targetKeyPathParam.select,
62061
+ targetKeys: targetKeys,
62053
62062
  sourceKeyPath: sourceKeyPathParam.select
62054
62063
  };
62055
62064
  };
@@ -62081,6 +62090,16 @@ const dateNowKCLangFunction = params => {
62081
62090
  type: "dateNow"
62082
62091
  };
62083
62092
  };
62093
+ const listOfKCLangFunction = params => {
62094
+ const errors = Array.from(validateParams(params, 0, 1000));
62095
+ if (errors.length > 0) {
62096
+ return new FunctionValidationErrorCollection(errors);
62097
+ }
62098
+ return {
62099
+ type: "array",
62100
+ items: params.map(x => x.value)
62101
+ };
62102
+ };
62084
62103
 
62085
62104
  /***/ }),
62086
62105
 
@@ -62126,7 +62145,8 @@ const getKCLangGlobalFunctionBuilders = () => ({
62126
62145
  groupCount: [_KCLangAntlrFunctions__WEBPACK_IMPORTED_MODULE_2__.groupCountKCLangFunction],
62127
62146
  concat: [_KCLangAntlrFunctions__WEBPACK_IMPORTED_MODULE_2__.concatKCLangFunction],
62128
62147
  newline: [_KCLangAntlrFunctions__WEBPACK_IMPORTED_MODULE_2__.newlineKCLangFunction],
62129
- dateNow: [_KCLangAntlrFunctions__WEBPACK_IMPORTED_MODULE_2__.dateNowKCLangFunction]
62148
+ dateNow: [_KCLangAntlrFunctions__WEBPACK_IMPORTED_MODULE_2__.dateNowKCLangFunction],
62149
+ listOf: [_KCLangAntlrFunctions__WEBPACK_IMPORTED_MODULE_2__.listOfKCLangFunction]
62130
62150
  });
62131
62151
  class ErrorListener {
62132
62152
  constructor() {
@@ -69587,6 +69607,8 @@ function traverseKCLangExpression(node, visitor) {
69587
69607
  case "dateNow":
69588
69608
  visitor.visitDateNowKCLangNode(node);
69589
69609
  break;
69610
+ case "array":
69611
+ break;
69590
69612
  default:
69591
69613
  (0,_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_0__.ensureNever)(node);
69592
69614
  break;
@@ -69686,6 +69708,9 @@ class DefaultKCLangExpressionVisitor {
69686
69708
  visitDateNowKCLangNode(node) {
69687
69709
  // default empty implementation
69688
69710
  }
69711
+ visitArrayKCLangNode(node) {
69712
+ // default empty implementation
69713
+ }
69689
69714
  }
69690
69715
 
69691
69716
  /***/ }),
@@ -70027,6 +70052,8 @@ const getGenerateJsExpressionFunc = options => {
70027
70052
  throw new _Common_Errors__WEBPACK_IMPORTED_MODULE_1__.NotImplementedError();
70028
70053
  case "dateNow":
70029
70054
  return `${utilsName}.dateNow()`;
70055
+ case "array":
70056
+ throw new _Common_Errors__WEBPACK_IMPORTED_MODULE_1__.NotImplementedError();
70030
70057
  default:
70031
70058
  (0,_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_0__.ensureNever)(expression);
70032
70059
  }
@@ -70101,9 +70128,9 @@ function generateKCXmlExpression(expression) {
70101
70128
  case "isValidAccountNumber":
70102
70129
  return `<m:${expression.type} bik="${expression.bik}" account="${expression.account}" />`;
70103
70130
  case "groupSum":
70104
- return `<m:${expression.type} targetKeyPath="${expression.targetKeyPath}" sourceKeyPath="${expression.sourceKeyPath}" sourceValuePath="${expression.sourceValuePath}" />`;
70131
+ return [`<m:${expression.type} sourceKeyPath="${expression.sourceKeyPath}" sourceValuePath="${expression.sourceValuePath}" >`, (0,_Common_IndentString__WEBPACK_IMPORTED_MODULE_2__.indent)(generateKCXmlExpression(expression.targetKeys), 1), `</m:${expression.type}>`].join("\n");
70105
70132
  case "groupCount":
70106
- return `<m:${expression.type} targetKeyPath="${expression.targetKeyPath}" sourceKeyPath="${expression.sourceKeyPath}" />`;
70133
+ return [`<m:${expression.type} sourceKeyPath="${expression.sourceKeyPath}" >`, (0,_Common_IndentString__WEBPACK_IMPORTED_MODULE_2__.indent)(generateKCXmlExpression(expression.targetKeys), 1), `</m:${expression.type}>`].join("\n");
70107
70134
  case "cast":
70108
70135
  if (expression.expression.type === "argument") {
70109
70136
  return `<m:argument select="${expression.expression.select}" type="${expression.targetType}" />`;
@@ -70168,6 +70195,11 @@ function generateKCXmlExpression(expression) {
70168
70195
  const enumerationItems = expression.expressions.items.map(generateKCXmlExpression);
70169
70196
  return [`<m:oneof>`, (0,_Common_IndentString__WEBPACK_IMPORTED_MODULE_2__.indent)(testExpr, 1), [`<m:oneofitems>`, enumerationItems.map(x => (0,_Common_IndentString__WEBPACK_IMPORTED_MODULE_2__.indent)(x, 1)), `</m:oneofitems>`].flat().map(x => (0,_Common_IndentString__WEBPACK_IMPORTED_MODULE_2__.indent)(x, 1)).join("\n"), `</m:oneof>`].join("\n");
70170
70197
  }
70198
+ case "array":
70199
+ {
70200
+ const enumerationItems = expression.items.map(generateKCXmlExpression);
70201
+ return [`<m:oneofitems>`, enumerationItems.map(x => (0,_Common_IndentString__WEBPACK_IMPORTED_MODULE_2__.indent)(x, 1)), `</m:oneofitems>`].flat().map(x => (0,_Common_IndentString__WEBPACK_IMPORTED_MODULE_2__.indent)(x, 1)).join("\n");
70202
+ }
70171
70203
  default:
70172
70204
  // @ts-ignore
70173
70205
  throw new Error(`Expression of type '${expression.type}' is not supported`);
@@ -75463,12 +75495,12 @@ __webpack_require__.r(__webpack_exports__);
75463
75495
  /* harmony export */ "FormulaWhenExpression": () => (/* binding */ FormulaWhenExpression),
75464
75496
  /* harmony export */ "DummyContent": () => (/* binding */ DummyContent),
75465
75497
  /* harmony export */ "FormulaSumExpression": () => (/* binding */ FormulaSumExpression),
75498
+ /* harmony export */ "FormulaOneOfItemsExpression": () => (/* binding */ FormulaOneOfItemsExpression),
75466
75499
  /* harmony export */ "FormulaGroupSumExpression": () => (/* binding */ FormulaGroupSumExpression),
75467
75500
  /* harmony export */ "FormulaGroupCountExpression": () => (/* binding */ FormulaGroupCountExpression),
75468
75501
  /* harmony export */ "FormulaAndExpression": () => (/* binding */ FormulaAndExpression),
75469
75502
  /* harmony export */ "FormulaOrExpression": () => (/* binding */ FormulaOrExpression),
75470
75503
  /* harmony export */ "FormulaGtExpression": () => (/* binding */ FormulaGtExpression),
75471
- /* harmony export */ "FormulaOneOfItemsExpression": () => (/* binding */ FormulaOneOfItemsExpression),
75472
75504
  /* harmony export */ "FormulaOneOfExpression": () => (/* binding */ FormulaOneOfExpression),
75473
75505
  /* harmony export */ "FormulaRegexMatchExpression": () => (/* binding */ FormulaRegexMatchExpression),
75474
75506
  /* harmony export */ "FormulaLengthExpression": () => (/* binding */ FormulaLengthExpression),
@@ -75521,7 +75553,7 @@ __webpack_require__.r(__webpack_exports__);
75521
75553
 
75522
75554
 
75523
75555
 
75524
- var _dec, _dec2, _class, _class2, _descriptor, _dec3, _class4, _dec4, _dec5, _class5, _class6, _descriptor2, _dec6, _dec7, _dec8, _dec9, _class8, _class9, _descriptor3, _descriptor4, _descriptor5, _dec10, _dec11, _dec12, _class11, _class12, _descriptor6, _descriptor7, _dec13, _dec14, _class14, _class15, _descriptor8, _dec15, _dec16, _class17, _class18, _descriptor9, _dec17, _dec18, _class20, _class21, _descriptor10, _dec19, _dec20, _class23, _class24, _descriptor11, _dec21, _dec22, _dec23, _class26, _class27, _descriptor12, _descriptor13, _dec24, _dec25, _dec26, _class29, _class30, _descriptor14, _descriptor15, _dec27, _dec28, _class32, _class33, _descriptor16, _dec29, _dec30, _class35, _class36, _descriptor17, _dec31, _dec32, _class38, _class39, _descriptor18, _dec33, _dec34, _class41, _class42, _descriptor19, _dec35, _dec36, _class44, _class45, _descriptor20, _dec37, _dec38, _class47, _class48, _descriptor21, _dec39, _dec40, _class50, _class51, _descriptor22, _dec41, _dec42, _class53, _class54, _descriptor23, _dec43, _dec44, _class56, _class57, _descriptor24, _dec45, _dec46, _dec47, _dec48, _class59, _class60, _descriptor25, _descriptor26, _descriptor27, _dec49, _dec50, _class62, _class63, _descriptor28, _dec51, _dec52, _class65, _class66, _descriptor29, _dec53, _dec54, _dec55, _class68, _class69, _descriptor30, _descriptor31, _dec56, _dec57, _class71, _class72, _descriptor32, _dec58, _dec59, _class74, _class75, _descriptor33, _dec60, _dec61, _class77, _class78, _descriptor34, _dec62, _dec63, _class80, _class81, _descriptor35, _dec64, _dec65, _dec66, _class83, _class84, _descriptor36, _descriptor37, _dec67, _dec68, _dec69, _dec70, _class86, _class87, _descriptor38, _descriptor39, _descriptor40, _dec71, _dec72, _dec73, _class89, _class90, _descriptor41, _descriptor42, _dec74, _class92, _dec75, _dec76, _class93, _class94, _descriptor43, _dec77, _dec78, _class96, _class97, _descriptor44, _dec79, _dec80, _class99, _class100, _descriptor45, _dec81, _dec82, _dec83, _class102, _class103, _descriptor46, _descriptor47, _dec84, _dec85, _dec86, _class105, _class106, _descriptor48, _descriptor49, _dec87, _dec88, _class108, _class109, _descriptor50, _dec89, _dec90, _class111, _class112, _descriptor51, _dec91, _dec92, _dec93, _class114, _class115, _descriptor52, _descriptor53, _dec94, _dec95, _class117, _class118, _descriptor54, _dec96, _class120, _dec97, _dec98, _dec99, _dec100, _class121, _class122, _descriptor55, _descriptor56, _descriptor57, _dec101, _dec102, _class124, _class125, _descriptor58, _dec103, _dec104, _dec105, _dec106, _dec107, _dec108, _class127, _class128, _descriptor59, _descriptor60, _descriptor61, _descriptor62, _descriptor63, _dec109, _dec110, _class130, _class131, _descriptor64, _dec111, _dec112, _dec113, _class133, _class134, _descriptor65, _descriptor66;
75556
+ var _dec, _dec2, _class, _class2, _descriptor, _dec3, _class4, _dec4, _dec5, _class5, _class6, _descriptor2, _dec6, _dec7, _class8, _class9, _descriptor3, _dec8, _dec9, _dec10, _dec11, _class11, _class12, _descriptor4, _descriptor5, _descriptor6, _dec12, _dec13, _dec14, _class14, _class15, _descriptor7, _descriptor8, _dec15, _dec16, _class17, _class18, _descriptor9, _dec17, _dec18, _class20, _class21, _descriptor10, _dec19, _dec20, _class23, _class24, _descriptor11, _dec21, _dec22, _dec23, _class26, _class27, _descriptor12, _descriptor13, _dec24, _dec25, _dec26, _class29, _class30, _descriptor14, _descriptor15, _dec27, _dec28, _class32, _class33, _descriptor16, _dec29, _dec30, _class35, _class36, _descriptor17, _dec31, _dec32, _class38, _class39, _descriptor18, _dec33, _dec34, _class41, _class42, _descriptor19, _dec35, _dec36, _class44, _class45, _descriptor20, _dec37, _dec38, _class47, _class48, _descriptor21, _dec39, _dec40, _class50, _class51, _descriptor22, _dec41, _dec42, _class53, _class54, _descriptor23, _dec43, _dec44, _class56, _class57, _descriptor24, _dec45, _dec46, _dec47, _dec48, _class59, _class60, _descriptor25, _descriptor26, _descriptor27, _dec49, _dec50, _class62, _class63, _descriptor28, _dec51, _dec52, _class65, _class66, _descriptor29, _dec53, _dec54, _dec55, _class68, _class69, _descriptor30, _descriptor31, _dec56, _dec57, _class71, _class72, _descriptor32, _dec58, _dec59, _class74, _class75, _descriptor33, _dec60, _dec61, _class77, _class78, _descriptor34, _dec62, _dec63, _class80, _class81, _descriptor35, _dec64, _dec65, _dec66, _class83, _class84, _descriptor36, _descriptor37, _dec67, _dec68, _dec69, _dec70, _class86, _class87, _descriptor38, _descriptor39, _descriptor40, _dec71, _dec72, _dec73, _class89, _class90, _descriptor41, _descriptor42, _dec74, _class92, _dec75, _dec76, _class93, _class94, _descriptor43, _dec77, _dec78, _class96, _class97, _descriptor44, _dec79, _dec80, _class99, _class100, _descriptor45, _dec81, _dec82, _dec83, _class102, _class103, _descriptor46, _descriptor47, _dec84, _dec85, _dec86, _class105, _class106, _descriptor48, _descriptor49, _dec87, _dec88, _class108, _class109, _descriptor50, _dec89, _dec90, _class111, _class112, _descriptor51, _dec91, _dec92, _dec93, _class114, _class115, _descriptor52, _descriptor53, _dec94, _dec95, _class117, _class118, _descriptor54, _dec96, _class120, _dec97, _dec98, _dec99, _dec100, _class121, _class122, _descriptor55, _descriptor56, _descriptor57, _dec101, _dec102, _class124, _class125, _descriptor58, _dec103, _dec104, _dec105, _dec106, _dec107, _dec108, _class127, _class128, _descriptor59, _descriptor60, _descriptor61, _descriptor62, _descriptor63, _dec109, _dec110, _class130, _class131, _descriptor64, _dec111, _dec112, _dec113, _class133, _class134, _descriptor65, _descriptor66;
75525
75557
 
75526
75558
 
75527
75559
 
@@ -75564,67 +75596,64 @@ let FormulaSumExpression = (_dec4 = (0,_markupGenerator_Serializer_SugarSerializ
75564
75596
  writable: true,
75565
75597
  initializer: null
75566
75598
  })), _class6)) || _class5);
75567
- let FormulaGroupSumExpression = (_dec6 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.sugarNode)("groupsum", `Вычисление суммы с группировкой в разных множественностях`), _dec7 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("targetKeyPath", _markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string.required, `Путь откуда брать ключ группы в целевой множественности`), _dec8 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("sourceKeyPath", _markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string.required, `Путь откуда брать ключ группы в суммируемой множественности`), _dec9 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("sourceValuePath", _markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string.required, `Путь в суммируемой множественности откуда берем значение для свёртки`), _dec6(_class8 = (_class9 = class FormulaGroupSumExpression extends FormulaExpression {
75599
+ let FormulaOneOfItemsExpression = (_dec6 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.sugarNode)("oneofitems", `TODO`), _dec7 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.children)(), _dec6(_class8 = (_class9 = class FormulaOneOfItemsExpression extends FormulaExpression {
75568
75600
  constructor(...args) {
75569
75601
  super(...args);
75570
- _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "targetKeyPath", _descriptor3, this);
75571
- _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "sourceKeyPath", _descriptor4, this);
75572
- _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "sourceValuePath", _descriptor5, this);
75602
+ _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "expressions", _descriptor3, this);
75573
75603
  }
75574
- }, (_descriptor3 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class9.prototype, "targetKeyPath", [_dec7], {
75575
- configurable: true,
75576
- enumerable: true,
75577
- writable: true,
75578
- initializer: null
75579
- }), _descriptor4 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class9.prototype, "sourceKeyPath", [_dec8], {
75580
- configurable: true,
75581
- enumerable: true,
75582
- writable: true,
75583
- initializer: null
75584
- }), _descriptor5 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class9.prototype, "sourceValuePath", [_dec9], {
75604
+ }, (_descriptor3 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class9.prototype, "expressions", [_dec7], {
75585
75605
  configurable: true,
75586
75606
  enumerable: true,
75587
75607
  writable: true,
75588
75608
  initializer: null
75589
75609
  })), _class9)) || _class8);
75590
- let FormulaGroupCountExpression = (_dec10 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.sugarNode)("groupcount", `Вычисление количества элементов по группам в разных множественностях`), _dec11 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("targetKeyPath", _markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string.required, `Путь откуда брать ключ группы в целевой множественности`), _dec12 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("sourceKeyPath", _markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string.required, `Путь откуда брать ключ группы в суммируемой множественности`), _dec10(_class11 = (_class12 = class FormulaGroupCountExpression extends FormulaExpression {
75610
+ let FormulaGroupSumExpression = (_dec8 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.sugarNode)("groupsum", `Вычисление суммы с группировкой в разных множественностях`), _dec9 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.singleChild)("oneofitems", [FormulaOneOfItemsExpression]), _dec10 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("sourceKeyPath", _markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string.required, `Путь откуда брать ключ группы в суммируемой множественности`), _dec11 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("sourceValuePath", _markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string.required, `Путь в суммируемой множественности откуда берем значение для свёртки`), _dec8(_class11 = (_class12 = class FormulaGroupSumExpression extends FormulaExpression {
75591
75611
  constructor(...args) {
75592
75612
  super(...args);
75593
- _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "targetKeyPath", _descriptor6, this);
75594
- _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "sourceKeyPath", _descriptor7, this);
75613
+ _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "targetKeys", _descriptor4, this);
75614
+ _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "sourceKeyPath", _descriptor5, this);
75615
+ _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "sourceValuePath", _descriptor6, this);
75595
75616
  }
75596
- }, (_descriptor6 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class12.prototype, "targetKeyPath", [_dec11], {
75617
+ }, (_descriptor4 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class12.prototype, "targetKeys", [_dec9], {
75597
75618
  configurable: true,
75598
75619
  enumerable: true,
75599
75620
  writable: true,
75600
75621
  initializer: null
75601
- }), _descriptor7 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class12.prototype, "sourceKeyPath", [_dec12], {
75622
+ }), _descriptor5 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class12.prototype, "sourceKeyPath", [_dec10], {
75623
+ configurable: true,
75624
+ enumerable: true,
75625
+ writable: true,
75626
+ initializer: null
75627
+ }), _descriptor6 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class12.prototype, "sourceValuePath", [_dec11], {
75602
75628
  configurable: true,
75603
75629
  enumerable: true,
75604
75630
  writable: true,
75605
75631
  initializer: null
75606
75632
  })), _class12)) || _class11);
75607
- let FormulaAndExpression = (_dec13 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.sugarNode)("and", `TODO`), _dec14 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.children)(), _dec13(_class14 = (_class15 = class FormulaAndExpression extends FormulaExpression {
75633
+ let FormulaGroupCountExpression = (_dec12 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.sugarNode)("groupcount", `Вычисление количества элементов по группам в разных множественностях`), _dec13 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.singleChild)("oneofitems", [FormulaOneOfItemsExpression]), _dec14 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attr)("sourceKeyPath", _markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.attrType.string.required, `Путь откуда брать ключ группы в суммируемой множественности`), _dec12(_class14 = (_class15 = class FormulaGroupCountExpression extends FormulaExpression {
75608
75634
  constructor(...args) {
75609
75635
  super(...args);
75610
- _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "arguments", _descriptor8, this);
75636
+ _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "targetKeys", _descriptor7, this);
75637
+ _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "sourceKeyPath", _descriptor8, this);
75611
75638
  }
75612
- getLegacyExpressionTypeForFunctionName() {
75613
- return "and";
75614
- }
75615
- }, (_descriptor8 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class15.prototype, "arguments", [_dec14], {
75639
+ }, (_descriptor7 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class15.prototype, "targetKeys", [_dec13], {
75640
+ configurable: true,
75641
+ enumerable: true,
75642
+ writable: true,
75643
+ initializer: null
75644
+ }), _descriptor8 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class15.prototype, "sourceKeyPath", [_dec14], {
75616
75645
  configurable: true,
75617
75646
  enumerable: true,
75618
75647
  writable: true,
75619
75648
  initializer: null
75620
75649
  })), _class15)) || _class14);
75621
- let FormulaOrExpression = (_dec15 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.sugarNode)("or", `TODO`), _dec16 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.children)(), _dec15(_class17 = (_class18 = class FormulaOrExpression extends FormulaExpression {
75650
+ let FormulaAndExpression = (_dec15 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.sugarNode)("and", `TODO`), _dec16 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.children)(), _dec15(_class17 = (_class18 = class FormulaAndExpression extends FormulaExpression {
75622
75651
  constructor(...args) {
75623
75652
  super(...args);
75624
75653
  _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "arguments", _descriptor9, this);
75625
75654
  }
75626
75655
  getLegacyExpressionTypeForFunctionName() {
75627
- return "or";
75656
+ return "and";
75628
75657
  }
75629
75658
  }, (_descriptor9 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class18.prototype, "arguments", [_dec16], {
75630
75659
  configurable: true,
@@ -75632,13 +75661,13 @@ let FormulaOrExpression = (_dec15 = (0,_markupGenerator_Serializer_SugarSerializ
75632
75661
  writable: true,
75633
75662
  initializer: null
75634
75663
  })), _class18)) || _class17);
75635
- let FormulaGtExpression = (_dec17 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.sugarNode)("gt", `TODO`), _dec18 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.children)(), _dec17(_class20 = (_class21 = class FormulaGtExpression extends FormulaExpression {
75664
+ let FormulaOrExpression = (_dec17 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.sugarNode)("or", `TODO`), _dec18 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.children)(), _dec17(_class20 = (_class21 = class FormulaOrExpression extends FormulaExpression {
75636
75665
  constructor(...args) {
75637
75666
  super(...args);
75638
75667
  _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "arguments", _descriptor10, this);
75639
75668
  }
75640
75669
  getLegacyExpressionTypeForFunctionName() {
75641
- return "gt";
75670
+ return "or";
75642
75671
  }
75643
75672
  }, (_descriptor10 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class21.prototype, "arguments", [_dec18], {
75644
75673
  configurable: true,
@@ -75646,12 +75675,15 @@ let FormulaGtExpression = (_dec17 = (0,_markupGenerator_Serializer_SugarSerializ
75646
75675
  writable: true,
75647
75676
  initializer: null
75648
75677
  })), _class21)) || _class20);
75649
- let FormulaOneOfItemsExpression = (_dec19 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.sugarNode)("oneofitems", `TODO`), _dec20 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.children)(), _dec19(_class23 = (_class24 = class FormulaOneOfItemsExpression extends FormulaExpression {
75678
+ let FormulaGtExpression = (_dec19 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.sugarNode)("gt", `TODO`), _dec20 = (0,_markupGenerator_Serializer_SugarSerializer__WEBPACK_IMPORTED_MODULE_5__.children)(), _dec19(_class23 = (_class24 = class FormulaGtExpression extends FormulaExpression {
75650
75679
  constructor(...args) {
75651
75680
  super(...args);
75652
- _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "expressions", _descriptor11, this);
75681
+ _babel_runtime_helpers_initializerDefineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "arguments", _descriptor11, this);
75682
+ }
75683
+ getLegacyExpressionTypeForFunctionName() {
75684
+ return "gt";
75653
75685
  }
75654
- }, (_descriptor11 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class24.prototype, "expressions", [_dec20], {
75686
+ }, (_descriptor11 = _babel_runtime_helpers_applyDecoratedDescriptor__WEBPACK_IMPORTED_MODULE_1___default()(_class24.prototype, "arguments", [_dec20], {
75655
75687
  configurable: true,
75656
75688
  enumerable: true,
75657
75689
  writable: true,
@@ -76230,7 +76262,7 @@ let MathContainer = (_dec111 = (0,_markupGenerator_Serializer_SugarSerializer__W
76230
76262
  writable: true,
76231
76263
  initializer: null
76232
76264
  })), _class134)) || _class133);
76233
- const formulaExpressions = [FormulaSumExpression, FormulaArgumentExpression, FormulaConstExpression, FormulaMultySumExpression, FormulaRoundExpression, FormulaFloorExpression, FormulaAbsExpression, FormulaDivisionExpression, FormulaMinusExpression, FormulaMultiplyExpression, FormulaChooseExpression, FormulaEqExpression, FormulaGtExpression, FormulaLtExpression, FormulaGeExpression, FormulaLeExpression, FormulaAndExpression, FormulaOrExpression, FormulaNotExpression, FormulaRegexMatchExpression, FormulaSubstringExpression, FormulaXAbsExpression, FormulaExistsExpression, FormulaLengthExpression, FormulaWhenExpression, FormulaCountExpression, FormulaDateNowExpression, FormulaIsSnilsExpression, FormulaIsInnExpression, FormulaIsValidAccountNumberExpression, FormulaIsValidMirCardNumberExpression, FormulaCastExpression, FormulaConcatExpression, FormulaGroupSumExpression, FormulaGroupCountExpression, FormulaNewLineExpression, FormulaOneOfExpression];
76265
+ const formulaExpressions = [FormulaSumExpression, FormulaArgumentExpression, FormulaConstExpression, FormulaMultySumExpression, FormulaRoundExpression, FormulaFloorExpression, FormulaAbsExpression, FormulaDivisionExpression, FormulaMinusExpression, FormulaMultiplyExpression, FormulaChooseExpression, FormulaEqExpression, FormulaGtExpression, FormulaLtExpression, FormulaGeExpression, FormulaLeExpression, FormulaAndExpression, FormulaOrExpression, FormulaNotExpression, FormulaRegexMatchExpression, FormulaSubstringExpression, FormulaXAbsExpression, FormulaExistsExpression, FormulaLengthExpression, FormulaWhenExpression, FormulaCountExpression, FormulaDateNowExpression, FormulaIsSnilsExpression, FormulaIsInnExpression, FormulaIsValidAccountNumberExpression, FormulaIsValidMirCardNumberExpression, FormulaCastExpression, FormulaConcatExpression, FormulaGroupSumExpression, FormulaGroupCountExpression, FormulaNewLineExpression, FormulaOneOfExpression, FormulaOneOfItemsExpression];
76234
76266
 
76235
76267
  /***/ }),
76236
76268
 
@@ -78315,24 +78347,27 @@ class KCXmlGeneratorBase {
78315
78347
  const compiledExpressions = expression.arguments.map(arg => this.compileExpression(prefix, targetFullPath, arg, deps)).join(",");
78316
78348
  return `expression.sum([${compiledExpressions}])`;
78317
78349
  }
78350
+ if (expression instanceof _AutoCalculationsGenerator_AutoCalculationsFromFormulas_KCXmlContract_Formula__WEBPACK_IMPORTED_MODULE_1__.FormulaOneOfItemsExpression) {
78351
+ const itemsText = expression.expressions.map(x => this.compileExpression(prefix, targetFullPath, x, deps)).join(", ");
78352
+ return `JSON.stringify([${itemsText}])`;
78353
+ }
78318
78354
  if (expression instanceof _AutoCalculationsGenerator_AutoCalculationsFromFormulas_KCXmlContract_Formula__WEBPACK_IMPORTED_MODULE_1__.FormulaGroupSumExpression) {
78319
- const targetKeyPath = this.getModelPath(prefix, expression.targetKeyPath);
78320
- deps.push(new DependencyWithoutChecks(targetKeyPath));
78355
+ const targetKeys = this.compileExpression(prefix, targetFullPath, expression.targetKeys, deps);
78321
78356
  const sourceKeyPath = this.getModelPath(prefix, expression.sourceKeyPath);
78322
- const sourceKeyDeps = this.calculatedGroupSumDependencyForSourcePath(targetKeyPath, sourceKeyPath);
78357
+ const sourceKeyDeps = this.calculatedGroupSumDependencyForSourcePath(targetFullPath, sourceKeyPath);
78323
78358
  deps.push(new DependencyWithoutChecks(sourceKeyDeps.currentDepsPath, sourceKeyDeps.eachDepsPath));
78324
78359
  const sourceValuePath = this.getModelPath(prefix, expression.sourceValuePath);
78325
- const sourceValueDeps = this.calculatedGroupSumDependencyForSourcePath(targetKeyPath, sourceValuePath);
78360
+ const sourceValueDeps = this.calculatedGroupSumDependencyForSourcePath(targetFullPath, sourceValuePath);
78326
78361
  deps.push(new DependencyWithoutChecks(sourceValueDeps.currentDepsPath, sourceValueDeps.eachDepsPath));
78327
- return gcf(x => x.groupSum, `"${targetKeyPath}", "${sourceKeyPath}", "${sourceValuePath}"`);
78362
+ return gcf(x => x.groupSum, `${targetKeys}, "${sourceKeyPath}", "${sourceValuePath}"`);
78328
78363
  }
78329
78364
  if (expression instanceof _AutoCalculationsGenerator_AutoCalculationsFromFormulas_KCXmlContract_Formula__WEBPACK_IMPORTED_MODULE_1__.FormulaGroupCountExpression) {
78330
- const targetKeyPath = this.getModelPath(prefix, expression.targetKeyPath);
78331
- deps.push(new DependencyWithoutChecks(targetKeyPath));
78365
+ const targetKeys = this.compileExpression(prefix, targetFullPath, expression.targetKeys, deps);
78366
+ deps.push(new DependencyWithoutChecks(targetFullPath));
78332
78367
  const sourceKeyPath = this.getModelPath(prefix, expression.sourceKeyPath);
78333
- const sourceKeyDeps = this.calculatedGroupSumDependencyForSourcePath(targetKeyPath, sourceKeyPath);
78368
+ const sourceKeyDeps = this.calculatedGroupSumDependencyForSourcePath(targetFullPath, sourceKeyPath);
78334
78369
  deps.push(new DependencyWithoutChecks(sourceKeyDeps.currentDepsPath, sourceKeyDeps.eachDepsPath));
78335
- return gcf(x => x.groupCount, `"${targetKeyPath}", "${sourceKeyPath}"`);
78370
+ return gcf(x => x.groupCount, `${targetKeys}, "${sourceKeyPath}"`);
78336
78371
  }
78337
78372
  if (expression instanceof _AutoCalculationsGenerator_AutoCalculationsFromFormulas_KCXmlContract_Formula__WEBPACK_IMPORTED_MODULE_1__.FormulaConcatExpression) {
78338
78373
  (0,_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_2__.ensureArrayLengthGreaterThenOrEqual)(expression.arguments, 2);
@@ -79757,6 +79792,7 @@ __webpack_require__.r(__webpack_exports__);
79757
79792
  /* harmony export */ "NullCoalesceExpression": () => (/* binding */ NullCoalesceExpression),
79758
79793
  /* harmony export */ "OneOfExpression": () => (/* binding */ OneOfExpression),
79759
79794
  /* harmony export */ "NoDepsExpression": () => (/* binding */ NoDepsExpression),
79795
+ /* harmony export */ "ArrayStringExpression": () => (/* binding */ ArrayStringExpression),
79760
79796
  /* harmony export */ "FLangStatement": () => (/* binding */ FLangStatement),
79761
79797
  /* harmony export */ "SetStatement": () => (/* binding */ SetStatement)
79762
79798
  /* harmony export */ });
@@ -80581,6 +80617,23 @@ class NoDepsExpression extends FLangExpression {
80581
80617
  return `nodeps(${this.expression.convertToString()})`;
80582
80618
  }
80583
80619
  }
80620
+ class ArrayStringExpression extends FLangExpression {
80621
+ constructor(expressions) {
80622
+ super();
80623
+ this.expressions = void 0;
80624
+ this.expressions = expressions;
80625
+ }
80626
+ *getChildNodes() {
80627
+ yield* this.expressions;
80628
+ }
80629
+ getType() {
80630
+ return BuildInTypeExpression.string;
80631
+ }
80632
+ convertToString() {
80633
+ const stringItems = this.expressions.map(x => x.convertToString()).join(", ");
80634
+ return `"[" ${stringItems} "]"`;
80635
+ }
80636
+ }
80584
80637
  class FLangStatement extends FLangNode {}
80585
80638
  class SetStatement extends FLangStatement {
80586
80639
  constructor(left, right) {
@@ -81084,6 +81137,10 @@ class FormulaExpressionToFlangExpressionConverter {
81084
81137
  const items = expression.items.expressions.map(item => (0,_FLang_FlangUtils__WEBPACK_IMPORTED_MODULE_7__.castOperandToStringIfNeed)(this.compileExpressionToFlangExpressionInternal(item, prefix, target, addPrecalculationRule)));
81085
81138
  return new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.OneOfExpression(arg, items);
81086
81139
  }
81140
+ if (expression instanceof _AutoCalculationsGenerator_AutoCalculationsFromFormulas_KCXmlContract_Formula__WEBPACK_IMPORTED_MODULE_0__.FormulaOneOfItemsExpression) {
81141
+ const items = expression.expressions.map(item => this.compileExpressionToFlangExpressionInternal(item, prefix, target, addPrecalculationRule));
81142
+ return new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.ArrayStringExpression(items);
81143
+ }
81087
81144
  throw new Error(`Unsupported type of node: ${expression.constructor.name}`);
81088
81145
  }
81089
81146
  compileEqExpression(prefix, target, expression, addPrecalculationRule) {
@@ -81097,7 +81154,7 @@ class FormulaExpressionToFlangExpressionConverter {
81097
81154
  }
81098
81155
  return new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.EqExpression((0,_FLang_FlangUtils__WEBPACK_IMPORTED_MODULE_7__.castOperandToStringIfNeed)(left), (0,_FLang_FlangUtils__WEBPACK_IMPORTED_MODULE_7__.castOperandToStringIfNeed)(right));
81099
81156
  }
81100
- compileGroupSumExpressionWithCustomValueExpression(prefix, target, targetKeyPath, sourceKeyPath, sourceValueExpression, addPrecalculationRule) {
81157
+ compileGroupSumExpressionWithCustomValueExpression(prefix, target, targetKeys, sourceKeyPath, sourceValueExpression, addPrecalculationRule) {
81101
81158
  const iterationEntries = [...(0,_Common_IterableUtils__WEBPACK_IMPORTED_MODULE_3__.reverseArray)((0,_Common_ModelPath_BuildIterationSequence__WEBPACK_IMPORTED_MODULE_4__.buildIterationSequence)(sourceKeyPath))];
81102
81159
  const finalAnonymousFunction = new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.AnonymousFunctionDeclarationExpression(_FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.BuildInTypeExpression.dict, [new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.ArgumentDeclarationExpression("result", _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.BuildInTypeExpression.dict)], new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.AddSumExpression(new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.ArgumentReferenceExpression("result"), new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.ValueReferenceExpression(sourceKeyPath.toCurrentIteration(), "value"), (0,_FLang_FlangUtils__WEBPACK_IMPORTED_MODULE_7__.castOperandToDecimalIfNeed)(sourceValueExpression)));
81103
81160
  const getWrapReduceFunction = innerReduceCall => new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.AnonymousFunctionDeclarationExpression(_FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.BuildInTypeExpression.dict, [new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.ArgumentDeclarationExpression("result", _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.BuildInTypeExpression.dict)], innerReduceCall);
@@ -81114,21 +81171,26 @@ class FormulaExpressionToFlangExpressionConverter {
81114
81171
  if (reduceExpression == undefined) {
81115
81172
  throw new _Common_Errors__WEBPACK_IMPORTED_MODULE_2__.NotSupportedError("Target and source must be in different collections! " + "\n" + `Target: ${target}` + "\n" + `SourceKey: ${sourceKeyPath}`);
81116
81173
  }
81117
- const finalValueExpression = new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.GetExpression(reduceExpression, new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.ValueReferenceExpression(targetKeyPath.toCurrentIteration(), "value"));
81118
- return finalValueExpression;
81174
+ if (targetKeys instanceof _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.ArrayStringExpression && targetKeys.expressions.length === 1) {
81175
+ var _targetKeys$expressio;
81176
+ const finalValueExpression = new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.GetExpression(reduceExpression, (_targetKeys$expressio = targetKeys.expressions[0]) !== null && _targetKeys$expressio !== void 0 ? _targetKeys$expressio : (0,_Common_TypingUtils__WEBPACK_IMPORTED_MODULE_6__.reject)());
81177
+ return finalValueExpression;
81178
+ } else {
81179
+ throw new _Common_Errors__WEBPACK_IMPORTED_MODULE_2__.NotSupportedError("Server normalization does not support multiple keys in groupSum operator");
81180
+ }
81119
81181
  }
81120
81182
  compileGroupSumExpression(prefix, target, expression, addPrecalculationRule) {
81121
- const targetKeyPath = this.preparePathAndAdjustMultiplicity(prefix, expression.targetKeyPath);
81183
+ const targetKeys = this.compileExpressionToFlangExpressionInternal(expression.targetKeys, prefix, target, addPrecalculationRule);
81122
81184
  const sourceKeyPath = this.preparePathAndAdjustMultiplicity(prefix, expression.sourceKeyPath);
81123
81185
  const sourceValuePath = this.preparePathAndAdjustMultiplicity(prefix, expression.sourceValuePath);
81124
81186
  const sourceValueExpression = new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.ValueReferenceExpression(sourceValuePath.toCurrentIteration(), "value");
81125
- return this.compileGroupSumExpressionWithCustomValueExpression(prefix, target, targetKeyPath, sourceKeyPath, sourceValueExpression, addPrecalculationRule);
81187
+ return this.compileGroupSumExpressionWithCustomValueExpression(prefix, target, targetKeys, sourceKeyPath, sourceValueExpression, addPrecalculationRule);
81126
81188
  }
81127
81189
  compileGroupCountExpression(prefix, target, expression, addPrecalculationRule) {
81128
- const targetKeyPath = this.preparePathAndAdjustMultiplicity(prefix, expression.targetKeyPath);
81190
+ const targetKeys = this.compileExpressionToFlangExpressionInternal(expression.targetKeys, prefix, target, addPrecalculationRule);
81129
81191
  const sourceKeyPath = this.preparePathAndAdjustMultiplicity(prefix, expression.sourceKeyPath);
81130
81192
  const sourceValueExpression = new _FLang_FLangCodeDom__WEBPACK_IMPORTED_MODULE_8__.DecimalLiteralExpression(1);
81131
- return this.compileGroupSumExpressionWithCustomValueExpression(prefix, target, targetKeyPath, sourceKeyPath, sourceValueExpression, addPrecalculationRule);
81193
+ return this.compileGroupSumExpressionWithCustomValueExpression(prefix, target, targetKeys, sourceKeyPath, sourceValueExpression, addPrecalculationRule);
81132
81194
  }
81133
81195
  compiledArgumentExpression(prefix, target, selectPath, selectType, addPrecalculationRule, aggregationFunction = "Sum") {
81134
81196
  const adjustedSelectPath = this.preparePathAndAdjustMultiplicity(prefix, selectPath);
@@ -81181,6 +81243,19 @@ class FormulaExpressionToFlangExpressionConverter {
81181
81243
  }
81182
81244
  return result;
81183
81245
  }
81246
+
81247
+ // private makeConcat(expressions: FLangExpression[]) {
81248
+ // const result = expressions.reduce<FLangExpression | undefined>((acc, curr) => {
81249
+ // const currExpr = castOperandToStringIfNeed(curr);
81250
+ // return acc != undefined ? new ConcatStringsExpression(acc, currExpr) : currExpr;
81251
+ // }, undefined);
81252
+ //
81253
+ // if (result == undefined) {
81254
+ // throw new InvalidProgramStateError();
81255
+ // }
81256
+ // return result;
81257
+ // }
81258
+
81184
81259
  compileOrExpression(expression, prefix, target, addPrecalculationRule) {
81185
81260
  const result = expression.arguments.reduce((acc, curr) => {
81186
81261
  const currExpr = this.compileExpressionToFlangExpressionInternal(curr, prefix, target, addPrecalculationRule);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kontur.candy/generator",
3
- "version": "5.4.0",
3
+ "version": "5.5.0-fs-7964-multiple-keys-groupsum.6",
4
4
  "description": "Candy forms generator",
5
5
  "author": "SKBKontur Candy Team",
6
6
  "private": false,