Pieprasījuma programmatiskā instalēšana

1C atlases iestatīšana dinamiskajā sarakstā nav tik sarežģīta, kā daudzi lietotāji sākotnēji domā. Šādi konfiguratori tiek izmantoti arī vērtību tabulām. 1C programmatūrā bieži vien ir nepieciešams kārtot datus grafikos un šūnās pēc dažiem kritērijiem.

Kā iestatīt atlasi sarakstam?

Jūs varat izveidot atlasi divos veidos: paša saraksta veidā vai reģistrēt to programmatiski. Pirmajā gadījumā formai jāpievieno 1C 8 dinamiskais saraksts, jādefinē tai galvenā tabula un pēc tam jādodas uz tās rekvizītiem. Pārvaldītā forma ļauj strādāt ar visdažādākajām vērtībām. Tur jums jāatrod vienums “Saraksta iestatījumi” un jāiet uz šo izvēlni. Logā, kas tiek atvērts pēc pārejas, varat manuāli iestatīt jebkuru izmantotā saraksta šķirotāju un pēc tam programmatiski pārvaldīt ģenerēto atlasi.

Lai programmatiski instalētu dinamisko kārtotāju, jums jāzina, ka atlase 1C tiek uzskatīta par dinamiskā saraksta rekvizītu. Lai pievienotu atlasi, izmantojot šo kvalitāti, atlases rekvizītam jāpievieno jauns elements. Lai viss darbotos, ir jāiestata parametrs labās un kreisās vērtības izvēles laukos, kā arī laukā “Salīdzinājuma veids”. Lietošanas laukā ir svarīgi ievadīt vērtību "true". Tādā veidā jūs varat izveidot visvienkāršāko atlasi. Pievienojot nosacījumus citos laukos, varat to padarīt sarežģītāku un pielāgot savām vajadzībām.

Atlases 1C vērtību tabulā

Lai iestatītu atlasi tabulā, varat izmantot vienu no vairākām iespējām. Varat veikt manuālu atlasi — atkārtojiet tabulu un paslēpiet visas rindas, kas jums nav vajadzīgas. Bet tas ir ļoti darbietilpīgs process, ko ne visi vēlas darīt. Šī metode ir piemērota tikai tiem, kuri tikai sāk strādāt ar 1C un vēl nevar apgūt sarežģītākas, bet produktīvākas metodes.

Otrā tabulas atlases opcija darbojas, izmantojot tabulas metodi, ko sauc par "rindu atrašanu". Būtisks šīs metodes trūkums ir tas, ka vienīgais salīdzināšanas veids būs “vienāds”, kas ievērojami samazina atlases izmantošanas iespēju.

Visracionālāko tabulas atlases metodi var veikt, izmantojot vaicājumu veidotāju.

Citas dinamiskā saraksta funkcijas 1C

Dinamiskie saraksti sniedz plašas iespējas darbam ar datiem, kas nebija pieejami 1C 7. Viens no ērtākajiem no tiem ir atlases veidlapu veidošana. Piemēram, 1C: Grāmatvedība jums jāiet uz izvēlni “Nomenklatūra” un jāpievieno jauna atlases forma, norādot to kā galveno.

Lai iestatītu parametrus dinamiskajā sarakstā:

  • Var izmantot atlases veidlapas;
  • Veidojot šo veidlapu, laukā automātiski parādīsies dinamiskās atlases saraksts;
  • Dodoties uz tā rekvizītiem, jūs varat redzēt vienumu “Pielāgots pieprasījums”. Tieši šis vaicājums ļauj izmantot visas dinamiskā saraksta priekšrocības;
  • Šajā pieprasījumā varat ievadīt savus parametrus;
  • Atzīmējot izvēles rūtiņu un atverot šo logu, jūs varat redzēt jaunu pieprasījumu ar visiem laukiem no preču uzziņu grāmatas;
  • Noklikšķinot uz vaicājumu veidotāja pogas, varat mainīt šī saraksta saturu.

Lai nolaižamajam sarakstam pievienotu savu pieprasījumu, jums jāatver iestatījumu cilne. Pirmajā cilnē jūs redzēsiet iespēju veikt jebkuru izvēli atbilstoši savām vajadzībām.

Pieprasījuma programmatiskā instalēšana

Varat arī iestatīt pieprasījumu programmatiski. Lai to izdarītu, veidlapas modulī jāievada tikai dažas rindiņas. Pēc tam jums vienkārši jāveic dubultklikšķis uz pašreizējās rindas, lai pārsūtītu rindas ar atlasītajām vērtībām uz dokumentu.

1C veidlapas vērtību saraksts ir lielisks veids, kā padarīt darbu ar 1C programmatūru racionālāku un produktīvāku. Tas ļauj optimizēt visu darbu uzņēmumā.

Drukāt (Ctrl+P)

Dinamiskais saraksts

1. Vispārīga informācija

Dinamiskais saraksts ir īpašs datu tips, kas ļauj veidlapā parādīt patvaļīgu informāciju no datu bāzes tabulām. Lai to izdarītu, jānorāda tabula, no kuras vēlaties parādīt datus, vai jāapraksta iegūtā atlase vaicājuma valodā.
Mehānisms ir balstīts uz datu kompozīcijas sistēmu un nodrošina saņemto datu kārtošanas, atlases, meklēšanas, grupēšanas un nosacītā formatēšanas iespējas. Šajā gadījumā datu avots ir pieprasījums, ko sistēma ģenerē automātiski (pamatojoties uz norādītajiem datiem), vai arī manuāli raksta izstrādātājs.

Rīsi. 1. Dinamiskā saraksta izveides iespējas

Veidojot veida formas atribūtus Dinamiskais saraksts izstrādātājs var izvēlēties divus veidus, kā veidot datu vaicājumu:
● Norādot galveno tabulu - šajā gadījumā jums vienkārši jānorāda tabula (Main table property), no kuras vēlaties saņemt datus, un sistēma automātiski ģenerēs datu vaicājumu (skatiet att. labo daļu). 1).
● Manuāla pieprasījuma ģenerēšana — šim nolūkam ir jāiestata rekvizīts Pielāgots pieprasījums (skat. 1. att. kreiso pusi). Pēc tam būs pieejama manuāla pieprasījuma ģenerēšana, lai iegūtu datus no informācijas bāzes.
Vaicājums var izgūt datus no vairākām tabulām, lai jūs varētu norādīt primāro tabulu. Tas ir paredzēts, lai dinamiskais saraksts varētu noteikt, kuri dati ir primārie un kuri sekundārie, kā arī pareizi atlasīt un parādīt informāciju, kā arī nodrošināt standarta komandas. Taču, ja vaicājumā nav iespējams noteikt galveno tabulu, tad to nevar norādīt, bet tad
dinamiskais saraksts nesniegs komandas, kas saistītas ar galveno tabulu. Turklāt šajā gadījumā (nenorādot galveno tabulu) ievērojami samazināsies datu iegūšanas efektivitāte pēc dinamiskā saraksta.
Lai uzlabotu veiktspēju, ir ieteicams visus savienojumus, kas tiek izmantoti pielāgotajā vaicājumā tikai papildu datu izgūšanai, padarīt neobligātus, izmantojot datu kompozīcijas sistēmas vaicājuma valodas paplašinājumu.
Dinamiskajam sarakstam, kas ir galvenais formas atribūts, atlases vērtības var iestatīt, izmantojot formas parametru Atlase. Lai to izdarītu, parametrā ir jānorāda struktūras rekvizīta nosaukums Atlase,
sakrita ar dinamiskā saraksta atlases lauka nosaukumu. Šajā gadījumā struktūras rekvizīta vērtība tiks iestatīta kā pareizā atlases elementa vērtība. Ja masīvs, fiksēts masīvs vai vērtību saraksts tiek nodots kā dinamiskā saraksta formas Atlases parametra elementa vērtība, tad atlasei tiek pievienots nosacījums ar opciju Sarakstā, pareizajā vērtībā. no kuriem tiek ievietots vērtību saraksts (kurā tiek pārveidots masīvs un fiksētais masīvs).
Patvaļīgs vaicājums dinamiskajā sarakstā var būt vaicājums, kurā parametrs tiek izmantots, lai ģenerētu lauka vērtību, piemēram:

IZVĒLIES
IZVĒLE
KAD Piegāde.Koeficients = 1 TAD &Prezentācija
CITĀDI Piegāde. Koeficients
END AS attiecība
NO

Turklāt, ja parametra vērtības veids atšķiras no objekta atribūta veida (piemēram, Rekvizīti1 ir tips Numurs, un parametra vērtība ir tips Līnija), pēc tam, lai pareizi parādītu lauku, jums ir skaidri jāievada parametra vērtība vajadzīgajā veidā:

IZVĒLIES
IZVĒLE
KAD Piegāde.Koeficients = 1 THEN EXPRESS(&Representation AS String(100)) ELSE Piegāde. Koeficients
END AS attiecība
NO
Dokuments.Produktu piegāde KĀ piegādāt

Ja lauks, ar kuru tiek iestatīta atlase, ir atspējots, izmantojot funkcionālās opcijas, atlase pēc šāda lauka netiek instalēta pat tad, ja atlases vērtība tiek nodota kā veidlapas parametri vai atlases parametru saites.
Izmantojot rekvizītu Dinamiskā datu lasīšana, jūs norādāt dinamiskajam sarakstam, ka dati ir jālasa nelielās porcijās
(plašāku informāciju par veidiem, kā iegūt datus, izmantojot dinamisko sarakstu un datu saglabāšanu kešatmiņā, skatiet tālāk). Neatkarīgi no šī atribūta ir spēkā šādi nosacījumi:

● Ja skata režīms ir iestatīts uz hierarhisku sarakstu, tiks nolasīti tikai pašreizējās grupas dati un visu vecāku elementu dati (bez bērniem).
● Ja ir iestatīts koka skata režīms, tiks nolasīti tikai dati no atvērtajiem koka mezgliem.
● Vienreizēja dinamiskā saraksta datu ielāde netiek atbalstīta, ja ir iestatīta hierarhiskā pārlūkošana (rekvizīts Displejs ir iestatīts uz Tree) un sākotnējais koka attēlojums ir iestatīts uz Izvērst visus līmeņus. Lai iegūtu datus, serverim tiks nosūtīts tik daudz pieprasījumu, cik mezglu ir parādītajā sarakstā.
Vienā datu izguves laikā dinamiskais saraksts atkārtoti izmanto iepriekš izveidotās pagaidu tabulas, ja ir izpildīti šādi nosacījumi:
● Saraksta pakešu vaicājumam pēc galvenā pakešu vaicājuma nav vaicājumu.
● Pagaidu tabulu un tajās esošo lauku sastāvs ir nemainīgs, salīdzinot ar iepriekšējo pakešu pieprasījuma izpildi.

Savā darbā dinamiskais saraksts izmanto šādu metadatu objektu detaļu īpašību vērtības:
● formāts,
● rediģēšanas formāts,
● mājiens,
● zīme negatīvu vērtību izcelšanai,
● maska,
● vairāku līniju režīma zīme,
● uzlabotas rediģēšanas zīme,
● paroles režīms.
Parādot un rediģējot datu kompozīcijas sistēmas atlasi un parametrus, tiek izmantots atbilstošā lauka rediģēšanas formāts.

2. Ierobežojumi un funkcijas

Iestatot atlasi dinamiskā sarakstā, atcerieties, ka atlase neietekmē grupas, ja dinamiskā saraksta displeja režīms ir Hierarhiskais saraksts vai Koks. Ar “grupām” mēs domājam raksturīgu tipu direktorija vai plāna elementu, kura rekvizīts ThisGroup ir iestatīts uz True.
Tiek piemērotas kvalifikācijas, ko dinamisks saraksts automātiski piemēro standarta informācijai Īpašnieks, vecāks, datums, periods un šī grupa
izmantojot standarta datu kompozīcijas sistēmas rīkus. Atlasi, ko dinamisks saraksts automātiski piemēro atslēgu laukiem, var lietot gan ar standarta datu kompozīcijas sistēmas līdzekļiem, gan tieši pievienojot nosacījumus pieprasījuma tekstam. IN uz galvenās tabulas laukiem. Atlases pielietošanas rezultātā, izmantojot izkārtojuma rīkus, tās var pielietot gan ligzdotajos vaicājumos, gan virtuālo tabulu parametros.

Izstrādājot dinamiskos sarakstus, ieteicams visus dinamiskos sarakstus pārbaudīt ar pielāgotiem vaicājumiem. Verifikācijas procesa laikā jums jāpārliecinās, vai, ja saraksta vaicājumā ir ietverti ligzdotie vaicājumi vai virtuālās tabulas un tajos ir pieejami lauki ar aizstājvārdiem, kas atbilst standarta informācijas aizstājvārdiem Īpašnieks, Vecāks, Datums, Periods, Šī grupa vai atslēgas lauki. atlasi, tad šie lauki ir derīgi atbilst standarta informācijai, ar kuru atbilst viņu segvārds. Ja tas tā nav, jums vajadzētu mainīt pieprasījumu, lai tie atbilstu vai
segvārds bija cits.
Ja izvēlaties manuāli ģenerēt pieprasījumu, tam tiek noteikti daži ierobežojumi:
● FIRST priekšraksta izmantošana dinamiskā saraksta vaicājumā netiek atbalstīta. Ja nepieciešams izmantot atlasi, ko ierobežo ierakstu skaits dinamiskajā sarakstā, dinamiskā saraksta ģenerēšanas pieprasījums ir jāpārstrādā tā, lai pieprasījuma faktiskais saturs tiktu ievietots apakšvaicājumā un ierobežotu ierakstu skaitu. saņemts šajā apakšvaicājumā. Apakšvaicājuma vietā varat izmantot arī pagaidu tabulu.
● Atlase, kārtošana un grupēšana netiek atbalstīta:

  • Saskaņā ar tabulas daļu detaļām.
  • Skatīt laukus.
  • Lauks DataVersion.
  • Lauks PredefinedDataName.
  • Kontu plāna tabulas tipa lauks.
  • Uzkrāšanas reģistra tabulas lauks Kustības veids.
  • Lauka tips Raksturīgā tipa plāna tabulas vērtības.
  • Tipa lauks Tips;
  • Lauks tipa String (neierobežots garums).
  • BinaryData tipa lauks.

● Kārtošana un grupēšana pēc subkonto laukiem netiek atbalstīta<НомерСубконто>un ViewSubconto<НомерСубконто>Tabulas Kustības Grāmatvedības reģistra apakškonts.
● Grupēšana pēc laukiem, kas ir vaicājumu valodas izteiksmes, kas satur apkopotas funkcijas, netiek atbalstīta.
● Ja ir atlasīta galvenā tabula, dinamiskā saraksta vaicājumam ir šādi ierobežojumi:

  • Pievienošanās netiek atbalstīta.
  • Sadaļa PASŪTĪT PĒC netiek atbalstīta. Jums vajadzētu izmantot vaicājumu bez galvenās tabulas vai iestatīt nepieciešamo secību, izmantojot dinamiskā saraksta iestatījumus.

