1s SKD-redigeringsparametere. Datasammensetningsskjemadesigner - fanen innstillinger. Oppretting av rapport trinn for trinn

I spørringsdesigneren, når den kalles opp fra datakildeoppsettskjemaet, for datasammensetningsskjemaet. Det er en "egenskaper"-fane, hvis bruk ikke er tydelig beskrevet i dokumentasjonen. I denne artikkelen vil jeg prøve å forklare hvordan og hvorfor egenskaper brukes i ACS.

I spørringsdesigneren, når den kalles opp fra datakildeoppsettskjemaet, for datasammensetningsskjemaet. Det er en "egenskaper"-fane, hvis bruk ikke er tydelig beskrevet i dokumentasjonen. I denne artikkelen vil jeg prøve å forklare hvordan og hvorfor egenskaper brukes i ACS. Typiske konfigurasjoner bruker aktivt mekanismen for egenskaper og egenskapsverdier, tilgjengelig for nesten alle objekter. Primitivt, i referansebøker, ble denne mekanismen implementert i konfigurasjoner 7.7. Nå er denne mekanismen implementert ved hjelp av en plan med karakteristikktyper og et informasjonsregister, men ideen forblir den samme. Da jeg først møtte behovet for å bruke denne mekanismen i et tilgangskontrollopplegg, slet jeg veldig lenge, organiserte nestede søk, ble med i hovedutvalget og lurte på hvordan jeg skulle ta hensyn til muligheten for fremveksten av nye typer eiendommer som ikke eksisterte på tidspunktet for rapportutvikling. Hele mekanismen med egenskaper, som var enkel og logisk fra brukerens synspunkt, ga seg ikke til noen normal behandling før jeg fant ut fanen "Kenskaper". Tabellen på fanen er veldig lunefull, enten skriver du inn hele linjen riktig, eller nekter å gå inn i linjen i det hele tatt; systemet vil ikke tillate deg å legge igjen en ufullstendig fylt linje "til senere." Så la oss gå ned til detaljene. Første kolonne: Type – her velger vi typen objekt som egenskapene skal knyttes til, for eksempel “DirectoryLink.Nomenclature” Dette betyr at det nå for alle objekter av den angitte typen vil være mulig å få egenskapsverdier. Deretter, i den neste kolonnen Kilde til visninger, må vi angi parameterne for kilden til eiendomsvisninger. Tabell- og spørringsalternativene er mulige; Jeg skal fortelle deg hvorfor søkealternativet er nødvendig senere, la oss nå velge tabellelementet. I kolonnen Types of characteristics må vi velge infobasetabellen der de nødvendige typene egenskaper er lagret, i vårt eksempel vil det være "Plan of Types of Characteristics.Properties of Objects". Videre avhenger verdiene som er tilgjengelige for oss for valg i kolonnene nøkkelfelt, navnefelt og verditypefelt direkte av feltene i tabellen vi har valgt. I nøkkelfeltet velger vi Link, i Name Field – View (dette er hva brukeren vil se som navnet på attributtet), og i Type Field, henholdsvis ValueType. La oss nå gå videre til kilden til verdier. Vår verdikilde vil være informasjonsregisteret "ObjectPropertyValues", så vi velger tabell i Source of Values-kolonnen, og "InformationRegister.ObjectPropertyValues" i Characteristic Values-kolonnen. I kolonnene Objekt, Eiendom, Verdi, velg de tilsvarende feltene i objekt-, eiendoms-, verdiregisteret. Det ser ut til at det er alt. Vi går til skjemainnstillingene, legger til en gruppering etter produkter, og legger til en underordnet gruppering, for eksempel etter merkevarer, vi har en slik egenskap. Vi utvider listen over detaljer i nomenklaturgrupperingen og ... vi ser ingen egenskaper der: Faktum er at vi er i konfiguratoren, hvor det ikke er tilgang til dataene. Hvordan gjøre de nødvendige innstillingene? Den mest praktiske måten å gjøre dette på er å bruke datakomposisjonskonsollen, den på ITS-disken eller den som er inkludert i undersystemet "Utviklerverktøy". Men du kan ganske enkelt åpne rapportinnstillingene i bedriftsmodus. Så la oss åpne den samme innstillingen, men i bedriftsmodus: Som du kan se, har vi lagt til nye "Detaljer", og...

Merk følgende! Dette er en introduksjonsversjon av leksjonen, hvis materiell kan være ufullstendig.

Logg inn på siden som student

Logg på som elev for å få tilgang til skolemateriell

Datakomposisjonssystem 1C 8.3 for nybegynnere: tilkobling av datasett

  • Skriv en rapport som viser kunder og deres favorittprodukter. Hver klient har en favorittfarge, og hvert produkt har sin egen farge - basert på disse fargene må du bestemme "favoritten" til produktet. For eksempel, hvis Andreys favorittfarge er rød, vil en av favorittmatene hans være tomater (de er røde).
  • Bruk to sett med data i rapporten. Det første settet er data fra katalogtabellen "Clients". Den andre er data fra "Mat"-katalogtabellen.
  • Implementere forbindelse mellom disse to settene, slik at rapporten bare inneholder favorittproduktene for hver klient.

