Dinamiskā saraksta galvenā tabula 1c. Meklēt dinamiskajā sarakstā

Sākums / Bremzes

Konfigurāciju pabeigšanas procesā katrs 1C programmētājs saskaras ar dinamiskiem sarakstiem.
Dinamiskais saraksts ir interfeisa objekts, ko izmanto, lai parādītu dažādus datu bāzes objektu sarakstus vai neobjekta datus - reģistra ierakstus.
Piemēram, dinamiskais saraksts tiek izmantots, lai parādītu vienumu sarakstu:

Lai demonstrētu dinamiskā saraksta iespējas, izveidosim ārējo apstrādi un pievienosim galveno formu. Pievienosim veidlapai jaunu atribūtu ar tipu “Dinamiskais saraksts”. Iedziļināsimies tās īpašībās un redzēsim, kas tur ir.
Mūs interesē īpašums “Pielāgots pieprasījums”. Iespējojot to, tiks parādītas visas dinamiskā saraksta iespējas. Mēs varēsim uzrakstīt pieprasījumu, izmantojot gandrīz visas 1C: Enterprise sistēmas vaicājumu valodas iespējas. Atzīmējiet izvēles rūtiņu un noklikšķiniet uz saites "Atvērt":

Pēc noklusējuma mūsu sarakstā tiks parādīts preču saraksts ar visu noliktavu kopējo atlikumu. Lai ieviestu šādu sarakstu, pievienojiet šādu vaicājumu:


Kā galveno tabulu mēs izvēlēsimies "Directory.Nomenclature", tas ļaus mums strādāt ar dinamisku sarakstu, tāpat kā ar nomenklatūras sarakstu - pievienot, mainīt, atzīmēt direktoriju elementus dzēšanai. To dara arī galvenās tabulas iestatīšana pieejamu iespēju dinamiska datu nolasīšana – tas nozīmē, ka paraugu ņemšana tiks veikta pa daļām, pēc vajadzības.
Tālāk mums ir jāizveido veidlapas elementi mūsu sarakstam:

Ja mēģināsim veikt apstrādi šajā formā, mēs saņemsim kļūdu:


Lai to novērstu, jums jāiestata parametra “Periods” vērtība. Lai to izdarītu, varat izmantot dinamiskā saraksta kolekcijas “Parameters” metodi “SetParameterValue”. Metode aizņem divus parametrus:
. "Parametrs" - tips: virkne; DataCompositionParameter. Tā parametra vai datu sastāva parametra nosaukums, kura vērtību vēlaties iestatīt;
. “Vērtība” — veids: patvaļīgs. Iestatāmā vērtība.
Var izsaukt veidlapas “OnCreateOnServer” apdarinātājā:

Vai jums ir jautājums vai nepieciešama konsultanta palīdzība?


Lietotājam nodrošināsim iespēju mainīt atlikumu saņemšanas periodu. Lai to izdarītu, pievienojiet atribūtu un ar to saistīto veidlapas elementu “Datums”.


Veidlapas elementa “Datums” apdarinātājā “OnChange” mēs izsauksim metodi “SetParameterValue”, kā vērtību nododot saistītā atribūta vērtību. Līdzīgā veidā mainīsim veidlapas procedūru “Izveidojot uz servera”. Tā kā metode ir pieejama klientam, nav nepieciešams izsaukt serveri:


Tagad, mainoties datumam, atlikumi tiks automātiski atjaunināti:




Pieņemsim, ka lietotāji vēlas redzēt pašreizējos atlikumus vai plānotos ieņēmumus. Apsvērsim vienu no ieviešanas iespējām. Pievienosim Būla tipa formas atribūtu un saistīto slēdzi:


Mainot slēdža vērtību, mainīsim pieprasījuma tekstu. Lai to izdarītu, veidlapas elementam “Rādīt daudzumu kvītī” izmantosim notikumu apdarinātāju “Mainoties”. Mums ir jāmaina dinamiskā saraksta rekvizīts “QueryText” atkarībā no atribūta vērtības. Tā kā šis rekvizīts klientam nav pieejams, ir jāizsauc servera procedūra:


Veikto izmaiņu rezultāts:



Beidzot ir piepildījies katra septiņgadnieka sapnis. Cik bieži programmas 7.7 lietotāji prasīja normālu vienumu atlasi? Lai jūs varētu redzēt atlikumus, cenas un iestatīt filtrus. Nācās izdomāt dažādus trikus, tai skaitā ārējo komponentu rakstīšanu. 1C 8.2 versijā parādījās dinamiskie saraksti. Es ierosinu apsvērt, kas tas ir un ko viņi var mums sniegt 1C 8.3.

Ņemsim par pamatu noteiktu 1C testa konfigurāciju: “Enterprise Accounting 3.0”. Mēs tagad neveiksim atlasi, mēs vienkārši pievienosim citu atlases veidlapu direktorijā “Nomenklatūra” un īslaicīgi padarīsim to par galveno:

Pēc izveides sistēma pēc noklusējuma pievienos veidlapai tabulas lauku “Dinamiskais saraksts”.

Iedziļināsimies tās īpašībās un redzēsim, kas tur ir.

Pirmkārt, mūs interesē izvēles rūtiņa “Pielāgots pieprasījums”. Tas mums atklās visas dinamiskā saraksta priekšrocības. Mums būs iespēja uzrakstīt savu pieprasījumu, ar parametriem. Atzīmējiet izvēles rūtiņu un noklikšķiniet uz saites "Atvērt":

Tiks atvērts logs ar gatavo kodu . Pagaidām tur ir vienkārši uzskaitīti visi direktorija “Nomenklatūra” lauki.

Saņemiet 267 video nodarbības 1C bez maksas:

Kā redzat, ir zvanīšanas poga “ ” un izvēles rūtiņa, kas ļauj dinamiski mainīt saraksta saturu. Tas ir, kad cits lietotājs mainīs kaut ko direktorijā, tas mainīsies arī mūsu sarakstā. Turklāt ir cilne “Iestatījumi”, taču mēs to pieskarsim vēlāk.

Pielāgots vaicājums dinamiskajā sarakstā

Vispirms izveidosim mums nepieciešamo pieprasījumu ar atlikumiem un cenām. Kaut kas līdzīgs šim:

Cilne "Iestatījumi".

Un tagad labākā daļa! Dodieties uz cilni “Iestatījumi”. Un mēs uzreiz redzam, ka pirmajā cilnē mēs varam veikt jebkuru atlasi jebkuram pieprasījuma laukam:

Vaicājuma parametru programmatiska iestatīšana dinamiskā sarakstā 1C 8.3

Neaizmirstiet, ka pieprasījumā ir divi parametri: "Periods" un "Cenas veids". Mums tie ir jāiesniedz pieprasījumā, pretējā gadījumā radīsies kļūda.

Ierakstīsim šos parametrus veidlapas parametros un pievienosim šādas rindas veidlapas modulī:

&OnServerProcedureWhenCreatingOnServer(Failure, StandardProcessing) saraksts. Iespējas. SetParameterValue("Periods" , Parametri. Datums) ;

Saraksts. Iespējas. SetParameterValue("Cenas veids", Parameters.PriceType) ;

Procedūras beigas

Papildus primitīviem datu tipiem, kurus var atrast jebkurā programmēšanas valodā, 1C ir arī unikāli veidi. Katrai no tām ir savas īpašības, metodes, funkcijas, mērķis un lietošanas nianses sistēmā. Viens no šiem veidiem ir dinamisks saraksts, kas ievērojami atvieglo daudzus lietišķos uzdevumus. Tāpēc izstrādātājiem ir jāzina un jāprot rīkoties ar šo universālo rīku. Dinamisko sarakstu iezīmes 1C Mērķis

šāda veida sastāv no informācijas parādīšanas no jebkuras datu bāzes tabulām neatkarīgi no tās veida. Mehānisms tika izveidots, pamatojoties uz SKD, un tam ir līdzīgas iespējas. Bet tas nenozīmē, ka jums obligāti būs jāraksta pieprasījums 1C valodā, lai gan šī iespēja pastāv un ir jāizmanto. Jūs varat vienkārši norādīt tabulu, kuras informācija jūs interesē, un 1C neatkarīgi ģenerēs vienkāršu vaicājumu. Lai redzētu, kā tiek veidots dinamiskais saraksts un kādi dati tajā tiek rādīti, konfiguratorā jāatver pārvaldītās formas tur, kur tās atrodas: detaļu sarakstā, izmantojot

