1s 8 scd anpassade fält. Ett enkelt exempel på att använda anpassade fält i en DCS-rapport

Rapporter om datasammansättningssystem(SKD) i moderna 1C-konfigurationer har blivit standarden. De är bekväma eftersom användare kan redigera inställningarna själva, utan hjälp av programmerare. Detta kommer att diskuteras vidare.

Den modifierade versionen av rapporten sparas enkelt i databasen och används parallellt med den ursprungliga. Samtidigt, om något går fel, kan du återgå till standardinställningarna. I anpassat läge kan du lägga till ett ytterligare fält i valfri rapport om åtkomstkontrollsystemet, ställa in urval, gruppering, sortering eller villkorlig formatering för det.

Låt oss titta på att lägga till ett anpassat fält med en standardrapport som exempel. Personalomsättningshastighet i konfiguration 1C: Löner och personalhantering 3.1.

Omsättningshastigheten i rapporten kan beräknas antingen för organisationen som helhet eller per position. Anta att vi behöver ta reda på omsättningshastigheten för en personalkategori, som är en lista över befattningar.

Uppmärksamhet! I äldre konfigurationer skulle detta kräva att man lägger till ytterligare rekvisita Kategori till katalogen Positioner, och utveckla sedan din egen version av rapporten som tar hänsyn till dessa data.

Men med SKD har allt blivit mycket enklare.

1. Låt oss först spara en ny version av rapporten med knappen Välj ett rapportalternativ eller spara ett nytt - Spara rapportalternativ:

I fönstret som öppnas fyller du i namnet på den nya rapportversionen och klickar sedan på knappen Spara. Användare med rättigheter Administratör kan spara inställningen för alla användare.

2. Låt oss nu lägga till vårt fält. Gå till menyn Alla åtgärder(eller Mer i 1C 8.3-gränssnittet) — Annat — Ändra rapportversion.

Gå sedan till fliken Anpassade fält längst ned i alternativredigeringsformuläret klickar du på knappen Lägg till - Nytt urvalsfält:

Vi fyller i namnet på vårt fält och går längst ner i formuläret, där vi delar upp positionerna i de kategorier vi behöver. Klick Lägg till, fyll i fältvärdet och dess representation och fortsätt sedan med att redigera urvalet genom att klicka på "..." i kolumnen Urval:

Välj fältet till vänster i fönstret Jobbtitel, dubbelklicka eller dra för att flytta den till höger tabell. Välja typ av jämförelse På listan, fortsätt sedan med att redigera listan genom att klicka på knappen "..." i kolumnen Menande:

Vi fyller listan med önskade positioner manuellt eller med en knapp Urval. Till exempel i kategorin Administrativ låt oss tilldela positionen Direktör Och Administratör, till kategori Linjär -Försäljare och revisor, och till kategorin Säkerhet -Säkerhetschefoch säkerhetsvakt.

Uppmärksamhet! T listvärdestyp - siffra, och vi anger namnet på kategorin i fältet Prestanda. Om listvärdena omedelbart tilldelas typen Linje, kommer vi inte att kunna ställa in korrekt urval av detta fält i framtiden. Urval efter strängfält kan endast konfigureras enligt principen Fylld/Ej ifylld.

3. Låt oss nu ställa in urvalet. Gå till fliken Urval. Vi letar efter en mapp i slutet av listan till vänster Anpassade fält, och i det finns ett fält Personalkategori, flytta den till höger sida.

Högerklicka sedan på urvalsraden och välj Egenskaper för anpassade inställningar.

Att sätta flaggan Inkludera i användarinställningarna och välj redigeringsläge - Snabb åtkomst. Detta gör att du kan hantera urvalsinställningarna per personalkategori direkt i rapporthuvudet.

4. Låt oss nu lägga till gruppering efter anpassat fält. För att göra detta, efter att ha grupperat efter fält Organisation Och Bildningsperiod Vi lägger till en gruppering efter personalkategori och överför grupperingen efter befattning till den. Välj sedan grupperingen Kategori personal och gå till fliken Ytterligare inställningar . Att sätta flaggan Det aktuella elementet har sina egna ytterligare inställningar, leta efter parametern i den nedre listan Vertikalt arrangemang av totalsummor och ställ in dess värde till Slutet.

5. Låt oss försöka skapa en rapport:

Rapporten som helhet är klar, men vid behov kan den förbättras lite.

6. Gruppering efter personalkategori kommer att sorteras på samma sätt som i listan vi fyllde i tidigare. Om du vill sortera annorlunda, men till exempel i fallande ordning, kan vi gå till fliken Sortering, lägg till personalkategori i listan över fält och konfigurera enligt följande:

