From 4feb0f097f6c7ad18550f39c9309e2a066760fe6 Mon Sep 17 00:00:00 2001 From: salexdv Date: Wed, 24 Mar 2021 13:58:30 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B9=20=D0=B8=20=D1=81?= =?UTF-8?q?=D0=BD=D0=B8=D0=BF=D0=BF=D0=B5=D1=82=D0=BE=D0=B2=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D0=A1=D0=9A=D0=94=20(by=20Evg-lylyk)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bslDCS.js | 74 +++++++++++++++++++++++++++++++++++++++++++++-- src/snippets.js | 38 +++++++++++++++++++++--- src/test_query.js | 4 +-- 3 files changed, 108 insertions(+), 8 deletions(-) diff --git a/src/bslDCS.js b/src/bslDCS.js index 1165da2..d5b9a99 100644 --- a/src/bslDCS.js +++ b/src/bslDCS.js @@ -27,8 +27,8 @@ define([], function () { "СтрокаПараметров": "(Выражение, Группировка, ТипРасчета, Начало, Конец, Сортировка, ИерархическаяСортировка, ОбработкаОдинаковыхЗначенийПорядка): Произвольный", "Параметры": { "Выражение": "Строка, содержит вычисляемое выражение", - "Группировка": "Строка, исходная дата", - "ТипРасчета": "Строка, тип расчета (\"ОбщийИтог\", \"Группировка\")", + "Группировка": "Строка, исходная дата (ОбщийИтог)", + "ТипРасчета": "Строка, тип расчета (ОбщийИтог, Группировка, ГруппировкаНеРесурса, Иерархия)", "Начало": "Строка, указывает, с какой записи нужно начинать фрагмент (Первая, Последняя, Предыдущая, Следующая, Текущая, ОграничивающееЗначение)", "Конец": "Строка, указывает, до какой записи нужно продолжать фрагмент (Первая, Последняя, Предыдущая, Следующая, Текущая, ОграничивающееЗначение)", "Сортировка": "Строка, в которой перечисляются выражения, разделенные запятыми, в направлении которых нужно упорядочивать последовательность (Убыв, Возр, Автоупорядочивание).", @@ -631,6 +631,76 @@ define([], function () { } } } + }, + "Сумма": { + "name": "Сумма", + "name_en": "Sum", + "description": "Вычисляет агрегатную сумму.", + "returns": "Тип: Число.", + "signature": { + "default": { + "СтрокаПараметров": "(Выражение): Число", + "Параметры": { + "Выражение": "Строка, выражение." + } + } + } + }, + "Количество": { + "name": "Количество", + "name_en": "Count", + "description": "Вычисляет агрегатное количество.", + "returns": "Тип: Число.", + "signature": { + "default": { + "СтрокаПараметров": "(Выражение): Число", + "Параметры": { + "Выражение": "Строка, выражение." + } + } + } + }, + "Среднее": { + "name": "Среднее", + "name_en": "Avg", + "description": "Вычисляет агрегатное среднее.", + "returns": "Тип: Число.", + "signature": { + "default": { + "СтрокаПараметров": "(Выражение): Число", + "Параметры": { + "Выражение": "Строка, выражение." + } + } + } + }, + "Минимум": { + "name": "Минимум", + "name_en": "Min", + "description": "Вычисляет агрегатный минимум.", + "returns": "Тип: Число.", + "signature": { + "default": { + "СтрокаПараметров": "(Выражение): Число", + "Параметры": { + "Выражение": "Строка, выражение." + } + } + } + }, + "Максимум": { + "name": "Максимум", + "name_en": "Max", + "description": "Вычисляет агрегатный максимум.", + "returns": "Тип: Число.", + "signature": { + "default": { + "СтрокаПараметров": "(Выражение): Число", + "Параметры": { + "Выражение": "Строка, выражение." + } + } + } } } } diff --git a/src/snippets.js b/src/snippets.js index a188026..64a38ba 100644 --- a/src/snippets.js +++ b/src/snippets.js @@ -1138,10 +1138,40 @@ define([], function () { DCSSnippets = { "Выбор": { - "prefix": "ВЫБОР", - "body": "ВЫБОР\n\tКОГДА ${1:Условие}\n\t\tТОГДА $2\n\tИНАЧЕ $0\nКОНЕЦ", - "description": "ВЫБОР" - } + "prefix": "Выбор", + "body": "Выбор\n\tКогда ${1:Условие}\n\t\tТогда $2\n\tИначе $0\nКонец", + "description": "Выбор" + }, + "НачалоПериода": { + "prefix": "НачалоПериода", + "body": "НачалоПериода(\"$1\", ${2|\"Минута\",\"Час\",\"День\",\"Неделя\",\"Декада\",\"Месяц\",\"Квартал\",\"Полугодие\",\"Год\"|})", + "description": "НачалоПериода" + }, + "КонецПериода": { + "prefix": "КонецПериода", + "body": "КонецПериода(\"$1\", ${2|\"Минута\",\"Час\",\"День\",\"Неделя\",\"Декада\",\"Месяц\",\"Квартал\",\"Полугодие\",\"Год\"|})", + "description": "КонецПериода" + }, + "Вычислить": { + "prefix": "Вычислить", + "body": "Вычислить(\"$1\", ${2|\"\",\"ОбщийИтог\"|}, ${3|\"\",\"ОбщийИтог\",\"Группировка\"|})", + "description": "Вычислить" + }, + "ВычислитьВыражение": { + "prefix": "ВычислитьВыражение", + "body": "ВычислитьВыражение(\"$1\", ${2|\"\",\"ОбщийИтог\"|}, ${3|\"\",\"ОбщийИтог\",\"Группировка\",\"ГруппировкаНеРесурса\",\"Иерархия\"|}, ${4|\"Первая\",\"Последняя\",\"Предыдущая\",\"Следующая\",\"Текущая\",\"ОграничивающееЗначение\"|}, ${5|\"Первая\",\"Последняя\",\"Предыдущая\",\"Следующая\",\"Текущая\",\"ОграничивающееЗначение\"|}, \"$6\", ${7|\"Вместе\",\"Отдельно\"|})", + "description": "ВычислитьВыражение" + }, + "ДобавитьКДате": { + "prefix": "ДобавитьКДате", + "body": "ДобавитьКДате(\"$1\", ${2|\"Минута\",\"Час\",\"День\",\"Неделя\",\"Декада\",\"Месяц\",\"Квартал\",\"Полугодие\",\"Год\"|}, \"$3\")", + "description": "ДобавитьКДате" + }, + "РазностьДат": { + "prefix": "РазностьДат", + "body": "РазностьДат(\"$1\", \"$2\", ${3|\"Минута\",\"Час\",\"День\",\"Месяц\",\"Квартал\",\"Год\"|})", + "description": "РазностьДат" + } } }); \ No newline at end of file diff --git a/src/test_query.js b/src/test_query.js index eb81548..363eeb6 100644 --- a/src/test_query.js +++ b/src/test_query.js @@ -282,10 +282,10 @@ describe("Проверка автокомлита и подсказок реда it("проверка подсказки для функций в режим СКД ", function () { switchDCSMode(); - bsl = helper("ВЫЧИСЛИТЬВЫРАЖЕНИЕСГРУПП"); + bsl = helper("ВычислитьВыражениеСГрупп"); result = bsl.getDCSCompletition(); expect(result.suggestions).to.be.an('array').that.not.is.empty; - assert.equal(result.suggestions.some(suggest => suggest.label === "ВЫЧИСЛИТЬВЫРАЖЕНИЕСГРУППИРОВКОЙМАССИВ"), true); + assert.equal(result.suggestions.some(suggest => suggest.label === "ВычислитьВыражениеСГруппировкойМассив"), true); switchDCSMode(); });