konteksta izvēlne

Vēl viens noderīgs dinamiskā saraksta rekvizīts tiek atvērts, noklikšķinot uz uzraksta “Saraksta iestatījumi”. Šī izvēlne ļauj pat tad, ja to lietojat standarta komplekts laukus, lai padarītu informāciju pieejamāku un saprotamāku galalietotājiem. Neatkarīgi no pielāgots pieprasījums vai nē, jūs redzēsit cilni Iestatījumi, kurā varēsit norādīt:

  • Dinamiskā saraksta izvēle;
  • Grupas;
  • Šķirošana;
  • Dekorācija.

Parametru izmantošana padara dinamiskos sarakstus universālus un diezgan elastīgus. Varat arī saistīt tos ar detalizētu informāciju pārvaldītajā veidlapā, un dati mainīsies atkarībā no lietotāja atlasītajiem parametriem. Šo mehānismu izmantošanu var saprast un novērtēt, apsverot reālās dzīves problēmu piemērus.

Kā piemēru apsveriet uzdevumu atspoguļot nomenklatūras paliekas kontrolētā formā. Reālajā praksē šādi pasūtījumi notiek diezgan bieži dažādās konfigurācijās, un dinamiskais saraksts ir ideāls kā rīks. Šim uzdevumam mums būs jāizmanto pielāgots vaicājums, dinamiskā saraksta parametri un tā iestatījumi.

Lielākai skaidrībai izveidosim atsevišķu ārējo apstrādi un ievietosim tajā dinamisku sarakstu. Lai īstenotu mūsu plānus, ar tabulu ar nomenklatūru nepietiks, tāpēc mums ir jāatļauj patvaļīgs vaicājums. Tajā mēs aprakstīsim direktorijas kreiso savienojumu ar preču sarakstu un atlikumu reģistru un iestatīsim direktoriju kā galveno tabulu. Šī shēma ļaus lietotājiem, kas strādā ar dinamisku sarakstu, pievienot vai mainīt vienumus.



SELECT NomenclatureList.Name AS Name, GoodsInWarehousesRemainings.Warehouse AS Warehouse, GoodsInWarehousesRemainings.CuantityRemaining AS QuantityRemaining FROM Directory.Nomenclature AS NomenclatureList LEFT CONNECTION RegisterAccumulations,ASWarentaDgoods sAtlikušā programmatūra NomenclatureList.Link = ProductsInWarehousesRemainings.Nomenclature WHERE

Tā kā mūsu pieprasījumā tika izmantots parametrs “CurrentDate”, mums ir jāiestata tā vērtība pirms apstrādes. Lai to izdarītu, veidlapas modulī procedūrā “When CreatedOnServer”, izmantojot standarta komandu, piešķiriet tai funkciju “CurrentSessionDate”. Mums arī ir jāparāda dinamiskais saraksts vadības veidlapā un skaidrības labad jāmaina lauku secība. Velciet atribūtu “Nomenclature Remaining” veidlapas elementos (pa kreisi augšējā daļa) un izmantojiet zilās bultiņas, lai mainītu lauku secību veidlapas tabulā.

&Servera procedūrā, kad izveidota serverī (kļūme, standarta apstrāde) Atlikusī nomenklatūra.Parameters.SetParameterValue("CurrentDate",CurrentSessionDate()) EndProcedure


Jau šajā posmā mēs varam atvērt ārējo apstrādi 1C un redzēt, ka dinamiskais saraksts darbojas. Mēs varam apskatīt atlikumus, izveidot vienumus un grupas un meklēt. Bieži klienti lūdz pievienot iespēju izvēlēties datumu, kurā viņi redzēs atlikumus. Veidlapas ar dinamisku sarakstu gadījumā tas tiek panākts, izmantojot papildu lauku un iestatot parametrus, izmantojot to.

Pievienojiet "Datuma" tipa atribūtu "DateRemaining" un pārsūtiet to uz veidlapas elementiem. Lauka notikumos mēs izveidojam notikumu “OnChange” un ierakstām kodu dinamiskajā pieprasījumā izmantotā parametra “CurrentDate” iestatīšanai. Lai, atverot veidlapu, lietotājs uzreiz saprastu, kurā datumā viņš redz atlikumus, veiksim nelielas izmaiņas procedūrā “When CreatedOnServer”.



&OnServerProcedureWhenCreatingOnServer(Failure, StandardProcessing)RemainingDate = CurrentSessionDate();

Vienums Remains.Parameters.SetParameterValue("CurrentDate", RemainingDate); Procedūras beigas &Klienta procedūrā Remaining DateWhenChanged(Element)Nomenklatūra Remaining.Parameters.SetParameterValue("CurrentDate",RemainingDate); Procedūras beigas

Rezultātā mūsu dinamiskā saraksta veidlapa var atspoguļot atlikumus jebkurā datumā.

  1. Mēs esam apsvēruši tikai nelielu daļu no šī rīku komplekta iespējām, taču ar to jau ir pietiekami, lai saprastu šāda veida dinamiskā saraksta ērtības. Līdzīgs mehānisms tiek izmantots daudziem uzdevumiem, taču tas visbiežāk sastopams tipiskās konfigurācijās pārvaldītajās formās:
  2. Atlase;

Saraksti.

Lai saņemtu dinamisko sarakstu un tā pieprasījumu standarta pārvaldītās formās, izstrādātājam konfiguratorā jāatver vajadzīgā forma. Detalizētās informācijas sadaļā atrodiet informāciju ar datu tipu “DynamicList” (visbiežāk tas ir izcelts treknrakstā). Tās rekvizīti satur pieprasījuma tekstu, atlases un citus iestatījumus.

Drukāt (Ctrl+P)

Dinamiskais saraksts