Opprett en ny rapport

Åpne "Gastronom"-databasen i konfiguratoren og lag en ny rapport gjennom hovedmenyen:

Dokumenttype - "Ekstern rapport":

I form av en ny rapport, angi navnet "Leksjon 6" og klikk på "Åpne datasammensetningsdiagram"-knappen:

La standard skjemanavn:

Legger til det første datasettet

I diagrammet som åpnes, gå til fanen "Datasett" og velg "Legg til datasett - spørring" med det grønne plusstegnet:

Ring forespørselskonstruktøren:

Vi angir "Kunder"-tabellen og feltene som må hentes fra forespørselen:

Legger til et annet datasett

Legg til et andre sett med data:

Velg det (DataSet2) og ring spørringskonstruktøren igjen:

Vi angir tabellen i "Mat"-katalogen og feltene som må hentes fra forespørselen:

Den resulterende forespørselsteksten var:

Vær oppmerksom på at vi for øyeblikket har to datasett i rapporten: Datasett1 og Datasett2. Hver har sin egen forespørselstekst og data.

Gjør navn mer beskrivende

For klarhets skyld, la oss gi nytt navn til DataSet1 til Kunder og DataSet2 til Food.

Gjør dette ved å dobbeltklikke på hvert av settene:

Vi kan bruke dataene fra hvert sett i rapporten vår. Vi vil få tilgang til disse dataene gjennom felt.

For øyeblikket har "Kunder"-settet følgende felt: "Navn" og "Favorittfarge", og "Mat"-settet har: "Navn" og "Farge".

Vi ser at navnene overlapper hverandre og vi kan lett bli forvirret. Så la oss endre feltnavnene for å være mer beskrivende.

Velg "Klienter"-settet og endre feltnavnene slik:

Velg deretter "Mat"-settet og endre feltnavnene slik:

Ringer innstillingskonstruktøren

Til slutt, gå til "Innstillinger"-fanen og klikk på tryllestaven for å få opp innstillingsdesigneren:

Rapporttype - "Liste...":

Velg felt for rapporten fra begge settene:

Ser du hvorfor det var så viktig å endre feltnavnene? På stadiet med datasammensetningsinnstillinger ser vi ikke hvilke sett disse feltene er fra. Vi ser bare navnene deres.

Sjekker rapporten

Vi lagrer rapporten og genererer den i brukermodus:

Ja. Ok, men egentlig ikke. En såkalt krysssammenføyning av to sett har skjedd (du bør være godt kjent med dette fra sammenføyningene i spørringene som vi studerte i tidligere moduler). Hver post fra Kunder-tabellen har en tilsvarende post fra Mat-tabellen.

Men fra alle disse postene må vi bare la de som har feltet "Customer's FavoriteColor" er lik feltet "FoodColor":

Vi kobler sammen to sett med data

For å gjøre dette vil vi koble sammen to sett med data (Kunder og Mat) ved å bruke feltene Kundens favorittfarge og Matfarge.

Gå til fanen "Datasettkoblinger" og klikk på plussknappen for å legge til en ny lenke:

Vi konfigurerer parametrene som i figuren nedenfor:

Jeg skal lage en forklaring.

Kommunikasjonskilde og mottaker. Vel, alt er klart her. Vi angir det første settet (kunder) og det andre settet (mat) med data. Jeg vil spesielt gjøre oppmerksom på at kommunikasjonen vil skje etter prinsippet ytre venstre skjøt(vi dekket det i emnet forespørsler i tidligere moduler). Basert på dette må du velge hvilket sett som skal være kilden og hvilken mottaker.

Uttrykkskilde. Vi angir her et uttrykk eller ganske enkelt et felt fra kildedatasettet (vi spesifiserte ClientFavoriteColor-feltet fra klientsettet her).

Mottakeruttrykk. Vi angir her et uttrykk eller ganske enkelt et felt fra mottakerdatasettet (vi indikerte ColorFood-feltet fra Food-settet her).

Dermed vil denne koblingen bare etterlate de radene fra forrige liste hvor Kundens favorittfarge-felt er lik FoodColor-feltet.

La oss lagre rapporten og kjøre den i brukermodus:

Flott!

Jeg skal lage en forklaring om feltet " Kommunikasjonstilstand", om hvilke nybegynnere programmerere så ofte slår spydene sine.

Tilkoblingsbetingelsen er et hjelpefelt. Du kan skrive uttrykk der involverer bare felt fra datasettet spesifisert i koblingskilden.

I dette tilfellet, for alle rader fra lenkekilden, vil dette uttrykket (lenkebetingelsen) bli sjekket før koblingen lages. Og hvis dette uttrykket er TRUE, vil det bli gjort et forsøk på å etablere koblinger mellom denne raden og rader fra lenkemottakeren. Hvis uttrykket er FALSE, vil ingen slike forsøk bli gjort.

Fanen replikerer den egendefinerte "Innstillinger"-dialogen, tilgjengelig for brukeren for å konfigurere rapportparametere.

