Функции на јазикот на изразување на системот за составување податоци. Користење ресурси во SKD користејќи пример за креирање надворешен табеларен извештај Пресметајте го износот со хоризонтално групирање на SKD 1s

Постои информативен регистар „Застанувања долж трасата“, во кој се чуваат информации за растојанието од почетокот до последната станица.

Ориз. 1. Информативен регистар „Застанувања долж трасата“

Потребно е да се развие извештај за системот за контрола на пристап кој ќе го прикаже растојанието помеѓу кои било две постојки долж трасата.

Решение

Во која било конфигурација што поддржува управувани форми, ќе создадеме непериодичен регистар на информации „Застанувања долж рутата“. Да ги додадеме на него димензиите Route и Stop со тип на низа со должина 4 и 50, соодветно, како и ресурс Distance со тип на број со должина од 10,2. Ајде да ги зачуваме промените во новата конфигурација. За да креирате надворешен извештај, во Мени-->Датотека-->Ново, изберете „Надворешен извештај“, поставете го неговото име и отворете го дијаграмот за распоред на податоци:

Ориз. 2. Креирање надворешен извештај за системот за контрола на пристап

Во прозорецот што се отвора, кликнете на копчето „Додај збир на податоци“ и изберете ја линијата „Додај сет на податоци - барање“:

Ориз. 3. Додавање на база на податоци - барање

Ајде да создадеме ново барање. За да го решиме проблемот, ќе ни треба во барањето регистарот за информации „Застанувања долж трасата“ и бидејќи извештајот треба јасно да го прикаже растојанието помеѓу кои било две постојки, ќе создадеме барање за табеларно претставување долж оските X и Y , користејќи целосно надворешно спојување на табелата со регистри со себе:

Ориз. 5. Одредување ресурси за системи за контрола на пристап

Ајде сега да одиме во табулаторот „Поставки“ и да кликнете на копчето „Отвори дизајнер на поставки“, изберете го типот на извештај Табела:

Ориз. 7. Избор на полиња за извештај

Сл.8. Избор на полиња за групирање

Ориз. 9. Избор на полиња за сортирање

Останува само да го користите копчето „Својства на елементите за кориснички поставки“ за да ги креирате овие поставки, а исто така и на табулаторот „Други поставки“ за да покажете како ќе се наоѓаат ресурсите и да ги отфрлите вкупните збирки (тие не се потребни овде):

Ориз. 10 Кориснички и други поставки.

Извештајот е подготвен. Сега да одиме од конфигурацијата во Enterprise и да го пополниме регистарот за информации (ако веќе не е пополнет):

Ориз. 11. Пополнување на информативниот регистар

И, конечно, од Мени-->Датотека го повикуваме нашиот извештај од местото каде што го зачувавме во конфигураторот, кликнете на копчето „Генерирај“ и видете го решението за проблемот:

Ориз. 12. Пријавете „Растојание меѓу постојки“

Публикацијата ме поттикна да напишам статија

Во оваа кратка белешка сакам да покажам како можете да ги сумирате вредностите на различни нивоа на групирање во извештај користејќи систем за состав на податоци.
Како што е прикажано на сликата, само на ниво на групирање „Групи на ставки“, се пресметува ресурсот „Нарачка“, тој прикажува колку треба да се нарача за тековната група на ставки врз основа на одредени услови:


Оваа вредност може да се пресмета само на ова ниво на групирање, бидејќи нема вредности горе или подолу за пресметување. На пример, на ниво на детална евиденција, нема податоци за максималната количина во групата, бидејќи овие податоци важат само за групата како целина, а не и за нејзините поединечни компоненти.

Соодветно на тоа, сега е потребно да се пресметаат вкупните збирки за горенаведените групирања („Магацини“, „Типови магацини“) и вкупниот вкупен износ.
За да го направите ова, користете ја функцијата CalculateExpressionWithGroupArray:
ОЦЕНУВАЈ ИЗРАЗУВАЊЕ СО GROUPARRAY (EVALEXPRESSIONWITHGROUPARRAY)
Синтакса:
EvaluateExpressionWithGroupArray(,)
Опис:
Функцијата враќа низа, чиј секој елемент содржи резултат од евалуација на израз за групирање според наведеното поле.
Композиторот на распоред, кога генерира распоред, ги претвора параметрите на функцијата во полиња за распоред на составот на податоци. На пример, полето Account ќе се претвори во DataSet.Account.
Изградувачот на распоред, кога генерира изрази за излез од прилагодено поле чиј израз ја содржи само функцијата CalculateArrayWithGroupArray(), го генерира излезниот израз така што излезните информации се подредуваат. На пример, за прилагодено поле со израз:

CalculateExpressionWithGroupArray ("Износ (AmountTurnover)", "Counterparty")
Градителот на распоред ќе го генерира следниов израз за излез:

ConnectRows(Array(Order(CalculateExpressionWithGroupingValueTable("Преглед(Збир(DataSet.AmountTurnover)),Sum(DataSet.AmountTurnover)",,"DataSet.Account"),"2")))

