1в 8.3 отчети изчисление в персонализирани полета. Език за изразяване на система за композиране на данни (1Cv8)

Език за изразяване на системата за композиране на данни

Езикът за изразяване на системата за съставяне на данни е предназначен да записва изрази, използвани в различни части на системата.

Изразът се използва в следните подсистеми:

  • схема за съставяне на данни - за описание на изчислени полета, общи полета, изрази на връзки и т.н.
  • настройки за съставяне на данни - за описание на персонализирани изрази на полета;
  • шаблон за съставяне на данни - за описване на изрази на връзки за набор от данни, описание на параметри на шаблон и т.н.

Литерали

Изразът може да съдържа буквали. Възможни са литерали от следните типове:

  • Line;
  • Брой;
  • Дата;
  • Булева.

линия

Строен буквал се пише в "" "символи, например:

„Строен буквал“

Ако трябва да използвате символа "" "вътре в буквалния низ, трябва да използвате два такива символа.

Например:

„Буквално“ „в кавички“ „„

номер

Числото се пише без интервали, в десетичен формат. Дробната част е разделена със символа "." Например:

10.5 200

дата

Буквалът за дата се записва с помощта на буквата DATETIME. След това ключова дума, в скоби, разделени със запетаи, са посочени годината, месеца, деня, часовете, минутите, секундите. Времето не е задължително.

Например:

ДАТО ВРЕМЕ (1975, 1, 06) - 6 януари 1975 г. ДАТА (2006, 12, 2, 23, 56, 57) - 2 декември 2006 г., 23 часа 56 минути 57 секунди, 23 часа 56 минути 57 секунди

Булева

Булевите стойности могат да бъдат записани с помощта на буквалите True, False.

стойност

За да укажете литерали от други типове (системни изброявания, предварително дефинирани данни), използвайте ключовата дума Value, последвана от името на буквала в скоби.

Стойност (Тип на акаунта. Активен)

Операции с числа

Unary -

Тази операция има за цел да обърне знака на число. Например:

Sales.Number

Unary +

Тази операция не извършва никакво действие върху числото. Например:

Sales.Number

Двоичен -

Тази операция е предназначена за изчисляване на разликата между две числа. Например:

Баланси и обороти. Начален баланс - Баланси и обороти. Финални баланси и обороти. Инициативен баланс - 100 400 - 357

Двоичен +

Тази операция е предназначена за изчисляване на сумата от две числа. Например:

Баланси и обороти. Начален баланс + Баланси и обороти. Обороти и баланси на оборотите. Инициативен баланс + 100 400 + 357

композиция

Тази операция е предназначена за изчисляване на произведението от две числа. Например:

Номенклатура.Цена * 1.2 2 * 3.14

делене

Тази операция има за цел да получи резултата от разделянето на един операнд на друг. Например:

Номенклатура.Цена / 1.2 2 / 3.14

Остатък от разделението

Тази операция има за цел да получи остатъка от разделяне на един операнд на друг. Например:

Номенклатура Цена% 1.2 2% 3.14

Операции на струни

Свързване (Binary +)

Тази операция има за цел да обедини две струни. Например:

Номенклатура.Артикул + „:” + Номенклатура.Име

като

Тази операция проверява дали низът съвпада с преминатия шаблон.

Стойността на LIKE оператора е TRUE, ако стойността<Выражения> съответства на модела, а FALSE по друг начин.

Следните символи в<Строке_шаблона> има смисъл, различен от само следващия символ на реда:

  • % - процент: последователност, съдържаща нула или повече произволни знаци;
  • _ - подчертаване: един произволен знак;
  • […] - един или повече знака в квадратни скоби: един знак, който и да е от изброените в квадратните скоби. Изброяването може да съдържа диапазони, например, a-z, което означава произволен знак, включен в диапазона, включително краищата на диапазона;
  • [^…] - в квадратни скоби икона на отрицание, последвана от един или повече знака: всеки символ, с изключение на изброените след иконата на отрицание;

Всеки друг символ означава себе си и не носи допълнително значение. Ако е необходимо да напишете някой от изброените знаци като себе си, то той трябва да бъде предшестван от<Спецсимвол>посочени след ключовата дума ESCAPE.

Например шаблонът

"% ABC [abcg] \\ _ abc%" СПЕЦИАЛЕН ХАРАКТЕР "\\"

означава подреда, състояща се от поредица от знаци: буквата А; букви В; букви В; една цифра; една от буквите a, b, c или d; знак за подчертаване; букви а; букви б; букви в. Нещо повече, тази последователност може да бъде разположена, започвайки от произволна позиция в линията.

Операции за сравнение

По равно

Тази операция е предназначена да сравнява два операнда за равенство. Например:

Sales.Contractor \u003d Sales.NomenclatureMainSupplier

Не е равно

Тази операция има за цел да сравни два операнда за неравенство. Например:

Продажби, изпълнител<> Sales.NomenclatureMainSupplier

По-малък

Тази операция има за цел да провери дали първият операнд е по-малък от втория. Например:

SalesCurrent.Amount< ПродажиПрошлые.Сумма

| Повече ▼

Тази операция има за цел да провери дали първият операнд е по-голям от втория. Например:

SalesCurrent.Total\u003e SalesPast.Amount

По-малко или равно

Тази операция е предназначена да провери дали първият операнд е по-малък или равен на втория. Например:

