Příklad období 1s 8,3 scd. Standardní parametr &Období a problémy při používání

Takže, začněme.

Pro jednoduchost, pochopení příkladu, budeme stavět na jednom jednoduchém cirkulačním akumulačním registru.

V mém případě se jedná o akumulační registr „Work in Progress Accounting“.

Například budeme indikovat jeho parametry pevně (nikoli měkkým uložením parametrů do systému řízení přístupu):

Vezměte prosím na vědomí, že frekvence virtuálního stolu je „Záznam“.

Ale, jak je uvedeno výše, potřebujeme období z hlediska periodicity, takže navrhuji vypočítat pole „Perioda“ následujícím způsobem (ne příliš krásné, ale lepší možnosti Neviděla jsem):

Jak je patrné ze snímku obrazovky, požadavku je předán parametr, který uživatel specifikuje na formuláři: Hodnota výčtu "Frekvence" - tento výčet najdeme téměř u všech standardních řešení.

Jeho dostupné typy uvedeme na kartě „Parametry“:

S tímto nastavením naformátujeme menstruaci tak, aby vše bylo krásné a lahodilo oku)

Zde jsou samotné formáty:

Měsíc: DF="MMMM yyyy "y.""

Den: DF = dd.MM.yyyy

Týden: DF = ""Týden od "dd.MM.yyyy"

Čtvrtletí: DF = "do "čtvrtletí" yyyy "y.""

Rok: DF = "yyyy "y."

Dekáda: DF = ""Dekáda s "dd.MM.yyyy"

Pololetí: DF = ""Půl roku od" dd.MM.yyyy"

To je vše. Výsledkem je nádherný obrázek:

Při vytváření výkazů v systému řízení přístupu je často potřeba zobrazit výběr období na formuláři výkazu, takže data nemusíte zadávat ručně, ale vybírat ze seznamu standardních období, jako například: „Rok“ , „Měsíc“, „Týden“ atd. . U parametrů typu Datum můžete zadat pouze „Začátek tohoto roku, měsíc atd.“, ale „Konec“ není k dispozici.

Jde o to, že z datových typů je k dispozici pouze typ „Standardní počáteční datum“, ale chci také „Standardní koncové datum“.

Existuje způsob, jak to obejít.

  1. Vytvořme nový parametr, nazvěme ho „Období“
  2. Nastavte tento parametr na typ „Standardní období“
  3. V poli „Výraz“ parametrů „Začátek období“ a „Konec období“, které jsou použity v požadavku, nastavte výrazy „ &Period.StartDate" a " &Period.Datum ukončení“.

Ale je tu mírná jemnost. Pokud použijeme v žádosti virtuální stoly, pak s největší pravděpodobností přestane sestava fungovat a zobrazí se chybová zpráva jako „Chyba při zpracování pohledu, neshoda typu, číslo parametru...“.

Abyste tomu zabránili, musíte odstranit všechny parametry virtuální tabulky.

A přidejte je do tabulek na kartě „Složení dat“.

Aby se parametry zobrazovaly v rychlé nastavení report, povolte odpovídající příznak pro parametry reportu.

Nyní výběr období na formuláři hlášení vypadá takto.

Tento článek pojednává o některých funkcích nastavení období při použití systému skládání dat (DCS), problémech, které vznikají kvůli rozdílům v pojetí období mezi běžným uživatelem a systémem 1C, a také navrhuje způsoby, jak je vyřešit. .
Většina sestav, které jsou vyvíjeny pomocí Data Composition System (DCS), vyžaduje, aby uživatel zadal období, pro které bude sestava sestavena. Zpravidla je v ACS zadávání období organizováno pomocí parametrů s použitím následující konstrukce, viz. Obr. 1 Tento způsob zadávání období je považován za „klasický“; je popsán v článku o ITS a další literatuře věnované vývoji v 1C, berme ho tedy jako základ. Vezměme si jako příklad jednoduchý požadavek, který obdrží všechny dokumenty Prodej zboží a služeb stanovené období cm. Obr.2 Při použití tohoto přehledu si uživatel nastavuje období přes parametry viz. Obr.3 Vše se zdá být v pořádku... ALE je tu malý problém:

Jde o to, že naprostá většina uživatelů „chápe“ období jinak, než jej „chápe“ 1C, příklady:
1). Uvažujme Obr.3
Z pohledu uživatele není období specifikováno, tedy NEOMEZENO, to znamená, že do výkazu by měly být zahrnuty VŠECHNY doklady bez omezení data.
„Z pohledu“ systému 1C je nastaven parametr-období a ... obě jeho hranice jsou rovny 01.01.0001 a do sestavy budou zahrnuty pouze dokumenty s prázdným datem, což v praxi znamená nebude zahrnut ani jeden dokument.
2). Uvažujme Obr.4
Z pohledu uživatele by měla sestava obsahovat všechny dokumenty počínaje datem 28. 1. 2010.
„Z pohledu“ 1C způsobí výjimku období 28. 1. 2010 – 1. 1. 0001.

Můžete se samozřejmě pokusit uživateli vysvětlit, proč zpráva nezobrazuje dokumenty, které očekává, že uvidí, a jak je období prezentováno z „pohledu“ 1C, ale je to nevděčný úkol a je také špatně. Dobrý program musí být především pohodlné pro uživatele, protože program existuje pro uživatele a ne naopak, proto je nutné „naučit“ 1C chápat období tak, jak jej chápe uživatel, a to:
1). Začátek období a konec období nejsou zadané -> všechny doklady.
2). Uvádí se pouze Počátek období –> všechny doklady počínaje Počátkem období
3). Navíc zkontrolujeme, že End of Period >= Beginning of Period, a pokud to není pravda, tak budeme předpokládat, že End of Period není specifikován, tzn. 2).
Na základě výše uvedeného bude výraz pro parametr Datum ukončení vypadat takto:

SELECT WHEN &Period.EndDate=DATETIME(1,1,1) THEN DATETIME(3999,12,31,23,59,59) ELSE SELECT WHEN &Period.EndDate<&Период.ДатаНачала ТОГДА ДАТАВРЕМЯ(3999,12,31,23,59,59) ИНАЧЕ &Период.ДатаОкончания КОНЕЦ КОНЕЦ

Finální podoba našeho návrhu dobového výběru je uvedena v Obr.5

Dobrý den, milí čtenáři tohoto blogu! V minulém článku jsme se dozvěděli, proč jsou tyto role potřeba. A dnes, v druhém ze série článků, se na to podíváme nastavení role s vlastností „Period“. a také zvážit příklady plnění těchto rolí. Zbytek se vypočítá pomocí pole s rolí „Období“. Stejně jako na poli s rolí “Dimension”, o které si povíme jindy. Takže, začněme!

Vytvoříme nový přehled:

  1. V konfigurátoru vyberte položku nabídky „Soubor“ - „Nový“ - „Externí zpráva“.
  2. Klikněte na tlačítko „Otevřít diagram složení dat“. V dialogovém okně, které se otevře, klikněte na tlačítko „Dokončit“.
  3. Nyní vytvoříme soubor, který přistupuje k virtuální tabulce „Akumulační registry“.
  4. Klikněte pravým tlačítkem myši na uzel „Soubory dat“ a vyberte řádek „Přidat soubor dat – Dotaz“.
  5. Nyní klikněte na tlačítko „Query Builder“. Vybereme akumulační registr „GoodsInWarehousesRemainsAndTurnover“ (USP konfigurace).
  6. Otevřeme dialog „Parametry virtuální tabulky“ a označíme, že bude použita periodicita „Auto“, to znamená, že bude možné zadat několik období.

Nyní nakonfigurujeme výstupní pole. Nechť to jsou následující pole: „Registrář“, „ObdobíMěsíc“, „Nomenklatura“, „Kvalita“ a informace o zůstatcích. Přidání pole se provádí dvojitým kliknutím levého tlačítka myši na požadované pole nebo pomocí tlačítka „>“. Po přidání polí klikněte na tlačítko „OK“.

Upozorňujeme, že pro některá pole je automaticky nakonfigurována role s vlastností „Období“.

Podívejme se na to, co existuje nastavení role pro vlastnost „Období“.. Nejprve je uvedeno pořadové číslo období. Číslování musí být souvislé, počínaje jednou, od nejnižších období po nejvyšší, to znamená, že nejprve bude například číslo řádku, poté „Záznamník“, poté druhý den, týden, měsíc, čtvrtletí, rok.

Pole, která se objevují v naší žádosti, by tedy měla být očíslována. Všimněte si, že máme dvě pole období – „Registrátor“ a „Období Měsíc“. Nízké pole je „Registrátor“, je mu přiřazeno jednička a pole vysoké je „ObdobíMěsíc“, jsou mu přiřazeny dvě. Na to se podíváme podrobněji v dalším článku.

Pojďme nastavit náš přehled:

  1. Pojďme na záložku "Zdroje" a definujme zdroje naší sestavy.
  2. Kliknutím na tlačítko „>>“ vyberete všechna pole pro zdroje.
  3. Nyní přejděte na kartu „Nastavení“ a vytvořte nastavení ve formě seznamu.
  4. Klikněte na tlačítko „Návrhář nastavení složení dat“ (tlačítko ve tvaru kouzelné hůlky).
  5. Typ zprávy: "Seznam". Klikněte na tlačítko „Další“.
  6. Pojďme nakonfigurovat výstupní pole kliknutím na tlačítko ">>". Uspořádejme je takto: „ObdobíMěsíc“, „Nomenklatura“, „Kvalita“, „Registrář“.
  7. Klikněte na tlačítko „Další“ a nastavte seskupení. Seskupení nastavíme v následujícím pořadí: „ObdobíMěsíc“, „Nomenklatura“, „Kvalita“. Seskupení „Registrátor“ se zobrazí ve formě podrobných záznamů.
  8. Klikněte na tlačítko „OK“.

Otevřeme naši zprávu. Pokud spustíme tento přehled, uvidíme některé funkce při příjmu zůstatků. Pokud se pozorně podíváte na výsledek zprávy, okamžitě si všimnete několika chyb. Zejména z nějakého důvodu na samém začátku období činnosti společnosti existuje počáteční rovnováha.

A tato chyba souvisí s funkcí přijímání zůstatků od registrátora. Aby se tyto zůstatky zobrazovaly správně, je třeba do výstupních polí požadavku přidat ještě jedno pole – pole „Období druhá“. Chcete-li přidat pole „PeriodSecond“, otevřete sestavu v Konfigurátoru a klikněte na tlačítko „Otevřít schéma složení dat“. Nyní klikněte na tlačítko „Query Builder“ a přidejte „PeriodSecond“. V tomto případě pole „Registrátor“ zůstane prvním polem období, „PeriodSecond“ bude druhé a „PeriodMonth“ bude třetí.

K čemu je sekunda? Systém skládání dat vypočítává zůstatky výpočtem a k jednoznačnému určení polohy zapisovače na časové ose nestačí i vazba na samotný zapisovač, tedy datum tohoto zapisovače, a poté bude dispoziční systém schopen získat správnou rovnováhu výpočtem. Pokud určíme správné pořadí polí a vygenerujeme sestavu znovu, dostaneme:

Nyní již nezbývá žádná rovnováha pro zahájení činností pod nomenklaturou soklu. Pak se pro další období shoduje s konečnou bilancí, čili vidíme skutečně správný výsledek. Vzorový report si můžete stáhnout z odkazu níže. Líbil se vám článek? Co lze změnit, co přidat? Neváhejte se o to podělit v komentářích!

Na konci článku vám chci doporučit jeden zdarma od Anatolije Sotnikova. Jedná se o kurz od zkušeného programátora. Na samostatném základě vám ukáže, jak vytvářet sestavy v systému řízení přístupu. Stačí jen pozorně naslouchat a pamatovat si! Obdržíte odpovědi na následující otázky:
  • Jak vytvořit jednoduchou sestavu seznamu?
  • K čemu slouží sloupce Pole, Cesta a Název na kartě Pole?
  • Jaká jsou omezení pro pole rozložení?
  • Jak správně nakonfigurovat role?
  • Jaké jsou role pro pole rozložení?
  • Kde najdu kartu složení dat v dotazu?
  • Jak nakonfigurovat parametry v systému kontroly přístupu?
  • Stává se to ještě zajímavější...
Pravděpodobně byste se neměli pokoušet sami procházet internet a hledat nezbytné informace? Navíc je vše připraveno k použití. Jen začněte! Všechny podrobnosti o tom, co je v bezplatných videolekcích

Zde je jedna z lekcí o záložkách složení dat v dotazu: