Podrobně jsme prozkoumali nastavení zpráv implementovaných na základě ACS. Nyní se podívejme na jemnější a podrobnější nastavení možností přehledu. Okno „pokročilého“ nastavení varianty hlášení se vyvolá příkazem „Více“ - „Jiné“ - „Změnit variantu hlášení“.

Okno pro změnu varianty sestavy je rozděleno do dvou částí:

1. Struktura zprávy.

2. Nastavení hlášení.


Část struktury varianty sestavy je podobná záložce „Struktura“ standardního nastavení sestavy. Účel a konfigurace seskupení je podrobně popsána v části 1 článku.

Tabulka struktury varianty sestavy obsahuje kromě sloupce se samotným seskupením několik dalších sloupců:

Sekce nastavení možnosti zprávy dává uživateli dostatek příležitostí nakonfigurovat zprávu tak, aby vyhovovala jeho potřebám. Téměř úplně se shoduje se standardním nastavením zprávy popsaným v části 1. Zvažme všechny karty v této části a všimněme si rozdílů.

Sekce nastavení se skládá z následujících karet:

1. Parametry. Obsahuje parametry ACS dostupné uživateli.

Parametr ACS je nějaká hodnota používaná k získání dat sestavy. Může to být podmínková hodnota pro výběr nebo ověření dat nebo pomocná hodnota.


Tabulka parametrů je uvedena ve formátu „Parametr“ - „Hodnota“. Hodnoty parametrů lze v případě potřeby změnit. Kliknutím na tlačítko Vlastnosti položky vlastního nastavení se otevře vlastní nastavení položky.


V tomto okně můžete vybrat, zda bude prvek zahrnut do uživatelského nastavení (tj. Viditelný uživateli při nastavování sestavy), nastavit režim prezentace a úpravy prvku (rychlý přístup v záhlaví sestavy, normální v sestavě) nastavení a není k dispozici).

Vlastnosti položky přizpůsobení mají také seskupitelná pole, pole, filtry a podmíněné prvky.

2. Vlastní pole. Obsahuje pole, která si uživatel vytvoří na základě dat vybraných v sestavě.


Uživatel může přidat dva druhy polí:

  • Nové výběrové pole ...
  • Nové pole výrazu ...

Pole pro výběr umožňují vypočítat hodnotu na základě dané podmínky. Okno pro editaci výběrového pole obsahuje název pole a tabulku, ve které je nastaven výběr, hodnota a prezentace pole. Výběr je podmínka, podle které bude nahrazena požadovaná hodnota.


Pojďme například vypočítat odhad počtu prodejů. Budeme předpokládat, že pokud se prodá méně než 10 jednotek produktu, prodalo se málo, a pokud více než 10 jednotek, hodně. K tomu nastavíme pro vypočítané pole 2 hodnoty: první bude s výběrem „Počet zboží je menší nebo roven„ 10 “, druhá s výběrem„ Počet zboží je větší než "10" ".

Expresní pole umožňují vypočítat hodnotu pomocí libovolných algoritmů. Mohou využívat funkce dotazovacího jazyka a integrovaného programovacího jazyka 1C. Okno pro úpravy pole výrazu obsahuje dvě pole pro podrobné a souhrnné výrazy. Souhrnné záznamy jsou seskupení nakonfigurovaná v oblasti „Struktura sestavy“, ve které musíte použít agregační funkce („Součet“, „Minimum“, „Maximum“, „Množství“).

Pojďme například vypočítat průměrné procento slevy. Průměrné procento slevy se vypočítá podle vzorce: [Výše tržeb bez slevy] - [Výše tržeb se slevou] / [Výše tržeb bez slevy]. Mělo by se pamatovat na to, že částka prodeje bez slevy může být nula, proto používáme ke kontrole operátor SELECT. Dostaneme následující výrazy:

· Podrobné poznámky:

Výběr

Když [Výše prodeje bez slevy] \u003d 0

Pak 0

Jinak [Výše prodeje bez slevy] - [Výše prodeje se slevou] / [Výše prodeje bez slevy]