SalesCurrent.Amount<= ПродажиПрошлые.Сумма

Повече или равни

Тази операция е предназначена да провери дали първият операнд е по-голям или равен на втория. Например:

SalesCurrent.Amount\u003e \u003d SalesPast.Amount

Операция Б

Тази операция проверява наличието на стойност в предадения списък от стойности. Резултатът от операцията ще бъде True, ако стойността бъде намерена, или False по друг начин. Например:

Елемент B (& Item1, & Item2)

Операцията по проверка на наличието на стойност в набор от данни

Операцията проверява наличието на стойност в определения набор от данни. Наборът от данни за валидиране трябва да съдържа едно поле. Например:

Продажби. Контрагент към контрагенти

Операцията по проверка на стойност за NULL

Тази операция връща True, ако стойността е NULL. Например:

Продажби.Контракторът е НУЛЛ

Операция по проверка на стойност за неравенство NULL

Тази операция връща True, ако стойността не е NULL. Например:

Продажби.Контракторът НЕ Е НУЛЕН

Логически операции

Булевите оператори приемат булеви изрази като операнди.

Операция НЕ

Операцията НЕ връща True, ако нейният операнд е False, и False, ако неговият операнд е True. Например:

НЕ Document.Consignee \u003d Document.Shipper

Експлоатация И

Операторът AND връща True, ако и двата операнда са True, и False, ако един от операндите е False. Например:

Document.Consignee \u003d Document.Shipper И Document.Consignee \u003d & Counterparty

ИЛИ операция

Операцията ИЛИ връща True, ако един от операндите е True, и False, ако и двата операнда са False. Например:

Document.Consignee \u003d Document.Carrier ИЛИ Document.Consignee \u003d & Counterparty

Функции за агрегиране

Функциите на агрегат извършват някои действия върху набор от данни.

Количество

Функцията за агрегиране на сумата изчислява сумата от стойностите на израза, предадени на нея, като аргумент за всички записи на детайли. Например:

Сума (продажби. Сума сума оборот)

количество

Функцията Count изчислява броя на ненулевите стойности. Например:

Количество (продажби. Изпълнител)

Брой различни

Тази функция изчислява броя на различните стойности. Например:

Количество (различни продажби. Изпълнител)

максимален

Функцията получава максималната стойност. Например:

Максимум (баланси. Качество)

минимум

Функцията получава минималната стойност. Например:

Минимален (баланси. Качество)

Средното

Функцията получава средната стойност за стойности, които не са NULL. Например:

Средно (салда. Стойност)

Други операции

Операция SELECT

Операция Select е предназначена да избере една от няколко стойности, когато са изпълнени определени условия. Например:

Избор, когато сума\u003e 1000, след това сумата останала 0 край

Правила за сравняване на две стойности

Ако типовете сравняваните стойности се различават една от друга, тогава връзката между стойностите се определя въз основа на приоритета на типовете:

  • NULL (най-ниска);
  • Булева;
  • Брой;
  • Дата;
  • Line;
  • Референтни видове

Връзките между различните референтни типове се определят въз основа на референтните номера на таблиците, съответстващи на определен тип.

Ако типовете данни съвпадат, тогава стойностите се сравняват съгласно следните правила:

  • тип Boolean има TRUE стойност по-голяма от FALSE стойност;
  • типът номер има обичайните правила за сравнение на числата;
  • типът дата има по-ранни дати, по-малко от по-късните;
  • за типа String - сравнения на низове в съответствие с установените национални характеристики на базата данни;
  • референтните типове се сравняват въз основа на техните стойности (номера на записи и т.н.).

Работа с NULL

Всяка операция, в която стойността на един от операндите е NULL, ще доведе до NULL.

Има изключения:

  • операцията AND ще върне NULL само ако никой от операндите не е False;
  • операцията ИЛИ ще върне NULL само ако никой от операндите не е True.

Приоритети на работа

Операциите имат следните приоритети (първият ред има най-нисък приоритет):

  • B IS NULL НЕ Е NULL;
  • =, <>, <=, <, >=, >;
  • Binary +, Binary -;
  • *, /, %;
  • Unary +, Unary -.

Езикови функции на системата за съставяне на данни

Изчисли

Функцията за изчисляване е предназначена за оценка на израз в контекста на някакво групиране. Функцията има следните параметри:

  • Изразяване. Тип String Съдържа изчислен израз;
  • Групирането. Тип String Съдържа името на групировката, в контекста на която изразът трябва да бъде оценен. Ако празният низ се използва като име на групиране, изчислението ще се извърши в контекста на текущото групиране. Ако низът GeneralTotal се използва като име на групиране, изчислението ще се извърши в контекста на общата сума. В противен случай изчислението ще се извърши в контекста на родителското групиране с това име. Например:
Сума (Sales.SumTurnover) / Изчислете ("Сума (Sales.SumTurnover)", "TotalTotal")

ПО този пример в резултат на това получавате съотношението на сумата за полето Sales.SumTurnover на записа за групиране към сумата на същото поле в цялото оформление.

ниво

Функцията е предназначена да получи текущото ниво на запис.

Ниво ()

NumberOrder

Вземете следващия пореден номер.

NumberOrder ()

NumberOrderInGroup

Връща следващия пореден номер в текущото групиране.

NumberOrderInGrouping ()

формат

Вземете форматирания низ на предаваната стойност.

Низът за формат е зададен според формат низ 1С: Предприятие.

Параметри:

  • стойност;
  • Форматиране на низ.

Формат (партиди на фактури.SumDoc, "NPT \u003d 2")

Начало на периода

Параметри:

    • минута;
    • Ден;
    • Седмица;
    • месец;
    • Квартал;
    • Десетилетие;
    • Половин година.

Начало на периода (DateTime (2002, 10, 12, 10, 15, 34), „Месец“)

Резултат:

01.10.2002 0:00:00

Край на периода

Функцията е предназначена за извличане на конкретна дата от дадена дата.

Параметри:

  • Дата. Тип Дата. Уточнена дата;
  • Тип период. Тип String Съдържа една от стойностите:
    • минута;
    • Ден;
    • Седмица;
    • месец;
    • Квартал;
    • Десетилетие;
    • Половин година.

Краен период (DateTime (2002, 10, 12, 10, 15, 34), „Седмица“)

Резултат:

13.10.2002 23:59:59

Добавяне към дата

Функцията е предназначена за добавяне на определена стойност към датата.

Параметри:

  • Тип увеличение Тип String Съдържа една от стойностите:
    • минута;
    • Ден;
    • Седмица;
    • месец;
    • Квартал;
    • Десетилетие;
    • Половин година.
  • Стойност - с колко датата трябва да се увеличи. Тип номер. Дробната част се игнорира.

Добавяне към дата (ДатаTime (2002, 10, 12, 10, 15, 34), „Месец“, 1)

Резултат:

12.11.2002 10:15:34

Разлика по дати

Функцията е проектирана да получи разликата между две дати.

Параметри:

  • Изразяване. Тип Дата. Оригинална дата;
  • Изразяване. Тип Дата. Извадена дата;
  • Тип разлика. Тип String Съдържа една от стойностите:
    • На второ място;
    • минута;
    • Ден;
    • месец;
    • Квартал;

РАЗЛИКА (ДАТО ВРЕМЕ (2002, 10, 12, 10, 15, 34), ДАТО ВРЕМЕ (2002, 10, 14, 9, 18, 06), "ДЕН")

Резултат:

подниз

Тази функция е създаден за извличане на подреда от низ.

Параметри:

  • Line. Тип String Низът, от който да се извлича подтезата;
  • Позиция. Тип номер. Позицията на символа, от която започва подреда, която трябва да бъде извлечена от низа;
  • Дължина. Тип номер. Дължината на подреда за избор.

SUBSTRATE (Contractors.Adress, 1, 4)

Дължина на линията

Функцията е предназначена да определи дължината на низ.

Параметри:

  • Line. Тип String Низът, който трябва да бъде посочен по дължина.

String (Акаунти. Адрес)

година

Тази функция е създадена за извличане на година от стойност на типа Date.

Параметри:

  • Дата. Тип Дата. Датата, на която се определя годината.

ГОДИНА (дата на пратката)

тримесечие

Тази функция е предназначена за извличане на четвърт число от стойност на типа Дата. Номерът на четвърт обикновено е в интервала от 1 до 4.

параметър

  • Дата. Тип Дата. Датата, на която се определя тримесечието
ЧЕТВЪРТЪТ (дата на пратката)

месец

Тази функция има за цел да извлече номера на месеца от стойност на типа Дата. Номерът на месеца обикновено е в интервала от 1 до 12.

  • Дата. Тип Дата. Датата, на която се определя месецът.
МЕСЕЦ (Дата на фактура)

Ден на годината

Тази функция е създадена, за да получи деня в годината от стойност на типа Дата. Денят на годината обикновено е в границите от 1 до 365 (366).

  • Дата. Тип Дата. Датата, на която се определя денят от годината.
ДЕН НА ГОДИНАТА (Дата на фактура)

ден

Тази функция има за цел да избере деня от месеца от стойност на типа Дата. Денят на месеца обикновено е в границите от 1 до 31.

  • Дата. Тип Дата. Датата, на която се определя денят на месеца.
DAY (Дата на фактура)

Седмица

Тази функция е създадена, за да получи номера на седмицата в годината от стойност на типа Дата. Седмиците от годината са номерирани, започвайки от 1.

  • Дата. Тип Дата. Датата, на която се определят седмичните числа
СЕДМИЦА (дата на фактура)

Ден от седмицата

Тази функция има за цел да получи деня от седмицата от стойност на типа Date. Денят от седмицата обикновено е между 1 (понеделник) и 7 (неделя).

  • Дата. Тип Дата. Датата, на която се определя денят от седмицата.
ДЕН НА СЕДМИЦАТА (Дата на фактура)

час

Тази функция има за цел да получи часа на деня от стойност на типа Дата. Часът на деня варира от 0 до 23.

  • Дата. Тип Дата. Датата, до която се определя часът на деня
HOUR (дата на пратката)

минута

Тази функция има за цел да извлече минутата на час от стойност на типа Дата. Минутата на часа варира от 0 до 59.

  • Дата. Тип Дата. Датата, на която се определя минутата на часа.
MINUTE (Дата на фактура)

втори

Тази функция има за цел да получи втората минута от стойността на типа Дата. Втората от минута варира от 0 до 59.

  • Дата. Тип Дата. Датата, на която се определят секундите от минутата.
ВТОРО (дата на фактура)

Express

Тази функция е предназначена за извличане на тип от израз, който може да съдържа сложен тип. В случай, че изразът съдържа тип, различен от необходимия тип, NULL стойност ще бъде върната.

Параметри:

  • Изразът, който трябва да се преобразува;
  • Индикация на типа Тип String Съдържа низ от тип. Например „Число“, „Низ“ и т.н. Освен примитивни типове даден низ може да съдържа името на таблицата. В този случай ще бъде направен опит за изразяване на препратка към посочената таблица.

Express (Data.Props1, "Номер (10.3)")

YesNull

Тази функция връща стойността на втория параметър, ако стойността на първия параметър е NULL.

В противен случай стойността на първия параметър ще бъде върната.

ДаNULL (Сума (Продажби. Сума на оборота), 0)

Общи модулни функции

Изразът на механизма за съставяне на данни може да съдържа повиквания към глобални функции общи модули конфигурация. Не се изисква допълнителен синтаксис за извикване на такива функции.

В този пример функцията "Съкратено име" ще бъде извикана от модула за обща конфигурация.

Обърнете внимание, че използването на функциите на общи модули е позволено само когато е посочен съответният параметър на процесора за съставяне на данни.

В допълнение, функциите на общи модули не могат да се използват в персонализирани полеви изрази.

За компетентно управление всяка търговска организация трябва незабавно да получи информация за текущото състояние на стоки, продажби, печалби. Ако обаче считате, че организациите често работят с най-широк списък със стоки и голям брой контрагенти, тогава инструментът за настройка на аналитичните отчети играе важна роля за получаване на необходимата информация. Нека разгледаме по-подробно процедурата за работа с персонализирани полета в отчетите на типична програма (откр. 11).

Разработване на платформата 1C: Enterprise 8 предлага на потребителите все повече и повече възможности. Така например, във версия 8.2, отчетите са станали по-гъвкави, което позволява те да бъдат персонализирани към различни изисквания без помощта на квалифицирани програмисти.

Промяна на настройките на отчета

За да прегледате или промените настройките на отчета, отидете в менюто Всички действия и изберете командата Промяна на варианта. След това пред потребителя се отваря прозорец с настройки за отворен отчет.

В горната част на прозореца с настройки можете да видите структурата на отчета, която не е нищо повече от визуално отражение на колоните и групирането на отчетите на редовете, което по същество дава възможност да се представи в какъв ред се показват аналитичните данни в този отчет.

В долната част на прозореца с настройки се показват действителните настройки на информация и полета, които се отнасят или до отчета, или до елементите на неговата структура (колони и групиране на редове).

Персонализирани полета

В програма 1В: Управление на търговията 8 издание 11 от настройките на отчета предоставя на потребителите повече опции при формирането им.

В прозореца за редактиране на настройките и структурата на отчетите бихме искали да обърнем специално внимание на потребителите към раздела „Персонализирани полета“, който ви позволява да създавате свои собствени полета и да ги добавяте в отчета. Трябва да се припомни, че преди това потребителят е можел да използва само онези полета, които са били реализирани от разработчика.

Нека разгледаме използването на тази функция с пример.

Да предположим, че ръководителят на търговска компания, която продава стоки в Москва и регионите, иска да персонализира отчета за историята на продажбите, като иска да покаже в него данни за продажбата на артикули в Москва и регионите като цяло, както и за партньори. Много лесно е да направите това с помощта на персонализирани полета.

По този начин, илюстративен пример показва, че гъвкави настройки за персонализирани полета в типична програма 1В: Управление на търговията 8 осигурете на потребителя множество възможности в настройките на отчетите, като им позволява бързо да получават необходимата информация в удобна форма.

Допълнете готови доклади със собствени колони.
В отчет, направен с помощта на схемата за съставяне на данни от потребителския режим, можете да добавите свои собствени полета, които ще се показват по време на генериране.
В тези полета е позволено да се използват аритметични операции.

Преди много време написах отчет „Продажби на стоки с пратка“ http://infostart.ru/public/16477/. В тази публикация няма да обсъждаме нейната значимост и достойнства. Този доклад ще бъде взет като шаблон за експерименти, модификации. Освен това в коментарите те попитаха как да добавят полета.

Отворете "Настройки ..." и отидете на раздела "Настройки на потребителя".

2. Добавете „Ново поле Израз“

Добавянето на полета е рецепта аритметични операции между полетата Налични, (това е позволено, маркирано със зелен квадрат). Освен това, ако името на такова поле се състои от две или повече думи, то трябва да бъде затворено в квадратни скоби. Ще се получи така - [Сума на продажбите].

След запазването това поле ще стане достъпно за избор:

Тук с помощта на прости манипулации получавате нужната стойност. Тази функция ви позволява да добавите необходимите полета. В такива опции за изчисление, колкото е необходимо. Рентабилността, ефективността и други стойности ще бъдат отчетени във вашата аритметична логика.

В този случай работата ви няма да бъде загубена и можете да я използвате следващия път, когато отворите отчета.

Функции, използвани при писане на полета.

  • Аритметиката "+, -, *, /" е разбираема с това, мисля, че не е необходимо да се обяснява принципа на тяхната работа.
  • Булевите изрази в се използват за определяне на селекциите. "\u003e,< , = , >= , <= , <>, И, ИЛИ, НЕ ". Тези изрази се използват с операция за избор.
  • Операции за подбор. Кандидатствайте за получаване на една от възможните стойности в съответствие с посочените условия

