Aprēķinātie lauki SKD. Datu kompozīcijas sistēmas izteiksmes valoda (1Cv8)

Sveiks, dārgais lasītāj! Mums ir vēl viena nodarbība par izkārtojuma sistēmas pamatiem. gadā jūs iepazināties ar SKD izteiksmes valodas funkcijām, redzējāt izkārtojuma sistēmas iespējas, kā arī sapratāt izkārtojuma lauku pamatiestatījumus. Tagad mēs apskatīsim jaunu materiālu. Aiziet!

Papildu iestatījumi ACS laukiem.

Kolonna "Vērtības veids"Ļauj norādīt izkārtojuma lauka datu tipu. Kāpēc norādīt veidu, piemēram, laukam “Nomenklatūra”, ja jau zināt, kāds tas ir? Tas ir nepieciešams, ja izkārtojuma lauks ir salikts. Varat atlasīt noteiktu veidu, tad, atlasot pēc šī lauka, tiks atlasītas šī veida vērtības.

Kolonna "Pieejamās vērtības"ļauj norādīt atlasei pieejamās vērtības un ierobežot lietotāja izvēli līdz noteiktiem ierobežojumiem.

Kolonna "Dekors"ļauj norādīt izkārtojuma lauka dizainu, neizmantojot izkārtojumus. Varat norādīt fonta krāsu, rāmja krāsu, teksta orientāciju utt.

Kolonna "Rediģēšanas opcijas"Ļauj norādīt, kā rediģēt izkārtojuma lauku. Piemēram, atlasē varat norādīt ātru elementu atlasi no saraksta. Pēc noklusējuma izkārtojuma lauks manto visas rediģēšanas opcijas no metadatu objekta.

Aprēķinātie lauki

Datu sastāva cilnē “Aprēķinātie lauki” varat izveidot savus aprēķinātos laukus.

Kāpēc jums ir nepieciešami aprēķinātie lauki, ja tos varat izveidot vaicājuma līmenī? Ne visus laukus var aprakstīt, izmantojot vaicājumu. Ja nepieciešams izveidot sarežģītu lauku no dažādām datu kopām, piemēram, vaicājuma un objekta, tad bez aprēķinātajiem laukiem neiztikt. Jūs nevarat pievienot datu sastāva lauku, ja datu avots ir vaicājums un ir iespējota automātiskā aizpilde, taču, izmantojot aprēķinātos laukus, varat pievienot tik daudz lauku, cik vēlaties.

Aprēķinātā lauka kolonnā “Izteiksme” ir jāieraksta patvaļīga izteiksme, kas izmanto datu sastāva laukus, piekļūstot to ceļam (cilnes “Datu kopas” kolonna “Ceļš”). Varat izmantot matemātiskās transformācijas funkcijas vai piekļūt parasto moduļu funkcijām. Piemēram, ailē “Datu ceļš” ierakstīsim aprēķinātā lauka nosaukumu “Novirze” un laukā “Izteiksme” sekojošo.

Ņemot vērā gaidāmo 8.2.14 izlaidumu, es mēģināšu aprakstīt dažas jaunas datu kompozīcijas sistēmas funkcijas.

Atveriet datu izkārtojuma diagrammu, vēlams ārējā pārskatā, lai atvieglotu rediģēšanu.

Mēs pievienojam vaicājuma veida datu kopu un manuāli vai izmantojot vaicājuma noformētāju ierakstām vienkāršu vaicājumu:

1. Piekļuves kontroles sistēmā iestatiet pieprasījumu.

2. Iestatiet aprēķinātos laukus piekļuves kontroles sistēmā

3. Iestatījumu cilnē konfigurējiet datu izkārtojumu

4. Palaidiet 1C Enterprise 8.2.14. Atveriet pārskatu. Mēs veidojam, mēs saņemam.

Pašu jauno funkciju apraksts:

1. Pašreizējais datums ()

Atgriež sistēmas datumu. Veidojot izkārtojuma izkārtojumu, visās izkārtojumā esošajās izteiksmēs funkcija CurrentDate() tiek aizstāta ar pašreizējā datuma vērtību.

2. COMPUTEEXPRESS()

Sintakse:

AprēķinātIzteiksme(,)

Apraksts:

Funkcija ir paredzēta izteiksmes novērtēšanai kādas grupas kontekstā.

Funkcija ņem vērā grupējumu atlasi, bet neņem vērā hierarhiskās atlases.

Funkciju nevar lietot grupai šīs grupas atlasē. Piemēram, atlasot nomenklatūras grupu, jūs nevarat izmantot izteiksmi AprēķinātIzteiksme("Summa(SumTurnover)", "TotalTotal") > 1000. Bet šādu izteiksmi var izmantot hierarhiskā atlasē.

Ja beigu ieraksts ir pirms sākuma ieraksta, tad tiek uzskatīts, ka detalizētu datu aprēķināšanai un apkopoto funkciju aprēķināšanai nav ierakstu.

Aprēķinot intervāla izteiksmes kopsummai (grupēšanas parametrs ir iestatīts uz GrandTotal), tiek pieņemts, ka detalizētu datu aprēķināšanai un apkopoto funkciju aprēķināšanai nav ierakstu.

Izkārtojuma saistītājs, ģenerējot funkcijas izteiksmi AprēķinātIzteiksme, ja kārtošanas izteiksmē ir lauki, kurus nevar izmantot grupēšanai, aizstāj funkciju AprēķinātIzteiksme ieslēgts NULL.

Iespējas

Veids: Līnija. Izteiciens, kas jānovērtē.

Veids: Līnija. Satur tās grupas nosaukumu, kuras kontekstā izteiksme ir jānovērtē. Ja kā grupas nosaukums tiek izmantota tukša virkne, aprēķins tiks veikts pašreizējās grupēšanas kontekstā. Ja kā grupas nosaukums tiek izmantota virkne GeneralTotal, aprēķins tiks veikts kopējās summas kontekstā. Pretējā gadījumā aprēķins tiks veikts kontekstā ar vecāku grupu ar tādu pašu nosaukumu.

Piemēram:

Sum(Pārdošana.SummaApgrozījums)/Aprēķināt("Summa(Pārdošanas.SummaApgrozījums)", "Kopā")

Šajā piemērā rezultāts būs summas attiecība pa laukiem Pārdošana.SummaApgrozījums ierakstu grupēšana līdz viena un tā paša lauka summai visā izkārtojumā;

Veids: Līnija. Parametram var būt šādas vērtības:

· kopsumma— izteiksme tiks aprēķināta visiem grupēšanas ierakstiem.

· Hierarhija— izteiksme tiks novērtēta vecākajam hierarhiskajam ierakstam, ja tāds ir, un visai grupai, ja nav vecākhierarhiskā ieraksta.

· Grupēšana— izteiksme tiks novērtēta pašreizējam grupu grupēšanas ierakstam.

· GrupēšanaNonResource— aprēķinot funkciju grupas ierakstam pēc resursiem, izteiksme tiks aprēķināta sākotnējās grupēšanas pirmajam grupas ierakstam.

Aprēķinot funkciju AprēķinātIzteiksme() ar nozīmi GrupēšanaNonResource grupu ierakstiem, kas nav grupēti pēc resursiem, funkcija tiek aprēķināta tāpat kā tā tiktu aprēķināta, ja parametra vērtība būtu vienāda ar vērtību Grupēšana.

Datu kompozīcijas izkārtojuma veidotājs, ģenerējot datu kompozīcijas izkārtojumu, izvadot resursa lauku, ar kuru izkārtojumam tiek veikta grupēšana, izkārtojumā ievieto izteiksmi, kas tiek aprēķināta, izmantojot funkciju AprēķinātIzteiksme() , norādot parametru GrupēšanaNonResource. Citiem resursiem parastās resursu izteiksmes tiek ievietotas resursu grupā.

Veids: Līnija. Norāda, no kura ieraksta jāsāk fragments, kurā jāaprēķina apkopotās izteiksmes funkcijas un no kura ieraksta, lai iegūtu lauka vērtības ārpus apkopotajām funkcijām. Vērtība var būt viena no šīm vērtībām:

· Pirmkārt

· Pēdējais (pēdējais)

· Iepriekšējais

· Nākamais (Nākamais)

· Pašreizējais

· LimitingValue(BoundaryValue) LimitingValue

Veids: Līnija. Norāda, uz kuru ierakstu jāturpina fragments, kurā jāaprēķina izteiksmes summētās funkcijas. Vērtība var būt viena no šīm vērtībām:

· Pirmkārt. Ir nepieciešams iegūt pirmo grupēšanas ierakstu. Pēc vārda iekavās var norādīt izteiksmi, kuras rezultāts tiks izmantots kā nobīde no grupēšanas sākuma. Rezultātā iegūtajai vērtībai ir jābūt veselam skaitlim, kas ir lielāks par nulli. Piemēram, First(3) - trešā ieraksta saņemšana no grupēšanas sākuma.

Ja pirmais ieraksts atrodas ārpus grupējuma, tad tiek uzskatīts, ka ierakstu nav. Piemēram, ja ir 3 ieraksti un vēlaties iegūt First(4), tad tiek uzskatīts, ka ierakstu nav.

· Pēdējais (pēdējais). Jums jāiegūst pēdējais grupēšanas ieraksts. Aiz vārda iekavās var norādīt izteiksmi, kuras rezultāts tiks izmantots kā nobīde no grupēšanas beigām. Rezultātā iegūtajai vērtībai ir jābūt veselam skaitlim, kas ir lielāks par nulli. Piemēram, Last(3) - trešā ieraksta saņemšana no grupas beigām.

Ja pēdējais ieraksts atrodas ārpus grupējuma, tad tiek uzskatīts, ka ierakstu nav. Piemēram, ja ir 3 ieraksti un vēlaties iegūt Last(4), tad tiek uzskatīts, ka ierakstu nav.

· Iepriekšējais. Jums jāiegūst iepriekšējais grupēšanas ieraksts. Pēc vārda iekavās varat norādīt izteiksmi, kuras rezultāts tiks izmantots kā nobīde atpakaļ no pašreizējā grupēšanas ieraksta. Piemēram, Iepriekšējais(2) - iegūst iepriekšējo no iepriekšējā ieraksta.

Ja iepriekšējais ieraksts pārsniedz grupēšanu (piemēram, otrajam grupēšanas ierakstam jāiegūst Previous(3)), tad tiek iegūts pirmais grupēšanas ieraksts.

Izgūstot iepriekšējo ierakstu grupēšanas kopsummai, tiek uzskatīts, ka ir iegūts pirmais ieraksts.

· Nākamais (Nākamais). Jums jāiegūst nākamais grupēšanas ieraksts. Pēc vārda iekavās varat norādīt izteiksmi, kuras rezultāts tiks izmantots kā nobīde uz priekšu no pašreizējā grupēšanas ieraksta. Piemēram, Next(2) - nākamais no nākamā ieraksta.

Ja nākamais ieraksts pārsniedz grupējumu, tad tiek uzskatīts, ka ierakstu nav. Piemēram, ja ir 3 ieraksti un trešais saņem Next() , tad tiek uzskatīts, ka ierakstu nav.

Kad tiek saņemts nākamais ieraksts par grupēšanas kopsummu, tiek uzskatīts, ka ieraksta nav.

· Pašreizējais. Jums jāiegūst pašreizējais ieraksts.

Izgūstot grupēšanas kopsummu, tiek iegūts pirmais ieraksts.

· LimitingValue(BoundaryValue). Nepieciešamība iegūt ierakstu pēc norādītās vērtības. Pēc vārda LimitingValue iekavās jānorāda izteiksme, ar kuras vērtību vēlaties sākt fragmentu, pirmais sakārtošanas lauks.

Pirmais ieraksts, kura secības lauka vērtība ir lielāka vai vienāda ar norādīto vērtību, tiks atgriezts kā ieraksts. Piemēram, ja lauks Periods tiek izmantots kā pasūtīšanas lauks un tam ir vērtības 01/01/2010, 02/01/2010, 03/01/2010 un vēlaties iegūt LimitingValue(DateTime(2010, 1, 15)), tad tiks saņemts ieraksts ar datumu 01.02.2010.

Veids: Līnija. Uzskaita ar komatiem atdalītas izteiksmes, kas apraksta secības noteikumus. Ja nav norādīts, tad kārtošana tiek veikta tāpat kā grupēšanai, kurai izteiksme tiek novērtēta. Pēc katras izteiksmes varat norādīt atslēgvārdu Vecums(pasūtīšanai augošā secībā), Dilstoša(pasūtīšanai dilstošā secībā) un Automātiska pasūtīšana(lai sakārtotu atsauces laukus pēc laukiem, pēc kuriem vēlaties sakārtot atsauces objektu). Vārds Automātiska pasūtīšana var lietot tāpat kā ar vārdu Vecums, tā arī ar vārdu Dilstoša.

Veids: Līnija. Tas pats, kas parametrs Šķirošana. Izmanto, lai sakārtotu hierarhiskus ierakstus. Ja nav norādīts, izkārtojuma veidotājs ģenerē pasūtījumu atbilstoši parametrā norādītajam secībai Šķirošana.

Veids: Līnija. Norāda noteikumu iepriekšējā vai nākamā ieraksta noteikšanai, ja ir vairāki ieraksti ar vienādu secības vērtību:

· Atsevišķi norāda, ka iepriekšējo un nākamo ierakstu noteikšanai tiek izmantota sakārtotu ierakstu secība. Noklusējuma vērtība.

· Kopā norāda, ka iepriekšējie un nākamie ieraksti tiek noteikti, pamatojoties uz secības izteiksmju vērtībām.

Piemēram, ja iegūtā secība ir sakārtota pēc datuma:

datums Pilnais vārds Nozīme
1 2001. gada 01. janvāris

Ivanovs M.

10
2 2001. gada 2. janvāris Petrovs S. 20
3 2001. gada 03. janvāris Sidorovs R. 30
4 2001. gada 4. janvāris Petrovs S. 40

Atsevišķi, Tas:

§ iepriekšējais 3. ieraksta ieraksts būs 2. ieraksts.

Pašreizējais, pašreizējais(attiecīgi parametri Sākt Un Beigas), tad 2. ierakstam šis fragments sastāvēs no viena ieraksta 2. Izteiksme būs vienāda ar 20.

Ja parametra vērtība ir Kopā, Tas:

§ iepriekšējais 3. ieraksta ieraksts būs 1. ieraksts.

§, ja aprēķina fragments ir definēts kā Pašreizējais, pašreizējais(attiecīgi parametri Sākt Un Beigas), tad 2. ierakstam šis fragments sastāvēs no 2. un 3. ieraksta. Izteiksme Aprēķināt izteiksmi ("Summa(vērtība)", pašreizējais, pašreizējais) būs vienāds ar 50.

Norādot parametra vērtību, kas vienāda ar Kopā, parametros Sākt Un Beigas pozīcijām nevar norādīt nobīdi Pirmais, pēdējais, iepriekšējais, nākamais.

AprēķinātIzteiksme ("Summa(Summaturnover)", "Pirmais", "Pašreizējais")

Ja vēlaties iegūt grupēšanas vērtību iepriekšējā rindā, varat izmantot šādu izteiksmi:

CalculateExpression ("Likums", "Iepriekšējais")

Saraksts jauns funkcijas:

CalculateExpressionWithGroupArray(,) -

Funkcija atgriež masīvu, kura katrs elements satur izteiksmes novērtēšanas rezultātu grupēšanai pēc norādītā lauka.

CalculateExpressionWithGroupValueTable(,) -

Funkcija atgriež vērtību tabulu, kuras katra rinda satur izteiksmju novērtēšanas rezultātu grupēšanai pēc norādītā lauka

ValueFilled() — atgriež True, ja vērtība atšķiras no šī veida noklusējuma vērtības, kas nav NULL, kas nav tukša atsauce, kas nav Undefined. Būla vērtībām tiek pārbaudītas NULL vērtības. Virknēs tiek pārbaudīts, vai tajās nav rakstzīmju, kas nav atstarpes

Formāts(, ) — saņemiet nodotās vērtības formatētu virkni. Formāta virkne ir iestatīta saskaņā ar 1C: Enterprise sistēmas formāta virkni.

Apakšvirkne(, , ) — šī funkcija ir paredzēta apakšvirknes izvilkšanai no virknes.

Līnijas garums() — funkcija ir paredzēta virknes garuma noteikšanai. Parametrs ir virknes izteiksme

Līnija() — ja masīvs tiek nodots kā parametrs, funkcija atgriež virkni, kas satur visu masīva elementu virknes attēlojumus, atdalot tos ar "; " rakstzīmēm. Ja vērtību tabula tiek nodota kā parametrs, funkcija atgriež virkni, kas satur visu vērtību tabulas rindu attēlojumus, katras rindas šūnu attēlojumus atdalot ar rakstzīmēm ";" un rindas ar jaunu rindiņu raksturs. Ja elementa virknes attēlojums ir tukšs, tā attēlojuma vietā tiek parādīta virkne.

Ņemot vērā gaidāmo 8.2.14 izlaidumu, es mēģināšu aprakstīt dažas jaunas datu kompozīcijas sistēmas funkcijas.

Atveriet datu izkārtojuma diagrammu, vēlams ārējā pārskatā, lai atvieglotu rediģēšanu.

Mēs pievienojam vaicājuma veida datu kopu un manuāli vai izmantojot vaicājuma noformētāju ierakstām vienkāršu vaicājumu:

1. Piekļuves kontroles sistēmā iestatiet pieprasījumu.

2. Iestatiet aprēķinātos laukus piekļuves kontroles sistēmā

3. Iestatījumu cilnē konfigurējiet datu izkārtojumu

4. Palaidiet 1C Enterprise 8.2.14. Atveriet pārskatu. Mēs veidojam, mēs saņemam.

Pašu jauno funkciju apraksts:

1. Pašreizējais datums ()

Atgriež sistēmas datumu. Veidojot izkārtojuma izkārtojumu, visās izkārtojumā esošajās izteiksmēs funkcija CurrentDate() tiek aizstāta ar pašreizējā datuma vērtību.

2. COMPUTEEXPRESS()

Sintakse:

AprēķinātIzteiksme(,)

Apraksts:

Funkcija ir paredzēta izteiksmes novērtēšanai kādas grupas kontekstā.

Funkcija ņem vērā grupējumu atlasi, bet neņem vērā hierarhiskās atlases.

Funkciju nevar lietot grupai šīs grupas atlasē. Piemēram, atlasot nomenklatūras grupu, jūs nevarat izmantot izteiksmi AprēķinātIzteiksme("Summa(SumTurnover)", "TotalTotal") > 1000. Bet šādu izteiksmi var izmantot hierarhiskā atlasē.

Ja beigu ieraksts ir pirms sākuma ieraksta, tad tiek uzskatīts, ka detalizētu datu aprēķināšanai un apkopoto funkciju aprēķināšanai nav ierakstu.

Aprēķinot intervāla izteiksmes kopsummai (grupēšanas parametrs ir iestatīts uz GrandTotal), tiek pieņemts, ka detalizētu datu aprēķināšanai un apkopoto funkciju aprēķināšanai nav ierakstu.

Izkārtojuma saistītājs, ģenerējot funkcijas izteiksmi AprēķinātIzteiksme, ja kārtošanas izteiksmē ir lauki, kurus nevar izmantot grupēšanai, aizstāj funkciju AprēķinātIzteiksme ieslēgts NULL.

Iespējas

Veids: Līnija. Izteiciens, kas jānovērtē.

Veids: Līnija. Satur tās grupas nosaukumu, kuras kontekstā izteiksme ir jānovērtē. Ja kā grupas nosaukums tiek izmantota tukša virkne, aprēķins tiks veikts pašreizējās grupēšanas kontekstā. Ja kā grupas nosaukums tiek izmantota virkne GeneralTotal, aprēķins tiks veikts kopējās summas kontekstā. Pretējā gadījumā aprēķins tiks veikts kontekstā ar vecāku grupu ar tādu pašu nosaukumu.

Piemēram:

Sum(Pārdošana.SummaApgrozījums)/Aprēķināt("Summa(Pārdošanas.SummaApgrozījums)", "Kopā")

Šajā piemērā rezultāts būs summas attiecība pa laukiem Pārdošana.SummaApgrozījums ierakstu grupēšana līdz viena un tā paša lauka summai visā izkārtojumā;

Veids: Līnija. Parametram var būt šādas vērtības:

· kopsumma— izteiksme tiks aprēķināta visiem grupēšanas ierakstiem.

· Hierarhija— izteiksme tiks novērtēta vecākajam hierarhiskajam ierakstam, ja tāds ir, un visai grupai, ja nav vecākhierarhiskā ieraksta.

· Grupēšana— izteiksme tiks novērtēta pašreizējam grupu grupēšanas ierakstam.

· GrupēšanaNonResource— aprēķinot funkciju grupas ierakstam pēc resursiem, izteiksme tiks aprēķināta sākotnējās grupēšanas pirmajam grupas ierakstam.

Aprēķinot funkciju AprēķinātIzteiksme() ar nozīmi GrupēšanaNonResource grupu ierakstiem, kas nav grupēti pēc resursiem, funkcija tiek aprēķināta tāpat kā tā tiktu aprēķināta, ja parametra vērtība būtu vienāda ar vērtību Grupēšana.

Datu kompozīcijas izkārtojuma veidotājs, ģenerējot datu kompozīcijas izkārtojumu, izvadot resursa lauku, ar kuru izkārtojumam tiek veikta grupēšana, izkārtojumā ievieto izteiksmi, kas tiek aprēķināta, izmantojot funkciju AprēķinātIzteiksme() , norādot parametru GrupēšanaNonResource. Citiem resursiem parastās resursu izteiksmes tiek ievietotas resursu grupā.

Veids: Līnija. Norāda, no kura ieraksta jāsāk fragments, kurā jāaprēķina apkopotās izteiksmes funkcijas un no kura ieraksta, lai iegūtu lauka vērtības ārpus apkopotajām funkcijām. Vērtība var būt viena no šīm vērtībām:

· Pirmkārt

· Pēdējais (pēdējais)

· Iepriekšējais

· Nākamais (Nākamais)

· Pašreizējais

· LimitingValue(BoundaryValue) LimitingValue

Veids: Līnija. Norāda, uz kuru ierakstu jāturpina fragments, kurā jāaprēķina izteiksmes summētās funkcijas. Vērtība var būt viena no šīm vērtībām:

· Pirmkārt. Ir nepieciešams iegūt pirmo grupēšanas ierakstu. Pēc vārda iekavās var norādīt izteiksmi, kuras rezultāts tiks izmantots kā nobīde no grupēšanas sākuma. Rezultātā iegūtajai vērtībai ir jābūt veselam skaitlim, kas ir lielāks par nulli. Piemēram, First(3) - trešā ieraksta saņemšana no grupēšanas sākuma.

Ja pirmais ieraksts atrodas ārpus grupējuma, tad tiek uzskatīts, ka ierakstu nav. Piemēram, ja ir 3 ieraksti un vēlaties iegūt First(4), tad tiek uzskatīts, ka ierakstu nav.

· Pēdējais (pēdējais). Jums jāiegūst pēdējais grupēšanas ieraksts. Aiz vārda iekavās var norādīt izteiksmi, kuras rezultāts tiks izmantots kā nobīde no grupēšanas beigām. Rezultātā iegūtajai vērtībai ir jābūt veselam skaitlim, kas ir lielāks par nulli. Piemēram, Last(3) - trešā ieraksta saņemšana no grupas beigām.

Ja pēdējais ieraksts atrodas ārpus grupējuma, tad tiek uzskatīts, ka ierakstu nav. Piemēram, ja ir 3 ieraksti un vēlaties iegūt Last(4), tad tiek uzskatīts, ka ierakstu nav.

· Iepriekšējais. Jums jāiegūst iepriekšējais grupēšanas ieraksts. Pēc vārda iekavās varat norādīt izteiksmi, kuras rezultāts tiks izmantots kā nobīde atpakaļ no pašreizējā grupēšanas ieraksta. Piemēram, Iepriekšējais(2) - iegūst iepriekšējo no iepriekšējā ieraksta.

Ja iepriekšējais ieraksts pārsniedz grupēšanu (piemēram, otrajam grupēšanas ierakstam jāiegūst Previous(3)), tad tiek iegūts pirmais grupēšanas ieraksts.

Izgūstot iepriekšējo ierakstu grupēšanas kopsummai, tiek uzskatīts, ka ir iegūts pirmais ieraksts.

· Nākamais (Nākamais). Jums jāiegūst nākamais grupēšanas ieraksts. Pēc vārda iekavās varat norādīt izteiksmi, kuras rezultāts tiks izmantots kā nobīde uz priekšu no pašreizējā grupēšanas ieraksta. Piemēram, Next(2) - nākamais no nākamā ieraksta.

Ja nākamais ieraksts pārsniedz grupējumu, tad tiek uzskatīts, ka ierakstu nav. Piemēram, ja ir 3 ieraksti un trešais saņem Next() , tad tiek uzskatīts, ka ierakstu nav.

Kad tiek saņemts nākamais ieraksts par grupēšanas kopsummu, tiek uzskatīts, ka ieraksta nav.

· Pašreizējais. Jums jāiegūst pašreizējais ieraksts.

Izgūstot grupēšanas kopsummu, tiek iegūts pirmais ieraksts.

· LimitingValue(BoundaryValue). Nepieciešamība iegūt ierakstu pēc norādītās vērtības. Pēc vārda LimitingValue iekavās jānorāda izteiksme, ar kuras vērtību vēlaties sākt fragmentu, pirmais sakārtošanas lauks.

Pirmais ieraksts, kura secības lauka vērtība ir lielāka vai vienāda ar norādīto vērtību, tiks atgriezts kā ieraksts. Piemēram, ja lauks Periods tiek izmantots kā pasūtīšanas lauks un tam ir vērtības 01/01/2010, 02/01/2010, 03/01/2010 un vēlaties iegūt LimitingValue(DateTime(2010, 1, 15)), tad tiks saņemts ieraksts ar datumu 01.02.2010.

Veids: Līnija. Uzskaita ar komatiem atdalītas izteiksmes, kas apraksta secības noteikumus. Ja nav norādīts, tad kārtošana tiek veikta tāpat kā grupēšanai, kurai izteiksme tiek novērtēta. Pēc katras izteiksmes varat norādīt atslēgvārdu Vecums(pasūtīšanai augošā secībā), Dilstoša(pasūtīšanai dilstošā secībā) un Automātiska pasūtīšana(lai sakārtotu atsauces laukus pēc laukiem, pēc kuriem vēlaties sakārtot atsauces objektu). Vārds Automātiska pasūtīšana var lietot tāpat kā ar vārdu Vecums, tā arī ar vārdu Dilstoša.

Veids: Līnija. Tas pats, kas parametrs Šķirošana. Izmanto, lai sakārtotu hierarhiskus ierakstus. Ja nav norādīts, izkārtojuma veidotājs ģenerē pasūtījumu atbilstoši parametrā norādītajam secībai Šķirošana.

Veids: Līnija. Norāda noteikumu iepriekšējā vai nākamā ieraksta noteikšanai, ja ir vairāki ieraksti ar vienādu secības vērtību:

· Atsevišķi norāda, ka iepriekšējo un nākamo ierakstu noteikšanai tiek izmantota sakārtotu ierakstu secība. Noklusējuma vērtība.

· Kopā norāda, ka iepriekšējie un nākamie ieraksti tiek noteikti, pamatojoties uz secības izteiksmju vērtībām.

Piemēram, ja iegūtā secība ir sakārtota pēc datuma:

datums Pilnais vārds Nozīme
1 2001. gada 01. janvāris

Ivanovs M.

10
2 2001. gada 2. janvāris Petrovs S. 20
3 2001. gada 03. janvāris Sidorovs R. 30
4 2001. gada 4. janvāris Petrovs S. 40

Atsevišķi, Tas:

§ iepriekšējais 3. ieraksta ieraksts būs 2. ieraksts.

Pašreizējais, pašreizējais(attiecīgi parametri Sākt Un Beigas), tad 2. ierakstam šis fragments sastāvēs no viena ieraksta 2. Izteiksme būs vienāda ar 20.

Ja parametra vērtība ir Kopā, Tas:

§ iepriekšējais 3. ieraksta ieraksts būs 1. ieraksts.

§, ja aprēķina fragments ir definēts kā Pašreizējais, pašreizējais(attiecīgi parametri Sākt Un Beigas), tad 2. ierakstam šis fragments sastāvēs no 2. un 3. ieraksta. Izteiksme Aprēķināt izteiksmi ("Summa(vērtība)", pašreizējais, pašreizējais) būs vienāds ar 50.

Norādot parametra vērtību, kas vienāda ar Kopā, parametros Sākt Un Beigas pozīcijām nevar norādīt nobīdi Pirmais, pēdējais, iepriekšējais, nākamais.

AprēķinātIzteiksme ("Summa(Summaturnover)", "Pirmais", "Pašreizējais")

Ja vēlaties iegūt grupēšanas vērtību iepriekšējā rindā, varat izmantot šādu izteiksmi:

CalculateExpression ("Likums", "Iepriekšējais")

Saraksts jauns funkcijas:

CalculateExpressionWithGroupArray(,) -

Funkcija atgriež masīvu, kura katrs elements satur izteiksmes novērtēšanas rezultātu grupēšanai pēc norādītā lauka.

CalculateExpressionWithGroupValueTable(,) -

Funkcija atgriež vērtību tabulu, kuras katra rinda satur izteiksmju novērtēšanas rezultātu grupēšanai pēc norādītā lauka

ValueFilled() — atgriež True, ja vērtība atšķiras no šī veida noklusējuma vērtības, kas nav NULL, kas nav tukša atsauce, kas nav Undefined. Būla vērtībām tiek pārbaudītas NULL vērtības. Virknēs tiek pārbaudīts, vai tajās nav rakstzīmju, kas nav atstarpes

Formāts(, ) — saņemiet nodotās vērtības formatētu virkni. Formāta virkne ir iestatīta saskaņā ar 1C: Enterprise sistēmas formāta virkni.

Apakšvirkne(, , ) — šī funkcija ir paredzēta apakšvirknes izvilkšanai no virknes.

Līnijas garums() — funkcija ir paredzēta virknes garuma noteikšanai. Parametrs ir virknes izteiksme

Līnija() — ja masīvs tiek nodots kā parametrs, funkcija atgriež virkni, kas satur visu masīva elementu virknes attēlojumus, atdalot tos ar "; " rakstzīmēm. Ja vērtību tabula tiek nodota kā parametrs, funkcija atgriež virkni, kas satur visu vērtību tabulas rindu attēlojumus, katras rindas šūnu attēlojumus atdalot ar rakstzīmēm ";" un rindas ar jaunu rindiņu raksturs. Ja elementa virknes attēlojums ir tukšs, tā attēlojuma vietā tiek parādīta virkne.

1. Aprēķināt (eval)- ir paredzēts izteiksmes novērtēšanai kādas grupas kontekstā. Funkcija tiek izmantota saderībai ar iepriekšējām platformas versijām. Tā vietā ieteicams izmantot funkciju CalculateExpression.

Sintakse:
Aprēķināt (izteiksme, grupēšana, aprēķina veids)

Iespējas:

  • Izteiksme(Līnija). Satur aprēķinātu izteiksmi;
  • Grupēšana(Līnija). Satur tās grupas nosaukumu, kuras kontekstā izteiksme ir jānovērtē. Ja kā grupas nosaukums tiek izmantota tukša virkne, aprēķins tiks veikts pašreizējās grupēšanas kontekstā. Ja GrandTotal virkne tiek izmantota kā grupas nosaukums, aprēķins tiks veikts kopējās summas kontekstā. Pretējā gadījumā aprēķins tiks veikts kontekstā ar vecāku grupu ar tādu pašu nosaukumu.
    Piemēram:
    Sum(Pārdošana.SummaApgrozījums) / Aprēķināt("Summa(Pārdošana.SummaApgrozījums)", "Kopā").
    Šajā piemērā rezultāts būs grupēšanas ieraksta lauka "Pārdošanas summa. Apgrozījums" summas attiecība pret tā paša lauka summu visā izkārtojumā.
  • Aprēķina veids(Līnija). Ja šis parametrs ir iestatīts uz "TotalTotal", izteiksme tiks aprēķināta visiem grupēšanas ierakstiem. Ja parametra vērtība ir "Grupēšana", vērtības tiks aprēķinātas pašreizējam grupēšanas grupas ierakstam.
2. Novērtējiet izteiksmi (EvalExpression) - ir paredzēts izteiksmes novērtēšanai kādas grupas kontekstā. Funkcija ņem vērā grupējumu atlasi, bet neņem vērā hierarhiskās atlases. Funkciju nevar lietot grupai šīs grupas atlasē.

Sintakse:
AprēķinātIzteiksme (Izteiksme, Grupēšana, Aprēķina veids, Sākums, Beigas, Kārtot, Hierarhiskā Kārtošana, ApstrādeIdenticalOrderValues)

Iespējas:

  • Izteiksme(Līnija). Satur aprēķinātu izteiksmi;
  • Grupēšana(Līnija). Satur tās grupas nosaukumu, kuras kontekstā izteiksme ir jānovērtē. Ja kā grupas nosaukums tiek izmantota tukša virkne, aprēķins tiks veikts pašreizējās grupēšanas kontekstā. Ja GrandTotal virkne tiek izmantota kā grupas nosaukums, aprēķins tiks veikts kopējās summas kontekstā. Pretējā gadījumā aprēķins tiks veikts kontekstā ar vecāku grupu ar šo nosaukumu;
  • Aprēķina veids(Līnija). Ja šis parametrs ir iestatīts uz "TotalTotal", izteiksme tiks aprēķināta visiem grupēšanas ierakstiem. Ja parametra vērtība ir "Grupēšana", vērtības tiks aprēķinātas pašreizējam grupēšanas grupas ierakstam. Ja parametrs ir iestatīts uz "Non-Resource Grouping", tad, aprēķinot funkciju grupas ierakstam pēc resursa, izteiksme tiks novērtēta sākotnējās grupēšanas pirmajam grupas ierakstam. Novērtējot funkciju CalculateExpression ar vērtību "GroupingNonResource" grupas ierakstiem, kas nav grupējumi pēc resursa, funkcija tiek novērtēta tāpat kā tā tiktu novērtēta ar parametra "Grouping" vērtību. Datu kompozīcijas izkārtojuma veidotājs, ģenerējot datu kompozīcijas izkārtojumu, izvadot lauku - resursu, pēc kura tiek veikta grupēšana, uz izkārtojumu izvada izteiksmi, kas aprēķināta, izmantojot funkciju CalculateExpression ar norādīto parametru "GroupingNon-Resource". Citiem resursiem, kas grupēti pēc resursiem, tiek atgrieztas parastās resursu izteiksmes. Ja parametrs ir iestatīts uz "Hierarhija", izteiksme ir jānovērtē vecākhierarhiskajam ierakstam, ja tāds ir, un visai grupai, ja nav vecākhierarhiskā ieraksta. Izkārtojuma veidotājs, ģenerējot izteiksmi laukam % hierarhijas grupā, ģenerē izteiksmi, kas satur resursa izteiksmes saistību ar funkciju CalculateExpression resursa izteiksmei, kas tiek aprēķināta pašreizējai grupai ar aprēķina veidu Hierarhija.
  • Sākt. Norāda, no kura ieraksta jāsāk fragments, kurā jāaprēķina apkopotās izteiksmes funkcijas un no kura ieraksta, lai iegūtu lauka vērtības ārpus apkopotajām funkcijām. Virkne, kas satur vienu no:
    • "Pirmais" Ir nepieciešams iegūt pirmo grupēšanas ierakstu. Pēc vārda iekavās var norādīt izteiksmi, kuras rezultāts tiks izmantots kā nobīde no grupēšanas sākuma. Rezultātā iegūtajai vērtībai ir jābūt veselam skaitlim, kas ir lielāks par nulli. Piemēram, First(3) – trešā ieraksta saņemšana no grupēšanas sākuma. Ja pirmais ieraksts atrodas ārpus grupējuma, tad tiek uzskatīts, ka ierakstu nav. Piemēram, ja ir 3 ieraksti un vēlaties iegūt First(4), tad tiek uzskatīts, ka ierakstu nav.
    • "Pēdējais" Jums jāiegūst pēdējais grupēšanas ieraksts. Aiz vārda iekavās var norādīt izteiksmi, kuras rezultāts tiks izmantots kā nobīde no grupēšanas beigām. Rezultātā iegūtajai vērtībai ir jābūt veselam skaitlim, kas ir lielāks par nulli. Piemēram, Last(3) – trešā ieraksta saņemšana no grupas beigām. Ja pēdējais ieraksts atrodas ārpus grupējuma, tad tiek uzskatīts, ka ierakstu nav. Piemēram, ja ir 3 ieraksti un vēlaties iegūt Last(4), tad tiek uzskatīts, ka ierakstu nav.
    • "Iepriekšējais" Jums jāiegūst iepriekšējais grupēšanas ieraksts. Pēc vārda iekavās varat norādīt izteiksmi, kuras rezultāts tiks izmantots kā nobīde atpakaļ no pašreizējā grupēšanas ieraksta. Piemēram, Previous(2) – iegūst iepriekšējo no iepriekšējā ieraksta. Ja iepriekšējais ieraksts atrodas ārpus grupēšanas (piemēram, otrajam grupēšanas ierakstam ir jāiegūst Iepriekšējais(3)), tad tiek iegūts pirmais grupēšanas ieraksts. Saņemot iepriekšējo ierakstu grupēšanas kopsummai, tiek iegūts pirmais ieraksts.
    • "Nākamais" Jums jāiegūst nākamais grupēšanas ieraksts. Pēc vārda iekavās varat norādīt izteiksmi, kuras rezultāts tiks izmantots kā nobīde uz priekšu no pašreizējā grupēšanas ieraksta. Piemēram, Next(2) – iegūstot nākamo no nākamā ieraksta. Ja nākamais ieraksts pārsniedz grupējumu, tad tiek uzskatīts, ka ierakstu nav. Piemēram, ja ir 3 ieraksti un trešais saņem Next, tad tiek uzskatīts, ka ierakstu nav. Kad tiek saņemts nākamais ieraksts par grupēšanas kopsummu, tiek uzskatīts, ka ieraksta nav.
    • "Pašreizējais". Jums jāiegūst pašreizējais ieraksts. Izgūstot grupēšanas kopsummu, tiek iegūts pirmais ieraksts.
    • "Robežvērtība". Nepieciešamība iegūt ierakstu pēc norādītās vērtības. Aiz vārda LimitingValue iekavās jānorāda izteiksme, ar kuras vērtību vēlaties sākt fragmentu, pirmais sakārtošanas lauks. Pirmais ieraksts, kura secības lauka vērtība ir lielāka vai vienāda ar norādīto vērtību, tiks atgriezts kā ieraksts. Piemēram, ja lauks Periods tiek izmantots kā pasūtīšanas lauks un tam ir vērtības 01/01/2010, 02/01/2010, 03/01/2010 un vēlaties iegūt LimitingValue(DateTime(2010 , 1, 15)), tad tiks iegūts ieraksts ar datumu 01.02.2010.
  • Beigas. Norāda, uz kuru ierakstu jāturpina fragments, kurā jāaprēķina apkopotā izteiksme. Virkne, kas satur vienu no:
    • "Pirmais"
    • "Pēdējais"
    • "Iepriekšējais"
    • "Nākamais"
    • "Pašreizējais".
    • "Robežvērtība".
  • Šķirošana. Virkne, kurā ir uzskaitītas izteiksmes, atdalītas ar komatiem un kuru virzienā ir jāsakārto secība. Ja nav norādīts, tad kārtošana tiek veikta tāpat kā grupēšanai, kurai izteiksme tiek novērtēta. Pēc katras izteiksmes var norādīt atslēgvārdu Ascending, lai sakārtotu augošā secībā, Descending, lai sakārtotu dilstošā secībā, Auto-Ordering, lai sakārtotu atsauces laukus pēc laukiem, pēc kuriem vēlaties sakārtot objektu, uz kuru attiecas atsauce. Vārdu Auto Order var lietot gan ar vārdu Ascending, gan ar vārdu Descending.
  • Hierarhiskā kārtošana. Līdzīgi kā šķirošana. Izmanto, lai sakārtotu hierarhiskus ierakstus. Ja nav norādīts, izkārtojuma kompozīcija ģenerē secību atbilstoši secībai, kas norādīta parametrā Kārtot.
  • Tādu pašu pasūtījuma vērtību apstrāde. Virkne, kas satur vienu no:
    • "Kopā" nozīmē, ka tiek izmantota sakārtotu ierakstu secība, lai noteiktu iepriekšējo un nākamo ierakstu;
    • "Atsevišķi" nozīmē, ka iepriekšējie un nākamie ieraksti tiek noteikti, pamatojoties uz secības izteiksmju vērtībām;
    Piemēram, ja iegūtā secība ir sakārtota pēc datuma:
    1. 2001. gada 01. janvāris Ivanovs M. 10
    2. 2001. gada 2. janvāris Petrovs S. 20
    3. 02.01.2001 Sidorovs R. 30
    4. 2001. gada 03. janvāris Petrovs S. 40
    Izmantojot pasūtījuma "Atsevišķi" identisku vērtību apstrādi, iepriekšējais 3. ierakstam būs 2. ieraksts, bet, izmantojot "Kopā" - 1. ieraksts. Un pašreizējā ieraksta fragments 2. ierakstam "Atsevišķi" būs 2. rekords, bet "Kopā" - 2. un 3. rekords. Tādējādi kopējais pašreizējais rekords "Atsevišķi" būs 20, bet "Kopā" - 50. Kad "Kopā" ir norādīts Sākumā un Beigu parametri, jūs nevarat norādīt nobīdi pozīcijām “Pirmais”, “Pēdējais”, “Iepriekšējais”, “Nākamais”. Noklusējuma vērtība ir "Atsevišķs".
Piemērs:
Grupēšanas ieraksta lauka "Pārdošanas summa. Apgrozījums" summas attiecības iegūšana pret tā paša lauka summu visā izkārtojumā:
Sum(Pārdošana.SummaApgrozījums) / AprēķinātIzteiksme("Summa(Pārdošana.SummaApgrozījums)", "Kopā").

Šajā piemērā tiek aprēķināta pašreizējās hierarhijas vērtība:
Izvēle
Kad Level() > 0
Pēc tam EvaluateExpression ("Atsauce", "Hierarhija")
Citādi Null
Beigas

Piezīmes:
Funkcija ņem vērā grupējumu atlasi, bet neņem vērā hierarhiskās atlases. Funkciju nevar lietot grupai šīs grupas atlasē. Piemēram, atlasot nomenklatūras grupu, nevar izmantot izteiksmi CalculateExpression("Sum(SumTrnover)", "TotalTotal") > 1000 . Bet šādu izteiksmi var izmantot hierarhiskā atlasē. Ja beigu ieraksts ir pirms sākuma ieraksta, tad tiek uzskatīts, ka detalizētu datu aprēķināšanai un apkopoto funkciju aprēķināšanai nav ierakstu. Aprēķinot intervāla izteiksmes kopsummai (grupēšanas parametrs ir iestatīts uz "GrossTotal"), tiek pieņemts, ka detalizētu datu aprēķināšanai un apkopoto funkciju aprēķināšanai nav ierakstu. Ģenerējot izteiksmi funkcijai CalculateExpression, izkārtojuma kompozīcija, ja kārtošanas izteiksmē ir lauki, kurus nevar izmantot grupēšanai, funkciju CalculateExpression aizstāj ar NULL.

3. Novērtējiet izteiksmi ar grupu masīvu (EvalExpression ar grupu masīvu) - funkcija atgriež masīvu, kura katrs elements satur izteiksmes aprēķina rezultātu grupēšanai pēc norādītā lauka.

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

Iespējas:

  • Izteiksme(String) - novērtējamā izteiksme. Piemēram, "Summa(Apgrozījuma summa)";
  • FieldExpressionGroups
  • Ierakstu atlase
  • Grupu izvēle- atlase, kas piemērota grupu ierakstiem. Piemēram: "Summa(Apgrozījuma summa) > &Parametrs1".
Piemērs:
Maksimums(CalculateExpressionWithGroupArray("Summa(Apgrozījuma summa)", "Darījuma partneris"));


Izkārtojuma veidotājs, ģenerējot izteiksmes tāda pielāgota lauka attēlošanai, kura izteiksmē ir tikai funkcija CalculateArrayWithGroup, ģenerē displeja izteiksmi tā, lai skatos attēlotie dati un dati būtu sakārtoti.
Piemēram, pielāgotam laukam ar izteiksmi:
CalculateExpressionWithGroupArray("Summa(Apgrozījuma summa)", "Darījuma partneris")
Izkārtojuma veidotājs izvadei ģenerēs šādu izteiksmi:
ConnectRows(Array(Order(CalculateExpressionWithGroupingValueTable("View(Sum(DataSet.AmountTrannover)), Summa(DataSet.AmountTranover)", "DataSet.Account"), "2")))

4. Aprēķiniet izteiksmi, izmantojot GroupValueTable (EvalExpressionWithGroupValueTable) - funkcija atgriež vērtību tabulu, kuras katrs elements satur izteiksmes aprēķina rezultātu grupēšanai pēc norādītā lauka.

Sintakse:
CalculateExpressionWithGroupValueTable (izteiksme, grupas lauka izteiksmes, ierakstu atlase, grupas atlase)

Iespējas:

  • Izteiksme(String) - novērtējamā izteiksme. Rindā var būt vairākas izteiksmes, kas atdalītas ar komatiem. Pēc katras izteiksmes var būt neobligāts atslēgvārds AS un vērtību tabulas kolonnas nosaukums. Piemēram: "Darījuma partneris, summa (Apgrozījuma summa) kā pārdošanas apjoms."
  • FieldExpressionGroups- grupēšanas lauku izteiksmes, atdalītas ar komatiem. Piemēram, "Darījuma partneris, puse";
  • Ierakstu atlase- izteiksme, kas tiek lietota detalizētiem ierakstiem. Piemēram, "Dzēst karodziņu = False". Ja šis parametrs izmanto apkopošanas funkciju, datu sastādīšanas laikā radīsies kļūda;
  • Grupu izvēle- atlase, kas piemērota grupu ierakstiem. Piemēram: "Summa(Apgrozījuma summa) > &Parametrs1".
Piemērs:
CalculateExpressionWithGroupValueTable ("Darījuma partneris AS Darījuma partneris, Summa(Apgrozījums) ASSPārdošanas apjoms", "Darījuma partneris")

Šīs funkcijas rezultāts būs vērtību tabula ar kolonnām Darījuma partneris un Pārdošanas apjoms, kurā būs norādīti darījumu partneri ar to pārdošanas apjomiem.
Izkārtojuma veidotājs, ģenerējot izkārtojumu, pārvērš funkciju parametrus datu izkārtojuma izkārtojuma laukos. Piemēram, lauks Konts tiks pārveidots par DataSet.Account.
Piemēram, pielāgots lauks ar izteiksmi:
CalculateExpressionWithGroupValueTable("Konts, Summa(Apgrozījuma summa)", "Konts")
Izkārtojuma veidotājs izvadei ģenerēs šādu izteiksmi:
ConnectRows(GetPart(Pasūtījums(AprēķinātIzteiksmiWithGroupingValueTable("Datu kopa.konts, datu kopa.konta reprezentācija, summa(datu kopa.apgrozījums), skats(datu kopa.apgrozījums), datu kopa. pasūtīšanas lauks,., ), "2, 4"))

5. Līmenis - funkcija ir paredzēta, lai iegūtu pašreizējo ierakstīšanas līmeni.

Sintakse:
Līmenis()

Piemērs:
Līmenis()

6. SequenceNumber - iegūstiet nākamo sērijas numuru.

Sintakse:
NumberByOrder()

Piemērs:
NumberByOrder()

7. SequenceNumberInGrouping - atgriež nākamo kārtas numuru pašreizējā grupā.

Piemērs:
NumberByOrderInGroup()

8. Formāts - iegūstiet formatētu nodotās vērtības virkni.

Sintakse:
Formāts (vērtība, formāta virkne)

Iespējas:

  • Nozīme- izteiksme, kas jāformatē;
  • FormatString- formāta virkne ir iestatīta saskaņā ar 1C:Enterprise formāta virkni.
Piemērs:
Formāts (rēķini. Dokumenta summa, "NPV=2")

9. BeginOfPeriod

Sintakse:
Sākuma periods (datums, perioda veids)

Iespējas:

  • datums(Datums). Norādītais datums;
  • Perioda veids
Piemērs:
Sākuma periods (datums, laiks (2002, 10, 12, 10, 15, 34), "mēnesis")
Rezultāts: 10/01/2002 0:00:00

10. EndOfPeriod - funkcija ir paredzēta, lai izvēlētos konkrētu datumu no noteiktā datuma.

Sintakse:
Beigu periods (datums, perioda veids)

Iespējas:

  • datums(Datums). Norādītais datums;
  • Perioda veids(Līnija). Satur vienu no šādām vērtībām: Minute; Stunda; Diena; Nedēļa; Mēnesis; ceturksnis; Gads; Desmitgade; Pus gads.
Piemērs:
Beigu periods (datums, laiks (2002, 10, 12, 10, 15, 34), "nedēļa")
Rezultāts: 13.10.2002 23:59:59

11. AddKDate (DateAdd) - funkcija ir paredzēta, lai datumam pievienotu noteiktu vērtību.

Sintakse:
AddToDate (izteiksme, pieauguma veids, lielums)

Iespējas:

  • Izteiksme(Datums). Sākotnējais datums;
  • Tips Palielinājums(Līnija). Satur vienu no šādām vērtībām: Minute; Stunda; Diena; Nedēļa; Mēnesis; ceturksnis; Gads; Desmitgade; Pus gads.
  • Lielums(Numurs). Par cik jāpalielina datums, daļēja daļa tiek ignorēta.
Piemērs:
AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Mēnesis", 1)
Rezultāts: 11/12/2002 10:15:34

12. Datuma atšķirība - funkcija ir paredzēta, lai iegūtu atšķirību starp diviem datumiem.

Sintakse:
Atšķirības datums (1. izteiksme, 2. izteiksme, atšķirības veids)

Iespējas:

  • Izteiksme1(Datums). Atņemtais datums;
  • Izteiksme2(Datums). Sākotnējais datums;
  • TipsAtšķirība(Līnija). Satur vienu no šādām vērtībām: Second; Minūte; Stunda; Diena; Mēnesis; ceturksnis; gads.
Piemērs:
DATUMA ATŠĶIRĪBA(DATETIME(2002, 10, 12, 10, 15, 34),
DATETIME (2002, 10, 14, 9, 18, 06), "DIENA")
Rezultāts: 2

13. Apakšvirkne - šī funkcija ir paredzēta apakšvirknes izvilkšanai no virknes.

Sintakse:
Apakšvirkne (virkne, pozīcija, garums)

Iespējas:

  • Līnija(Līnija). Virkne, no kuras tiek iegūta apakšvirkne;
  • Pozīcija(Numurs). Rakstzīmes pozīcija, no kuras sākas no virknes izņemamā apakšvirkne;
  • Garums(Numurs). Piešķirtās apakšvirknes garums.
Piemērs:
SUBSTRING(Konti. Adrese, 1, 4)

14. Stīgas garums - funkcija ir paredzēta virknes garuma noteikšanai.

Sintakse:
Virknes garums (virkne)

Parametrs:

  • Līnija(Līnija). Virkne, kuras garums ir noteikts.
Piemērs:
Rinda (darījuma partneri. Adrese)

15. Gads- šī funkcija ir paredzēta, lai izvilktu gadu no datuma veida vērtības.

Sintakse:
Gads (datums)

Parametrs:

  • datums(Datums). Datums, līdz kuram tiek noteikts gads.
Piemērs:
YEAR(Izdevumi.Datums)

16.Ceturksnis - šī funkcija ir paredzēta ceturkšņa numura iegūšanai no datuma veida vērtības. Ceturkšņa skaitlis parasti svārstās no 1 līdz 4.

Sintakse:
ceturksnis (datums)

Parametrs:

  • datums(Datums). Datums, līdz kuram tiek noteikts ceturksnis
Piemērs:
Ceturkšņa ceturksnis(Izdevumi.Datums)

17. Mēnesis - šī funkcija ir paredzēta, lai izvilktu mēneša numuru no datuma veida vērtības. Mēneša skaitlis parasti svārstās no 1 līdz 12.

Sintakse:
Mēnesis (datums)

Parametrs:

  • datums(Datums). Datums, līdz kuram tiek noteikts mēnesis.
Piemērs:
MĒNESIS(Izdevumi.Datums)

18. Gada diena (DayOfYear) - šī funkcija ir paredzēta, lai iegūtu gada dienu no datuma veida vērtības. Gada diena parasti svārstās no 1 līdz 365 (366).

Sintakse:
Gada diena (datums)

Parametrs:

  • datums(Datums). Datums, līdz kuram tiek noteikta gada diena.
Piemērs:
DIENA (Izdevumu konts.Datums)

19. Diena- šī funkcija ir paredzēta, lai no datuma veida vērtības iegūtu mēneša dienu. Mēneša diena parasti ir no 1 līdz 31.

Sintakse:
diena (datums)

Parametrs:

  • datums(Datums). Datums, līdz kuram tiek noteikta mēneša diena.
Piemērs:
DIENA(Izdevumi.Datums)

20. Nedēļa - šī funkcija ir paredzēta, lai iegūtu gada nedēļas numuru no datuma veida vērtības. Gada nedēļas ir numurētas, sākot no 1.

Sintakse:
Nedēļa (datums)

Parametrs:

  • datums(Datums). Datums, līdz kuram tiek noteikti nedēļu numuri.
Piemērs:
NEDĒĻA (Izdevumi.Datums)

21. Nedēļas diena - šī funkcija ir paredzēta, lai iegūtu nedēļas dienu no datuma veida vērtības. Parastā nedēļas diena svārstās no 1 (pirmdiena) līdz 7 (svētdiena).

Sintakse:
Nedēļas diena (datums)

Parametrs:

  • datums(Datums). Datums, līdz kuram tiek noteikta nedēļas diena.
Piemērs:
NEDĒĻAS DIENA (izdevumu rēķina datums)

22. Stunda- šī funkcija ir paredzēta, lai iegūtu diennakts stundu no datuma veida vērtības. Diennakts stunda svārstās no 0 līdz 23.

Sintakse:
Stunda (datums)

Parametrs:

  • datums(Datums). Datums, līdz kuram tiek noteikta diennakts stunda.
Piemērs:
STUNDA(Izdevumi.Datums)

23.Minūte - šī funkcija ir paredzēta, lai iegūtu stundas minūti no datuma veida vērtības. Stundas minūte svārstās no 0 līdz 59.

Sintakse:
Minūte (datums)

Parametrs:

  • datums(Datums). Datums, līdz kuram tiek noteikta stundas minūte.
Piemērs:
MINŪTE(Izdevumi.Datums)

24. Otrais - šī funkcija ir paredzēta, lai iegūtu minūtes sekundi no datuma veida vērtības. Minūtes sekunde svārstās no 0 līdz 59.

Sintakse:
Otrais (datums)

Parametrs:

  • datums(Datums). Datums, līdz kuram tiek noteiktas minūtes sekundes.
Piemērs:
OTRĀ(Izdevumi.Datums)

25.Lietums - šī funkcija ir paredzēta, lai izvilktu tipu no izteiksmes, kas var saturēt salikto tipu. Ja izteiksme satur citu veidu, nevis nepieciešamo, tiks atgriezta NULL.

Sintakse:
Express (izteiksme, tipa norāde)

Iespējas:

  • Izteiksme- konvertējamā izteiksme;
  • Tipa indikācija(Līnija). Satur tipa virkni. Piemēram, "numurs", "virkne" utt. Papildus primitīvajiem tipiem šajā rindā var būt tabulas nosaukums. Šajā gadījumā tiks mēģināts izteikt atsauci uz norādīto tabulu.
Piemērs:
Express(Dati.Props1, "Numurs(10,3)")

26. IsNull (IsNull) - šī funkcija atgriež otrā parametra vērtību, ja pirmā parametra vērtība ir NULL. Pretējā gadījumā tiks atgriezta pirmā parametra vērtība.

Sintakse:
IsNull(1. izteiksme, 2. izteiksme)

Iespējas:

  • Izteiksme1- pārbaudāmā vērtība;
  • Izteiksme2- atgriež vērtību, ja Expression1 ir NULL.
Piemērs:
JāNULL(Summa(Pārdošanas summa.Apgrozījums), 0)

27.ACos- aprēķina loka kosinusu radiānos.

Sintakse:
ACos (izteiksme)

Parametrs:

  • Izteiksme(Numurs). Kosinusa vērtība (diapazonā -1 ... 1), pēc kuras tiek noteikts leņķis.
28.ASin- aprēķina arcsinusu radiānos.

Sintakse:
ASin (izteiksme)

Parametrs:

  • Izteiksme(Numurs). Sinusa vērtība (diapazonā -1 ... 1), pēc kuras tiek noteikts leņķis.
29.ATan- aprēķina arktangensu radiānos.

Sintakse:
ATan (izteiksme)

Parametrs:

  • Izteiksme(Numurs). Pieskares vērtība, pēc kuras nosaka leņķi.
30.Kos- aprēķina kosinusu.

Sintakse:
Cos (izteiksme)

Parametrs:

  • Izteiksme
31. Exp- skaitļa e paaugstināšana līdz pakāpei.

Sintakse:
Izteiksme (izteiksme)

Parametrs:

  • Izteiksme(Numurs). Grāda nozīme.
32.Žurnāls- aprēķina naturālo logaritmu.

Sintakse:
Žurnāls (izteiksme)

Parametrs:

  • Izteiksme
33.Žurnāls10- aprēķina X logaritmu līdz 10. bāzei.

Sintakse:
Log10 (izteiksme)

Parametrs:

  • Izteiksme(Numurs). Sākotnējais skaitlis ir lielāks par 0.
34. Pow- kāpināšana.

Sintakse:
Pow (bāze, indikators)

Iespējas:

  • Bāze(Numurs). Paaugstināšanas darbības pamats.
  • Rādītājs(Numurs). Eksponents.
35.Grēks- aprēķina sinusu.

Sintakse:
Grēks (izteiksme)

Parametrs:

  • Izteiksme(Numurs). Norādīts radiānos.
36. Sqrt- aprēķina kvadrātsakni.

Sintakse:
Sqrt (izteiksme)

Parametrs:

  • Izteiksme(Numurs). Nenegatīvs skaitlis.
37. Iedegums- aprēķina tangensu.

Sintakse:
iedegums (izteiksme)

Parametrs:

  • Izteiksme(Numurs). Sinusa vērtība, pēc kuras nosaka leņķi.
38.Apaļa- noapaļo sākotnējo skaitli līdz vajadzīgajam bitu dziļumam. Noapaļošanas režīms ir standarta (1,5 līdz 2).

Sintakse:
Env (izteiksme, bitu dziļums)

Iespējas:

  • Izteiksme(Numurs). Oriģinālais numurs;
  • Bitu dziļums(Numurs). Noapaļojamo zīmju skaits aiz komata.
39. Starpt- nogriež skaitļa daļējo daļu.

Sintakse:
Objekts (izteiksme)

Parametrs:

  • Izteiksme(Numurs). Daļējs skaitlis.
40. Kopējo moduļu funkcijas

Datu kompozīcijas dzinēja izteiksme var saturēt globālo kopējo konfigurācijas moduļu funkciju izsaukumus. Lai izsauktu šādas funkcijas, nav nepieciešama papildu sintakse.

Piemērs:
Saīsinātais nosaukums (Dokumenti.Saite, Dokumenti.Datums, Dokumenti.Numurs)

Šajā piemērā funkcija "AbbreviatedName" tiks izsaukta no vispārējās konfigurācijas moduļa.
Ņemiet vērā, ka parasto moduļa funkciju izmantošana ir atļauta tikai tad, ja ir norādīts atbilstošais datu sastāva procesora parametrs.
Turklāt parasto moduļu funkcijas nevar izmantot pielāgotās lauka izteiksmēs.

41.Aizvainojums - šī funkcija atgriež neprimitīva tipa nodotās vērtības virknes attēlojumu. Primitīva tipa vērtībām atgriež pašu vērtību.

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

Piemērs:
Prezentācija (darījuma partneris)

42. Stīga - šī funkcija pārvērš nodoto vērtību virknē.

Ja kā parametrs tiek izmantots masīvs vai vērtību tabula, funkcija atgriež virkni, kas satur visu masīva elementu virknes attēlojumu, atdalot ar rakstzīmēm ";". Ja kādam elementam ir tukšs virknes attēlojums, tad virkne "<Пустое значение>".

Piemērs:
Rinda (Pārdošanas datums)

43. ValueIsFilld

NULL vērtībām Undefined vienmēr atgriež False.
Būla vērtībām tas vienmēr atgriež True.
Citiem veidiem atgriež True, ja vērtība atšķiras no noklusējuma vērtības dotajam tipam.

Piemērs:
Aizpildīta vērtība (piegādes datums)

44. LevelInGroup - šī funkcija iegūst pašreizējo ierakstīšanas līmeni attiecībā pret grupu.

Var izmantot, lai iegūtu ieraksta ligzdošanas līmeni hierarhiskā grupā.

Piemērs:
LevelInGroup()

45. ValueType

Sintakse:
Vērtības veids (izteiksme)

Parametrs:

  • Izteiksme(Līnija). Virknes vērtības veids.
Atgriež vērtību tipa Type, kas satur funkcijas parametra vērtības tipu.

Pareiza datu kompozīcijas shēmas (DCS) izmantošana ļauj:

  • ievērojami samazināt atskaites izstrādei nepieciešamo laiku;
  • novērst nepieciešamību izveidot pārvaldītu veidlapu apstrādātāju;
  • iegūstiet skaistu rezultātu ar lietotāja papildu pielāgošanas iespēju.

Taču ne visi izstrādātāji maksimāli izmanto shēmas iespējas, jo ne visi tās iestatījumi ir acīmredzami un intuitīvi. Jo īpaši daudzi cilvēki zina, ka 1C SKD ir aprēķināti lauki, taču viņi pilnībā nesaprot to izmantošanas jomu un metodes, kā strādāt ar tiem.

Kas ir aprēķinātais lauks

Vairumā gadījumu izkārtojuma diagrammas datu avots ir vaicājums. Principā pašā vaicājumā jau var izmantot dažādas formulas, konstrukcijas un izteiksmes. Rodas dabisks jautājums: kāpēc mums ir nepieciešama dublikāta funkcionalitāte?

Fakts ir tāds, ka piekļuves kontroles sistēma ir kaut kas vairāk nekā tikai vaicājuma rezultāta parādīšana, un tas ir skaidri redzams diagrammas izveides veidlapā (1. att.).

Aprēķinātie lauki ļauj veikt noteiktas darbības ar ģenerēto datu kopu:

  • Izvadīt ar pieprasījumu saņemto datu masīvu noteiktā šūnā, apvienojot vairākas rindas vienā;
  • Piekļūstiet vispārējā moduļa eksporta funkcijām;
  • Izpildiet dažādas izkārtojuma valodai pieejamās izteiksmes un izmantojiet īpašās EvaluateExpression funkcijas.

Iesim cauri šim sarakstam.

Vērtību masīvs vienā šūnā

Simulēsim situāciju, kad ir nepieciešams saņemt visus darījuma partnera saņemšanas dokumentu numurus atsevišķā šūnā:


Tādējādi mēs savā shēmā esam izveidojuši papildu aprēķina lauku;


Kā redzat no iepriekš minētā piemēra, aprēķināto lauku pievienošana un apstrāde nerada grūtības. Mēs izmantojām divas funkcijas: Array () un ConnectRows ().

Daži vārdi par pēdējo. Papildus pirmajam parametram, kas norāda masīva identifikatoru, vērtības vai vērtību, tajā var iestatīt vēl divus:

  1. Element Separator – norāda, kura rakstzīme atdalīs vienu masīva elementu vai vienu vērtību tabulas rindu no citas (mūsu gadījumā mēs šo parametru izlaidām un pēc noklusējuma tika piešķirts rindiņas pārtraukums);
  2. Kolonnu atdalītājs – rakstzīme, ko izmanto, lai atdalītu vērtību tabulas kolonnas (pēc noklusējuma tiek izmantots semikolu).

Piekļuve kopējā moduļa eksporta funkcijām

Kopējā moduļa funkcijas var darboties kā datu avots aprēķinātā lauka aizpildīšanai.

Daži svarīgi punkti:

  • Funkcijai jābūt eksportējamai;
  • Ja funkcija atrodas kopējā modulī ar atribūta kopu “Global”, tā tiek izsaukta tieši pēc nosaukuma, pretējā gadījumā funkcija ir jāizsauc saskaņā ar shēmu “Koplietotā moduļa nosaukums”. "Izsaucamās funkcijas nosaukums."

Kā lietošanas piemēru mēs ņemsim to pašu pieprasījumu par saņemšanas dokumentiem un parādīsim to atsevišķā kolonnā. Mēs neaprakstīsim pašu pieprasījumu, pāriesim tieši uz aprēķinātajiem laukiem:


Tādējādi redzam, ka no piekļuves kontroles sistēmas var inicializēt gandrīz jebkuru datu apstrādātāju, kas būtiski paplašina shēmas izmantošanas iespējas.

Izkārtojuma valodas izteiksmes

Diezgan bieži izstrādātāja darbā rodas situācija, kad ir nepieciešams parādīt sadalīšanas rezultātu ACS laukā:

  1. Aprēķināt preces vidējās izmaksas;
  2. visa veida intereses;
  3. Vidējās izpeļņas aprēķini utt.

Lai izvairītos no problēmām, šādos gadījumos vēlams aprēķinātajā laukā ievadīt testu dalīšanai ar 0.

To var izdarīt, izmantojot konstrukciju “Izvēle, kad….Tad… Citādi… Beigas”.

Beigās daži vārdi par diezgan jauno funkciju CalculateExpression(). Ar tās palīdzību jo īpaši varat aprēķināt izmaksu novirzes starp pašreizējo un iepriekšējo līniju, kumulatīvo bilanci utt.

Pieņemsim, ka varat iegūt dokumenta summu no mūsu pieprasījuma iepriekšējās rindas, laukā "Izteiksme" norādot vērtību Aprēķināt izteiksmi ("Dokumenta summa", "Iepriekšējā summa").