konec

· Pro souhrnné záznamy:

Výběr

Když částka ([částka prodeje bez slevy]) \u003d 0

Pak 0

Jinak Částka ([Částka prodeje bez slevy]) - Částka ([Částka prodeje se slevou]) / Částka ([Částka prodeje bez slevy])

konec

Jak již bylo zmíněno dříve, ve vyjádření součtů používáme agregační funkci "Součet".

3. Seskupitelná pole. Obsahuje pole, podle kterých bude seskupen výsledek varianty sestavy. Seskupovací pole se konfigurují samostatně pro každé ze seskupení, ale můžete definovat obecná seskupovací pole pro variantu sestavy, pokud ve stromu struktury vyberete kořen „Sestava“. Můžete přidat pole z výsledku sestavy, vlastní pole nebo vybrat automatické pole, poté systém pole vybere automaticky. Tato karta také umožňuje změnit pořadí seskupených polí.


4. Pole. Obsahuje pole, která budou vydána ve výsledku varianty sestavy. Pole jsou konfigurována samostatně pro každé seskupení, ale pro variantu sestavy můžete nastavit obecná pole, pokud ve stromu struktury vyberete kořen „Sestava“. Můžete přidat pole z výsledku sestavy, vlastní pole nebo vybrat automatické pole, poté systém pole vybere automaticky. Tato záložka také umožňuje změnit pořadí polí.

Pole lze seskupit, aby se logicky zvýraznila některá část sestavy nebo definovalo speciální uspořádání sloupců. Při přidávání skupiny se aktivuje sloupec „Umístění“, který umožňuje vybrat jednu z možností umístění:

  • Auto - systém umístí pole automaticky;
  • Vodorovně - pole jsou uspořádána vodorovně;
  • Svisle - pole jsou uspořádána svisle;
  • V samostatném sloupci - pole jsou umístěna v různých sloupcích;
  • Společně - pole jsou uspořádána do jednoho sloupce.


5. Výběr. Obsahuje výběry použité ve variantě sestavy. Přizpůsobení výběrů bylo podrobně popsáno v části 1 tohoto článku. Filtry se konfigurují samostatně pro každé seskupení, ale můžete nastavit obecné filtry pro variantu sestavy, pokud ve stromu struktury vyberete kořen „Sestava“.


6. Třídění. Obsahuje pole řazení použitá ve variantě sestavy. Přizpůsobení třídicích polí bylo podrobně popsáno v části 1 tohoto článku. Třídění je konfigurováno samostatně pro každé seskupení, ale můžete nastavit obecná třídicí pole pro variantu sestavy, pokud ve stromu struktury vyberete kořen „Sestava“.


7. Podmíněný design. Obsahuje podmíněné stylingové prvky použité ve variantě sestavy. Nastavení podmíněného vzhledu bylo podrobně popsáno v části 1 tohoto článku. Podmíněný vzhled je konfigurován samostatně pro každé seskupení, ale můžete nastavit společné prvky podmíněného vzhledu pro variantu sestavy, pokud ve stromu struktury vyberete kořen „Sestava“.


8. Další nastavení. Obsahuje další nastavení pro návrh sestavy. Umožní vám vybrat obecný vzhled sestavy, umístění polí, seskupení, podrobností, zdrojů, celkových hodnot, nastavit nastavení grafu, řídit zobrazení nadpisu, parametry a výběr, definovat polohu zdrojů a opravit záhlaví a seskupení sloupců varianty sestavy.


Závěrem bych chtěl poznamenat, že nastavení přehledu lze nejen uložit jako variantu přehledu, ale také nahrát do souboru (nabídka „Více“ - „Uložit nastavení“). Chcete-li stáhnout, musíte vybrat možnost „Načíst nastavení“ a vybrat uložený soubor. Můžeme tedy přenést nastavení varianty sestavy mezi různými databázemi se stejnou konfigurací.