1. Vispārīga informācija
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 tiek nodots kā dinamiskā saraksta formas atlases parametra elementa vērtība, fiksēts masīvs vai vērtību sarakstu, tad atlasei tiek pievienots nosacījums ar opciju Sarakstā, kura pareizajā vērtībā tiek ievietots vērtību saraksts (uz kuru tiek konvertēts 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 displejs 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
standarta līdzekļi datu kompozīcijas sistēmas. 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:

  • Pēc detaļām tabulas daļas.
  • 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 pieprasījuma izvēles 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ā.
Parā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ūs 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 nepieciešams izvēlēties cita veida parametru, 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. IN citādi meklēšana caur 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ā galvenās tabulas rekvizīta 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:
● Instalēts: tiek izmantota 1. metode (metožu apraksts sniegts iepriekš).
● Atiestatīt: tiek izmantota 2. metode (metožu apraksts ir sniegts iepriekš).

● Rekvizīts Galvenā tabula norāda atlases kritēriju tabulu vai uzdevumu tabulu pēc izpildītāja (Tasks By Performer):
● Atslēga, 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 Dinamiskā lasīšana 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 Dinamiskā lasīšana 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 Dinamiskā lasīšana nav piemērojams.
● Tiek izmantota 3. metode (metožu apraksts sniegts iepriekš).

Attēlošanai dati tiek pārsūtīti klientam 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 veidlapa 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ītā 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 iestatījumus, kas tiek lietoti dinamiskajam sarakstam:
● Iestatījumi – iestatījumi, kas izveidoti režīmā Configurator. Dinamiskā saraksta rekvizīts Pasūtījums nodrošina ātra piekļuve uz dinamiskā saraksta iestatījumu veidotāja rekvizītu 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īgo konfigurāciju, dažādas iespējas iestatījumi tiek apvienoti šā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 rekvizīta List.SettingsComposer.Settings iestatījumos.
● 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 var 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
dinamiskais saraksts (no pieejamajiem šim 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ākā versijā, rekvizīts ir iestatīts uz Automātiski. Īpašuma reālā vērtība šajā gadījumā tiks noteikta šādi:
● Ja saderības režīma rekvizīts ir iestatīts uz Version 8.3.4 (un jaunāku) – vērtība ir Nē;
● 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 rā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ākā versijā, rekvizīts ir iestatīts uz Automātiski. Īpašuma reālā vērtība šajā gadījumā tiks noteikta šādi:
● Ja saderības režīma rekvizīts ir iestatīts uz Version 8.3.4 (un jaunāku) – vērtība ir Nē;
● 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 tam 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 (un konfigurācijas objekta) kolonnās, bet tikai tajās kolonnās, kuras 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 laukam un konfigurācijas objektam tiek izmantota pilna teksta meklēšana). 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 liels skaits rindas 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, meklēšanas vaicājums Atlases vērtība tiks pievienota no šīs tabulas.
● 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, kuros ir tukša saite, vienmēr tiek ievietoti vispirms.

Mājas piezīmes no skatīšanās stikla

21.04.2014. Notiek dinamiskā saraksta datu saņemšana

Ieviests versijā 8.3.6.1977.

Esam ieviesuši iespēju viegli un ērti iegūt attēlotos datus, izmantojot dinamisko sarakstu.

Jums var būt nepieciešami dinamiskā saraksta dati, lai tos izdrukātu nestandarta, “specifiskā” formā. Vai arī, lai ar viņiem veiktu noteiktas darbības. Piemēram, nosūtiet vēstuli visiem darbuzņēmējiem, kurus esat atlasījis sarakstā, pamatojoties uz noteiktiem kritērijiem.

Turklāt ir vairāki uzdevumi, kuros lietotājs papildus elementu sarakstam vēlas redzēt arī kopsavilkuma datus, kas saistīti ar šo sarakstu. Piemēram, atlasot noteiktas preču grupas un noteikta piegādātāja preces, viņš uzreiz vēlas datubāzē redzēt kopējo šādu preču skaitu.

Dinamiskais saraksts pats par sevi nevar sniegt jums šo informāciju. Dinamiskā saraksta mērķis ir nodrošināt ātru lielu datu apjomu apskati. Tāpēc tas nolasa datus gabalos, kas nepieciešami, lai tie tiktu parādīti vienā vai divos ekrānos. Un “neko nezina”, piemēram, par kopējo datu apjomu, kas viņam ir jāuzskaita.

Parasti, lai iegūtu papildu informāciju, ko lietotājs vēlas, jums ir jāpalaiž datu bāzes vaicājums. Tieši tāds pats kā dinamiskajā sarakstā izmantotais.

Jūs kādreiz varējāt to izdarīt. Bet tas ne vienmēr bija viegli. Galu galā papildus sākotnējā pieprasījuma tekstam, kurā darbojas dinamiskais saraksts, jums bija jāzina visas atlases, šķirošanas un citi parametri, ko lietotājs interaktīvi iestatīja tabulā, kurā tiek parādīti dati.

Tagad šo problēmu var atrisināt vienkārši. Dinamiskā saraksta tabulā tagad ir divas jaunas metodes:

  • GetExecutableDataCompositionSchema();
  • GetExecutableDataCompositionSettings().

Tādējādi jūs iegūstat pašu datu izkārtojuma shēmu un, pats galvenais, visus tās iestatījumus, pateicoties kuriem lietotājs redz sarakstu tieši tādu. Viss, kas jums jādara, ir programmatiski izveidot izkārtojumu un parādīt to vērtību kolekcijā (programmas apstrādei) vai izklājlapas dokumentā (rādīšanai):

Rezultātā jūs saņemsit struktūru (vai pārskatu), kas satur kolonnas un rindas, kas tiek parādītas dinamiskā saraksta tabulā.

Svarīgi ir tas, ka izkārtojumā un iestatījumos, ko saņemat no dinamiskā saraksta tabulas, cita starpā tiek ņemta vērā kolonnu redzamība un izmantotā meklēšana. Tā kā iestatījumi tiek iegūti atsevišķi, varat mainīt lauku sastāvu saviem mērķiem un iegūt, piemēram, visas saraksta kolonnas, nevis tikai tās, kuras ir redzamas lietotājam.

Izdrukājot izklājlapas dokumentā, ir vēl viens patīkams brīdis. Parasti pārskata izskats atbildīs dinamiskā saraksta tabulas izskatam laikā, kad tiek saņemta shēma un iestatījumi. Ieskaitot galda nosacīto dizainu. Dažas papildu darbības būs nepieciešamas tikai tad, ja vēlaties pārsūtīt veidlapas nosacījumu noformējumu uz atskaiti.

© 2024 ermake.ru - Par datoru remontu - Informācijas portāls