Utfylling av innstillingene på denne fanen brukes til å konfigurere standardrapporten i brukermodusen til rapporten.
Vinduet for å sette opp rapporten er tilgjengelig i tilpasset rapportmodus, og forskjellen fra å sette opp ACS i konfiguratoren er at du kan bruke verdiene til ikke-forhåndsdefinerte data fra databasen.
Innstillingsvinduet består av et hovedvindu der lister over grupperinger, tabeller og diagrammer vises og et sett med faner der innstillingsparametere settes for objekter spesifisert i grupperingsdelen. Vi kan indikere hvilke innstillinger som for øyeblikket redigeres ved å klikke på knappen med inskripsjonen om hvilket objekt vi redigerer:

Det er mulig å redigere generelle innstillinger for hele rapporten, og ved å klikke på den tilsvarende knappen kan du redigere innstillinger eksklusivt for det valgte objektet: grupperingselement, tabell, diagram.

Fanen "Dataparametere"
På denne fanen er verdiene for dataparametere satt. Listen over tilgjengelige dataparametere bestemmes på "Parameters"-fanen i ACS-diagrammet; kun brukerdefinerte parameterverdier er satt her. Dessuten er bare de parametrene tilgjengelige der avmerkingsboksen "Begrenset tilgjengelighet" er fjernet i tilgangskontrollskjemaet.


Tabellen inneholder flere kolonner:
1. "Bruk" - ved å hake av indikerer brukeren om denne parameteren skal brukes eller ikke til å generere en rapport.
2. "Parameter" - parameternavn
3. "Parameterverdi" - verdien til parameteren eller en indikasjon fra hvor verdien av parameteren kan hentes. For eksempel, hvis du tilbakestiller gjeldende verdi ved å klikke på "X", og klikker på "T"-knappen vil du åpne valget av parametertype i dialogboksen:

Kilden kan være en hvilken som helst verdi av en enkel type streng, dato, tall, boolsk eller en referanse til et objekt i databasen. Kilden for denne parameteren kan også være verdien til en annen parameter; for å gjøre dette, velg verdien "Datasammensetningsfelt" og velg ønsket felt fra listen over parametere.
For datoer kan du tilordne automatiske verdier for substitusjon: "Start av denne dagen", "Start av denne uken", etc.

Fanen "Valgte felt".
På denne fanen definerer du feltene, bortsett fra grupperinger, som skal vises i rapporten. Fanen inneholder to lister med tilgjengelige felt og valgte felt. I tillegg til feltene som er definert i datasettene, er parametere og systemfeltene «Sequence Number», «Sequence NumberInGrouping», «Level», «LevelInGrouping», samt tilpassede felt definert på fanen «Custom Fields» tilgjengelig for utdata .

Du kan overføre felt ved å dobbeltklikke på navnet i venstre vindu eller bruke spesialknappen i kommandopanelet. Du kan legge til følgende elementer: "Nytt felt", "Ny gruppe", "Nytt autofelt". "Nytt felt" - legger til et element der du kan velge et felt fra den tilgjengelige listen over felt. "Ny gruppe" - du kan gruppere flere felt under én overskrift. "Nytt autofelt" - brukes til å indikere at feltene som vises for grupperinger vil bli valgt fra grupperingsinnstillingene på et høyere nivå. For eksempel, etter å ha definert et antall ressursfelt for hele rapporten, spesifiserte vi et nytt autofelt for grupperinger. Du kan slette elementer ved å bruke Slett-knappen, eller flytte dem etter posisjon ved å bruke flytteknappene. Ved å merke av i boksene kan du justere synligheten til feltene i rapporten.
Etter å ha definert et sett med felt, kan vi redigere feltene i listen; vi må gå inn i feltredigeringsmodus, klikk på velg-knappen og velg ønsket felt fra listen.

For ressurser er avklaringer for attributtberegninger tilgjengelig for valg: "% i gruppe" - brukes til å beregne andelen av ressursverdien for hele grupperingen i gruppen, dvs. som et resultat vil gruppen basert på totalen av ressursverdier være 100%; "% total" - den totale prosentandelen, uavhengig av gruppe, for alle ressursverdier.
For objekttypefelt: katalog, dokument, etc. Det er mulig å angi objektdetaljer i de valgte feltene.

Fanen "Utvalg"
På denne fanen definerer du valg som påvirker resultatet av rapporten.


Som på fanen "Valgte felt" er det to vinduer: til venstre er alle tilgjengelige ACS-felt for valg i utvalget, til høyre er elementer og verdier som påvirker utvalget. Du kan også legge til et nytt element eller en gruppe med elementer ved å bruke Legg til-knappen. Du kan slette elementer ved å bruke Slett-knappen, eller flytte dem etter posisjon ved å bruke flyttepilene. Ved å merke av i boksene kan du regulere aktiviteten til et bestemt utvalg i rapporten. Etter å ha klikket på "Lignende"-knappen, blir tydelige utvalgsdetaljer lagt til listen over utvalgselementer: "Visningsmodus" og "Presentasjon".

Etter å ha lagt til et nytt element i utvalgslisten, er følgende felt tilgjengelig for redigering:
"Venstre verdi" - ACS-felt eller et enkelt typefelt ("Number", "String", "Date", "Boolean"), som valget brukes på
"Sammenligningstype" - en liste over mulige valgbetingelser: "Like", "Ikke lik", "I listen", "I en gruppe fra listen", "I en gruppe", "Ikke i listen", " Ikke i en gruppe fra listen", "Ikke i gruppe", "Inneholder", "Inneholder ikke", "Fylt", "Ikke fylt"
"Høyre verdi" - valgverdi, tilsvarer verdien i feltet "Venstre verdi". Hvis "Sammenligningstype" er "I listen", "I en gruppe fra listen", "Ikke i listen", "Ikke i en gruppe fra listen", så er en liste med verdier tilgjengelig for innstilling
"Visningsmodus" - det er to mulige alternativer: "Rask tilgang" og "Normal". Hvis "Rask tilgang" er installert, vises, hvis mulig, verdiene for valg i form av en rullegardinliste, dette gjelder spesielt for små, sjeldent skiftende kataloger, oppregninger eller typer egenskaper. "Normal" er standardmetoden for å vise verdier for objekter i form av et utvalgsskjema eller en liste.
"Vis" - en tekstvisning av utvalget i en forkortet modus (hvis "Detaljer"-knappen ikke er trykket), samt en visning av utvalget når rapporten vises.
Du kan legge til grupper til valg - som tjener til å kombinere flere valg, i henhold til ethvert kriterium "OG", "ELLER", "IKKE".


For eksempel må du kombinere flere forhold ved å bruke OG-operatoren. For å gjøre dette, må du legge til "Gruppe OG" i utvalget og liste opp betingelsene i denne gruppen. Hekking av grupper er tillatt, ved hjelp av dette kan du skape komplekse forhold. I tillegg til "Gruppe OG", er "Gruppe ELLER" og "Gruppe ikke" tilgjengelig. Som standard er det ganske enkelt en liste over valgbetingelser som ikke tilhører noen gruppe, koblet til hverandre ved hjelp av "AND"-operatoren.

"Sortering"-fanen
Denne kategorien spesifiserer feltene som sorteringen utføres etter.


Å legge til felt på denne fanen ligner på hvordan det gjøres på fanen "Valgte felt". Den eneste parameteren som er spesifisert i de valgte sorteringsfeltene er sorteringsretningen.

Fanen "Betinget utseende"
På fanen «Betinget formatering» angir vi hvilke felt, utvalgsbetingelser og registreringsbetingelser som skal gjelde ved visning av felt i rapporten.


"Område" er en liste over felt som påvirkes av det betingede utseendet.

"Utvalg" - utvalgsbetingelser som betinget registrering er gyldig under

Valgbetingelsene spesifiseres på samme måte som på "Valg"-fanen i hovedvinduet for layoutinnstillinger.
"Betinget design" - når du fyller ut dette feltet, vises et vindu med et utvalg av mulige designalternativer for de angitte feltene.

Liste over mulige designalternativer:
Bakgrunnsfarge - Definerer bakgrunnsfargen til cellene.
Tekstfarge - Definerer fargen på tekst i celler
Kartfarge - Definerer fargen på linjene i diagrammet.
Kantfarge - Kantlinjefarge
Border Style - Border Line Typer
Kantstil venstre - venstre
Topp Border Style - Topp
Border stil høyre - høyre
Bunnkantstil - Bunn
Font - Type skrift, tykkelse, skråning osv.
Innrykk – Antall innrykktegn
Automatisk innrykk - Antall innrykktegn, brukt i grupperinger
Horisontal posisjon - Horisontal plassering av tekst i en celle
Vertikal posisjon - Den vertikale posisjonen til teksten i cellen
Plassering – Plasser tekst som ikke får plass i cellen
Tekstorientering - Orientering av teksten i grader (for eksempel 90-roter vinkelrett)
Format - Formater verdistreng
Marker negativ - Tegn for å markere negative verdier
Minimum Width - Minimum cellebredde i poeng
Minimum høyde - Minimum cellehøyde
Maks høyde - Maks høyde
Tekst – Teksten som vises i stedet for verdien

Fanen "Egendefinerte felt"
På denne fanen kan du spesifisere egendefinerte felt og formler som feltene skal beregnes etter.


Når du klikker på å legge til et felt, åpnes et utvalg av typen tilpasset felt: "Nytt valgfelt", "Nytt uttrykksfelt".
"Utvalgsfelt" - en dialogboks for å lage et nytt valgfelt vises. Dette feltet vil ta de angitte verdiene avhengig av valgbetingelsen spesifisert i "Alternativer"-tabellen.

"Feltuttrykk" - brukes i tilfellet når du trenger å sette inn beregnede felt uten å endre layoutskjemaet. Skjemaet inneholder for eksempel ressursene "Antall" og "Beløp". I brukermodus ønsker vi å beregne prisen. For å gjøre dette setter vi inn formelen i uttrykksdesignfeltet:

Du kan bruke uttrykk fra spørringer i egendefinerte felt.
For å angi totale poster i et uttrykk, må du bruke aggregerte funksjoner SUM(..), QUANTITY(), MIN(..), MAX(..)

Fanen "Andre innstillinger".
På fanen "Andre innstillinger" definerer du innstillinger som påvirker arrangementet av grupperinger, utvalgsfelt, ressurser osv.

Design Layout Definerte forhåndsdefinerte designoppsett
Totals plassering Parameteren påvirker plasseringen av totaler
Plassering av grupperingsfelt
Plassering av fraksjonene
Plassering av detaljer
Ressursplassering
Horisontalt arrangement av totalsummer
Vertikalt arrangement av totalsummer
Feltoverskriftstype
Diagramtype
Grunnverdi
Hopp over grunnverdi
Sammensetning av signaturer
Skyvemodus
Vis datatabell
Maksimal verdi
Minimumsverdi
Kantkant
Gradient
Font
Bakgrunnsfarge
Linjestil
Forklaringsplassering
Målediagram striper
Vis tittel
Overskrift
Utdataparametere
Vis utvalg

Vinduet for grupperingsinnstillinger


Skjemainnstillingene for datasammensetning kan inneholde en struktur som inkluderer de tilgjengelige innstillingselementene.
Disse elementene er:
gruppering;
bord;
diagram;
nestet rapport.

Følgende innstillinger er tilgjengelige for gruppering:
Gruppering bruk flagg - hvis satt, brukes gruppering under layout;
Gruppering av felt - et sett med felt som gruppering utføres av. Hvert datasamhar følgende egenskaper:
- Feltbruksflagg - hvis satt, brukes feltet;
- Grupperingsfelt - vei til feltdataene som grupperingen utføres med;
- Grupperingstype – grupperingstype (hierarki, kun hierarki, elementer);
- Tilleggstype – behovet for å legge til datoer i perioden;
- Startdato - startdatoen for perioden. Kan inneholde en konstant verdi eller en feltverdi;
- Sluttdato - sluttdatoen for perioden. Kan inneholde en konstant verdi, eller verdien er et felt;

Ved gruppering etter periodefelt legges det automatisk til et overordnet periodefelt i grupperingen, som ikke er en tilleggsperiode, hvis overordnede grupperinger ikke ble gruppert etter dette overordnede periodefeltet.
For eksempel, hvis gruppering utføres av Recorder-feltet, vil PeriodSecond-feltet automatisk legges til grupperingen.
Det er imidlertid forbudt å opprette grupperinger basert på periodefeltdetaljer.

Funksjoner for å lage rapporter i 1C v8 i tykk klientmodus

Hvordan velge et alternativ?

  • Plasser "Velg alternativ"-knappen på rapportpanelet
  • Plasser "OnDate"-feltet på skjemaet.

Eksempelkode: ProcedureFormActionSelectOption(Button) layout = GetLayout("MainDataLayoutScheme"); spOptions = Ny verdiliste; For hvert alternativ fra layout.OptionsSettings Loop spOptions.Add(option.Settings, option.View); EndCycle;

utvalg = cnOptions.SelectItem(); Hvis valg = Udefinert, så returner; slutt om;

SettingsComposer.LoadSettings(selection.Value);

Generere(); Slutt på prosedyre

Prosedyre OnDateOnChange(Element) Generate(); Slutt på prosedyre

Prosedyre Generate()FormElements.Result.Clear(); Settings Composer.Settings.DataParameters.SetParameterValue("Period", ToDate); ComposeResult(FormElements.Result); Slutt på prosedyre

Prosedyre ved åpning() OnDate = CurrentDate(); Generere(); Slutt på prosedyre

Funksjoner for å lage rapporter via tilgangskontrollsystem

Oppretting av rapport trinn for trinn

  1. Opprett en rapport i Rapporter-noden
  2. Opprett en layout i en rapport hvis type er Data Layout Scheme
  3. I rapportegenskapene setter du: Grunnleggende datalayoutskjema = Opprettet layout
  4. I rapportegenskapene angir du undersystemet den tilhører (rapporten i Enterprise vil vises i det øverste navigasjonspanelet)
  5. Opprett en spørring i Layout (element: Legg til datasett - Spørring)
  6. I fanen Alternativer for Layout må du fjerne merket for alle linjene i kolonnen Tilgjengelighetsbegrensning - dvs. alle parametere vil være tilgjengelige for redigering av brukeren
  7. I kategorien Innstillinger i layouten, i vinduet der rapportnoden vises, må du opprette en ny gruppering uten å spesifisere grupperingsfeltet - en detaljert linje vil bli opprettet
  8. I Innstillinger-fanen i Layout, i vinduet der et ekstra sett med bokmerker vises, velg ytterligere. Parameter-fanen - merk alle parametere med et hakemerke og på hver parameter klikker du på Egenskaper-elementet til brukerinnstillingselementet, parameterinnstillingsvinduet åpnes, hvor du må merke av i boksen - Inkluder parameter i brukerinnstillinger
  9. I Innstillinger-fanen i Layout, i vinduet der et ekstra sett med bokmerker vises, velg ytterligere. Fanen SelectedFields - der må du legge til kolonner som skal vises i rapporten
  10. Start Enterprise, åpne rapporten, angi parameterverdier, Generer (sjekk at hovedrapportgenerering er valgt)

Hvordan legger jeg til en ikke-bruker redigerbar parameter?

For eksempel må vi sette søkeparameteren "Infobase"

  • I layoutoppsettskjemaet, på Alternativer-fanen, fjern merket for "Inkluder i tilgjengelige felt" og "Begrens tilgjengelighet" for ønsket parameter.
  • I layoutskjemaet, på fanen Innstillinger, på Parameters-underfanen (nederst), fjern merket for ønsket parameter, åpne egenskaper (knapp med skiftenøkkel), på dette skjemaet:
    • Fjern merket for "Inkluder i brukerinnstillinger"
    • Sett redigeringsmodus til "Utilgjengelig"


  • I rapportskjemamodulen i hendelsesbehandleren "Når du laster et alternativ på serveren" (du kan også ved åpning, men IKKE når du oppretter på serveren, siden det utføres FØR lasting av rapportinnstillingene og innstillingene vil bli overskrevet) programmert angi parameter:

&På serverprosedyren når du laster alternativet på serveren (Innstillinger)

//Setting the Settings parameter = Report.Settings Composer.Settings; Settings.DataParameters.SetParameterValue("InformationBase", Report.InformationBase); Slutt på prosedyre

Hvordan angi rapportalternativer?

  • I layoutskjemaet på fanen Innstillinger i feltet til venstre kan du opprette de nødvendige rapportalternativene

Hvordan sette grupperinger?

  • I layoutskjemaet på fanen Innstillinger i feltet øverst til høyre kan du opprette de nødvendige grupperingene

Hvordan viser jeg en rapport programmatisk?

I skjemamodulen:

&Om klientprosedyren GenerateReportExecute()

ThisForm.ComposeResult();

Slutt på prosedyre

Hvordan teste en rapport?

Du må gjøre:

  • Den mest praktiske måten å skape en situasjon i en klienttest er gjennom en situasjonstabell
  • få rapportskjemaet - form = GetForm("Report.Process Movement.Form.ReportForm");
  • last inn ønsket rapportvariant - angi ra"Variantnøkkel" (navnet på innstillingen i datasammensetningsoppsettet)
  • laste de nødvendige rapportinnstillingene - ? å fylle ut "UserSettings" ra(type "UserDataCompositionSettings") fungerte ikke, alt er komplisert, se nedenfor.
  • åpent skjema - form.Open()
  • utføre formasjon - form.ArrangeResult();
  • sjekk innholdet i regnearkdokumentskjemaet Resultat - det ville vært fint å ha sammenligningsfunksjoner med referansen mxl
  • lukk form - form.Close(); - eller kanskje du ikke trenger å åpne den, du må sjekke

se også

  • Beskrivelse: Hjelp-meny/Syntaksassistent/Innhold-fanen/Administrerte applikasjonsgrensesnittobjekter/Administrerte skjemautvidelser/Administrert skjemautvidelse for rapport-/skjemaalternativer

Hvordan laster jeg inn de nødvendige rapportinnstillingene?

Dokumentasjonen beskriver at det finnes en slik parameter for å utvide rapportskjemaet "UserSettings" av typen "UserDataCompositionSettings", men det er en veldig kompleks objektstruktur, det var ikke mulig å bruke den.

Virkelig fungerende opplegg:

1. Lag parametere i rapporten

  • Periodetype StandardPeriod
  • Valg av ValueList-typen (Struktur ville vært bedre, men den er ikke i listen over parametertyper, så vel som en vilkårlig type)

2. Vi sender de nødvendige parameterne til GetForm-prosedyren:

periode = NewStandardPeriod; period.Option = StandardPeriodOption.CustomPeriod; period.StartDate = gjeldende dato; periode.EndDate = morgendato;

utvalg = Ny verdiliste; select.Add(Testing.GetObject(stSituation, "BP1"), "BusinessProcess");

stParameters = New Structure("Variantnøkkel, Periode, Utvalg", "Hoved", periode, utvalg); // OpenFormModal("Report.Process Movement.Form.ReportForm", stParameters); form = GetForm("Report.Process Movement.Form.ReportForm", stParameters);

3. Angi parameterne i skjemahendelsesbehandlerne

&OnServer-funksjon spGet(spList, view) Eksporter for hvert element Fra spList Loop If element.View = view Returner deretter element.Value; slutt om; EndCycle; Returner Udefinert; EndFunction

&På serverprosedyren SetCustomSettingsValue(Settings, Name, Value) For hvert element fra Settings.Elements Loop If TypeValue(element) = Type("DataCompositionSettingsParameterValue") Then If String(element.Parameter) = Name Then element.Value = Value; element.Use = Sant; slutt om; slutt om; EndCycle; Slutt på prosedyre

&På serverprosedyren SetCustomSelectionValue(Settings, Name, Value) For hvert element Fra Settings.Elements Loop If TypeValue(element) = Type("DataComposition Selection") Deretter For hvert valg Fra element.Elements Loop If Row(selection.LeftValue) = Navn Deretter utvalg .RightValue = Verdi; utvalg.Bruk = Sant; slutt om; EndCycle; slutt om; EndCycle; Slutt på prosedyre