Опции:

Тип: Низа. Изразот што треба да се оцени. Низа, на пример, Amount (AmountTurnover).

Тип: Низа. Изрази на полиња за групирање – изрази на полиња за групирање, одделени со запирки. На пример, Изведувач, партија.

Тип: Низа. Израз што го опишува изборот применет на деталните записи. Изразот не поддржува употреба на збирни функции. На пример, DeletionFlag = Неточно.

Тип: Низа. Израз што го опишува изборот применет на групните записи. На пример, Amount(AmountTurnover) > &Parameter1.
Пример:

Maximum(CalculateExpressionWithGroupArray("Amount(AmountTurnover)", "Counterparty"));

Детален опис на синтаксата на функцијата може да се најде на http://its.1c.ru/db/v837doc#bookmark:dev:TI000000582
Сега, за пресметката, го дуплираме полето „Ред“, со различни вредности „Пресметај според...“, користејќи ги следните изрази, имајте во предвид дека во секое повисоко ниво се користат вредностите на нивоата под групирањата. .

Како резултат, ја добиваме следната конструкција:

Во составот на податоците поставување збиркиизгледа малку поинаку отколку во барањата. Дозволете ни да го дефинираме множеството податоци „Прашање“ во системот за составување податоци.

Во самото барање, ние не ги конфигурираме збирките, туку одиме во табулаторот „Ресурси“ на составот на податоците. На ниво на шема за состав на податоци, ние одредуваат ресурси. Ова се полињата што треба да се бројат на ниво на групирање. Кликнете на копчето „>>“ и самиот систем ќе ги пренесе сите нумерички полиња и ќе ги дефинира како ресурси.

Можете исто така да наведете ненумерички полиња во ресурсите. На пример, ако го изберете атрибутот „Поврзување“, системот ќе го брои бројот на документи во нашите групи. Оваа информација исто така може да биде корисна. Значи, во дијаграмот за распоред ги дефинираме само ресурсите, а самите групирања се конфигурирани на ниво на варијанта на извештајот. Корисникот исто така може да ги креира групите што сака да ги види во поставките за опциите за извештај.

Ајде да создадеме стандардна поставка за состав на податоци.
Кликнете на копчето „Отвори дизајнер на поставки“.

Ајде да го избереме типот на извештај - список. Кликнете на копчето „Следно“.

Ајде да ги избереме сите полиња и да го преместиме полето на договорната страна на горната позиција. Кликнете на копчето „Следно“.

Ајде да ги избереме сите полиња и да го преместиме полето на договорната страна на горната позиција. Кликнете на копчето „OK“.

Резултатот е следнава поставка:

Како што можете да видите, при поставувањето опција за извештај, ресурсите се означени со зелена икона за да можат брзо да се разликуваат од другите полиња.

Ако го отвориме нашиот извештај во режим 1C: Enterprise и го генерираме, ќе видиме дека конечните податоци се генерираат на ниво на групирање. Резултати по ставки и по договорни страни.

Поставување ресурси во шемата за состав на податоци 1C

Сега да го свртиме нашето внимание на поставки кои постојат за ресурси. Во полето „Израз“ можеме да наведеме збирна функција што може да се користи за да се добие вредноста на ресурсот. Во паѓачката листа можете да видите голем број стандардни функции, но не сите. На пример, нема функции.

Овде во полето „Израз“ можеме да напишеме сопствен израз.

Во полето „Израз“ можеме да пристапиме и до функциите на заедничките модули.

Покрај тоа, можете да наведете во полето „Пресметај по...“ според кои групи треба да се пресметува ресурсот. Доколку полето „Пресметај по...“ не е пополнето, тогаш конечната вредност на ресурсот ќе се пресметува на сите нивоа на групирање што се дефинирани во поставките на опцијата за извештај. Во нашиот случај, треба да го пополниме полето „Пресметај по...“ на ресурсот „Количина“, бидејќи можеме да продаваме стоки со различни мерни единици. На пример: масло во литри и тркала во парчиња. Зарем не е точно дека би било нелогично да се соберат количините на оваа стока? Затоа, треба да го оставиме збирот на количината на ниво на ставка и на ниво на договорна страна
Да го отстраниме збирот.

Ако генерираме извештај, ќе видиме дека вкупните количини се пресметуваат само по ставки, а вкупните количини за изведувачите се празни.

Можности при опишување на ресурсите во шемата за состав на податоци 1C

ајде да размислиме голем број на неочигледни карактеристики поврзани со описот на ресурсите.

  • Секој ресурс може дефинирајте неколку пати. Но, ова има смисла само ако
    ресурс ќе се пресметува според различни нивоагрупи. На пример, ако количината, во еден случај
    се сумира за ставката, а за договорните страни ја добиваме минималната вредност.

Ако генерираме извештај, ќе видиме дека за другата страна „Дерија“ минималното купување е пет единици од асортиманот на производи „Самолеплива хартија“.

  • Во полето „Израз“, покрај пишувањето формула, можете да користите специјална функција за состав на податоци наречена „Пресметај“. Оваа функција ви овозможува да пресметате некоја конечна вредност користејќи одредена формула. На пример, за секоја договорна страна потребно е да се знае процентот на набавки во физички единици во однос на вкупниот волумен. Но, како да се добие вкупниот обем на набавки по количина? За да го направите ова, користете ја функцијата „Пресметај“ и напишете го следниов израз во полето „Израз“:
Сума(количина)/Пресметај(„Сум(количина)“, „ВкупноВкупно“)*100

Како што се гледа, сите параметри на функцијата „Пресметај“ се низи. За да може полето за количина убаво да се прикаже во извештајот, ќе го конфигурираме на табулаторот „Поставки на податоци“. Во линијата за количина ќе го најдеме полето „Опции за уредување“. Ајде да го отвориме дијалогот, да ја пронајдеме линијата „Формат“ и да ја уредиме линијата за формат во неа, поставувајќи ја вредноста „Прецизност“ на две на табулаторот „Број“.

Ајде да го извршиме извештајот и да го видиме резултатот од пресметувањето на процентот на набавки за другата страна „AUPP KOS LLP“ во однос на
вкупен волумен:


На крајот од статијата сакам да ви препорачам бесплатен од Анатолиј Сотников. Ова е курс од искусен програмер. Ќе ви покаже на посебна основа како да креирате извештаи во системот за контрола на пристап. Само треба внимателно да слушате и да запомните! Ќе добиете одговори на следниве прашања:
  • Како да креирате едноставен извештај за список?
  • За што служат колоните Поле, патека и Наслов на табулаторот „Полиња“?
  • Кои се ограничувањата за полињата за распоред?
  • Како правилно да ги конфигурирате улогите?
  • Кои се улогите на полињата за распоред?
  • Каде можам да го најдам јазичето за состав на податоци во барањето?
  • Како да ги конфигурирате параметрите во системот за контрола на пристап?
  • Станува уште поинтересно...
Можеби не треба да се обидувате сами да сурфате на Интернет во потрага по потребните информации? Покрај тоа, сè е подготвено за употреба. Само започнете! Сите детали за тоа што има во бесплатните видео лекции

Еве една од лекциите за обележување на составот на податоци во барање:

Ајде да погледнеме на пример:

Неколку единици стоки се испорачуваат на клиентот со различни попусти. Треба да ги прикажете вредностите на попустот за секој производ во извештај и да го пресметате просечниот попуст. Ајде да создадеме извештај за системот за контрола на пристап.
За сите полиња за кои треба да прикажеме збирки, ќе поставиме израз (метод) за нивна пресметка на табулаторот „Ресурси“. За полето „Попуст“, поставете го методот на пресметка како „Просечен“.

Го издаваме извештајот:

Како што можете да видите, вкупниот број за полето „Попуст“ се пресметува како аритметички просек на вредностите на полињата, т.е. збирот на сите вредности поделен со бројот на вредности. Но затоа што Бидејќи обемот на стоки што се испорачуваат со различни попусти се различни, просечниот попуст може да се пресмета на друг начин: на пример, како однос на вкупниот износ на испорачана стока, земајќи го предвид попустот, до вкупниот износ на испорачана стока. Но, тука се поставува прашањето: ако можете да напишете формула за пресметување на вредностите на полињата со детални записи во ACS, тогаш вкупните суми се пресметуваат автоматски според изразот наведен на табулаторот „Ресурси“ и таму, како видовме претходно, „Просек“ се пресметува како аритметичка средина на прикажаните вредности, како Во овој случај, дали треба да го пресметам вкупниот број во оваа колона користејќи ја мојата сопствена формула?
Тоа всушност не е тешко. За да го направите ова, ќе го прилагодиме нашиот извештај со додавање на потребните полиња што ќе учествуваат во пресметката, во нашиот случај тоа се „AmountWithDiscount“ и „AmountAtPrice“.

За да го „научиме“ ACS да ги прикажува нашите резултати, ги преземаме следниве чекори:
1. на табулаторот „Settings“, доделете име на групацијата „“, на пример, „ResultSKD“, за да го направите ова, повикајте го контекстното мени за групирањето и кликнете „доделете име“;

2. на табулаторот „Layouts“, додајте „распоред на заглавие за групирање“, каде што го избираме претходно доделеното име „TotalSKD“;

3. цртаме линија на изгледот, каде што ги оставаме сите резултати, чија пресметка ни одговара, такви какви што се, и за да го пресметаме просечниот процент на попуст пишуваме формула за пресметка;

Ако сè е точно, тогаш кога ќе се прикаже извештајот, под него ќе се прикажат вкупно две линии, прво онаа што се генерира автоматски, а потоа онаа што сте ја креирале.

За да го оставите излезот само на вашата вкупна линија, треба на табулаторот „Поставки“ во делот „Други поставки“ од излезот за распоред, да го оневозможите излезот за „Хоризонтален вкупен распоред“ и „Вертикален вкупен распоред“

Споделете со пријателите или заштедете за себе:

Се вчитува...