ИЗБОР
КОГА< Операция выбора > ТОГАВА<Выражение>
ELSE<Выражение>
КРАЙ
Пример:
ИЗБОР
КОГА Количество\u003e 0 и сума\u003e 0 ТОГА "Правилно"
ELSE "Грешка"
КРАЙ

Това се дешифрира по следния начин: ако сумата е по-голяма от нула и сумите са по-големи от нула, ще се покаже текстът „Правилно“ и ако поне едно от условията не е изпълнено, ще се покаже „Грешка“.

  • Вградена функция ви позволява да правите определени трансформации с полета.

SUBSTRING ("Expression", "Start Position", "End Position") - избира част от "Expression", ограничена от кадрите "Start ..." и "End ...".
Как се случва със стойността на номенклатурата - "Шоколадова паста", формулата Substring (Номенклатура, 1,5) ще изведе стойността "Paste"

Функциите се използват за работа с датата

ГОДИНА (<Дата>), ЧЕТВЪРТЪК (<Дата>), МЕСЕЦ (<Дата>), ДЕН (<Дата>), ДЕН (<Дата>), СЕДМИЦА(<Дата>), ДЕН НА СЕДМИЦАТА (<Дата>), Час (<Дата>), MINUTE (<Дата>), ВТОРИ (<Дата>)

Показва се стойността, съответстваща на името на функцията.

НАЧАЛО НА ПЕРИОДА („Дата“, „Период на изместване“), КРАЙ НА ПЕРИОДА („Дата“, „Период на смяна“). За функционалните данни стойността на израза Дата е в началото или в края на посочената дата.

ДОБАВИ ДАТА ("Дата", "Период на смяна", "Сума, с която да увеличите датата") - функцията ви позволява да увеличите или намалите датата с определена стойност.

ДАТА НА РАЗЛИКА ("Дата1", "Дата2", "Период на смяна") - Функцията е предназначена да получи разликата между две дати.

"Shift Period" е един от "минута, час, ден, седмица, месец, тримесечие, година, десетилетие, половин година".

5.Агрегиращи функции на езика на заявките се използват при групиране на резултати, изчисляване на сумите

SUM (<>) аритметичната сума на всички стойности в пробата.
СРЕДНОТО (<>) изчислява средната стойност на всички в извадката
МИНИМАЛЕН (<>) изчислява минималната стойност на всички стойности в извадката
МАКСИМАЛНО (<>) изчислява максималната стойност на всички стойности в извадката
КОЛИЧЕСТВО (<>) отчита броя на стойностите на параметрите в извадката. Тази функция позволява случаи на използване. КОЛИЧЕСТВО (*) - ви позволява да отчитате броя на редовете в резултата. КОЛИЧЕСТВО (РАЗЛИЧНО „Израз“) - ви позволява да отчитате броя на различните стойности на посоченото поле.

Сума (избор
Когато Подреждане (Номенклатура, 1, 5) \u003d "Поставяне"
Тогава Количество * 0,2
В противен случай сума * 0,35
Край)

Резултатът е сборът от стойностите, когато в началото на името на артикула има "Паста" в този случай количеството се увеличава с 0,2, ако няма, то се увеличава с 0,35.

Година ([Document.Date])

Годината, в която документът е написан / публикуван, ще бъде показана.

По-сложен пример, без декодиране.

избор
Когато Quarter ([Document.Date]) \u003d 1 AND Substring (Номенклатура, 1, 5) \u003d "Поставяне"
Тогава Количество * 0,2
В противен случай избор
Когато четвърт ([Document.Date]) \u003d 2
Тогава Количество * 0,3
В противен случай избор
Когато четвърт ([Document.Date]) \u003d 3
Тогава Количество * 0,4
В противен случай избор
Когато четвърт ([Document.Date]) \u003d 4
Тогава Количество * 0,5
край
край
край
край

Разгледахме подробно настройките за отчетите, реализирани въз основа на ACS. Сега нека разгледаме по-фините и по-подробни настройки на опциите на отчета. Прозорецът с „разширени“ настройки на варианта на отчета се извиква от командата „Още“ - „Друго“ - „Промяна на варианта на отчета“.

Прозорецът за промяна на варианта на отчета е разделен на две части:

1. Структура на доклада.

2. Отчитане на настройките.


Разделът за структура на вариант на отчет е подобен на раздела „Структура“ на стандартните настройки на отчета. Целта и конфигурацията на групирането са разгледани подробно в част 1 на статията.

Таблицата на структурата на вариант на отчета, в допълнение към колоната със самите групировки, съдържа няколко допълнителни колони:

Разделът за настройки на опцията за отчет дава на потребителя достатъчно възможности да конфигурира доклада според нуждите му. Той почти напълно съвпада с стандартни настройки на доклада, обсъден в част 1. Нека разгледаме всички раздели на раздела и да отбележим разликите.

Разделът за настройки се състои от следните раздели:

1. Параметри. Съдържа ACS параметри, достъпни за потребителя.

Параметърът ACS е някаква стойност, използвана за получаване на данните на отчета. Това може да бъде стойност на условието за избор или валидиране на данни, или спомагателна стойност.


Таблицата с параметри е представена във формата "Параметър" - "Стойност". Стойностите на параметрите могат да се променят, ако е необходимо. Щракването върху бутона Свойства на елемент за персонализирани настройки отваря персонализираните настройки за елемента.