&På serverprosedyren når du laster alternativet på serveren (Innstillinger)

Name of the CurrentVariant = Visning av CurrentVariant;

Innstillinger = Report.SettingsComposer.Settings; Settings.DataParameters.SetParameterValue("InformationBase", Report.InformationBase);

Slutt på prosedyre

&OnServer-prosedyre ved lasting av UserSettingsOnServer(Settings) Settings = Report.Settings Linker.UserSettings;

<>"00010101" Deretter Settings = Report.Settings Composer.UserSettings; SetCustomSettingValue(Settings, "Period", Parameters.Period); slutt om;

ssBusinessProcess = spGet(Parameters.Selection, "BusinessProcess"); Hvis ssBusinessProcess<>Undefined Then SetCustomSelectionValue(Settings, "BusinessProcess", ssBusinessProcess); slutt om;

Slutt på prosedyre

Merknader:

  • Det er dataparametere, det vil si hva som er satt i ACS-forespørselsparametrene
  • Noen av dem er tilordnet i alternativinnstillingene i Brukerinnstillinger (i parameteregenskapene er det et flagg "Inkluder i brukerinnstillinger"
  • Selv om du laster de nødvendige verdiene inn i dataparametrene når du laster inn på serveren, åpnes et skjema der innstillingene som ble lagret sist, lastes automatisk inn. Disse innstillingene "avbryter" datainnstillingene når du genererer en rapport
  • I WhenLoadingUserSettingsOnServer-behandleren er det beståtte Settings-objektet en kopi reelle innstillinger, derfor, for å endre innstillingene som vises på skjemaet, må du fylle ut Report.Settings Composer.UserSettings-objektet

Hvordan lage flere (liste) spørringsparametere i ACS?

Spørringen må bruke uttrykket "I (&Parameternavn)"(se boolske uttrykk i spørringsspråket 1Cv8)

Når du setter opp utformingen av ACS-diagrammet på fanen "Parametere", for denne parameteren må du merke av i boksen i kolonnen "Liste over tilgjengelige verdier". I dette tilfellet, når du velger en parameter, viser ACS et listeredigeringsskjema der du kan legge til en hvilken som helst parameterverdi.

Hvordan slå av spørringsparametere i tilgangskontrollsystemet?

I SKD-spørringen må du bruke konstruksjoner omgitt av krøllete klammeparenteser "{}" .

Hvis avmerkingsboksen for den tilsvarende parameteren ikke er merket av i rapportskjemaet (hurtiginnstillinger-panelet), fjernes denne konstruksjonen fra forespørselen.

Se flere detaljer. Query Language Extension for Data Composition System (1Cv8)

Hvordan lage en rapport med kolonneoppslag?

For å gjøre dette må du legge til "Tabell" som den første grupperingen når du konfigurerer rapportalternativet (redigering av datalayoutoppsettet, fanen "Innstillinger", feltet øverst til høyre).

Etter dette vises grenene "Rader" og "Kolonner" i "Tabell"-noden, der de nødvendige grupperingene legges til.

Hvordan konfigurere feltutdataformatet?

I redigeringsprogrammet for datasammensetning, på fanen "Datasett" øverst til høyre er det en liste over rapportfelter.

Det er to muligheter:

  1. Angi verdien for "Vis uttrykk"-kolonnen
    • her kan du legge inn et språkuttrykk som produserer ønsket streng
    • det fungerer ikke med ressursfelt
  2. Angi verdien for "Design"-kolonnen
    • i designet er det en "Format" -egenskap - denne verdien ligner parameteren til språkfunksjonen "Format", du kan angi ønsket utseende
    • typekonvertering er ikke mulig her

For ressursfelt kan du spesifisere beregningsuttrykk (fanen "Ressurser") - f.eks.

Mengde(tid)/3600,0

å konvertere fra sekunder til timer.

Nødvendig presisjon kan stilles inn gjennom "Design"-feltet på fanen "Datasett".

Funksjoner ved innstilling av parametere for datasammensetningssystemet

Minst TRE typer parametere eksisterer og krever forskjellig behandling:

Dataalternativer

Dataparametere er definert i forespørselen (datakilden) til tilgangskontrollsystemet.

Dataparametere sendes til datakildeforespørselen og definerer dataene som skal hentes.

Innstillinger Composer-objektet har en spesiell egenskap for arbeid med dataparametere Innstillinger Composer.Settings.Data Options

Du kan stille inn det med en samtale som

Innstillinger = Report.SettingsComposer.Settings; Settings.DataParameters.SetParameterValue("InformationBase", Report.InformationBase);

Utvalg

Valg legges over de mottatte dataene etter utdrag fra datakilden.

Innstillinger Composer-objektet har en spesiell egenskap for arbeid med utvalg ComposerSettings.Settings.Selection.

For eksempel: Innstillinger = Report.SettingsComposer.Settings; Settings.DataParameters.SetParameterValue("InformationBase", Report.InformationBase);

For hvert element Fra Parameters.Selection Cycle Selection Element = Settings.Selection.Elements.Add(Type("Data Composition Selection Element")); Selection Element.Comparison Type = DataComposition Comparison Type.Equal; SelectionElement.LeftValue = NewDataCompositionField(element.View); SelectionElement.RightValue = element.Value; EndCycle;

Egendefinerte innstillinger

Brukerpreferanser definerer dataene som en bruker kan tilpasse på et skjema.

Brukerinnstillinger kan vises på skjemaet i en spesiell tabell og kan hentes frem ved å klikke på knappen "Innstillinger" og fra menyen "Alle handlinger".

Egendefinerte innstillinger tilkoblet med dataparametere og valg på en ganske kompleks måte, kan denne forbindelsen konfigureres visuelt, men det er på en eller annen måte veldig upraktisk å jobbe med dem programmatisk.

Så langt har vi ikke funnet noe bedre enn å sette verdiene til en eksisterende samling etter indeks, som selvfølgelig kan forsvinne når du endrer ACS-oppsettet i den visuelle editoren.

I tillegg, hvis en dataparameter er erklært brukerdefinert, er ikke programmatisk innstilling av dataparameteren (se ovenfor) nok; den gjenopprettede verdien til brukerinnstillingen overstyrer innstillingen til dataparameteren. Derfor, for slike parametere, er det ingen vits i å stille inn dataparameter, må installeres umiddelbart egendefinert innstilling.

Et praktisk sted å angi de nødvendige verdiene er hendelsesbehandleren "When LoadingUserSettingsOnServer" for rapportskjemautvidelsen.

&På serverprosedyren når du laster brukerinnstillinger på serveren (Innstillinger)

Hvis Parameters.Period.End Date<>"00010101" Deretter Settings = Report.Settings Composer.UserSettings; Settings.Elements.Value = Alternativer.Periode; slutt om;

Slutt på prosedyre

Bruke en datakilde som et objekt

For å bruke et datasett av typen objekt, må du sende den eksterne datakilden til Initialize-metoden til Data Composition Processor-objektet.

DecryptionData = udefinert;

LayoutLinker = newDataLayoutLayoutLinker; LayoutLayout = LayoutLinker.Execute(DataCompositionScheme, SettingsLinker.Settings, DecryptionData);

CompositionProcessor = newDataCompositionProcessor; LayoutProcessor.Initialize(LayoutLayout, New Structure("Data", GetDataExternalSource()), DecryptionData);

Et enkelt eksempel er vedlagt (for at eksemplet skal fungere, må du ha katalogene "Motparter" og "Motpartsavtaler").

Hei kjære leser! Vi har en annen leksjon om det grunnleggende i layoutsystemet. I ble du kjent med funksjonene til SKD-uttrykksspråket, så funksjonene til layoutsystemet, og forsto også de grunnleggende innstillingene til layoutfeltene. Nå skal vi se på nytt materiale. Gå!

Ytterligere innstillinger for ACS-felt.

Kolonne "Verditype" Lar deg spesifisere datatypen for layoutfeltet. Hvorfor spesifisere typen, for eksempel for "Nomenklatur"-feltet, hvis du allerede vet hvilken type det er? Dette er nødvendig hvis layoutfeltet er av en sammensatt type. Du kan velge en spesifikk type, og når du velger dette feltet, vil verdier av denne typen bli valgt.

Kolonne "Tilgjengelige verdier" lar deg spesifisere verdiene som er tilgjengelige for valg og begrense brukerens valg til visse grenser.

Kolonne "Dekor" lar deg spesifisere utformingen av et layoutfelt uten å bruke oppsett. Du kan spesifisere skriftfarge, rammefarge, tekstretning osv.

Kolonne "Redigeringsalternativer" Lar deg spesifisere hvordan du skal redigere layoutfeltet. Du kan for eksempel spesifisere et raskt utvalg av elementer fra en liste i et utvalg. Som standard arver et layoutfelt alle redigeringsalternativer fra metadataobjektet.

Beregnede felt

På fanen "Beregnede felt" i datasammensetningen kan du lage dine egne beregnede felt.

Hvorfor trenger du beregnede felt når du kan opprette dem på spørringsnivå? Ikke alle felt kan beskrives ved hjelp av en spørring. Hvis du trenger å lage et komplekst felt fra forskjellige datasett, for eksempel en spørring og et objekt, kan du ikke klare deg uten beregnede felt. Du kan ikke legge til et datasammensetningsfelt hvis datakilden er en spørring og autofyll er aktivert, men ved å bruke beregnede felt kan du legge til så mange felt du vil.

I «Uttrykk»-kolonnen i det beregnede feltet må du skrive et vilkårlig uttrykk som bruker datasammensetningsfeltene, og få tilgang til banen deres («Bi»-kolonnen på «Datasett»-fanen). Enten kan du bruke matematiske transformasjonsfunksjoner eller få tilgang til funksjonene til vanlige moduler. La oss for eksempel skrive navnet på det beregnede feltet "Avvik" i kolonnen "Databane", og i "Uttrykk"-feltet følgende.