Извлечение данных | A-TECHS

Извлечение данных

Функции, описанные в текущем разделе, извлекают данные из журналов и справочников. В выражении данные функции могут располагаться непосредственно после имени журнала/справочника или после фильтров.

GroupBy

GroupBy( fieldName1 as alias1, fieldName2 as alias2,…, fieldNameN as aliasN), где

fieldName1,…, fieldNameN — имена полей

alias1,…, aliasN — псевдонимы полей

Выполняет группировку записей по указанным полям. Явно указывать какие поля по каким группируются нет необходимости, т.к. система определяет группирующие и группируемые поля по типам. Числовые поля суммируются, не числовые поля являются группирующими.

При необходимости можно задать псевдонимы полей через “as”. Например, если указать Partner as Поставщик, то в результирующей таблице будет колонка Поставщик.

Функция GroupBy может быть использована в выражение несколько раз. Например, извлекли данные, выполнили некоторые вычисления и снова выполнили группировку.

Функция GroupBy широко используется при получении остатков и анализа движений за период.


Примеры:

Деньги | Period(, 2019-12-31T23:59:59 ) | GroupBy(CompanyAccount, Amount)

Остатки денежных средств на дату в разрезе счетов.

Деньги | Period( ThisYear ) | GroupBy(CompanyAccount, Amount)

Движения по счетам за год.


 Select

Select( fieldName1 as alias1, fieldName2 as alias2,…, fieldNameN as aliasN), где

fieldName1,…, fieldNameN — имена полей

alias1,…, aliasN — псевдонимы полей

Выбирает указанные поля из журнала/справочника. При необходимости можно задать псевдонимы полей через “as”. Если не указаны поля, то будут выбраны все поля журнала/справочника.

Last

Last( fieldName1 as alias1, fieldName2 as alias2,…, fieldNameN as aliasN), где

fieldName1,…, fieldNameN — имена полей

alias1,…, aliasN — псевдонимы полей

Имеет смысл для журналов. Выбирает последние по хронологии уникальные записи. Ключом уникальности являются указанные в функции не числовые поля. Хронология определяется по стандартному полю журнала Period.

Пример:

Допустим у нас есть журнал для хранения ставок налогов с полями ТипНалога и Amount. Нам необходимо на указанную дату получить актуальные ставки налога.

Ставки | Period(,$h.date) | Last( ТипНалога, Amount)

First

First( fieldName1 as alias1, fieldName2 as alias2,…, fieldNameN as aliasN), где

fieldName1,…, fieldNameN — имена полей

alias1,…, aliasN — псевдонимы полей

Имеет смысл для журналов. Выбирает первые по хронологии уникальные записи. Ключом уникальности являются указанные в функции не числовые поля. Хронология определяется по стандартному полю журнала Period.

Turnover

Turnover( fieldName1 as alias1, fieldName2 as alias2,…, fieldNameN as aliasN), где

fieldName1,…, fieldNameN — имена полей

alias1,…, aliasN — псевдонимы полей

Имеет смысл для журналов. Вычисляет оборот для указанных полей. Записи со значение стандартного поля Direction = 1 (приходы) суммируются с плюсом, записи со значением стандартного поля Direction = 2 (расходы) суммируются с минусом. Например, если на счет поступило 100 руб., а затем было списано 50, то оборот вычисленный функцией Turnover будет 150.