В този прозорец можете да изберете дали елементът ще бъде включен в потребителските настройки (т.е. видим за потребителя при настройване на отчета), да зададете презентация на елемента и режим на редактиране ( бърз достъп в заглавката на отчета, нормално в настройките на отчета и недостъпно).

Свойствата на елемента за персонализиране също имат групиращи се полета, полета, филтри и условни елементи.

2. Персонализирани полета. Съдържа полета, които самият потребител формира въз основа на данните, избрани от отчета.


Потребителят може да добави два вида полета:

  • Ново поле за избор ...
  • Ново поле за изразяване ...

Избраните полета ви позволяват да изчислите стойност въз основа на дадено условие. Прозорецът за редактиране на полето за избор съдържа заглавието на полето и таблицата, в която са зададени селекцията, стойността и представянето на полето. Изборът е условие, в зависимост от това, което изискваната стойност ще бъде заменена.


Например, нека изчислим приблизителната оценка на броя на продажбите. Ще приемем, че ако се продават по-малко от 10 единици от даден продукт, те се продават малко, а ако повече от 10 единици - много. За да направите това, ще зададем 2 стойности на изчисленото поле: първото ще бъде с селекцията „Брой стоки е по-малко или равно на„ 10 ““, второто с избора „Брой стоки е по-голямо от„ 10 “".

Полетата за изразяване ви позволяват да изчислите стойност, като използвате произволни алгоритми. Те могат да използват функциите на езика на заявките и вградения език за програмиране 1С. Прозорецът за редактиране на полето за изразяване съдържа две полета за подробни и обобщени изрази. Записите на суми са групировки, конфигурирани в областта "Структура на отчета", в която трябва да използвате съвкупни функции ("Сума", "Минимален", "Максимум", "Количество").

Например, нека изчислим средния процент на отстъпка. Средният процент на отстъпките се изчислява по формулата: [Количество на продажбите без отстъпка] - [Сума на продажбите с отстъпка] / [Сума на продажбите без отстъпка]. Трябва да се помни, че размерът на продажбите без отстъпка може да бъде нула, затова използваме оператора SELECT за проверка. Получаваме следните изрази:

· За подробни бележки:

избор

Когато [Количество на продажбите без отстъпка] \u003d 0

Тогава 0

В противен случай [Количество на продажбите без отстъпка] - [Количество на продажбите с отстъпка] / [Размер на продажбите без отстъпка]

край

· За суми записи:

избор

Когато сума ([сума на продажбите без отстъпка]) \u003d 0

Тогава 0

В противен случай сума ([сума на продажбите без отстъпка]) - сума ([сума на продажбите с отстъпка]) / сума ([сума на продажбите без отстъпка])

край

Както споменахме по-рано, в изразяването на сумите използваме агрегиращата функция "Сума".

3. Събираеми полета. Съдържа полетата, по които ще се групира резултатът от варианта на отчета. Полетата за групиране се конфигурират отделно за всяка от групировките, но можете да определите общи полета за групиране за вариант на отчета, ако изберете корен „Отчет“ в дървото на структурата. Можете да добавите поле от резултата на отчета, персонализирано поле или да изберете автоматично поле, тогава системата ще избере полетата автоматично. Също така този раздел ви позволява да промените реда на групираните полета.


4. Полета. Съдържа полетата, които ще бъдат изведени в резултат на варианта на отчета. Полетата се конфигурират отделно за всяка от групировките, но можете да зададете общи полета за вариант на отчета, ако изберете корен „Отчет“ в дървото на структурата. Можете да добавите поле от резултата на отчета, персонализирано поле или да изберете автоматично поле, тогава системата ще избере полетата автоматично. Също така този раздел ви позволява да промените реда на полетата.

Полетата могат да бъдат групирани, за да подчертаят логично всяка част от отчета или да дефинират специална подредба на колони. Когато добавяте група, графата „Местоположение“ става активна и ви позволява да изберете една от опциите за местоположение:

  • Авто - системата поставя полетата автоматично;
  • Хоризонтални - полетата са подредени хоризонтално;
  • Вертикално - полетата са подредени вертикално;
  • В отделна колона - полетата са разположени в различни колони;
  • Заедно - полетата са подредени в една колона.


5. Избор. Съдържа селекции, използвани във варианта на отчета. Персонализирането на селекциите беше обсъдено подробно в част 1 на тази статия. Филтрите се конфигурират отделно за всяка от групировките, но можете да зададете общи филтри за вариант на отчета, ако изберете корен "Отчет" в дървото на структурата.


6. Сортиране. Съдържа полета за сортиране, използвани във варианта на отчета. Персонализирането на полетата за сортиране беше разгледано подробно в част 1 на тази статия. Сортирането се конфигурира отделно за всяко от групирането, но можете да зададете общи полета за сортиране за вариант на отчета, ако изберете корен „Отчет“ в дървото на структурата.


7. Условен дизайн. Съдържа условни стилизиращи елементи, използвани във вариант на отчета. Настройването на условен вид беше обсъдено подробно в част 1 на тази статия. Условният външен вид се конфигурира отделно за всяка от групировките, но можете да зададете общи условни елементи на външен вид за вариант на отчета, ако изберете корен "Отчет" в дървото на структурата.


8. Допълнителни настройки. Съдържа допълнителни настройки подготовка на доклада. Позволява ви да изберете общ външен вид отчет, местоположението на полетата, групирането, подробностите, ресурсите, общите стойности, задайте настройките на диаграмата, контролирайте изхода на заглавието, параметрите и селекцията, определете позицията на ресурсите и фиксирайте колоните за заглавие и групиране на варианта на отчета.


В заключение искам да отбележа, че настройките на отчета не само могат да бъдат запазени като вариант на отчета, но и да бъдат качени във файл (меню „Още“ - „Запазване на настройките“). За да изтеглите, изберете „Настройки за зареждане“ и изберете запазения файл. По този начин можем да прехвърлим настройките на варианта на отчета между различни бази данни с една и съща конфигурация.


Въз основа на това можем да обобщим, че потребителят може не само независимо да персонализира отчета според нуждите му, но и да запази настройките си и да ги използва по-късно, ако е необходимо.

За да взима навременни и правилни управленски решения, всяка организация се нуждае от оперативна информация за наличността на стоките в складовете, за нейната цена и за продажбите. Търговските организации работят с голям брой номенклатури и контрагенти и това изисква добра настройка на аналитичното счетоводство и бързо получаване на необходимата информация по неговите данни. Статията разглежда основните техники за работа със стандартни доклади в типично решение „1С: Управление на търговията 8“ (издание 11), изградено на базата на системата за съставяне на данни и предоставя полезни практически препоръки, които ще бъдат полезни както за начинаещи потребители, така и за тези, които са преминали към новото издание от предишни издания.

Например, нека вземем доклад

  • Анализ на наличността на стоките;

Настройвам.

В колона Тип за сравнение номенклатура

  • По равно
  • Не е равно
  • В списъка
  • Не е в списъка
  • В група номенклатура;
  • Не в група номенклатура;
  • В група от списъка номенклатура;
  • Не в група от списъка номенклатура.

стойност

„Бързи решения“

С развитието на платформата 1C: Enterprise 8 и появата на нова версия 8.2 отчетите в системите стават все по-гъвкави и потребителите имат все повече възможности да ги персонализират според техните изисквания, без да прибягват до помощта на програмисти.

Новите възможности, предоставени от системата за съставяне на данни (ACS), както никога досега, ви позволяват да почувствате ползите от възможностите на "1C: Enterprise 8", когато изграждате отчети. И въпреки факта, че интерфейсът на отчетите е претърпял значителни промени (в сравнение с версия 10.3 на конфигурацията „Управление на търговията“, наричана по-долу UT), настройките на отчета все още са достъпни за обикновения потребител. Нека разгледаме някои основни техники за работа с тях.

Първото нещо, което трябва да се търси, са бързите решения. Те ви позволяват да показвате данни за определени стойности на полетата в отчета според желанията на потребителя.

Например, нека вземем доклад Анализ на наличността на стоки в UT... Веднага отбелязваме, че цялата демонстрация на възможностите на отчетите в UT 11 ще се проведе на примера на два отчета:

  • Анализ на наличността на стоките;
  • Приходи и разходи от продажби.

Избор по някои полета може да се извърши или директно във формуляра на отчета, или чрез щракване Настройвам.

В колона Тип за сравнение потребителят може да избере различни условия за сравнение. Например за полето номенклатура можете да изберете следните видове сравнение:

  • По равно - отчетът ще бъде изграден само за избрания артикул;
  • Не е равно - докладът ще бъде съставен за цялата номенклатура, с изключение на избраната позиция;
  • В списъка - докладът ще се основава на списъка на номенклатурните позиции;
  • Не е в списъка - докладът ще бъде съставен за цялата номенклатура, с изключение на избраните позиции;
  • В група - отчетът ще бъде изграден за цялата номенклатура, разположена в избраната директория номенклатура;
  • Не в група - отчетът ще бъде изграден за цялата номенклатура, с изключение на елементи, разположени в избраната директория номенклатура;
  • В група от списъка - подобно на сравнение В списъка като папки са избрани само папки в директорията номенклатура;
  • Не в група от списъка - подобно на сравнението Не в списъка, като папки са избрани само папки в директорията номенклатура.

Отметката в квадратчето вляво от полето за избор показва, че селекцията за това поле е „активирана“, тоест се отчита от отчета.

Неотместените полета не се вземат предвид, дори ако сте избрали определени стойности за тези полета.

В зависимост от избрания тип сравнение в колоната стойност указва конкретен елемент или папка (група) от директорията или списък с елементи или папки.

„Бързи пикове“ са налични във всички решения, базирани на платформата „1C: Enterprise 8“.

Пример за проста промяна на настройките на отчета

За да прегледате / промените настройките на отчета, отидете в менюто Всички действия - Промяна на вариант.

Пред нас се отваря прозорецът с настройки за избраната опция за отчет.

Структурата на отчета се показва в горната част на прозореца. Всъщност това е визуално показване на групиране на редове и колони на отчета, т.е. в какъв ред аналитичните данни ще се показват в отчета в редове и в колони.

В долната част на прозореца се показват тези, свързани с отчета като цяло (ако горното ниво е избрано в структурата на отчета) доклад) или до определено групиране на редове или колони в отчета (ако групирането е подчертано по-долу) настройки за извеждане на информация и дизайн на полето.

Пример 1

Етап 1. Трябва да премахнем групирането по характеристиките на елемента, оставяйки само групирането по елемента. За целта кликнете върху полето в горната част на прозореца за настройки на отчета Номенклатура, характеристика... В долната част на прозореца отидете на раздела Обединенията.

Изберете полето Характеристика и кликнете върху бутона Изтрий команден панел.

Потвърдете промените, направени в настройките на отчета, като кликнете върху бутона Завършете редактирането в долния ляв ъгъл на екрана.

Стъпка 2. След премахване на характеристиката, нашата задача, според условията на примера, ще бъде да добавим ценова група. Според смисъла това групиране трябва да премине ниво по-ниско от групирането по склад, но ниво по-високо от групирането по артикули. Следователно в структурата на отчета изберете групирането Наличност.

Като щракнете върху него с десния бутон на мишката, в контекстното меню изберете командата Ново групиране.

В отворения прозорец за редактиране на полето за групиране изберете Номенклатура, ценова група.

С натискане на бутона Добре, ще видим, че към отчета е добавено ново групиране, подчинено на групирането Наличност.

Сега нека изберете групирането по артикула и, без да освобождавате десния бутон на мишката, плъзнете вътре (т.е. по-долу) групирането по ценова група. Ще получим структурата, показана на фигура 1. Резултатът от настройката на отчета е показан на фигура 2.

Фигура: 1. Получената структура на доклада

Фигура: 2. Резултат от създаването на доклада

Работа с персонализирани полета

Сега нека разгледаме по-подробно новите опции за персонализиране на отчетите в програмата 1C: Управление на търговията 8.

Под формата на редактиране на структурата и настройките на нашия доклад обърнете внимание на раздела Персонализирани полета.

Преди това добавихме полета в отчета, чийто списък е предварително дефиниран от програмиста. Използвайки този раздел, можем да създадем собствени полета, от които се нуждаем - Поле за избор или Поле на изразяване.

Пример 2

Нека персонализираме отчета „История на продажбите“ (версия на отчета „Приходи и разходи от продажби“). Нека покажем данните за продажбите в контекста на партньорите и номенклатурата. Да предположим, че нашата компания се занимава с продажба на стоки в Москва и в регионите. По този начин, всеки клиент в информационната база принадлежи на определен географски регион (атрибут „Бизнес регион” на справочника „Партньори”). Лесно можем да групираме данните за продажбите в отчета по региони, но какво ще стане, ако се интересуваме от по-обобщена статистика, по-специално отговора на въпроса „Колко стоки са продадени в Москва и колко във всички други региони, комбинирани“? Именно тук идват „потребителски полета“.

Етап 1. Нека отворим доклада. Нека да преминем към формата за настройка на структурата на отчета ( Всички действия -\u003e Промяна на вариант). Нека изтрием на свой ред всички групировки, създадени преди това в отчета - за това изберете всяко от тях и щракнете върху бутона Изтрий или използвайте клавиша DEL.

Както в предишния пример, нека добавим групиране по партньор и след това по елемент в отчета. Вече знаем как да направим това, така че няма да отнеме много време.

Стъпка 2. Нека създадем ново потребителско поле. Нека отворим отметката Персонализирани полетаи изпълнете командата Добавяне -\u003e Ново поле за избор.

Нека да назовем новото си поле - Регион обобщен.

Кликнете върху бутона Добави към... ПО нова линия кликнете върху бутона в колоната селекция... В появилата се форма за редактиране на селекция добавете селекция по поле Регион за партньорски бизнес... Нека изберем вида за сравнение По равно, стойност - Москва.

Кликнете върху бутона Добре, след което ще се върнем към прозореца за редактиране на персонализирано поле. След това трябва да кликнете върху бутона в колоната стойност и в появилия се списък за избор на тип данни изберете линия и напишете като стойност Москва.

Нека повторим операцията. Нека добавим още един ред в таблицата. Този път за избор в полето Регион за партньорски бизнес изберете типа за сравнение Не е равно.

Връщане към прозореца за редактиране на персонализирано поле в колоната стойност пиши Други региони (виж фиг. 3).

Фигура: 3. Редактиране на персонализирано поле

Кликнете върху бутона Добре... Новото ни поле е готово.

Стъпка 3. Нека добавим новото ни поле към структурата на отчета. Избиране на горното ниво с мишката План на доклада, добавете ново групиране. В реквизита поле избирам Регион обобщен.

Плъзнете групирането по партньор и подчиненото му групиране по номенклатура вътре в новосъздадения.

Нека да генерира отчет и да разгледаме резултата (показан на фиг. 4).

Фигура: 4. Резултатът от генерирането на доклада

Подбор и сортиране

Нека се върнем към прозореца за редактиране на структурата и настройките на отчета и да обърнем внимание на отметките селекция и сортиране.

Ако коренният елемент е избран в структурата на отчета ( доклад), настройките, направени в тези раздели, ще се прилагат за целия отчет като цяло. Ако е избрано каквото и да е групиране на отчета, настройките ще повлияят само на него.

Пример 3

В резултат на това докладът История на продажбите само тези реализации ще получат мястото, където е указан мениджърът Иванов Иван Федорович.

Пример 4

Запазете промените си

Когато промените структурата на отчет, винаги можете да го запишете с помощта на командата Всички действия -\u003e Запазване на опцията.

Под формата на запазване на варианта, като използвате превключвателя, можете да изберете Запазване в съществуващата версия на отчета (вместо една от вече наличните опции), или Запазете нова версия на отчета.

Споделя това