Beregnet felt i SKD 1s 8.2. SKD. Viser tabellinformasjon i én celle. Hva er et beregnet felt

1. Beregn (Eval)- er ment å evaluere et uttrykk i sammenheng med en eller annen gruppering. Denne funksjonen brukes for kompatibilitet med tidligere versjoner plattformer. Det anbefales å bruke CalculateExpression-funksjonen i stedet.

Syntaks:
Beregn (uttrykk, gruppering, kalkulasjonstype)

Alternativer:

  • Uttrykk(Linje). Inneholder et beregnet uttrykk;
  • Gruppering(Linje). Inneholder navnet på grupperingen i konteksten som uttrykket skal evalueres i. Hvis gruppenavnet brukes tom linje, vil beregningen bli utført i sammenheng med gjeldende gruppering. Hvis GrandTotal-strengen brukes som gruppenavn, vil beregningen utføres i sammenheng med totalsummen. Ellers vil beregningen bli utført i sammenheng med overordnet gruppering med samme navn.
    For eksempel:
    Sum(Salg.SumOmsetning) / Calculate("Sum(Salg.SumOmsetning)", "Totalt").
    I i dette eksemplet resultatet vil være forholdet mellom beløpet i "Sales.AmountTurnover"-feltet i grupperingsposten og beløpet for det samme feltet i hele layouten.
  • Beregningstype(Linje). Hvis denne parameteren er satt til "TotalTotal", vil uttrykket bli beregnet for alle grupperingsposter. Hvis verdien til parameteren er "Gruppering", vil verdiene beregnes for gjeldende grupperingsgruppepost.
2. Evaluer uttrykk (EvalExpression) - er ment å vurdere et uttrykk i sammenheng med en eller annen gruppering. Funksjonen tar hensyn til utvalg av grupperinger, men tar ikke hensyn til hierarkiske utvalg. Funksjonen kan ikke brukes på en gruppering i gruppeutvalget til den gruppen.

Syntaks:
CalculateExpression(Uttrykk, gruppering, kalkulasjonstype, start, slutt, sortering, hierarkisk sortering, behandlingsidentiske rekkefølgeverdier)

Alternativer:

  • Uttrykk(Linje). Inneholder et beregnet uttrykk;
  • Gruppering(Linje). Inneholder navnet på grupperingen i konteksten som uttrykket skal evalueres i. Hvis en tom streng brukes som grupperingsnavn, vil beregningen utføres i sammenheng med gjeldende gruppering. Hvis GrandTotal-strengen brukes som gruppenavn, vil beregningen utføres i sammenheng med totalsummen. Ellers vil beregningen bli utført i sammenheng med den overordnede grupperingen med det navnet;
  • Beregningstype(Linje). Hvis denne parameteren er satt til "TotalTotal", vil uttrykket bli beregnet for alle grupperingsposter. Hvis verdien av parameteren er "Gruppering", vil verdiene beregnes for gjeldende grupperingsgruppepost. Hvis parameteren er satt til "Non-Resource Grouping", vil uttrykket evalueres for den første gruppeposten i den opprinnelige grupperingen, når funksjonen beregnes for en gruppepost for ressurs. Når du evaluerer CalculateExpression-funksjonen med verdien "GroupingNonResource" for gruppeposter som ikke er grupperinger etter ressurs, evalueres funksjonen på samme måte som den ville blitt evaluert med verdien til parameteren "Groupering". Layoutbyggeren for datasammensetning, når den genererer et datakomposisjonsoppsett ved utdata av et felt - en ressurs som gruppering utføres med, til oppsettet, sender ut til oppsettet et uttrykk beregnet ved hjelp av CalculateExpression-funksjonen med den spesifiserte "GroupingNon-Resource"-parameteren. For andre ressurser gruppert etter ressurs, returneres normale ressursuttrykk. Hvis parameteren er satt til "Hierarki", må uttrykket evalueres for den overordnede hierarkiske posten, hvis det er en, og for hele grupperingen, hvis det ikke er noen overordnet hierarkisk post. Layoutbyggeren, når den genererer et uttrykk for % i Hierarchy Group-feltet, genererer et uttrykk som inneholder forholdet mellom ressursuttrykket og CalculateExpression-funksjonen for ressursuttrykket som beregnes for gjeldende gruppering med beregningstypen Hierarki.
  • Start. Angir med hvilken post fragmentet som skal beregnes skal begynne aggregerte funksjoner uttrykk og fra hvilken post for å hente feltverdier utenfor aggregerte funksjoner. En streng som inneholder en av:
    • "Først" Det er nødvendig å skaffe den første grupperingsposten. Etter ordet i parentes kan du spesifisere et uttrykk, hvis resultat vil bli brukt som en forskyvning fra begynnelsen av grupperingen. Den resulterende verdien må være et heltall større enn null. For eksempel First(3) – mottar den tredje posten fra begynnelsen av grupperingen. Hvis den første posten er utenfor grupperingen, anses det som ingen poster. For eksempel, hvis det er 3 poster, og du ønsker å få First(4), så anses det at det ikke er noen poster.
    • "Siste" Du må få den siste grupperingsposten. Etter ordet i parentes kan du spesifisere et uttrykk, hvis resultat vil bli brukt som en forskyvning fra slutten av grupperingen. Den resulterende verdien må være et heltall større enn null. For eksempel Last(3) – mottar den tredje posten fra slutten av gruppen. Hvis siste rekord går utover grupperingen, vurderes det at det ikke finnes poster. For eksempel, hvis det er 3 poster, og du ønsker å få Last(4), så anses det at det ikke er noen poster.
    • "Tidligere" Du må få den forrige grupperingsposten. Etter ordet i parentes kan du spesifisere et uttrykk, hvis resultat vil bli brukt som en offset tilbake fra gjeldende grupperingspost. For eksempel Previous(2) – henter forrige fra forrige post. Hvis den forrige posten er utenfor grupperingen (for eksempel krever den andre grupperingsposten å hente Previous(3)), så oppnås den første grupperingsposten. Når du mottar forrige post for grupperingssummen, oppnås den første posten.
    • "Neste" Du må få den neste grupperingsposten. Etter ordet i parentes kan du spesifisere et uttrykk, hvis resultat vil bli brukt som en forskyvning fremover fra gjeldende grupperingspost. For eksempel, Next(2) – får den neste fra neste post. Hvis neste post går utover grupperingen, anses det som ingen poster. For eksempel, hvis det er 3 oppføringer og den tredje oppføringen mottar Neste, anses det at det ikke er noen oppføringer. Når neste post mottas for grupperingssummen, anses det som ingen post.
    • "Nåværende" Du må få den gjeldende posten. Ved henting for en grupperingssum hentes den første posten.
    • "Grenseverdi". Behovet for å få en post med den angitte verdien. Etter ordet LimitingValue i parentes, må du angi uttrykket med verdien du vil starte fragmentet av, det første rekkefølgefeltet. Den første posten hvis bestillingsfeltverdi er større enn eller lik den angitte verdien vil bli returnert som posten. For eksempel, hvis Periode-feltet brukes som bestillingsfeltet, og det har verdiene 01/01/2010, 02/01/2010, 03/01/2010, og du ønsker å få LimitingValue(DateTime(2010) , 1, 15)), vil en post med datoen 02/01 bli innhentet.
  • Slutt. Angir til hvilken post fragmentet skal videreføres, der det aggregerte uttrykket skal beregnes. En streng som inneholder en av:
    • "Først"
    • "Siste"
    • "Tidligere"
    • "Neste"
    • "Nåværende"
    • "Grenseverdi".
  • Sortering. En streng som viser uttrykkene, atskilt med komma, i retningen som sekvensen skal sorteres i. Hvis ikke spesifisert, utføres rekkefølgen på samme måte som for grupperingen som uttrykket er evaluert for. Etter hvert uttrykk kan du spesifisere nøkkelord Asc, for rekkefølge i stigende rekkefølge, Synkende, for rekkefølge i synkende rekkefølge, Autorekkefølge, for å sortere referansefelt etter feltene du ønsker å sortere objektet som refereres til. Ordet automatisk rekkefølge kan brukes med både ordet stigende og synkende.
  • Hierarkisk sortering. Ligner på sortering. Brukes til å organisere hierarkiske poster. Hvis det ikke er spesifisert, genererer layoutkompositøren bestillingen i henhold til rekkefølgen som er spesifisert i Sort-parameteren.
  • Behandler samme bestillingsverdier. En streng som inneholder en av:
    • "Sammen" betyr at en sekvens av ordnede poster brukes til å bestemme forrige og neste post;
    • "Separat" betyr at forrige og neste post bestemmes basert på verdiene til bestillingsuttrykkene;
    For eksempel, hvis den resulterende sekvensen er sortert etter dato:
    1. 1. januar 2001 Ivanov M. 10
    2. 2. januar 2001 Petrov S. 20
    3. 2. januar 2001 Sidorov R. 30
    4. 3. januar 2001 Petrov S. 40
    Når du bruker behandling av identiske verdier av rekkefølgen "Separat", vil den forrige for post 3 være post 2, og når du bruker "Together" - post 1. Og fragmentet for gjeldende post for post 2 for "Separat" vil være post 2, og for "Together" - post 2 og 3. Dermed vil summen for gjeldende post for "Separat" være 20, og for "Together" - 50. Når "Together" er spesifisert i Start- og Sluttparametere, du kan ikke spesifisere en offset for posisjonene "Først", "Siste", "Forrige", "Neste". Standardverdien er "Separat".
Eksempel:
Innhenting av forholdet mellom beløpet for "Sales.AmountTurnover"-feltet i en grupperingspost og beløpet for det samme feltet i hele oppsettet:
Sum(Salg.SumOmsetning) / CalculateExpression("Sum(Salg.SumOmsetning)", "Totalt").

Dette eksemplet beregner verdien av det gjeldende hierarkiet:
Valg
Når Level() > 0
Deretter EvaluateExpression("Referanse", "Hierarki")
Ellers Null
Slutt

Merknader:
Funksjonen tar hensyn til utvalg av grupperinger, men tar ikke hensyn til hierarkiske utvalg. Funksjonen kan ikke brukes på en gruppering i gruppeutvalget til den gruppen. Når du for eksempel velger nomenklaturgruppering, kan du ikke bruke uttrykket CalculateExpression("Sum(SumOmsetning)", "TotalTotal") > 1000 . Men et slikt uttrykk kan brukes i hierarkisk seleksjon. Hvis sluttposten går foran startposten, anses det at det ikke finnes noen poster for beregning av detaljerte data og beregning av aggregerte funksjoner. Ved beregning av intervalluttrykk for en totalsum (Grupperingsparameteren er satt til "Bruttototal"), antas det at det ikke finnes noen poster for beregning av detaljerte data og beregning av aggregerte funksjoner. Når du genererer et uttrykk for CalculateExpression-funksjonen, erstatter layoutkomponatoren, hvis bestillingsuttrykket inneholder felt som ikke kan brukes i gruppering, CalculateExpression-funksjonen med NULL.

3. Evaluer uttrykk med gruppematrise (EvalExpression med gruppematrise) - funksjonen returnerer en matrise, hvor hvert element inneholder resultatet av å beregne et uttrykk for gruppering etter det angitte feltet.

Syntaks:
CalculateExpressionWithGroupArray (Expression, GroupFieldExpressions, SelectRecords, SelectGroups)

Alternativer:

  • Uttrykk(String) - uttrykket som skal evalueres. For eksempel, "Amount(AmountTurnover)";
  • FieldExpressionsGroups
  • Utvalg av poster
  • Utvalg av grupper- utvalg brukt på gruppeposter. For eksempel: "Beløp (Beløp Omsetning) > &Parameter1".
Eksempel:
Maximum(CalculateExpressionWithGroupArray("Amount(AmountTurnover)", "Motpart"));


Når layoutbyggeren genererer uttrykk for visning av et tilpasset felt hvis uttrykk bare inneholder CalculateArrayWithGroup-funksjonen, genererer visningsuttrykket slik at dataene som vises av visningene og dataene blir ordnet.
For eksempel, for et tilpasset felt med uttrykket:
CalculateExpressionWithGroupArray("Amount(AmountTurnover)", "Motpart")
Layoutbyggeren vil generere følgende uttrykk for utdata:
ConnectRows(Array(Order(CalculateExpressionWithGroupingValueTable("View(Sum(DataSet.AmountTurnover)), Amount(DataSet.AmountTurnover)", "DataSet.Account"), "2")))

4. Beregn uttrykk med GroupValueTable (EvalExpressionWithGroupValueTable) - funksjonen returnerer en tabell med verdier, hvor hvert element inneholder resultatet av å beregne et uttrykk for gruppering etter det angitte feltet.

Syntaks:
CalculateExpressionWithGroupValueTable (Uttrykk, gruppefeltuttrykk, postvalg, gruppeutvalg)

Alternativer:

  • Uttrykk(String) - uttrykket som skal evalueres. En linje kan inneholde flere uttrykk atskilt med komma. Etter hvert uttrykk kan det være et valgfritt nøkkelord AS og navnet på verditabellkolonnen. For eksempel: "Motpart, Beløp (Beløp Omsetning) Som Salgsvolum."
  • FieldExpressionsGroups- uttrykk for gruppering av felt, atskilt med komma. For eksempel "Motpart, Part";
  • Utvalg av poster- et uttrykk brukt på detaljposter. For eksempel, "Slettingsflagg = False." Hvis i denne parameteren en aggregert funksjon brukes, vil det oppstå en feil når dataene komponeres;
  • Utvalg av grupper- utvalg brukt på gruppeposter. For eksempel: "Beløp (Beløp Omsetning) > &Parameter1".
Eksempel:
CalculateExpressionWithGroupValueTable("Konto AS Motpart, Beløp(Beløp Omsetning) ASSalesVolum", "Konto")

Resultatet av denne funksjonen vil være en verditabell med kolonnene Motpart og Salgsvolum, som vil inneholde motparter med deres salgsvolum.
Layoutsammensetningen, når den genererer en layout, konverterer funksjonsparametere til datasammensetningslayoutfelt. For eksempel vil Konto-feltet bli konvertert til DataSet.Account.
For eksempel et egendefinert felt med uttrykket:
CalculateExpressionWithGroupValueTable("Konto, Beløp(Beløp Omsetning)", "Konto")
Layoutbyggeren vil generere følgende uttrykk for utdata:
ConnectRows(GetPart(Order(CalculateExpressionWithGroupingValueTable("DataSet.Account, DataSet.AccountRepresentation, Sum(DataSet.AmountTurnover), View(DataSet.AmountTurnover), DataSet.OrderingField", "DataSet".Account"), "3". ), "2, 4"))

5. Nivå - funksjonen er utformet for å oppnå gjeldende opptaksnivå.

Syntaks:
Nivå()

Eksempel:
Nivå()

6. Sekvensnummer - få neste serienummer.

Syntaks:
NumberByOrder()

Eksempel:
NumberByOrder()

7. SequenceNumberInGrouping - returnerer neste sekvensnummer i gjeldende gruppering.

Eksempel:
NumberByOrderInGroup()

8. Format - få en formatert streng med den beståtte verdien.

Syntaks:
Format(verdi, formatstreng)

Alternativer:

  • Betydning- uttrykket som må formateres;
  • FormatString- formatstreng settes iht formatstreng 1C:Bedrift.
Eksempel:
Format(Forbruksfakturaer. Dokumentbeløp, "NPV=2")

9. BeginOfPeriod

Syntaks:
StartPeriod(Dato, PeriodeType)

Alternativer:

  • Dato(Dato). Oppgitt dato;
  • Periodetype
Eksempel:
StartPeriod(DatoTid(2002, 10, 12, 10, 15, 34), "Måned")
Resultat: 10/01/2002 0:00:00

10. EndOfPeriod - funksjonen er designet for å velge en bestemt dato fra en gitt dato.

Syntaks:
EndPeriod(dato, periodetype)

Alternativer:

  • Dato(Dato). Oppgitt dato;
  • Periodetype(Linje). Inneholder en av følgende verdier: Minutt; Time; Dag; En uke; Måned; Fjerdedel; År; Tiår; Halvt år.
Eksempel:
EndPeriod(DatoTid(2002, 10, 12, 10, 15, 34), "Uke")
Resultat: 13.10.2002 23:59:59

11. AddKDate (DateAdd) - funksjonen er designet for å legge til en viss verdi til datoen.

Syntaks:
AddToDate(Uttrykk, IncrementType, Magnitude)

Alternativer:

  • Uttrykk(Dato). Opprinnelig dato;
  • TypeForstørrelse(Linje). Inneholder en av følgende verdier: Minutt; Time; Dag; En uke; Måned; Fjerdedel; År; Tiår; Halvt år.
  • Omfanget(Antall). Med hvor mye datoen må økes, ignoreres brøkdelen.
Eksempel:
AddToDate(DatoTid(2002, 10, 12, 10, 15, 34), "Måned", 1)
Resultat: 11/12/2002 10:15:34

12. DatoDifference - funksjonen er designet for å få forskjellen mellom to datoer.

Syntaks:
DifferenceDate(Expression1, Expression2, DifferenceType)

Alternativer:

  • Uttrykk 1(Dato). Fratrukket dato;
  • Uttrykk 2(Dato). Opprinnelig dato;
  • Typeforskjell(Linje). Inneholder en av verdiene: Second; Minutt; Time; Dag; Måned; Fjerdedel; År.
Eksempel:
DATODIFFERENCE(DATETIME(2002; 10; 12; 10; 15; 34),
DATOTIME(2002; 10; 14; 9; 18; 06); "DAG")
Resultat: 2

13. Understreng - denne funksjonen er ment å trekke ut en delstreng fra en streng.

Syntaks:
Delstreng (streng, posisjon, lengde)

Alternativer:

  • Linje(Linje). Strengen som delstrengen er hentet fra;
  • Posisjon(Antall). Posisjonen til tegnet som delstrengen som skal trekkes ut fra strengen begynner;
  • Lengde(Antall). Lengden på den tildelte delstrengen.
Eksempel:
SUBSTRING(Konto.adresse, 1, 4)

14. StringLength - funksjonen er laget for å bestemme lengden på en streng.

Syntaks:
StringLength(String)

Parameter :

  • Linje(Linje). En streng hvis lengde er spesifisert.
Eksempel:
Linje(motparter.adresse)

15. År- Denne funksjonen er utformet for å trekke ut året fra en datotypeverdi.

Syntaks:
År (dato)

Parameter :

  • Dato(Dato). Datoen året fastsettes for.
Eksempel:
ÅR(Utgift.dato)

16. Kvartal - denne funksjonen er laget for å trekke ut kvartalsnummeret fra en datotypeverdi. Kvartalstallet varierer vanligvis fra 1 til 4.

Syntaks:
Kvartal (dato)

Parameter :

  • Dato(Dato). Datoen som kvartalet fastsettes for
Eksempel:
KVARTAL(Utgift.dato)

17. Måned - denne funksjonen er laget for å trekke ut månedsnummeret fra en datotypeverdi. Månedstallet varierer vanligvis fra 1 til 12.

Syntaks:
Måned (dato)

Parameter :

  • Dato(Dato). Datoen måneden fastsettes for.
Eksempel:
MONTH(Utgift.Dato)

18. Årets dag (DayOfYear) - denne funksjonen er utformet for å hente dagen i året fra en datotypeverdi. Dagen i året varierer normalt fra 1 til 365 (366).

Syntaks:
Årets dag (dato)

Parameter :

  • Dato(Dato). Datoen da årets dag fastsettes.
Eksempel:
DAGÅR(Utgift.dato)

19. Dag- denne funksjonen er utformet for å hente dagen i måneden fra en datotypeverdi. Dagen i måneden varierer vanligvis fra 1 til 31.

Syntaks:
Dag (dato)

Parameter :

  • Dato(Dato). Datoen da månedsdagen fastsettes.
Eksempel:
DAG(Utgift.dato)

20. Uke - denne funksjonen er utformet for å få årets ukenummer fra en datotypeverdi. Årets uker er nummerert fra 1.

Syntaks:
Uke (dato)

Parameter :

  • Dato(Dato). Datoen for når ukenummer fastsettes.
Eksempel:
UKE(Utgift.dato)

21. Ukedag - denne funksjonen er utformet for å hente ukedagen fra en datotypeverdi. Vanlig ukedag varierer fra 1 (mandag) til 7 (søndag).

Syntaks:
Ukedag (dato)

Parameter :

  • Dato(Dato). Datoen da ukedagen bestemmes.
Eksempel:
UKEDAG (Dato for utgiftsfaktura)

22. Time- denne funksjonen er utformet for å hente time på dagen fra en datotypeverdi. Klokken på døgnet varierer fra 0 til 23.

Syntaks:
Time (dato)

Parameter :

  • Dato(Dato). Datoen da klokkeslettet fastsettes.
Eksempel:
HOUR(Utgift.Dato)

23. Minutt - denne funksjonen er utformet for å hente minuttet i timen fra en datotypeverdi. Minuttet i timen varierer fra 0 til 59.

Syntaks:
Minutt (dato)

Parameter :

  • Dato(Dato). Datoen når minuttet i timen fastsettes.
Eksempel:
MINUTT(Utgift.dato)

24. For det andre - denne funksjonen er utformet for å hente sekundet av et minutt fra en datotypeverdi. Det andre av et minutt varierer fra 0 til 59.

Syntaks:
Andre (dato)

Parameter :

  • Dato(Dato). Datoen når sekundene i minuttet bestemmes.
Eksempel:
SEKUND(Utløpsdato)

25. Cast - denne funksjonen er laget for å trekke ut en type fra et uttrykk som kan inneholde en sammensatt type. Hvis uttrykket inneholder en annen type enn den nødvendige typen, vil NULL bli returnert.

Syntaks:
Express(Uttrykk, Typeindikasjon)

Alternativer:

  • Uttrykk- uttrykk som skal konverteres;
  • Type indikasjon(Linje). Inneholder en typestreng. For eksempel "Nummer", "String" osv. Foruten primitive typer gitt linje kan inneholde tabellnavnet. I dette tilfellet vil det bli gjort et forsøk på å uttrykke en referanse til den angitte tabellen.
Eksempel:
Express(Data.Props1, "Tall(10,3)")

26. IsNull (IsNull) - denne funksjonen returnerer verdien til den andre parameteren hvis verdien til den første parameteren er NULL. Ellers vil verdien av den første parameteren bli returnert.

Syntaks:
IsNull(Uttrykk1, Uttrykk2)

Alternativer:

  • Uttrykk 1- verdi som skal kontrolleres;
  • Uttrykk 2- returner verdi hvis uttrykk1 er NULL.
Eksempel:
JaNULL(Beløp(Salg.BeløpOmsetning), 0)

27.ACos- beregner buecosinus i radianer.

Syntaks:
ACos (uttrykk)

Parameter :

  • Uttrykk(Antall). Cosinusverdien (i området -1 ... 1) som vinkelen bestemmes av.
28.ASin- beregner arcsine i radianer.

Syntaks:
ASin (uttrykk)

Parameter :

  • Uttrykk(Antall). Sinusverdien (i området -1 ... 1) som vinkelen bestemmes av.
29. ATan- beregner arctangens i radianer.

Syntaks:
ATan (uttrykk)

Parameter :

  • Uttrykk(Antall). Tangentverdien som vinkelen bestemmes med.
30.Cos- beregner cosinus.

Syntaks:
Cos (uttrykk)

Parameter :

  • Uttrykk
31. Exp- heve tallet e til en potens.

Syntaks:
Exp(Expression)

Parameter :

  • Uttrykk(Antall). Betydningen av graden.
32. Logg- beregner den naturlige logaritmen.

Syntaks:
Logg (uttrykk)

Parameter :

  • Uttrykk
33.Logg10- beregner logaritmen av X til grunntallet 10.

Syntaks:
Log10(Uttrykk)

Parameter :

  • Uttrykk(Antall). Det opprinnelige tallet er større enn 0.
34. Pow- eksponentiering.

Syntaks:
Pow (base, indikator)

Alternativer:

  • Utgangspunkt(Antall). Grunnlaget for operasjonen av eksponentiering.
  • Indeks(Antall). Eksponent.
35. Synd- beregner sinus.

Syntaks:
Synd (uttrykk)

Parameter :

  • Uttrykk(Antall). Spesifisert i radianer.
36. Sqrt- beregner kvadratroten.

Syntaks:
Sqrt(Uttrykk)

Parameter :

  • Uttrykk(Antall). Ikke-negativt tall.
37. Tan- beregner tangenten.

Syntaks:
Tan (uttrykk)

Parameter :

  • Uttrykk(Antall). Sinusverdien som vinkelen bestemmes med.
38. Runde- runder det opprinnelige tallet til ønsket bitdybde. Avrundingsmodus er standard (1,5 som 2).

Syntaks:
Env (uttrykk, bitdybde)

Alternativer:

  • Uttrykk(Antall). Opprinnelig nummer;
  • Litt dybde(Antall). Antall desimaler å avrunde til.
39. Int- kutter av brøkdelen av et tall.

Syntaks:
Objekt (uttrykk)

Parameter :

  • Uttrykk(Antall). Et brøktall.
40. Funksjoner til fellesmoduler

Et datasammensetningsmotoruttrykk kan inneholde kall til funksjoner til globale vanlige konfigurasjonsmoduler. Ingen ekstra syntaks er nødvendig for å kalle opp slike funksjoner.

Eksempel:
AbbreviatedName(Documents.Link, Documents.Date, Documents.Number)

I dette eksemplet vil funksjonen "AbbreviatedName" kalles opp fra den generelle konfigurasjonsmodulen.
Merk at bruk av felles modulfunksjoner kun er tillatt hvis den aktuelle datasaer spesifisert.
I tillegg kan ikke funksjoner til vanlige moduler brukes i tilpassede feltuttrykk.

41. Harme - denne funksjonen returnerer en strengrepresentasjon av den beståtte verdien av en ikke-primitiv type. For verdier av en primitiv type, returnerer verdien i seg selv.

<Пустое значение>".

Eksempel:
Presentasjon (motpart)

42. Snøre - denne funksjonen konverterer den beståtte verdien til en streng.

Hvis en matrise eller en verditabell brukes som en parameter, returnerer funksjonen en streng som inneholder en strengrepresentasjon av alle elementene i matrisen, atskilt med tegnene "; ". Hvis et element har en tom strengrepresentasjon, vil strengen "<Пустое значение>".

Eksempel:
Rad (salgsdato)

43. ValueIsFilled

For NULL-verdier returnerer Undefined alltid False.
For boolske verdier returnerer den alltid True.
For andre typer returnerer True hvis verdien er forskjellig fra standardverdien for av denne typen.

Eksempel:
ValueFilled (Leveringsdato)

44. LevelInGroup - denne funksjonen får gjeldende opptaksnivå i forhold til grupperingen.

Kan brukes til å oppnå neste nivå for en post i en hierarkisk gruppering.

Eksempel:
LevelInGroup()

45. Verditype

Syntaks:
Verditype (uttrykk)

Parameter :

  • Uttrykk(Linje). Type strengverdi.
Returnerer en verdi av typen Type som inneholder verditypen til funksjonsparameteren.

Logg inn på siden som student

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

Datasammensetningssystem 1C 8.3 for nybegynnere: telling av resultatene (ressurser)

Hensikten med denne leksjonen vil være:

  • Skriv en rapport som viser en liste over produkter (matkatalog), deres kaloriinnhold og smak.
  • Grupper produkter etter farge.
  • Lær om å oppsummere (ressurser) og beregnede felt.

Opprett en ny rapport

Som i tidligere leksjoner åpner vi databasen " Deli"i konfiguratoren og lag en ny rapport gjennom menyen" Fil"->"Ny...":

Dokumenttype - ekstern rapport:

I rapportoppsettskjemaet skriver du navnet " Leksjon 3" og trykk på knappen " Åpne datasammensetningsdiagram":

La standard skjemanavnet stå og klikk på " Klar":

Legger til en forespørsel gjennom konstruktøren

På fanen " Datasett" klikk grønn plusstegn og velg " Legg til datasett - spørring":

I stedet for å skrive forespørselsteksten manuelt, kjører vi den på nytt spørringskonstruktør:

På "fanen" Tabeller"dra bordet" Mat" fra den første kolonnen til den andre:

Velg fra tabellen " Mat"felt som vi vil be om. For å gjøre dette, dra og slipp feltene" Navn", "Smak", "Farge"Og" Kaloriinnhold" fra den andre kolonnen til den tredje:

Det ble slik:

Trykk på knappen " OK" - forespørselsteksten ble generert automatisk:

Oppretter

Gå til fanen " Innstillinger" og klikk på tryllestav, å ringe innstillingsdesigner:

Velg rapporttype " Liste..." og trykk på knappen " Lengre":

Dra fra venstre kolonne til høyre feltene som vil vises i listen og klikk på " Lengre":

Dra fra venstre kolonne til høyre felt " Farge" - det vil skje gruppering linjer i rapporten. Klikk " OK":

Og her er resultatet av designerens arbeid. Hierarki i rapporten vår:

  • rapporten som helhet
  • gruppering "Farge"
  • detaljerte oppføringer - linjer med matnavn

Lagre rapporten (knapp diskett) Og uten å lukke Vi vil umiddelbart åpne konfiguratoren i brukermodus. Det ble slik:

Endre rekkefølgen på kolonnene

Men la oss la oss endre rekkefølgen kolonner (pil opp og ned) slik at det ser ut som figuren nedenfor:

La oss lagre rapporten og åpne den igjen i brukermodus:

Flott, det er mye bedre.

La oss oppsummere kaloriinnholdet

Det ville være fint å oppsummere kaloriinnholdet i matvarer etter gruppe. For å se summen av kaloriinnholdet i alle produkter, for eksempel hvitt eller gult. Eller finn ut det totale kaloriinnholdet til alle produktene i databasen.

For dette formålet er det en mekanisme for beregning av ressurser.

Gå til fanen " Ressurser"og dra feltet" Kaloriinnhold"(vi skal oppsummere det) fra venstre kolonne til høyre.

I dette tilfellet, i feltet, velg uttrykket fra rullegardinlisten " Mengde (kalori)", siden totalen vil være summen av alle elementene som er inkludert i totalen:

Vi lagrer og genererer en rapport:

Vi har nå resultater for hver av gruppene og for rapporten som helhet.

La oss summere det opp (gjennomsnittlig) i form av kalorier

La oss nå få det til å vises i en annen kolonne gjennomsnitt kaloriinnhold i produkter etter grupper og i rapporten som helhet.

Du kan ikke berøre den eksisterende "Kalori"-kolonnen - totalen er allerede vist i den, så la oss lage et annet felt, som vil være en nøyaktig kopi av "Calorie"-feltet.

For å lage et slikt "virtuelt" felt, vil vi bruke mekanismen beregnede felt.

Gå til fanen " Beregnede felt" og trykk grønn plusstegn:

I en kolonne" Databane"vi skriver navnet på det nye feltet ( sømløst, uten mellomrom). La det hete " Gjennomsnittlig kaloriinnhold", og i kolonnen" Uttrykk"vi skriver navnet på et eksisterende felt som det nye feltet skal beregnes på grunnlag av. Vi skriver der " Kaloriinnhold". Kolonne " Overskrift" fylles ut automatisk.

Vi har lagt til et nytt felt (" Gjennomsnittlig kaloriinnhold"), men det vil ikke vises i rapporten av seg selv - du må enten ringe igjen innstillingsdesigner("tryllestav") eller legg til dette feltet manuelt.

La oss gjøre det sekund vei. For å gjøre dette, gå til fanen " Innstillinger", plukke ut " Rapportere"(Vi ønsker tross alt å legge til feltet som en helhet i rapporten), velg fanen nederst" Valgte felt"og dra feltet" Gjennomsnittlig kaloriinnhold"fra venstre kolonne til høyre:

Det ble slik:

Vi lagrer og genererer en rapport:

Feltet har dukket opp og vi ser at verdiene er verdiene til "Calorie"-feltet. Flott!

For å gjøre dette vil vi igjen bruke mekanismen som allerede er kjent for oss ressurser(oppsummerer). Gå til fanen " Ressurser"og dra feltet" Gjennomsnittlig kaloriinnhold"fra venstre kolonne til høyre:

Dessuten, i kolonnen " Uttrykk"velge" Gjennomsnittlig (gjennomsnittlig kalori)":

Vi lagrer og genererer en rapport:

Vi ser at for gruppene, det vil si for hver farge, og for rapporten som helhet, ble gjennomsnittsverdien beregnet helt riktig. Men de er tilstede ekstra oppføringer for individuelle produkter (ikke grupper) som jeg ønsker å fjerne fra rapporten.

Vet du hvorfor de dukket opp (verdier ikke etter gruppe)? Fordi når vi la til feltet " Gjennomsnittlig kaloriinnhold"i rapportinnstillingene, i det andre trinnet vi valgte hele rapporten og dette nye feltet kom inn i elementet " Detaljert poster".

La oss fikse feilen. For å gjøre dette, gå tilbake til fanen " Innstillinger", plukke ut " Detaljerte oppføringer" først ovenfra (trinn 2) og deretter " Detaljerte oppføringer"nedenfra (trinn 3), gå til bokmerket" Valgt Enger" og vi vil se elementet i høyre kolonne " Auto".

Element " Auto" - dette er ikke ett felt. Dette er flere felt som faller her automatisk basert på innstillinger på høyere nivå.

For å se hva disse feltene er, klikk på elementet " Auto" Ikke sant knappen og velg " Utvide":

Element " Auto" utvidet til følgende felt:

Og her er feltet vårt" Gjennomsnittlig kaloriinnhold"som kom hit fra punktet" Rapportere" da vi dro ham dit. Bare la oss fjerne merk av i boksen ved siden av dette feltet for å fjerne utdataene.

Riktig bruk av et datasammensetningsskjema (DCS) lar deg:

Men ikke alle utviklere får mest mulig ut av ordningens evner, siden ikke alle innstillingene er åpenbare og intuitive. Spesielt vet mange at det i 1C SKD er beregnede felt, men de forstår ikke fullt ut omfanget av bruken og metodene for å jobbe med dem.

Hva er et beregnet felt

I de fleste tilfeller er datakilden i et layoutdiagram en spørring. I prinsippet kan du allerede i selve spørringen bruke ulike formler, konstruksjoner og uttrykk. Et naturlig spørsmål dukker opp: hvorfor trenger vi duplikatfunksjonalitet?

Faktum er at tilgangskontrollsystemet er noe mer enn bare å vise resultatet av en spørring, og dette er godt synlig fra diagramopprettingsskjemaet (fig. 1).

Beregnede felt lar deg utføre visse handlinger med det genererte datasettet:

  • Send ut en rekke data mottatt av en forespørsel til en spesifikk celle, ved å kombinere flere linjer til én;
  • Få tilgang til eksportfunksjonene til den generelle modulen;
  • Utfør de forskjellige uttrykkene som er tilgjengelige for layoutspråket og bruk de spesielle EvaluateExpression-funksjonene.

La oss gå gjennom denne listen.

En rekke verdier i én celle

La oss simulere en situasjon der det er nødvendig å motta alle kvitteringsdokumentnumre for en motpart i en egen celle:


Dermed har vi laget et ekstra beregningsfelt i vår ordning;


Som du kan se fra eksempelet ovenfor, er det ingen problemer med å legge til og behandle beregnede felt. Vi brukte to funksjoner: Array() og ConnectRows().

Noen få ord om sistnevnte. I tillegg til den første parameteren som indikerer identifikatoren til matrisen, verdier eller verdi, kan to til settes i den:

  1. Element Separator – indikerer hvilket tegn som vil skille ett matriseelement eller en rad i en verditabell fra en annen (i vårt tilfelle utelot vi denne parameteren og et linjeskift ble tildelt som standard);
  2. Kolonneseparator - et tegn som brukes til å skille kolonner i en verditabell (semikolon brukes som standard).

Tilgang til eksportfunksjonene til en felles modul

Funksjoner til en felles modul kan fungere som en datakilde for å fylle ut et beregnet felt.

Noen viktige poeng:

  • Funksjonen må kunne eksporteres;
  • Hvis en funksjon er plassert i en felles modul med "Global" attributt satt, kalles den direkte ved navn, ellers må funksjonen kalles i henhold til "Shared module name"-skjemaet. "Navnet på funksjonen som skal kalles."

Som eksempel på bruk vil vi ta samme forespørsel om kvitteringsdokumenter og vise den i en egen kolonne. Vi vil ikke beskrive selve forespørselen, la oss gå direkte til de beregnede feltene:


Dermed ser vi at nesten enhver databehandler kan initialiseres fra tilgangskontrollsystemet, noe som utvider mulighetene for å bruke ordningen betydelig.

Layout språkuttrykk

Ganske ofte i en utviklers arbeid oppstår det en situasjon når det er nødvendig å vise resultatet av delingen i ACS-feltet:

  1. Beregn den gjennomsnittlige kostnaden for varen;
  2. Alle typer interesse;
  3. Beregninger av gjennomsnittsinntekt mv.

For å unngå problemer er det i disse tilfellene tilrådelig å legge inn en test for deling med 0 i det beregnede feltet.

Dette kan gjøres ved å bruke konstruksjonen "Velg når .... Så ... Ellers ... Slutt".

Til slutt noen ord om nok ny funksjon CalculateExpression(). Spesielt med dens hjelp kan du beregne kostnadsavvik mellom gjeldende og tidligere linjer, kumulativ saldo, etc.

La oss si at du kan få dokumentbeløpet fra forrige linje i forespørselen vår ved å spesifisere verdien Beregn uttrykk ("Dokumentbeløp", "Forrige beløp") i "Uttrykk"-feltet.

God dag, kjære lesere av bloggen vår! I dag vil jeg fortelle deg, ved hjelp av et ekte eksempel, hvordan
bruk ACS-funksjonene Array og JoinStrings. I en artikkel om

det var en liten omtale av hvordan man jobber med
på bokmerket
, har også allerede blitt forklart som
ved å bruke fanen "Ressurser". I dag skal vi nok en gang ta hensyn til disse
bokmerker i lys av vårt emne.

Utseende av et eksempel på 1C-rapport som bruker to ACS-funksjoner Array Og ConnectRows neste:

Uttalelse av problemet for bruk av ACS-funksjonene Array og JoinStrings

Oppgave: Du må sette inn alle salgsnumre for ett produkt i én celle.

Noe sånt som: nomenklatur | mengde | 001, 002 osv. |

Vi vil bruke en forespørsel til akkumuleringsregisteret "Realisering av TMZ".

VELGE
Implementering av TMZ. Registrar. Antall,
Implementering av TMZ. nomenklatur,
Implementering av TMZ. registrator,
Implementering av TMZ. MengdeOmsetning
FRA
Akkumulasjonsregister. Implementering av TMZ. Revolusjoner
(, , Registrar, ) HVORDAN implementere TMZ

Akkumuleringsregisteret "Realization of TMZ" finnes både i regnskapskonfigurasjonen og i Trade Enterprise Management (UTP) konfigurasjonen. Finn ut hvordan du konfigurerer USP i "Nomenclature" katalogelementet. Derfor, etter nedlasting, kan du kjøre denne rapporten i begge konfigurasjonene for å sjekke funksjonaliteten.

Implementering av oppgaven ved å bruke funksjonene SKD Array og ConnectRows


De samme trinnene, men med noen tillegg, ble brukt til å lage
.

Beskrivelse av JoinStrings-funksjonen

JoinStrings

Brukes til å sette sammen strenger til én streng.

Syntaks:

ConnectRows(Verdi, ElementSeparator, ColumnSeparator)

Alternativer:

  1. Betydning— uttrykk som må kombineres til én linje.
    Hvis det er en matrise, vil elementene i matrisen bli kombinert til en streng.
    Hvis det er en verditabell, vil alle kolonner og rader i tabellen bli kombinert til en rad;
  2. Elementseparator- en streng som inneholder teksten som skal brukes som
    skilletegn mellom matriseelementer og verditabellrader. Standard – linjeskifttegn;
  3. Kolonneskillere-en streng som inneholder teksten som skal brukes som skilletegn
    mellom kolonnene i verditabellen. Standard ";".

I lys av den kommende utgivelsen av 8.2.14 vil jeg prøve å beskrive noen nye funksjoner i datasammensetningssystemet.

Åpne datalayoutdiagrammet, gjerne i en ekstern rapport, for å gjøre redigeringen enklere.

Vi legger til et datasett av spørringstypen og skriver, enten manuelt eller ved hjelp av spørringsdesigneren, en enkel spørring:

1. Sett opp en forespørsel i tilgangskontrollsystemet.

2. Sett opp beregnede felt i adgangskontrollsystemet

3. Konfigurer dataoppsettet på innstillingsfanen

4. Start 1C Enterprise 8.2.14. Åpne rapporten. Vi former, vi mottar.

Beskrivelse av selve de nye funksjonene:

1. Gjeldende dato()

Returnerer systemdatoen. Når du komponerer et layoutoppsett, i alle uttrykk som finnes i oppsettet, erstattes CurrentDate()-funksjonen med verdien til gjeldende dato.

2. COMPUTEEXPRESSION()

Syntaks:

CalculateExpression(,)

Beskrivelse:

Funksjonen er utformet for å evaluere et uttrykk i sammenheng med en gruppering.

Funksjonen tar hensyn til utvalg av grupperinger, men tar ikke hensyn til hierarkiske utvalg.

Funksjonen kan ikke brukes på en gruppering i gruppeutvalget til den gruppen. For eksempel, når du velger nomenklaturgruppering, kan du ikke bruke uttrykket CalculateExpression("Sum(SumOmsetning)", "TotalTotal") > 1000. Men et slikt uttrykk kan brukes i hierarkisk seleksjon.

Hvis sluttposten går foran startposten, anses det at det ikke finnes noen poster for beregning av detaljerte data og beregning av aggregerte funksjoner.

Ved beregning av intervalluttrykk for en totalsum (Grupperingsparameteren er satt til GrandTotal), antas det at det ikke finnes noen poster for beregning av detaljerte data og beregning av aggregerte funksjoner.

Layoutlinker når du genererer et funksjonsuttrykk Beregn uttrykk, hvis bestillingsuttrykket inneholder felt som ikke kan brukes i gruppering, erstatter funksjonen Beregn uttrykkNULL.

Alternativer

Type: Linje. Uttrykket som skal vurderes.

Type: Linje. Inneholder navnet på grupperingen i konteksten som uttrykket skal evalueres i. Hvis en tom streng brukes som grupperingsnavn, vil beregningen utføres i sammenheng med gjeldende gruppering. Hvis GeneralTotal-strengen brukes som gruppenavn, vil beregningen utføres i sammenheng med totalsummen. Ellers vil beregningen bli utført i sammenheng med overordnet gruppering med samme navn.

For eksempel:

Sum(Salg.SumOmsetning)/Beregn("Sum(Salg.SumOmsetning)", "Totalt")

I dette eksemplet vil resultatet være forholdet mellom summen etter felt Salg.BeløpOmsetning gruppering av poster til summen av det samme feltet i hele oppsettet;

Type: Linje. Parameteren kan ha følgende verdier:

· Totalsum— uttrykket vil bli beregnet for alle grupperingsposter.

· Hierarki— uttrykket vil bli evaluert for den overordnede hierarkiske posten, hvis det er en, og for hele grupperingen, hvis det ikke er noen overordnet hierarkisk post.

· Gruppering— uttrykket vil bli evaluert for gjeldende gruppegrupperingspost.

· GroupingNonResource— når man beregner en funksjon for en gruppepost etter ressurser, vil uttrykket beregnes for den første gruppeposten i den opprinnelige grupperingen.

Når du beregner en funksjon CalculateExpression() med mening GroupingNonResource for gruppeposter som ikke er gruppert etter ressurser, beregnes funksjonen på samme måte som den ville blitt beregnet hvis parameterverdien var lik verdien Gruppering.

Layoutbyggeren for datasammensetning plasserer et uttrykk i oppsettet som beregnes ved hjelp av funksjonen når den genererer et datasammensetningsoppsett ved utdata av et ressursfelt som gruppering utføres til oppsettet. CalculateExpression() , som indikerer parameteren GroupingNonResource. For andre ressurser plasseres de vanlige ressursuttrykkene i ressursgrupperingen.

Type: Linje. Angir fra hvilken post fragmentet skal begynne, i hvilke aggregerte uttrykksfunksjoner som skal beregnes, og fra hvilken post det skal hentes feltverdier utenfor aggregerte funksjoner. Verdien kan være en av følgende:

· Først

· Siste (Siste)

· Tidligere

· Neste (Neste)

· Nåværende

· Limiting Value(BoundaryValue) Limiting Value

Type: Linje. Angir til hvilken post fragmentet skal videreføres, der de aggregerte funksjonene til uttrykket skal beregnes. Verdien kan være en av følgende:

· Først. Det er nødvendig å skaffe den første grupperingsposten. Etter ordet i parentes kan du spesifisere et uttrykk, hvis resultat vil bli brukt som en forskyvning fra begynnelsen av grupperingen. Den resulterende verdien må være et heltall større enn null. For eksempel First(3) - mottar den tredje posten fra begynnelsen av grupperingen.

Hvis den første posten er utenfor grupperingen, anses det som ingen poster. For eksempel, hvis det er 3 poster, og du ønsker å få First(4), så anses det at det ikke er noen poster.

· Siste (Siste). Du må få den siste grupperingsposten. Etter ordet i parentes kan du spesifisere et uttrykk, hvis resultat vil bli brukt som en forskyvning fra slutten av grupperingen. Den resulterende verdien må være et heltall større enn null. For eksempel Last(3) - mottar den tredje posten fra slutten av gruppen.

Hvis den siste posten er utenfor grupperingen, anses det som ingen poster. For eksempel, hvis det er 3 poster, og du ønsker å få Last(4), så anses det at det ikke er noen poster.

· Tidligere. Du må få den forrige grupperingsposten. Etter ordet i parentes kan du spesifisere et uttrykk, hvis resultat vil bli brukt som en offset tilbake fra gjeldende grupperingspost. For eksempel Previous(2) - henter forrige fra forrige post.

Hvis den forrige posten går utover grupperingen (for eksempel, for den andre grupperingsposten må du hente Previous(3)), så oppnås den første grupperingsposten.

Ved henting av forrige post for en grupperingssum anses det at den første posten er innhentet.

· Neste (Neste). Du må få den neste grupperingsposten. Etter ordet i parentes kan du spesifisere et uttrykk, hvis resultat vil bli brukt som en forskyvning fremover fra gjeldende grupperingspost. For eksempel, Next(2) - får neste fra neste post.

Hvis neste post går utover grupperingen, anses det som ingen poster. For eksempel, hvis det er 3 oppføringer og den tredje oppføringen mottar Next() , anses det at det ikke er noen oppføringer.

Når neste post mottas for grupperingssummen, anses det som ingen post.

· Nåværende. Du må få den gjeldende posten.

Ved henting for en grupperingssum hentes den første posten.

· Limiting Value(BoundaryValue). Behovet for å få en post med den angitte verdien. Etter ordet Limiting Value i parentes må du angi uttrykket med verdien du vil starte fragmentet av, det første rekkefølgefeltet.

Den første posten hvis bestillingsfeltverdi er større enn eller lik den angitte verdien vil bli returnert som posten. For eksempel, hvis Periode-feltet brukes som bestillingsfelt, og det har verdiene 01/01/2010, 02/01/2010, 03/01/2010, og du ønsker å få Limiting Value(DatoTime(2010, 1, 15)), da vil en post med datoen 02/01/2010 bli mottatt.

Type: Linje. Viser uttrykk, atskilt med komma, som beskriver rekkefølgereglene. Hvis ikke spesifisert, utføres rekkefølgen på samme måte som for grupperingen som uttrykket er evaluert for. Etter hvert uttrykk kan du angi et nøkkelord Alder(for bestilling i stigende rekkefølge), Synkende(for bestilling i synkende rekkefølge) og Autobestilling(for å sortere referansefelt etter feltene du vil sortere det refererte objektet etter). Ord Autobestilling kan brukes som med ordet Alder, så med ordet Synkende.

Type: Linje. Samme som parameter Sortering. Brukes til å organisere hierarkiske poster. Hvis det ikke er spesifisert, genererer layoutbyggeren bestillingen i henhold til rekkefølgen spesifisert i parameteren Sortering.

Type: Linje. Angir regelen for å bestemme forrige eller neste post i tilfelle det er flere poster med samme rekkefølgeverdi:

· Hver for seg indikerer at en sekvens med ordnede poster brukes til å bestemme forrige og neste post. Standardverdi.

· Sammen indikerer at forrige og neste post bestemmes basert på verdiene til ordensuttrykkene.

For eksempel, hvis den resulterende sekvensen er sortert etter dato:

Dato Fullt navn Betydning
1 1. januar 2001

Ivanov M.

10
2 2. januar 2001 Petrov S. 20
3 3. januar 2001 Sidorov R. 30
4 4. januar 2001 Petrov S. 40

Hver for seg, Det:

§ forrige oppføring til oppføring 3 vil være oppføring 2.

Gjeldende, Gjeldende(følgelig parametere Start Og Slutt), så for post 2 vil dette fragmentet bestå av én post 2. Uttrykket vil være lik 20.

Hvis parameterverdien er Sammen, Det:

§ forrige oppføring til oppføring 3 vil være oppføring 1.

§ dersom beregningsfragmentet er definert som Gjeldende, Gjeldende(følgelig parametere Start Og Slutt), så for post 2 vil dette fragmentet bestå av post 2 og 3. Uttrykk CalculateExpression("Sum(Verdi)", Current, Current) vil være lik 50.

Når du spesifiserer en parameterverdi lik Sammen, i parametere Start Og Slutt du kan ikke spesifisere en offset for posisjoner Først, siste, forrige, neste.

CalculateExpression("Sum(SumOmsetning)", "Først", "Gjeldende")

Hvis du ønsker å få grupperingsverdien i forrige linje, kan du bruke følgende uttrykk:

CalculateExpression("Pris", "Forrige")

Liste ny funksjoner:

CalculateExpressionWithGroupArray(,) -

Funksjonen returnerer en matrise, hvor hvert element inneholder resultatet av å evaluere et uttrykk for gruppering etter det angitte feltet.

CalculateExpressionWithGroupValueTable(,) -

Funksjonen returnerer en tabell med verdier, der hver rad inneholder resultatet av å evaluere uttrykk for gruppering etter det angitte feltet

Verdifylt() - Returnerer True hvis verdien er en annen enn standardverdien av denne typen, annet enn NULL, annet enn en tom referanse, annet enn Udefinert. Boolske verdier sjekkes for NULL-verdier. Strenger sjekkes for fravær av tegn som ikke er mellomrom

Format(, ) - Motta en formatert streng med den beståtte verdien. Formatstrengen er satt i samsvar med formatstrengen til 1C:Enterprise-systemet.

Understreng(, , ) - Denne funksjonen er laget for å trekke ut en delstreng fra en streng.

Linjelengde() - Funksjonen er laget for å bestemme lengden på en streng. Parameter er et strenguttrykk

Linje() - Hvis en matrise sendes som en parameter, returnerer funksjonen en streng som inneholder strengrepresentasjoner av alle matriseelementer, atskilt med "; "-tegn. Hvis en verditabell sendes som en parameter, returnerer funksjonen en streng som inneholder strengrepresentasjoner av alle rader i verditabellen, med cellerepresentasjonene til hver rad atskilt med ";"-tegn, og radene med en ny linje karakter. Hvis et elements strengrepresentasjon er tom, vises en streng i stedet for representasjonen.