Na základě toho můžeme shrnout, že uživatel může report nejen samostatně přizpůsobit tak, aby vyhovoval jeho potřebám, ale také uložit jeho nastavení a v případě potřeby jej později použít.

Vyhodnoťte výraz je poměrně složitá funkce ACS k pochopení a příklady použití v referenčních informacích jsou poměrně vzácné. Tento článek obsahuje příklady, které budou určitě užitečné pro každého vývojáře:

  1. kumulativní součet ve skupině;
  2. průběžný součet v křížové tabulce;
  3. získání předchozí hodnoty;
  4. výstup PM v jednom řádku.

1. Získání indikátoru na kumulativním součtu

Zjistíme kumulativní počet zboží na úrovni seskupení. Chcete-li to provést, vytvořte vypočítané pole (viz obrázek 1).
Na kartě Zdroje nastavte funkci pro vypočítané pole:
Vypočítat výraz („Sum (NumberTurnover)“, „první“, „aktuální“)
který shrnuje počet produktů od prvního záznamu k aktuálnímu (viz obrázek 2).

Chcete-li získat množství zboží kumulativně na úrovni podrobných záznamů, pak je pro vypočítané pole na kartě „Vypočítaná pole“ nastavena funkce CalculateExpression (viz obrázek 3).
V závislosti na úrovni získání kumulativního součtu vytvoříme seskupení (viz obrázek 4): na úrovni zdrojů - seskupení podle zboží, na úrovni DZ - seskupení podrobných záznamů.
Obrázek 4. Seskupení sestavy s kumulativním součtem

2. Získání hodnoty indikátoru z předchozího řádku

Pojďme získat směnný kurz pro datum a předchozí datum. Chcete-li to provést, vytvořte vypočítané pole a do pole výrazu napište následující výraz (viz obrázek 5):
Vyhodnoťte výraz (kurz, předchozí, předchozí)
který převezme předchozí hodnotu měnového kurzu pro aktuální řádek, poslední parametr funkce omezuje načítání dat.
Protože pracujeme na úrovni podrobných záznamů, přejděte přímo na kartu „Nastavení“ a vytvořte seskupení - podrobné záznamy.

3. Získání indikátoru kumulativního součtu na křížové kartě

Pojďme získat počet zboží na kumulativním základě v kontextu období Chcete-li to provést, vytvořte vypočítané pole (viz obrázek 1). Na kartě Zdroje pro vypočítané pole určíme následující výraz (viz obrázek 6):
Vypočítat výraz („Sum (NumberTurnover)“, „Období“, „První“, „Aktuální“)
který na úrovni seskupení vypočítá množství zboží v intervalu od prvního řádku po aktuální v kontextu období pro každou položku.
Na kartě „Nastavení“ vytvořte tabulku se seskupením podle položek v řádku a seskupením podle období ve sloupci (viz obrázek 7).

4. Výstup dat tabulkových řezů do jednoho řádku

Metody pro zobrazení dat tabulkových řezů na jednom řádku, včetně metody využívající funkci EvaluateExpression, jsou popsány v článku

Jedním z nejpohodlnějších a jedinečných vývojových nástrojů v 1C je systém datového složení (ACS). V několika informačních systémech mohou vývojáři vytvářet zprávy bez psaní programového kódu. Tento mechanismus byl vyvinut s cílem zjednodušit a urychlit vývoj formulářů pro podávání zpráv a poskytnout uživatelům více příležitostí k práci s výstupními daty. Posledně jmenovaný je velmi vysoce ceněn pokročilými uživateli, kteří díky tomu mohou nezávisle přizpůsobit sestavu svým vlastním potřebám, aniž by čekali na akce vývojářů.

Vytvoření zprávy v 1C přes ACS

Proces vývoje zprávy pomocí ACS lze rozdělit do následujících fází:

  1. Vytvoření požadavku. Požadavek lze napsat ručně nebo se můžete obejít bez programového kódu pomocí pohodlného rozhraní;
  2. Přizpůsobení sestavy. Vyberou se pole, součty, seskupení, parametry, návrh sestavy;
  3. Poté už jen musíme výslednou zprávu jakýmkoli způsobem propojit s konfigurací.

Navzdory možnosti uživatelů přizpůsobit zprávy o ACS, musí být vytvořeny prostřednictvím konfigurátoru.

Zvažme příklad vytvoření externí zprávy o ACS:


Nyní přejdeme do 1C, otevřete naši zprávu a ujistěte se, že přijatá opatření jsou správná. Všechna data se projeví, seskupení lze sbalit a rozšířit. Jak vidíte, ACS vám umožňuje přijímat plnohodnotné zprávy bez psaní kódu, s výjimkou nestandardních požadavků. Vzhledem k tomu, že většina sestav má podobnou strukturu, znalost ACS významně zkrátí dobu vývoje těchto objektů.

Velkou popularitu tohoto mechanismu poskytla podpora širokých možností při tvorbě zprávy. Navíc je mohou používat nejen vývojáři, ale i běžní uživatelé.

Funkce ACS

Existují situace, kdy jsme vytvořili zprávu, a pak přijde uživatel a požádá o provedení malé revize. Například místo názvů položek zobrazte SKU. ACS umožňuje uživatelům provádět taková vylepšení sami pomocí tlačítka „Více“ - „Změnit možnost ...“.


Okno, které se otevře, je podobné nastavení okna v sestavě v konfigurátoru a má také podobné funkce. K vyřešení problému musí uživatel přejít na kartu „Pole“ a změnit pole „Nomenklatura“. Toto pole pro úpravy se otevře poklepáním a tlačítko „Vybrat ...“ bude k dispozici.


Okno, které se otevře, nám poskytuje příležitost vybrat libovolnou hodnotu, která se objeví v poli „Nomenklatura“. Některá pole vlevo mají znaménko plus - vývojář do těchto polí umístil odkazy, což znamená, že vidíme jejich podrobnosti. Otevřeme „Nomenklaturu“ a prohlédneme si článek, který potřebujeme. Vyberte jej a vyberte jej.


Okno pro úpravy variant sestavy obsahuje mnoho užitečných funkcí systému složení dat. Uživatel může například samostatně změnit pořadí seskupení, přidat výběr nebo použít podmíněný návrh. Dokončujeme úpravy a generujeme zprávu - jak vidíte, celá nomenklatura se nyní zobrazuje jako SKU.


Mechanismus ACS 1C: Enterprise 8.3 má také pokročilé funkce pro vývojáře. Při zpracování zprávy jsme použili pouze 2 karty - „Datové sady“ a „Nastavení“, ale v ACS je jich mnohem více. Abyste mohli využívat všechny funkce systému pro složení dat, musíte pochopit, k čemu je každá z karet:

  1. Sady dat - zde jsou uvedeny všechny dotazy spojené s generováním sestavy;
  2. Odkazy na datové sady - slouží k vytvoření propojení mezi různými dotazy z první karty;
  3. Vypočítaná pole - seznam přidaných polí, která nejsou z požadavku. Nejčastěji se používá v případech, kdy na základě hodnot několika polí potřebujete z požadavku získat 1 hodnotu
  4. Zdroje. V 1C tzv. Pole, pro která potřebujete znát výsledky. Zdroje podporují různé aritmetické operace - součet, množství, maximum a další;
  5. Možnosti. Používají se, pokud je pro vygenerování sestavy nutné, aby uživatel zadal určitá data - například datum, rozdělení nebo položku;
  6. Rozvržení. Určeno pro ty případy, kdy uživatelé chtějí vidět jedinečně navržený přehled. Vytvořte samostatné místo pro podpisy nebo novou horní část zprávy - to vše lze provést zde;
  7. Vnořená schémata. Vyžadují se, když váš přehled musí obsahovat data z jiných přehledů;
  8. Nastavení. Sekce deklaruje pole, která se mají zobrazit, seskupení a přizpůsobí vzhled sestavy.


Počet možností, které vývojáři mají v mechanismu ACS, je velký, ale mnoho z nich se používá extrémně zřídka. Některé funkce nemusí používat ani zkušení programátoři 1C v průběhu let práce. K zahájení úspěšné práce v ACS stačí znát základní pojmy a často používaná nastavení. Ve výjimečných případech se k záchraně dostane dokumentace.

Schéma složení dat (1C ACS) - pohodlný konstruktér pro vytváření komplexních reportů v 1C: Enterprise softwarové produkty, které přispívají k vývoji a sledování automatizace výroby, což jim umožňuje být co nejflexibilnější a nejkrásnější za minimum času. Dalším plusem schématu složení dat (1C ACS) je automatické generování formuláře řízené zprávy a s dalším vývojem tohoto směru je důležitým faktorem při výběru metody pro vypracování zprávy. Ale vzhledem ke složitosti struktury schématu datového složení (1C ACS) a velkému množství nastavení to často vede k delšímu vývoji zprávy než prostřednictvím „návrháře výstupních formulářů“. Proto musí programátor 1C porozumět všem složitostem schématu složení dat (1C ACS), aby dále urychlil dobu vývoje pro generování zpráv.

Podívejme se na první tři karty schématu složení dat (1C ACS) - datová sada, odkazy na datovou sadu a vypočítaná pole.

Soubor dat v 1C ACS

Datová sada obsahuje možnost vytvořit tři objekty - dotaz, objekt a sjednocení, pojďme se podrobněji zabývat každým z nich:

Jedná se o běžný požadavek, který se vytvoří kliknutím na tlačítko konstruktoru dotazu. Pokud je nastaven příznak automatického doplňování, pak všechny vybrané podrobnosti automaticky spadnou do polí sady dat. Je také možné přizpůsobit vyplňování polí v požadavku na kartě Složení dat, kde jsou tři karty:

Tabulky, zde vybíráme tabulky, které se budou podílet na tvorbě sestavy, obvykle jsou vybrány výchozí údaje, protože na kartě Tabulky a pole jsme již vybrali dokumenty, adresáře, registry, které potřebujeme ...

Pole, zde vybereme ty objekty, které by měly být zahrnuty do sestavy, podřízený příznak označuje, zda pro objekt budou k dispozici podřízené prvky nebo ne, je logické, že příznak nelze nastavit na True pro řetězcová, číselná a podobná data .

Podmínky, zde vybereme ty objekty, které lze použít v podmínkách v ACS.

Část práce se provádí ve schématu složení dat, část programově, pojďme zvážit jednoduchý příklad:

Nejprve vytvoříme rozložení schématu složení dat pro dokument a pojmenujeme ACS (například: 1C ACS), vytvoříme v něm objekt datové sady a poté vyplníme pole, například máme tabulkovou část dokument s podrobnostmi - položkou, množstvím a cenou.

Přidejte tři pole a vyplňte pole pro každý sloupec s názvem podrobností, zbytek sloupců se vyplní automaticky:

Vytvořme tlačítko na formuláři dokumentu, popište mechanismus pro práci ve spravovaných formulářích:

& Na klientovi

Postup tisku ()

OurReport \u003d PrintOnServer (); // volání funkce na serveru

OurReport.Show (); // zobrazí vygenerovaný report

Konec postupu

& Na serveru

Funkce PrintOnServer ()

DocumentObject \u003d FormInValue („Objekt“);

//umístíme tabulkovou sekci Zboží do struktury s názvem ZbožíSKD stejným způsobem, jako jsme v samotném ACS označili název objektu obsahujícího data

Datová sada \u003d nová struktura;

SetData.Insert ("GoodsSKD", DocumentObject.Goods);

//získejte naše rozvržení a nastavte výchozí nastavení tak, aby všechna nastavení výstupu sestavy byla převzata z našeho rozvržení

OurMakeup \u003d DocumentObject.GetMakeup („SKD“);

Settings \u003d Our Layout.Default Settings;

//vytvořte rozvržení složení dat pomocí našich nastavení

Layout Composer \u003d Nový DataComposition Layout Composer;

LayoutComposition \u003d LayoutComposer.Execute (OurLayout, Nastavení);

//provedení složení dat s naší datovou sadou

DataCompositionProcessor \u003d Nový DataCompositionProcessor;

DataCompositionProcessor.Initialize (LayoutDataset);

//vytvoříme tabulkový dokument a zobrazíme v něm naši zprávu

ReportDocument \u003d Nový SpreadsheetDocument;

OutputProcessor \u003d Nový OutputProcessorDataCompositionResultInTableDocument;

OutputProcessor.SetDocument (ReportDoc);

OutputProcessor.Output (DataComposition Processor);

Vrátit DocumentReport;

EndFunction

Pokud si přejete, můžete získat oblasti a jakékoli jiné rozvržení a také zobrazit v tomto přehledu, například máme typické rozvržení pro vytvoření platby a je v něm velmi dobře vytvořeno záhlaví, takže to uděláme neděláme zbytečnou práci, stačí nejprve získat rozložení, zobrazit záhlaví, poté vygenerujeme a zobrazíme naši zprávu na ACS.

O unifikace

Můžeme do něj vložit své dotazy a objekty, ale na rozdíl od odkazu jednoduše přidá tabulky k sobě navzájem, to znamená, že pokud propojíme dvě stejné tabulky, skončíme jednou, a když se spojí, zdvojnásobí se, uvažujeme o jednoduchém příklad:

Máme tabulky:

Při komunikaci obdržíme:

A při kombinaci:

Uvažujme nyní o vyplnění sloupců v datových sadách (některé přeskočíme, protože souvisejí s jinými kartami, vrátíme se k nim v budoucích článcích):

- pole, uveďte obecný název podpěr;

­­- způsob, označíme název požadavku, kterým jej odkážeme v ACS, například v Vypočítaná pole;

- nadpis, uveďte název proměnné, která se zobrazí v sestavě;

- omezení pole, označit dostupnost tohoto požadavku;

- omezení náležitostí, označujeme dostupnost podřízených prvků, je důležité, že pokud je uvedena dostupnost podrobností, pak bude k dispozici samotné pole, je možné, že tato mechanika bude v budoucích verzích změněna;

- výraz, kterým se hodnotí reprezentace pole, je vhodné použít, když potřebujeme trochu změnit zobrazení detailů, například to potřebujeme za jménem nomenklatura byl stažen sklad, na kterém se nachází, pak vyplňte následující: Nomenklatura + „skladem“ + Sklad. Opakuji, že adresa podrobností se provádí prostřednictvím jména uvedeného ve sloupci způsob;

- řazení výrazů, vhodný mechanismus pro nastavení pořadí sestavy, kde lze podmínku nastavit ručně, podobně jako v předchozím bodě, ale jak ukazuje praxe, tento mechanismus často nefunguje tak, jak bychom chtěli, a doporučuji vám použít standardní třídění;

- typ hodnoty, je uveden typ hodnoty proměnné, je nutné vyplnit, pokud použijete další pole;

- dostupné hodnoty, funguje pouze po vyplnění typ hodnoty, otevřete vyplňovací formulář a ve sloupci Hodnota označíme prvek, který je třeba změnit, podle typu to mohou být předdefinované objekty nebo pro číselné, například atributy, jednoduché hodnoty, v podání označíme, co musíme změnit, příklad booleovského typu:

- registrace - standardní nastavení formátu pole, podobné nastavení ve spravovaných formulářích, vám umožňuje přesněji a krásněji přizpůsobit výstup určitého atributu.

Odkazy na datové sady v 1C ACS

Pouze zde levé připojení, na principu podobném jako připojení v dotazech, v zdroj komunikace označíme hlavní tabulku pro připojení v přijímač další. V zdroj výrazua přijímač výrazů označujeme podrobnosti, podle kterých bude spojení probíhat. Zbývající sloupce zvážíme podrobněji, když analyzujeme kartu. Možnosti... Pokud s parametry není žádné další připojení, doporučuje se provést připojení v požadavku, což zrychlí hlášení.