Observera att anpassade fält sorteras efter värde, inte efter vy.

7. Du kan konfigurera villkorligt utseende för rapportfält. För att göra detta, gå till fliken Villkorlig design och lägg till ett nytt element i listan. Välj en flik Skick, lägg till det obligatoriska fältet till höger och konfigurera det:

På fliken Dekor vi ställer in den design som krävs för fält som uppfyller villkoret. Till exempel röd typsnittsfärg. Låt oss spara våra inställningar:

Rapporten ser nu ut så här:

Lägga till egna kolumner i färdiga rapporter.
I rapporter gjorda med hjälp av "Datasammansättningsschemat" från användarläget kan du lägga till dina egna fält, som kommer att visas under genereringen.
Du kan använda aritmetiska operationer i dessa fält.

För länge sedan skrev jag en rapport "Försäljning av varor med frakt" http://infostart.ru/public/16477/. I denna publikation kommer vi inte att diskutera dess relevans och fördelar. Denna rapport kommer att användas som en mall för experiment och modifieringar. Dessutom frågade de i kommentarerna hur man lägger till fält.

Öppna "Inställningar..." och gå till fliken "Anpassade inställningar".

2. Lägg till ett "nytt fältuttryck"

Att lägga till fält innebär att man skriver aritmetiska operationer mellan Tillgängliga fält (dessa är markerade med en grön fyrkant). Också en funktion, om namnet på ett sådant fält består av två eller flera ord, måste det omges av hakparenteser. Det kommer att bli så här - [Reabelopp].

När du har sparat blir detta fält tillgängligt för val:

Med hjälp av enkla manipulationer får du det värde du behöver. Denna funktion låter dig lägga till de obligatoriska fälten. I sådana beräkningsalternativ som du behöver. Lönsamhet, effektivitet och andra värden kommer att beaktas i din aritmetiska beräkningslogik.

I så fall kommer ditt arbete inte att gå förlorat och du kan använda det nästa gång du öppnar rapporten.

Funktioner som används vid skrivning av fält.

  • Aritmetiken "+, -, *, /" är förståeligt, jag tror att det inte finns något behov av att förklara principen för deras operation.
  • Logiska uttryck används för att bestämma urval. « > ,< , = , >= , <= , <>, OCH, ELLER, INTE." Dessa uttryck används med select-operationen.
  • Urvalsoperationer. Används för att erhålla ett av de möjliga värdena i enlighet med specificerade villkor

VAL
NÄR< Операция выбора >SEDAN<Выражение>
ANNAT<Выражение>
SLUTET
Exempel:
VAL
NÄR Kvantitet > 0 och Belopp > 0 SÅ "Korrekt"
ANNAT "Fel"
SLUTET

Detta dechiffreras enligt följande: förutsatt att kvantiteten är större än noll och mängderna är större än noll, kommer texten "Korrekt" att visas, och om åtminstone ett av villkoren inte är uppfyllt, kommer "Error" att visas.

  • Den inbyggda funktionen låter dig utföra vissa transformationer med fält.

SUB-STRING ("Uttryck", "Startposition", "Slutlig position") - väljer den del av "Uttrycket" som begränsas av ramarna "Start..." och "Slutlig...".
Hur händer detta när nomenklaturvärdet är "Chocolate Paste", formeln Substring (Nomenclature,1,5) kommer att visa värdet "Paste"

För att arbeta med datumet, använd funktionerna

ÅR(<Дата>), FJÄRDEDEL(<Дата>), MÅNAD(<Дата>), DAGÅR(<Дата>), DAG(<Дата>), EN VECKA(<Дата>), VECKODAG(<Дата>),TIMME(<Дата>), MINUTE(<Дата>), SEKUND(<Дата>)

Värdet som motsvarar funktionsnamnet kommer att visas.

START AV PERIOD(“Datum”, “Skiftperiod”), SLUT PÅ PERIOD(“Datum”, “Skiftperiod”). För funktionsdata är värdet på datumuttrycket i början eller slutet av det angivna datumet.

ADDCDATE ("Datum", "Skiftperiod", "Belopp som du vill öka datumet med") - funktionen låter dig öka eller minska datumet med ett visst värde.

DATUMSKILLNAD ("Datum1", "Datum2", "Skiftperiod") - Funktionen är utformad för att erhålla skillnaden mellan två datum.

"Skiftperiod" är en av "minut, timme, dag, vecka, månad, kvartal, år, decennium, halvår".

5. Aggregeringsfunktioner för frågespråket används vid gruppering av resultat och beräkning av totaler

SUMMA (<>) den aritmetiska summan av alla värden som ingår i urvalet.
GENOMSNITT (<>) beräknar medelvärdet av alla som ingår i urvalet
MINIMUM (<>) beräknar minimivärdet från alla värden som ingår i provet
MAXIMUM (<>) beräknar det maximala värdet från alla värden som ingår i provet
QUANTITY (<>) räknar antalet parametervärden som ingår i provet. Denna funktion låter dig ha alternativ för användning. COUNT(*) - låter dig räkna antalet rader i resultatet. QUANTITY (OLIKA "Uttryck") - låter dig räkna antalet olika värden i det angivna fältet.

Belopp (val
When Substring(Nomenclature, 1, 5) = "Klistra in"
Sedan Kvantitet *0,2
Annars Antal *0,35
Slutet)

Resultatet är summan av värdena när "Klistra in" finns i början av nomenklaturnamnet, i detta fall ökar mängden med 0,2 om den inte finns, ökar den med 0,35.

År([Dokument.Datum])

Året då dokumentet registrerades/läggs upp kommer att visas.

Ett mer komplext exempel, utan avkodning.

Val
When Quarter([Document.Date]) = 1 AND Substring(Nomenklatur, 1, 5) = "Klistra in"
Sedan Kvantitet * 0,2
Annars val
När Quarter([Dokument.Datum]) = 2
Sedan Kvantitet * 0,3
Annars val
När Quarter([Dokument.Datum]) = 3
Sedan Kvantitet * 0,4
Annars val
När Quarter([Dokument.Datum]) = 4
Sedan Kvantitet * 0,5
Slutet
Slutet
Slutet
Slutet

Vi undersökte i detalj inställningarna för rapporter som implementerats på basis av passerkontrollsystemet. Låt oss nu titta på mer subtila och detaljerade inställningar för rapportalternativ. Fönstret för "avancerade" inställningar för rapportalternativet tas fram med kommandot "Mer" - "Övrigt" - "Ändra rapportalternativ".

Fönstret för att ändra rapportversionen är uppdelat i två delar:

1. Rapportstruktur.

2. Rapportinställningar.


Sektionen för struktur för rapportalternativ liknar fliken "Struktur" i standardrapportinställningarna. Syftet med och konfigurationen av grupperingar diskuteras i detalj i del 1 av artikeln.

Rapportvariantstrukturtabellen innehåller, förutom den faktiska kolumnen med grupperingar, flera ytterligare kolumner:

Inställningar för rapportalternativ ger användaren stora möjligheter att konfigurera rapporten för att passa deras behov. Det sammanfaller nästan helt med standardrapportinställningarna som diskuteras i del 1. Låt oss titta på alla flikar i avsnittet och notera skillnaderna.

Inställningssektionen består av följande flikar:

1. Parametrar. Innehåller ACS-parametrar tillgängliga för användaren.

SKD-parametern är ett värde som används för att få rapportdata. Detta kan vara ett villkorsvärde för att välja eller kontrollera data, såväl som ett hjälpvärde.


Parametertabellen presenteras i formatet "Parameter" - "Värde". Vid behov kan du ändra parametervärdena. Genom att klicka på knappen "Egenskaper för anpassade inställningar" öppnas de anpassade inställningarna för elementet.


I det här fönstret kan du välja om elementet ska ingå i användarinställningarna (det vill säga synligt för användaren när en rapport ställs in), ställa in elementets presentation och redigeringsläge (snabbåtkomst i rapporthuvudet, normalt i rapportinställningar och otillgängliga).

Egenskaper för anpassade inställningar har också grupperbara fält, marginaler, urval och villkorliga utseendeelement.

2. Anpassade fält. Innehåller fält som genereras av användaren själv baserat på den data som valts av rapporten.


Användaren kan lägga till två typer av fält:

  • Nytt urvalsfält...
  • Nytt uttrycksfält...

Urvalsfält låter dig beräkna ett värde baserat på ett angivet villkor. Fönstret för redigering av urvalsfält innehåller en fälttitel och en tabell där fältets urval, värde och presentation anges. Urval är ett villkor, beroende på vilket önskat värde kommer att ersättas.


Låt oss till exempel beräkna en uppskattning av antalet försäljningar. Vi kommer att anta att om mindre än 10 enheter av en produkt säljs så sålde vi lite och om mer än 10 enheter sålde vi mycket. För att göra detta kommer vi att ställa in 2 värden i det beräknade fältet: det första kommer att vara med urvalet "Antal varor Mindre än eller lika med "10"", det andra med urvalet "Antal varor Större än "10" ””.

Uttrycksfält låter dig beräkna ett värde med godtyckliga algoritmer. De kan använda funktionerna i frågespråket och det inbyggda 1C-programmeringsspråket. Fönstret för redigering av uttrycksfält innehåller två fält för uttryck av detaljerade poster och sammanfattande poster. Totala poster är grupperingar som konfigurerats i området "Rapportstruktur" de måste använda aggregerade funktioner ("Summa", "Minimum", "Maximum", "Mängd").

Låt oss till exempel beräkna den genomsnittliga rabattprocenten. Den genomsnittliga rabattprocenten beräknas med formeln: [Försäljningsbelopp utan rabatt] - [Försäljningsbelopp med rabatt] / [Försäljningsbelopp utan rabatt]. Det är viktigt att komma ihåg att försäljningssumman utan rabatt kan vara noll, så vi använder SELECT-operatorn för att kontrollera. Vi får följande uttryck:

· För detaljerade poster:

Val

När [Försäljningsbelopp utan rabatt] = 0

Sedan 0

Annars [Försäljningsbelopp utan rabatt] - [Försäljningsbelopp med rabatt] / [Försäljningsbelopp utan rabatt]

Slutet

· För sammanfattande poster:

Val

När Belopp([Försäljningsbelopp utan rabatt]) = 0

Sedan 0

Annars Sum([Försäljningsbelopp utan rabatt]) - Sum([Försäljningsbelopp med rabatt]) / Sum([Försäljningsbelopp utan rabatt])

Slutet

Som nämnts tidigare, i uttrycket av totala poster använder vi den aggregerade funktionen "Summa".

3. Grupperbara fält. Innehåller fält efter vilka resultaten av rapportvarianten kommer att grupperas. Grupperade fält konfigureras separat för varje gruppering, men du kan ställa in allmänna grupperade fält för ett rapportalternativ om du väljer roten "Rapport" i strukturträdet. Du kan lägga till ett fält från rapportresultatet, ett anpassat fält eller välja ett autofält, så kommer systemet att välja fälten automatiskt. Den här fliken låter dig också ändra ordningen på grupperade fält.


4. Fält. Innehåller de fält som kommer att matas ut som ett resultat av rapportvarianten. Fält konfigureras separat för varje gruppering, men du kan ställa in vanliga fält för ett rapportalternativ om du väljer roten "Rapport" i strukturträdet. Du kan lägga till ett fält från rapportresultatet, ett anpassat fält eller välja ett autofält, så kommer systemet att välja fälten automatiskt. Den här fliken låter dig också ändra ordningen på fälten.

Fält kan grupperas för att logiskt markera valfri del av rapporten eller för att ange ett speciellt arrangemang av kolumner. När du lägger till en grupp blir kolumnen "Plats" aktiv och låter dig välja ett av platsalternativen:

  • Auto - systemet placerar fält automatiskt;
  • Horisontell - fält är placerade horisontellt;
  • Vertikal - fält är anordnade vertikalt;
  • I en separat kolumn - fält finns i olika kolumner;
  • Tillsammans - fälten finns i en kolumn.


5. Urval. Innehåller urval som används i rapportvarianten. Att ställa in urval diskuterades i detalj i del 1 av den här artikeln. Filter konfigureras separat för varje gruppering, men du kan ställa in allmänna filter för ett rapportalternativ om du väljer roten "Rapport" i strukturträdet.


6. Sortering. Innehåller sorteringsfälten som används i rapportvarianten. Att ställa in sorteringsfält diskuterades i detalj i del 1 av den här artikeln. Sortering konfigureras separat för varje gruppering, men du kan ställa in allmänna sorteringsfält för ett rapportalternativ om du väljer roten "Rapport" i strukturträdet.


7. Villkorlig registrering. Innehåller villkorliga designelement som används i rapportvarianten. Att ställa in villkorligt utseende diskuterades i detalj i del 1 av den här artikeln. Villkorligt utseende konfigureras separat för varje gruppering, men du kan ställa in allmänna element för villkorligt utseende för ett rapportalternativ om du väljer roten "Rapport" i strukturträdet.


8. Ytterligare inställningar. Innehåller ytterligare rapportdesigninställningar. Låter dig välja rapportens allmänna utseende, plats för fält, grupperingar, detaljer, resurser, summor, ställa in diagraminställningar, kontrollera visningen av titeln, parametrar och urval, bestämma resursernas position och fixa rubriken och grupperingen kolumner i rapportversionen.


Sammanfattningsvis vill jag notera att rapportinställningar inte bara kan sparas som ett rapportalternativ, utan även laddas upp till en fil (menyn "Mer" - "Spara inställningar"). För att ladda ner måste du välja "Ladda inställningar" och välja den sparade filen. Således kan vi överföra rapportvariantinställningar mellan olika databaser som har samma konfiguration.