● Ja dinamiskais saraksts tiek parādīts kā hierarhisks saraksts vai koks, ieraksts netiks parādīts kā dinamisks saraksts, ja vien nav parādīts vismaz viens šī ieraksta vecāks. Citiem vārdiem sakot, lai parādītu hierarhiskā saraksta elementu, dinamiskajā sarakstā ir jāparāda arī visi šī elementa vecākie līdz saraksta augšai. Šajā gadījumā ar saraksta augšdaļu mēs domājam vai nu
hierarhiskā objekta saknes elements, ko parāda dinamisks saraksts, vai elements, kas iestatīts kā dinamiskā saraksta veidlapas tabulas paplašinājuma ParentTopLevel rekvizīts.

Tālāk norādīto tabulu izmantošana kā dinamiskā saraksta galvenā tabula netiek atbalstīta.

● Tabula, kurai nav atslēgas, kas unikāli identificē katru tabulas ierakstu (atsauce objektu tabulām un ieraksta atslēga reģistru tabulām). Tomēr šādas tabulas var iestatīt kā dinamiskā saraksta galveno tabulu (neskatoties uz to, ka tām nav atslēgas):

● Grāmatvedības reģistra subkonto tabula;
● visas grāmatvedības reģistra virtuālās tabulas, izņemot tabulu MovementsSubconto;
● konstantu vērtību tabulas (ieskaitot tabulu Konstantes);
● ārējo datu avotu tabulas bez atslēgas laukiem;
● ārējo datu avotu kubu tabulas;
● uzkrāšanas reģistru tabulas:

  • revolūcijas galds;
  • bilances galds;
  • apgrozījuma un atlikumu tabula.

● aprēķinu reģistru tabulas:

  • faktiskā derīguma termiņa tabula;
  • grafika dati;
  • pamatdati.

● Objektu tabulu daļu tabulas;
● Mainīt reģistrācijas tabulas (izmanto datu apmaiņas mehānismos);
● Secību tabulas;
● Konversijas tabulas (izmanto periodisko norēķinu mehānismos).
● Tabula, kas tiek izmantota vaicājumā tikai ārējā savienojumā.

Citiem vārdiem sakot, dinamiskais saraksts ar norādīto galveno tabulu darbosies pareizi, ja vaicājuma izpildes rezultātā
norādīts kā datu avots, no galvenās tabulas iegūto rindu skaits nepalielinās (ņemot vērā uzlikto atlasi). Ja vaicājuma izpildes rezultātā palielinās ar vaicājumu iegūto rindu skaits no galvenās tabulas, tas novedīs pie sarakstā parādītās tabulas ierakstu atslēgas unikalitātes pārkāpuma. Šādā gadījumā ir jāatspējo galvenās dinamiskā saraksta tabulas izmantošana.
Strādājot ar dinamisko sarakstu, jāņem vērā piekļuves tiesības sarakstā parādītajai informācijai:
● Dati no dinamiskā saraksta kolonnām, kas ir atzīmētas ar rekvizītu Vienmēr lietot, bet uz kurām pašreizējam lietotājam nav skatīšanas tiesību, netiek pārsūtīti uz klienta pusi. Piekļuve šādu kolonnu datiem (izmantojot rekvizītu CurrentData un metodi RowData())
nav iespējams no klienta puses.
● Ja pašreizējam lietotājam nav skatīšanas tiesības dinamiskā saraksta atslēgas laukā, datu izgūšana no šī dinamiskā saraksta rada piekļuves pārkāpuma kļūdu.
Dinamiskajam sarakstam, kas parāda uzskaitījumu sarakstu, nav iespējas interaktīvi pielāgot sarakstu.
Dinamiskā saraksta kolonnu sastāvs un iestatījumi ir saistīti ar vaicājuma laukiem, izmantojot atlases lauku aizstājvārdus. Ja vaicājumā atlases laukam aizstājvārds nav skaidri norādīts un lauks ir sistēmas lauks, kā aizstājvārds tiek izmantots iebūvētās valodas versijas angļu valodā.
Norādītā attiecība nozīmē, ka, mainot (vai skaidri norādot aizstājvārdu laukam, kuram tika izmantots automātiskais aizstājvārds)
vaicājuma lauka aizstājvārds, kas ģenerē dinamiskā saraksta datus, tiks zaudēti dinamiskā saraksta atribūtu iestatījumi, formas elementi “zaudēs” parādītās detaļas, dinamiskā saraksta iestatījumi kļūs nepareizi utt.
Ja dinamiskā saraksta datu avots ir tabula (parastā vai virtuālā), kas ļauj iestatīt atlasi pēc perioda, tad, ja lietotājs iestata attēlošanas periodu šādā dinamiskā sarakstā (komanda Iestatīt datuma intervālu...),
norādītās perioda robežas tiks iestatītas kā atlases vērtības vai virtuālās tabulas parametri. Ja ar valodas paplašinājuma palīdzību
vaicājumus datu kompozīcijas sistēmai, tika skaidri norādīti virtuālās tabulas parametru nosaukumi - parametri ar norādīto
vārdus. Tabulas, kurām iespējams kontrolēt datu parādīšanas vai apstrādes periodu:
● reģistru tabulas (galvenās vai virtuālās), kurām iespējams izvēlēties pēc perioda (aprēķinu reģistram - pēc reģistrācijas perioda);
● galvenās dokumentu, biznesa procesu un uzdevumu tabulas;
● dokumentu žurnālu galvenās tabulas;
● galveno secību tabulas, secību robežu tabulas.
Dinamiskā saraksta vaicājuma parametrs var būt masīvs vai vērtību saraksts. Taču, ja parametrs ir vērtību saraksts, kā atlases vērtība tiks izmantota tikai pirmā vērtība sarakstā. Ja dinamiskajā sarakstā tiek izmantots vaicājums ar parametriem, sākotnējā parametru vērtību iestatīšana jāveic OnCreateOnServer apdarinātājā.
Rādot dinamiskā saraksta datus, ņemiet vērā tālāk minētos punktus.
● Programmatiski mainot dinamiskā saraksta rekvizītus, ar sarakstu saistītie komandu paneļi netiek automātiski atkārtoti aizpildīti.
ar šo dinamisko sarakstu.
● Ja vairāki lauki ir sagrupēti grupā ar grupēšanas režīmu šūnā un grupētajos laukos ir lauks, kas tiek parādīts kā izvēles rūtiņa, šī izvēles rūtiņa vienmēr tiks parādīta vispirms iegūtajā šūnā (pa kreisi no teksts).
Dinamiskajā sarakstā, nosakot datu tipu laukiem, kuru izteiksmēs ir ietverti parametri, lauki vai literāļi, iegūtais veids tiek noteikts pēc lauku un literāļu veidiem. Ja parametra vērtības tips nav iekļauts iegūtajā datu tipā, tā vērtība tiks saīsināta.
Piemēram, nākamajā piemērā lauka tips būtu Number.

IZVĒLE
KAD TAS IR MELI
TAD 5
CITĀDI
&Parametrs
BEIGAS

Ja parametram Parametrs iestatāt cita veida vērtību, šī lauka dinamiskais saraksts saņems vērtību 0 (noklusējuma vērtība numura veidam).
Ja šādā situācijā ir jāizvēlas cita veida parametrs, ieteicams izmantot vaicājuma valodas konstrukciju EXPRESS. Piemēram,
ja iepriekš minētajā piemērā parametrā ir jāievada virkne, kas nav garāka par 100 rakstzīmēm, tad vienkārši parametra norāde jāaizstāj ar izteiksmi ar precīza tipa cast:

IZVĒLE
KAD TAS IR MELI
TAD 5
CITĀDI
EXPRESS(¶metrs AS virkne(100))
BEIGAS

Ja dinamiskā saraksta pieprasījuma patvaļīgajā tekstā atlases lauku izteiksmēs tiek izmantoti parametri, jums ir skaidri jānorāda parametru veids, izmantojot konstrukciju EXPRESS. Piemēram, tā vietā &Nomenklatūra AS Nomenklatūra izmantot
EXPRESS(&Nomenclature AS Directory.Nomenclature) AS Nomenklatūra. Pretējā gadījumā meklēšana, izmantojot meklēšanas joslu, var darboties
nepareizi vai radīt kļūdas.

3. Metodes datu izgūšanai un saglabāšanai kešatmiņā ar dinamisko sarakstu

Iegūstot attēlojamos datus, dinamiskajā sarakstā tiek izmantota viena no trim metodēm:
1. Nolasīšana no datu bāzes tiek veikta gabalos ar datu elementu skaitu, kas ir nedaudz lielāks par sarakstā vienlaikus parādīto rindu skaitu (bet ne mazāk kā 20). Dati netiek saglabāti servera kešatmiņā.
2. Nolasīšana no datu bāzes tiek veikta 1000 datu vienību lapās. Dati tiek saglabāti servera kešatmiņā. Hierarhiskie dati tiek saglabāti kešatmiņā: katram vecākam tiek saglabātas ne vairāk kā 2 elementu lapas. Vienā dinamiskajā sarakstā kešatmiņā tiek saglabātas ne vairāk kā 20 vienumu lapas. Kešatmiņas saglabāšana tiks iespējota, izmantojot dinamisku sarakstu šādām tabulām:
● Atlases kritēriji;
● Visas grāmatvedības reģistra tabulas, izņemot galveno tabulu un MovementsSubconto tabulu;
● Visas uzkrāšanas reģistra tabulas, izņemot galveno tabulu;
● Visas informācijas reģistra tabulas, izņemot galveno tabulu;
● Visas aprēķinu reģistra tabulas, izņemot galveno tabulu;
● Virtuālā uzdevumu tabula pēc izpildītāja;
● Ārējo avotu tabulas bez atslēgām;
● Kubi no ārējiem avotiem.

3. Nolasīšana no datu bāzes tiek veikta 1000 elementu lapās. Pirmā daļa ir vienāda ar 1 lapu. Katra nākamā daļa palielinās par 1 lappusi (kad ir sasniegts iepriekšējā parauga beigas). Jo tuvāk "skata punkts" virzās uz parādīto datu beigām, jo ​​lielāks paraugs tiek nolasīts no datu bāzes, galu galā kļūstot vienāds ar visiem parādītajiem datiem. Dati tiek saglabāti servera kešatmiņā. Maksimālais ierakstu skaits kešatmiņā un dinamiskajā sarakstā ir 1 000 000.
Atkarībā no tā, kas ir atlasīts dinamiskā saraksta galvenajā tabulā un kādu vērtību iegūst rekvizīts Dinamiskā lasīšana, tiek izmantota viena vai otra datu nolasīšanas metode:

● Kā galvenās tabulas rekvizīta vērtība ir norādīta viena no šādām tabulām: apmaiņas plāns, direktorijs, dokumentu saraksts, dokumentu žurnāls, raksturlielumu veidu plāns, kontu plāns, aprēķinu veidu plāns, biznesa process, uzdevums, tabula biznesa procesa punkti:



● Kā rekvizīta Galvenā tabula vērtība ir norādīta viena no tabulām: informācijas reģistra galvenā tabula, uzkrāšanas reģistrs, uzskaites reģistrs, aprēķinu reģistrs, grāmatvedības reģistra MovementsSubconto virtuālā tabula:

● Dinamiskās lasīšanas rekvizīts:
● Uzstādīts: tiek izmantota 1. metode (metožu apraksts ir sniegts iepriekš).
● Atiestatīt: tiek izmantota 2. metode (metožu apraksts ir sniegts iepriekš).

● Rekvizīts Galvenā tabula satur atlases kritēriju tabulu vai uzdevumu tabulu pēc izpildītāja (uzdevumi pēc izpildītāja):
● Taustiņš, kas identificē tabulas rindu: saite.

● Rekvizīts Galvenā tabula norāda informācijas reģistra SliceFirst vai SliceLast virtuālo tabulu:
● Atslēga, kas identificē tabulas rindu: RecordKey.
● Rekvizīts Dynamic Read nav piemērojams.
● Tiek izmantota 2. metode (metožu apraksts sniegts iepriekš).

● Galvenās tabulas rekvizīts ir iestatīts uz vienu no virtuālo reģistru tabulām, izņemot tās, kas uzskaitītas iepriekš:

● Rekvizīts Dynamic Read nav piemērojams.

● Rekvizīts Galvenā tabula nav norādīts, tiek izmantots patvaļīgs vaicājums:
● Taustiņš, kas identificē tabulas rindu: numurs.
● Rekvizīts Dynamic Read nav piemērojams.
● Tiek izmantota 3. metode (metožu apraksts sniegts iepriekš).

Attēlošanai dati klientam tiek pārsūtīti porcijās, kuru lielums ir līdzīgs porcijas izmēram 1. datu nolasīšanas metodē (aprakstīts šīs sadaļas sākumā).
Kad veidojat veidlapu, kurā ir dinamisks saraksts, klientam sākotnēji tiek nodoti 45 datu vienumi katram redzamajam dinamiskajam sarakstam (ja sarakstā ir vairāk nekā 45 vienumi). Ja dinamiskajā sarakstā ir redzamas vairāk nekā 45 rindas, atverot veidlapu, tiks veikts papildu servera izsaukums, lai izgūtu trūkstošos datu vienumus.

4. Dinamiskā saraksta iestatījumi

Rekvizītu saraksta iestatījumi — noklikšķinot uz hipersaites Atvērt, tiek atvērta forma dinamiskā saraksta displeja iestatīšanai. Saraksta iestatīšana tiek veikta tāpat kā līdzīgas darbības datu kompozīcijas sistēmā.


Rīsi. 2. Dinamiskā saraksta nosacītais stils

Iestatot dinamisko sarakstu konfigurācijā, lietojumprogrammas izstrādātājam ir iespēja veikt šādas darbības:
● iestatīt laukus, pēc kuriem vēlaties kārtot;
● apraksta datu atlasi sarakstā;
● norādīt nosacījuma izskata iestatījumus;
● iestatiet laukus, pēc kuriem vēlaties grupēt datus.
Ir jēga iestatīt kārtošanu izstrādātājam, ja neesat apmierināts ar sistēmas instalēto noklusējuma kārtošanu.

PADOMS. Jāatceras, ka slikta šķirošanas lauku atlase (kā arī datu atlase un grupēšana) negatīvi ietekmē dinamiskās izlases efektivitāti.
No lietojumprogrammu izstrādātāja viedokļa dinamiskā saraksta iestatījumi sastāv no vairākām daļām, kas ir savstarpēji saistītas. Galvenais rekvizīts, ar kuru varat pārvaldīt dinamiskā saraksta iestatījumus, ir LinkerSettings. Šajā objektā ir trīs iestatījumu kopas, kas, kad sistēma darbojas, nosaka galīgos dinamiskajam sarakstam lietotos iestatījumus:
● Iestatījumi – iestatījumi, kas izveidoti režīmā Configurator. Dinamiskā saraksta rekvizīts Pasūtījums nodrošina ātru piekļuvi dinamiskā saraksta iestatījumu veidotāja rekvizītam Settings.Order, tāpēc šādas konstrukcijas ir līdzvērtīgas:
List.Order un List.SettingsLinker.Settings.Order;
● UserSettings – tie ir iestatījumi, kurus lietotājs maina režīmā 1C:Enterprise;
● Fiksētie iestatījumi — šie iestatījumi tiek iestatīti no iebūvētās valodas. Šis īpašums satur arī atlases vērtības, kas tiek pārsūtītas uz formu, izmantojot tās parametrus. Dinamiskā saraksta rekvizīti Atlase, Opcijas, Nosacīta izskats nodrošina ātru piekļuvi dinamiskā saraksta iestatījumu veidotāja fiksētajiem iestatījumiem. Citiem vārdiem sakot, šie zvani ir līdzvērtīgi:
List.Settings Composer.FixedSettings.Selection un List.Selection.
Veidojot dinamiskā saraksta galīgos iestatījumus, dažādas iestatījumu opcijas tiek apvienotas šādi:
● Ja kāda veida iestatījumi ir pilnībā atzīmēti kā pielāgoti, iegūtie iestatījumi ietver pielāgotos iestatījumus
(List.ComposerSettings.UserSettings). Turklāt, ja kādi iestatījumu elementi ir atzīmēti kā nepieejami, šie iestatījumi tiks ievietoti rekvizīta List.Settings Composer iestatījumos. Iestatījumi.
● Ja kāda veida iestatījumi ir atzīmēti kā pielāgoti nevis pilnībā, bet elementi pēc elementa, tad:
● Vienumi, kas atzīmēti kā pielāgoti, tiks iekļauti iegūtajos iestatījumos no īpašuma List.SettingsComposer.CustomSettings.
● Vienumi, kas atzīmēti kā nepieejami, tiks iekļauti iegūtajos iestatījumos no īpašuma List.SettingsComposer.Settings.
● Fiksētie iestatījumi (List.SettingsComposer.FixedSettings) tiek pievienoti iegūtajiem iestatījumiem “kā tie ir”. Tajā pašā laikā ir nepieņemami, ka fiksētajos un lietotāja iestatījumos ir ietverti viena nosaukuma iestatījumi, piemēram, atlase ar vienādu kreiso vērtību nosacījumā.

Ja dinamiskā saraksta iestatījumos ir ietverti iestatījumi, kas ir atspējoti, izmantojot funkcionālās opcijas, šie iestatījumi tiks noņemti no pieejamo iestatījumu saraksta, kad tiek izgūti dinamiskā saraksta dati.
Kontrolēt, kuri iestatījumi būs pieejami lietotājam un kuri nē, tiek veikti dinamiskā saraksta iestatījumu logā.


Rīsi. 3. Kontrolējiet iekļaušanu lietotāja iestatījumos

Loga apakšā esošā izvēles rūtiņa (skat. 3. att.) ir atbildīga par visa veida iestatījumu ievietošanu iestatījumos (parasti vai ātri). Šī funkcija ir pieejama atlasei, kārtošanai, grupēšanai un nosacījumu noteikšanai. Ja iestatījumi ir norādīti ar ātrās atlases rediģēšanas režīmu, tad dinamisko sarakstu attēlojošās formas tabulas rekvizītā User Settings Group ir jānorāda tukša formas grupa, kurā tiks iekļauti elementi, kas saistīti ar ātrās atlases lietotāja iestatījumiem. tiks atrasts dinamiskais saraksts. Ja grupa nav norādīta, veidlapā netiks parādīti ātrie lietotāja iestatījumi. Ir arī iespējams tieši izsaukt pielāgotu iestatījumu izveidi, izmantojot iebūvēto valodu, izmantojot dinamiskā saraksta paplašinājuma metodi CreateCustomSettingsFormItems().
Tāpat ir iespējams izvēlēties, vai lietotāja iestatījumos ievietot konkrētus iestatījumu vienumus. Šī funkcija ir pieejama atlasei un nosacīti dizaina elementiem (sk. 3. attēlu).

Ja, atverot dinamisko sarakstu, ir jāielādē kādi īpaši iestatījumi, to var izdarīt divos veidos:
● Izmantojot dinamiskā saraksta formas parametru UserSettings. Šajā parametrā ietvertie dati tiks ievietoti lietotāja dinamiskā saraksta iestatījumos.
● Izmantojot dinamiskā saraksta formas parametruUserSettingsKey. Ja norādāt šo parametru, atverot formu, tad lietotāja iestatījumi, kas atrodas iestatījumu krātuvē ar norādīto atslēgu, tiks ielādēti dinamiskajā sarakstā, kas ir galvenais formas atribūts.

5. Meklēt dinamiskajā sarakstā

Dinamiskais saraksts, kas atrodas veidlapā, nodrošina iespēju interaktīvi meklēt parādītos datus. Meklēšanu var veikt, izmantojot šādus rīkus: meklēšanas josla, meklēšanas dialoglodziņš, pašreizējās vērtības meklēšana, meklēšanas vēstures izmantošana un perioda iestatīšana (dinamiskiem sarakstiem, kas parāda dokumentus). Meklēšanas rezultāts ir ierobežots ierakstu kopums
dinamisks saraksts (no tiem, kas ir pieejami konkrētam lietotājam), kas atbilst meklēšanas kritērijiem.
Lai kontrolētu dinamiskā saraksta meklēšanas iespējas, pārvaldītajā formā, kurā tiek parādīts dinamiskais saraksts, ir trīs tabulas rekvizīti.
● Meklēšanas virknes pozīcija – nosaka meklēšanas virknes pozīciju. Var izmantot šādas vērtības: Auto, Command Bar, None, Top, Bottom.


Rīsi. 4. Meklēšanas virkne dinamiskajā sarakstā

Ja šī rekvizīta vērtība ir iestatīta uz Komandu panelis, meklēšanas virkne tiks parādīta formas komandu panelī (ja dinamiskais saraksts ir galvenais formas atribūts) vai ar dinamisko sarakstu saistītajā komandu panelī. Komandjoslā ievietotā meklēšanas josla vienmēr tiek nospiesta līdz komandjoslas labajā malā (kopā ar pogām, kas atrodas pa labi no meklēšanas joslas).
Ja rekvizīts ir iestatīts uz Nē, meklēšanas virkne nebūs veidlapā, un, sākot rakstīt meklēšanas virkni, tiks atvērts dialoglodziņš.
Ja rekvizīts ir iestatīts uz Top, meklēšanas josla atradīsies starp saraksta komandjoslu un tabulu, kurā tiek rādīts dinamiskais saraksts. Ja rekvizīts ir iestatīts uz Apakšā, meklēšanas virkne tiks ievietota uzreiz aiz tabulas, kurā tiek parādīts dinamiskais saraksts.


● Ja rekvizīts Saderības režīms ir iestatīts uz Nelietot vai vecāka par versiju 8.3.4, vērtība ir komandu panelis.
Dodieties uz meklēšanas rindu šādi:
● Nospiežot taustiņu kombināciju Ctrl+F;
● Pele;
● Kad sākat rakstīt dinamiskajā sarakstā (ņemot vērā dinamiskā saraksta rekvizīta SearchOnTyping vērtību).
● View State Position – apraksta, kur tiks parādīts skata stāvoklis: kādi lauki tika meklēti un kādas vērtības
meklēja katrā jomā. Var izmantot šādas vērtības: Auto, None, Top, Bottom


Rīsi. 5. Meklēšanas stāvoklis dinamiskajā sarakstā

Ja rekvizīts ir iestatīts uz Nē, skata stāvoklis veidlapā nebūs redzams. Rezultātā būs iespējams noteikt, vai meklēšana ir pabeigta vai ne, tikai pēc pogas Atcelt meklēšanu pieejamības.
Ja rekvizīts ir iestatīts uz Augšpusē, skata stāvoklis atradīsies starp saraksta komandjoslu un tabulu, kurā tiek rādīts dinamiskais saraksts. Ja rekvizīts ir iestatīts uz Apakšā, skata stāvoklis tiks novietots uzreiz aiz tabulas, kurā tiek parādīts dinamiskais saraksts.
Ja veidlapa tika izveidota 1C:Enterprise versijā 8.3.4 un vecākā versijā, rekvizīts ir iestatīts uz Nē. Ja veidlapa tika izveidota 1C:Enterprise versijā 8.3.5 un vecākajā versijā, rekvizīts ir iestatīts uz Auto. Īpašuma reālā vērtība šajā gadījumā tiks noteikta šādi:
● Ja rekvizīts Compatibility Mode ir iestatīts uz Version 8.3.4 (un jaunāku) – vērtība Nr;
● Ja rekvizīts Compatibility Mode ir iestatīts uz Nelietot vai vecāka par versiju 8.3.4 – vērtība Top;
● Search Control Position — nosaka, kur tiks parādīta meklēšanas vadības poga. Poga atver izvēlni, kurā ir šāda informācija: komandas Meklēt pēc pašreizējās vērtības, Izvērstā meklēšana, Atcelt meklēšanu, Iestatīt periodu (dokumentu un žurnālu sarakstiem) un meklēšanas vaicājumu vēsturi (pēdējie 5 vaicājumi). Īpašumam var būt šādas vērtības: Auto, None, Command panel.


Rīsi. 6. Meklēšanas pārvaldība dinamiskajā sarakstā

Ja rekvizīts ir iestatīts uz Nē, veidlapā nebūs meklēšanas vadības pogas (bet komandas būs pieejamas, izmantojot izvēlni Vairāk). Komandjoslas rekvizīta vērtība novieto pogu komandjoslā, kas saistīta ar tabulu, kurā tiek parādīts dinamiskais saraksts.
Ja veidlapa tika izveidota 1C:Enterprise versijā 8.3.4 un vecākā versijā, rekvizīts ir iestatīts uz Nē. Ja veidlapa tika izveidota 1C:Enterprise versijā 8.3.5 un vecākajā versijā, rekvizīts ir iestatīts uz Auto. Īpašuma reālā vērtība šajā gadījumā tiks noteikta šādi:
● Ja rekvizīts Compatibility Mode ir iestatīts uz Version 8.3.4 (un jaunāku) – vērtība Nr;
● Ja rekvizīts Saderības režīms ir iestatīts uz Nelietot vai vecāka par versiju 8.3.4 – vērtība ir Command Panel;
Ja formā ir vairāki komandu paneļi, kuru komandu avots ir viena pārvaldītās formas tabula (tiek rādīti dinamiskā saraksta dati), tad meklēšanas rinda un meklēšanas vadības poga atradīsies tikai vienā komandu panelī:
● Vai arī paša dinamiskā saraksta komandjoslā (ja tajā ir iespējota automātiskā pabeigšana)
● Vai jebkurā no atlikušajiem komandu paneļiem.

Apskatīsim meklēšanas izmantošanas iespējas dinamiskajā sarakstā:
● Lai meklēšana būtu ērti lietojama (tostarp veiktspējas ziņā), ir jāiespējo pilna teksta meklēšana visiem konfigurācijas objektiem, kurus var izmantot kā dinamiskā saraksta galveno tabulu. Turklāt pilna teksta meklēšanā jāiekļauj visa informācija par konfigurācijas objektiem, kas var tikt parādīti dinamiskajā sarakstā un kuriem var būt nepieciešama meklēšana.
Ja objekts tiek izslēgts no pilna teksta meklēšanas, tad attiecīgais meklēšanas mehānisms darbosies, taču šādas meklēšanas veiktspēja būs ārkārtīgi zema. Nav ieteicams izmantot meklēšanu objektiem, kas nav indeksēti ar pilna teksta meklēšanu.
● Lietojumprogrammas risinājumam ir jābūt parastam uzdevumam, kas regulāri atjaunina pilna teksta meklēšanas indeksu.

● Meklēšana netiek veikta visās dinamiskā saraksta kolonnās (un konfigurācijas objektā), bet tikai tajās kolonnās, kas tiek parādītas tabulā.
● Meklēšana dinamiskajā sarakstā pēc atsauces tipu laukiem ar patvaļīgu attēlojumu tiek veikta pēc laukiem, kas tiek izmantoti
reprezentācijas veidošana (skatīt šeit). Skatā iekļautie lauki tiek iegūti, ņemot vērā attiecīgā objekta ViewFieldGettingProcessing() apdarinātāju.
● Dinamiskajiem sarakstiem ar noteiktu galveno tabulu galvenajā tabulā tiek izmantota pilna teksta meklēšana. Visas neindeksētās saites no galvenās tabulas tiks pievienotas pilna teksta meklēšanas rezultātiem. Galvenās tabulas pilna teksta meklēšanas rezultāts tiek izmantots kā atlase, pamatojoties uz galvenajiem laukiem. Pilna teksta meklēšana tiek veikta arī laukos, kas parādīti sarakstā no citām tabulām (ja lauks un konfigurācijas objekts izmanto pilna teksta meklēšanu). Ja nav iespējota pilna teksta meklēšana, dati var būt
atrasts, bet pati meklēšana būs ļoti lēna.
Ja, mēģinot veikt pilna teksta meklēšanu, rodas kļūda, meklēšana tiks veikta, neizmantojot pilna teksta meklēšanu.
Piemēram, tas var notikt, meklējot vienu burtu un lielu skaitu rindu informācijas bāzē, kas sākas ar šo burtu.
● Ja dinamiskā saraksta galvenās tabulas laukam tiek izmantota atlase ar salīdzināšanas veidu Vienāds, tad, veicot pilna teksta meklēšanu, šīs tabulas meklēšanas vaicājumam tiks pievienota atlases vērtība.
● Meklēšanas virkne tiek sadalīta vārdos. Šis nodalījums tiek veikts saskaņā ar šādiem noteikumiem:
● Rinda tiek pārtraukta, kā atdalītājus izmantojot atstarpes un tabulēšanas rakstzīmes.
● Pēc tam katrs iegūtais fragments tiek apstrādāts:
● Ja fragments ir datuma attēlojums (ar vai bez laika), pamatojoties uz pašreizējās sesijas lokalizāciju, vārds ir fragments.
● Pretējā gadījumā fragments tiek sadalīts tālāk, izmantojot rakstzīmes “,.-/\” kā atdalītājus. Šajā gadījumā katrs iegūtais virknes fragments tiek uzskatīts par vārdu.

● Katram vārdam tiek veidots savs nosacījumu kopums, kas tiek apvienots “ar VAI”. Šī nosacījumu kopa tiek ģenerēta, ja pilna teksta meklēšana konkrētam vārdam tabulā, no kuras iegūts šis lauks, atgrieza vismaz vienu objektu vai arī šim laukam netika izmantota pilna teksta meklēšana. Nosacījumi tiek veidoti šādi:
● Laukam, kura tips ir String, nosacījums ir FieldName LIKE %Word%.
● Laukam, kura tips ir Skaitlis, nosacījumam ir forma FieldName=Value, kur Vērtība ir vārds, kas pārveidots par skaitļa tipu. Ja metienu nevar veikt, lauka meklēšana netiks veikta.
● Vārds tiek meklēts kā apakšvirkne noklusējuma Būla attēlojumā, kas definēts pašreizējai sesijai. Ja meklējamais vārds tiek atrasts skatā, tas meklē vērtību, kas atbilst skatam, kurā vārds tika atrasts. Šajā gadījumā meklēšanā netiek izmantoti skati, kas norādīti, izmantojot rekvizītu Format form element.
● Laukam, kura veids ir datums, nosacījums izskatās šādi: FieldName>=StartofDay(Word) ANDFieldName<=КонецДня(Слово). Если Слово подобно дате, в которой год
apzīmēts ar vienu vai diviem cipariem, gads tiks samazināts līdz pašreizējam gadsimtam un šī vērtība tiks pievienota meklēšanas nosacījumam.
● Atsauces laukiem tiek veikta meklēšana atsauces skata veidošanai izmantotajos laukos. Katrā no šiem laukiem meklējiet
veic saskaņā ar iepriekš aprakstītajiem noteikumiem. Meklēšanā netiek izmantoti lauki, kas tiek izmantoti, lai izveidotu pielāgotu datu attēlojumu.
Katra vārda nosacījumu kopa ir apvienota “UN”.
● Vērtībām ar nullēm sākumā varat meklēt virkni ar nullēm sākumā vai virkni, kas norādīta bez nullēm.
● Ja dinamiskajā sarakstā tiek parādīts dokumentu saraksts vai dokumentu vēsture, jūsu norādītais saraksta skatīšanas intervāls tiek parādīts arī veidlapas apgabalā, kas rezervēts vēlamā dinamiskā saraksta skata statusa parādīšanai.
● Komanda Meklēt pēc pašreizējās vērtības nav pieejama, ja atlases kritērijs ir dinamiskā saraksta galvenā tabula.
● Atrastie virknes fragmenti tiek izcelti, kad tie tiek parādīti tabulā.
● Vienai kolonnai tiek atbalstīta tikai viena meklēšanas virkne. Pievienojot jaunu meklēšanas vaicājumu kolonnai, kas jau tiek meklēta, meklēšanas izteiksme tiks aizstāta, nevis abi meklēšanas vaicājumi tiks pievienoti kopā.
● Ja veidlapai nav veidlapas veidlapas elementa papildinājuma Meklēšanas virknes displejs, kas saistīts ar tabulu (veidlapas elementa pievienošanas avota rekvizīts), kas parāda dinamisko sarakstu, tad, nospiežot taustiņu kombināciju Ctrl+F, tiek atvērts meklēšanas dialoglodziņš.


Rīsi. 7. Meklēšanas dialoglodziņš

Ja veidlapā ir veidlapas veidlapas elementa papildinājums Meklēšanas virknes displejs, kas saistīts ar tabulu (veidlapas elementa papildinājums Avota rekvizīts), kurā tiek parādīts dinamisks saraksts, tad, lai atvērtu meklēšanas dialoglodziņu, jāizmanto komanda Izvērstā meklēšana.
● Izmantojot meklēšanas dialoglodziņu, ņemiet vērā tālāk norādītos punktus.
● Atverot meklēšanas dialoglodziņu, izmantojot īsinājumtaustiņu, pašreizējās šūnas vērtība tiek parādīta rindā Ko meklēt, un slēdža Kā meklēt vērtība tiek iestatīta uz Pēc precīzas atbilstības.

● Atverot meklēšanas dialoglodziņu, tieši sākot rakstīt meklēšanas virkni dinamiskajā sarakstā, slēdža Kā meklēt vērtība tiek iestatīta uz vērtību Pēc virknes daļas, un ievadītais teksts nonāk sadaļā Kas meklēšanas laukam.

6. Datu iegūšana dinamiskā sarakstā

Izmantojot dinamiskos sarakstus, iespējams, būs jāveic dažādas darbības ar datiem, kas pašlaik tiek rādīti dinamiskajā sarakstā, ņemot vērā lietotās atlases un meklējumus. Šādas darbības ietver: parādītās informācijas apstrādi, piemēram, atlasīto dokumentu atkārtotu nosūtīšanu vai dažu detaļu iestatīšanu atlasītajiem objektiem, pieejamo objektu saraksta ģenerēšanu (ar dizainu utt.), piemēram, drukāšanai vai saglabāšanai izklājlapas dokumentā.
Lai iegūtu datus, kas tiek parādīti dinamiskā sarakstā, jāizmanto GetExecutableDataCompositionSchema() un
GetExecutableDataCompositionSettings().
Datu saņemšanas piemērs:

Schema = Elements.List.GetExecutableDataCompositionSchema();
Iestatījumi = Items.List.GetExecutableDataCompositionSettings();
LayoutLinker = newDataCompositionLayoutLinker();
LayoutLayout = LayoutComposer.Execute(shēma, iestatījumi);
CompositionProcessor = newDataCompositionProcessor;
LayoutProcessor.Initialize(LayoutLayout);
OutputProcessor = New OutputProcessorDataCompositionResultInTabularDocument;
ReturnOutputProcessor.Output(CompositionProcessor);

Datu nokļūšana vērtību kolekcijā (tabulā vai vērtību sarakstā) tiek veikta tādā pašā veidā.
Dinamiskā saraksta datu iegūšanai šādā veidā ir vairākas funkcijas, kas jāņem vērā, izstrādājot lietojumprogrammu risinājumus:
● Šis tabulas dizains netiek atbalstīts:
● Mainīgas līniju krāsas;
● Virsraksta attēls;
● Pagraba attēls;
● Kājenes fona krāsa;
● Kājenes teksta krāsa;
● Kājenes fonts;
● Horizontāls novietojums pagrabā;
● Paroles režīms.
● Pārvaldītajai formai norādītais nosacījuma izskats netiek atbalstīts;
● Sakārtojot hierarhisku tabulu augošā secībā pēc lauka tipa Link, ieraksti, kas satur tukšu saiti, vienmēr tiek ievietoti vispirms.

Atlase pārvaldītajās veidlapās 1C 8.3

Rakstā tiks apskatītas atlases instalēšanas iespējas pārvaldītajās formās 1C 8.3. Dinamiskā saraksta atlasi var iestatīt statiski vai dinamiski lietotāja interfeisā vai konfiguratorā. Tālāk mēs apsvērsim visas atlases iespējas.

  • Iestatījumu atlase konfiguratorā

Izvēles iestatīšana lietotāja režīmā

Dinamiskais saraksts pretstatā tabulai vai vērtību kokam ir piemērotāks risinājums tādu formu ieviešanai, kas satur jebkādus sarakstus, jo Dinamiskais saraksts nodrošina visplašāko rīku klāstu darbam ar atlasi, lauku grupēšanu un kārtošanu. Šo izvēli var iestatīt, strādājot lietotāja režīmā vai konfiguratorā, princips ir vienāds.

Lai iestatītu atlasi uzņēmuma režīmā, jums ir jāizsauc komanda “Pielāgot sarakstu”.

Atvērsies logs.


Cilnē “Atlase” tiek parādīts pašreizējā sarakstā esošo lauku saraksts. Atlasiet saraksta laukus, pēc kuriem mēs filtrēsim. To var izdarīt, veicot dubultklikšķi vai izmantojot vilkšanu un nomešanu.


Mēs iestatām salīdzināšanas veidu un vērtību, noklikšķiniet uz "Pabeigt rediģēšanu", atlase ir iestatīta.


Iestatot atlasi uzņēmuma režīmā, saraksta veidlapā automātiski tiek izveidoti tā sauktie ātrās atlases lauki.


Lai 1C platforma automātiski izveidotu ātrās atlases laukus, izstrādājot veidlapu konfiguratorā, ir jānorāda lietotāja iestatījumu grupa.


Šī atlase tiks saglabāta tikai pašreizējam lietotājam, kas ļauj elastīgi pielāgot dinamisko sarakstu. Taču, ja uzdevums ir veikt fiksētu atlasi konkrētam sarakstam visiem sistēmas lietotājiem, to varam atrisināt tikai caur konfiguratoru.

Iestatījumu atlase konfiguratorā

Strādājot konfiguratorā, varam iestatīt divu veidu dinamisko sarakstu atlasi – fiksēto un dinamisko. Fiksēto atlasi var konfigurēt vienreiz, dinamisko vai programmatisko var iestatīt atkarībā no jebkuriem sistēmas datiem.

Fiksētas atlases iestatīšanas princips konfiguratorā neatšķiras no tās iestatīšanas iepriekš aprakstītajā lietotāja režīmā. Lai iestatītu atlasi, mums jāatver dinamiskā saraksta iestatījumi.


Atvērsies logs.


Izvēle tiek iestatīta tāpat kā lietotāja režīmā.

Opcija “Iekļaut lietotāja iestatījumos” nosaka, vai konfiguratorā iestatītā atlase būs pieejama lietotāja režīmā, izmantojot izvēlnes vienumu “Pielāgot sarakstu”.


Dinamiskā (programmatūras) izvēle

Bieži vien ir nepieciešams programmatiski iestatīt atlasi, piemēram, atverot atlases formu, kad mums ir jāatver kontrolēta forma ar atlasi. Parametrs tiek nodots veidlapai, un atlase tiek iestatīta, pamatojoties uz šo parametru. Izplatīts piemērs tam ir direktorija vienumu atlase pēc īpašnieka.

Metodes

Ja izstrādājamā konfigurācija satur BSP “Basic Functionality” apakšsistēmu, programmatūras atlasi dinamiskajā sarakstā var instalēt, izmantojot standarta metodi:

General PurposeClientServer.SetDynamicListSelectionElement()

Šīs metodes paraksts:

Dinamiskais saraksts Tips: DynamicList — saraksts, kurā vēlaties iestatīt atlasi.

Lauka nosaukums Tips: String — lauks, kurā vēlaties iestatīt atlasi.

RightValue Tips: Patvaļīgs – atlases vērtība (Neobligāti. Noklusējuma vērtība: Undefined. Piezīme: ja nokārtosit Undefined, vērtība netiks mainīta).

ViewComparison Tips: DataComposition Comparison Type – atlases nosacījums.

Performance Tips: Virkne – datu kompozīcijas elementa attēlojums (Neobligāti. Noklusējuma vērtība: nav definēta. Ja norādīts, tiek drukāts tikai lietošanas karodziņš ar norādīto attēlojumu (vērtība netiek drukāta). Lai notīrītu, ir jānodod tukša virkne, lai vērtība tiktu drukāta vēlreiz.)

Lietošana Tips: Būla — atzīmējiet, lai izmantotu šo atlasi (Neobligāti. Noklusējums: nav definēts).

Displeja režīms Tips: ItemDisplayModeDataCompositionSettings — kā šī atlase tiek parādīta lietotājam. Iespējamās vērtības:

  • Elementa displeja režīmsDatu izkārtojuma iestatījumi. Ātrā piekļuve — ātro iestatījumu grupā virs saraksta.
  • Elements Displeja režīmsDatu izkārtojuma iestatījumi Normāli — saraksta iestatījumos (apakšizvēlnē Vairāk).
  • ElementDisplayModeDataCompositionSettings.Nepieejams — neļaujiet lietotājam mainīt šo atlasi.

IdentifierUserSettings Tips: virkne — šīs atlases unikāls identifikators (Izmanto, lai sazinātos ar lietotāja iestatījumiem).

Lai noņemtu atlases vērtību, jāizmanto standarta metode:

General PurposeClientServer. RemoveGroupElementsSelectionDynamicList()

Šīs metodes paraksts:

Dinamiskais saraksts Tips: DynamicList – formas atribūts, kuram vēlaties iestatīt atlasi.

Lauka nosaukums Tips: String – izkārtojuma lauka nosaukums (grupām neizmanto).

Performance Tips: Virkne – izkārtojuma lauka attēlojums.

Ja sistēmā nav BSP, atlasi var iestatīt neatkarīgi, izmantojot objektu DataComposition Field.

Atlases elements = List.Selection.Elements.Add(Type("DatuCompositionSelection Element")); Atlases elements.LeftValue = NewDataCompositionField("Nosaukums"); Selection Element.Comparison Type = DataComposition Comparison Type.Equal; Atlase Element.DisplayMode = ElementDisplayModeDataCompositionSettings.QuickAccess; // Izvēles atlases elements RightValue = "Ivanov";

Šī atlase atlasīs rindas, kurās vērtība “Pilns vārds” = “Ivanovs”.

Lai izmantotu loģiskos “UN”, “OR”, “NOT”, ir paredzēts datu tips DataCompositionSelectionElementGroup.

Atlases grupa = List.Selection.Elements.Add(Type("Datu kompozīcijas atlases elementu grupa")); SelectionGroup.GroupType = DataCompositionSelectionElementGroupType.GroupOR; Atlases elements = atlases grupa Add(Type("Datu kompozīcijas atlases elements")). Atlases elements.LeftValue = NewDataCompositionField("Nosaukums"); Selection Element.Comparison Type = DataComposition Comparison Type.Equal; Selection Element.RightValue = "Ivanov"; Atlases elements = atlases grupa Add(Type("Datu kompozīcijas atlases elements")). Atlases elements.LeftValue = NewDataCompositionField("Nosaukums"); Selection Element.Comparison Type = DataComposition Comparison Type.Equal; SelectionElement.RightValue = "Petrovs";

Šī atlase atlasīs rindas, kurās vērtība “Pilns vārds” = “Ivanov” vai “Petrov”.

Atlasi dinamiskajā sarakstā var veikt arī, mainot dinamiskā saraksta pieprasījuma tekstu. Šī opcija darbojas, ja dinamiskais saraksts tiek izveidots, izmantojot "pielāgotu pieprasījumu".


Lai to izdarītu, vaicājuma tekstam pievienojiet nosacījumu “KUR IR TRUE”...


Kā redzat, šī pieeja ir kompaktāka koda rakstīšanas ziņā. Jo sarežģītākus atlases nosacījumus tabulas daļā mēs vēlamies iestatīt, jo apgrūtinošāka būs iespēja izmantot atlasi, izmantojot datu kompozīcijas atlases elementu. Tomēr piemērā ar pieprasījuma teksta maiņu ir savi trūkumi - šī ieviešana nav izturīga pret koda izmaiņām. Piemēram, jūs veicāt šādu ieviešanu un aizmirsāt, bet, ja nākotnē vēlaties mainīt pieprasījuma tekstu, pievienojot operatoru pēc WHERE (ORDER, GROUP), jums jāatceras, ka programmas kods satur:

List.QueryText = List.QueryText + " Un DirectoryUsers.Full Name V(""Ivanovs"",""Petrovs"")";

Ja tas netiek ņemts vērā, radīsies kļūda, taču, lai no tā izvairītos, varat to mainīt uz citu ieviešanu. Pieprasījuma tekstam pievienojam šādu nosacījumu:

KUR (NAV &Izvēle instalēta VAI DirectoryUsers.Name IN (&PermittedName))

List.Parameters.SetParameterValue("Atlases kopa", Pilns nosaukums.Daudzums() > 0); List.Parameters.SetParameterValue("Atļauts pilns vārds", pilns nosaukums);

Šeit pilns vārds ir masīvs.

Kā redzat, 2 koda rindas pret 10. Kuru metodi izvēlēties, ir atkarīgs no konkrētā lietojumprogrammas uzdevuma.