Utifrån detta kan vi sammanfatta att användaren inte bara självständigt kan anpassa rapporten för att passa hans behov, utan även spara sina inställningar och använda dem i framtiden vid behov.

Rapporten tar emot saldon av varor i lager i olika sektioner (egenskaper, serier, måttenheter etc.). För att inte komplicera exemplet lämnar vi endast gruppering efter post och visar endast det slutliga saldot per rapportdatum. Den sista tabellen kommer att visa saldot för artikeln i lagren.

Men sedan rapporterade användaren att han behövde lägga till ytterligare två fält:

  1. Kvantitetsvarning. Om kvantiteten är mindre än eller lika med 5, är varningen "Otillräcklig". Om kvantiteten är större än 5, då mindre än eller lika med 10, är ​​varningen "Normal". Om kvantiteten är mer än 10, då "Overabundance".
  2. Formel för att beräkna slutbalansen. I den extra kolumnen vill användaren se vilka åtgärder programmet utförde för att få det slutliga saldovärdet. Det vill säga formeln "Initialt saldo + Omsättning = Slutsaldo", där motsvarande värden kommer att ersättas.

Naturligtvis kan en programmerare ingripa här och ändra datasammansättningsschemabegäran och rapportinställningar, men vi kommer att slutföra uppgiften i användarläge utan att ändra rapporten i konfiguratorläge.

Ytterligare fält

Så, låt oss börja. Låt oss gå till inställningarna för rapportalternativ:

Inställningsdesignern för ACS-rapportalternativet öppnas framför oss. Genom att gå till fliken "Anpassade fält" börjar vi skapa dem.

Skärmdumpen visar redan två skapade anpassade fält, vars funktionalitet beskrevs ovan. Låt oss titta på inställningarna för var och en. Låt oss börja med fältet "Meddelande".

I inställningarna måste vi ställa in fälttiteln som ska visas i rapporten, samt ställa in uttryck för att generera värdet i det detaljerade postfältet och i totalsummorna för detta fält. Eftersom det inte finns något behov av att visa varningen i summorna kommer vi att skriva ett uttryck endast för detaljerade poster.

Uttryckssyntaxen liknar frågespråket 1C:Enterprise. Det finns några skillnader, men vi kommer inte att beröra dem i detalj i den här artikeln. Uttrycket använder urvalsoperatorn:

"Val När Sen Annars Slutet"

liknar en operatör i ett frågespråk. Fält i anpassade fältuttryck specificeras av deras representation. För att plattformen ska förstå att den angivna vyn representerar ett visst fält, omges vynnamnet av hakparenteser "". Om fältrepresentationen är ett ord krävs inte hakparenteser. I exemplet ovan tittar vi på fältet Slutsaldo.

Inställningarna för fältet "Formel för beräkning av slutsaldo" ställs in på samma sätt:


Här är det nödvändigt att nämna några nyanser:

  1. Vi kan bara visa formeln i en cell som en linje. Därför konverterar vi alla numeriska värden till en sträng med SKD-uttrycksspråkmetoden "String()", som konverterar vilket värde som helst till en sträng. Sedan utför vi strängsammansättning.
  2. För att fältet ska visas i rapportsummorna kommer vi att lägga till en liknande formel till uttrycket för totalposterna. Du behöver bara lägga till aggregeringsfunktionerna "SUM()" för varje värde i enlighet med totalsummorna.

Du är redo att använda fält i din rapport!

Upprätta och generera en rapport

Lägg till fältet "Formel för beräkning av slutsaldo" i rapportens utdatafält:

Vi kommer att lägga till uttrycket "Meddelande" till detaljerade poster. För att göra detta, lägg till uttrycksfältet "Anmälan" till gruppen "Nomenklatur". Efter detta kommer rapportstrukturen att ha följande form:

Rapportinställningen är nu klar. Vid behov kan de tillagda inställningarna sparas för återanvändning. Låt oss skapa en rapport:

Som vi kan se har fält lagts till i rapporten i enlighet med villkoren för uppgiften. Samtidigt fanns det inget behov av att ändra rapporten i konfiguratorläge. Detta är den största fördelen med anpassade fält! En användare som är utbildad för att använda dem kan använda dem för att skapa en rapport om sina krav internt, utan hjälp av en programmerare.

Tro mig, det är möjligt att träna honom att använda dessa funktioner, eftersom det är mycket lättare än att skriva formler i Excel-kalkylblad.

 

Det kan vara bra att läsa: