Pagkuha ng data na ipinapakita sa pamamagitan ng isang dynamic na listahan

Bilang karagdagan sa mga primitive na uri ng data na makikita sa anumang programming language, may mga natatanging uri sa 1C. Ang bawat isa sa kanila ay may sariling mga katangian, pamamaraan, pag-andar, layunin at mga nuances ng paggamit sa system. Ang isa sa mga uri na ito ay isang dynamic na listahan, na lubos na nagpapadali sa maraming mga inilapat na gawain. Iyon ang dahilan kung bakit dapat alam ng mga developer at kayang pangasiwaan ang unibersal na tool na ito.

Mga tampok ng mga dynamic na listahan sa 1C

Ang layunin ng ganitong uri ay magpakita ng impormasyon mula sa anumang mga talahanayan ng database, anuman ang uri nito. Ang mekanismo ay nilikha batay sa SKD at may katulad na mga kakayahan. Ngunit hindi ito nangangahulugan na kailangan mong magsulat ng isang kahilingan sa wikang 1C, kahit na ang pagkakataong ito ay umiiral at dapat gamitin. Maaari mong tukuyin lamang ang talahanayan kung saan ang impormasyon ay interesado ka at ang 1C ay hiwalay na bubuo ng isang simpleng query.

Upang makita kung paano nabuo ang isang dynamic na listahan at kung anong data ang ipinapakita nito, kailangan mong buksan ang mga pinamamahalaang form kung saan ito matatagpuan sa configurator: sa listahan ng mga detalye, gamitin ang menu ng konteksto upang buksan ang mga katangian nito at bigyang pansin ang "Custom Hiling" item. Kung walang checkbox, ipinapakita ng parameter na "Pangunahing talahanayan" ang talahanayan ng database kung saan kinuha ang data. Kung hindi, ipinapakita ng dynamic na listahan ang data ng isang custom na query, na makikita sa pamamagitan ng pagbubukas ng mga setting ng listahan.

Ang custom na scheme ng query ay mas karaniwang ginagamit, dahil nagbibigay ito ng isang mahusay na pagkakataon upang pagsamahin at ipakita ang isang malawak na pagkakaiba-iba ng data. Kadalasan, ang mekanismong ito ay ginagamit upang ipakita ang mga balanse ng bodega, presyo ng item, resibo, gastos o pagbili. Kailangan mong gamitin ito nang maingat, dahil maaaring bumaba ang pagganap para sa mga kumplikadong query.

Ang isa pang kapaki-pakinabang na katangian ng isang dynamic na listahan ay bubukas kapag nag-click ka sa inskripsyon ng "Mga Setting ng Listahan". Binibigyang-daan ka ng menu na ito na gawing mas naa-access at naiintindihan ng mga end user ang impormasyon, kahit na gumagamit ng karaniwang hanay ng mga field. Hindi alintana kung ang kahilingan ay arbitrary o hindi, makikita mo ang tab na "Mga Setting", kung saan maaari mong tukuyin ang:

  • Dynamic na pagpili ng listahan;
  • Mga pangkat;
  • Pag-uuri;
  • Dekorasyon.

Ang paggamit ng mga parameter ay ginagawang unibersal at medyo nababaluktot ang mga dynamic na listahan. Maaari mo ring i-link ang mga ito sa mga detalye sa isang pinamamahalaang form, at magbabago ang data depende sa mga parameter na pinili ng user. Ang paggamit ng mga mekanismong ito ay mauunawaan at pahalagahan sa pamamagitan ng pagsasaalang-alang sa mga halimbawa ng mga problema sa totoong buhay.

Bilang halimbawa, isaalang-alang ang gawain ng pagpapakita ng mga labi ng nomenclature sa isang kinokontrol na anyo. Sa totoong pagsasanay, ang mga naturang order ay madalas na nangyayari sa iba't ibang mga pagsasaayos, at ang isang dynamic na listahan ay perpekto bilang isang tool. Para sa gawaing ito, kakailanganin naming gumamit ng custom na query, mga parameter ng dynamic na listahan at mga setting nito.

Para sa higit na kalinawan, gumawa tayo ng hiwalay na panlabas na pagpoproseso at maglagay ng dynamic na listahan dito. Upang ipatupad ang aming mga plano, ang talahanayan na may mga katawagan ay hindi magiging sapat, kaya kailangan naming payagan ang isang arbitrary na query. Sa loob nito ay ilalarawan namin ang kaliwang koneksyon ng direktoryo na may listahan ng mga item at ang rehistro ng mga balanse at itakda ang direktoryo bilang pangunahing talahanayan. Ang scheme na ito ay magbibigay-daan sa mga user, nagtatrabaho sa isang dynamic na listahan, na magdagdag o magbago ng mga item.



PUMILI NG NomenclatureList.Name AS Name, GoodsInWarehousesRemainings.Warehouse AS Warehouse, GoodsInWarehousesRemainings.QuantityRemaining AS QuantityRemaining AS QuantityRemaining FROM Directory.Nomenclature AS NomenclatureList LEFT CONNECTION RegisterAccumulations.GoodsInWarehousesRemainings(&CurrentsRemainingsOsoftware) clatureList.Link = ProductsInWarehousesRemainings.Nomenclature WHERE

Dahil ginamit ng aming kahilingan ang parameter na "CurrentDate," kailangan naming itakda ang halaga nito bago gamitin ang pagproseso. Upang gawin ito, sa form na module sa "When CreatedOnServer" na pamamaraan, gamit ang isang karaniwang command, italaga ito ang function na "CurrentSessionDate". Kailangan din nating ipakita ang dynamic na listahan sa control form at baguhin ang pagkakasunud-sunod ng mga field para sa kalinawan. I-drag ang attribute na "Nomenclature Remaining" sa mga elemento ng form (kaliwang bahagi sa itaas) at gamitin ang mga asul na arrow upang baguhin ang pagkakasunud-sunod ng mga field sa talahanayan sa form.

&Sa Pamamaraan ng Server Kapag Nilikha sa Server (Pagkabigo, Karaniwang Pagproseso) Nananatili ang Nomenclature. Mga Parameter. Itakda ang ParameterValue("CurrentDate", CurrentSessionDate()) EndProcedure


Nasa yugto na ito, maaari naming buksan ang aming panlabas na pagproseso sa 1C at makita na gumagana ang dynamic na listahan. Maaari tayong tumingin sa mga balanse, lumikha ng mga item at grupo, at maghanap. Kadalasan hinihiling ng mga customer na idagdag ang kakayahang pumili ng petsa kung saan sila makakakita ng mga balanse. Sa kaso ng isang form na may isang dynamic na listahan, ito ay nakakamit sa pamamagitan ng isang karagdagang field at pagtatakda ng mga parameter gamit ito.

Idagdag ang attribute na "DateRemaining" ng uri ng "Date" at ilipat ito sa mga elemento ng form. Sa mga field event, ginagawa namin ang event na "OnChange" at isinusulat namin ang code para sa pagtatakda ng parameter na "CurrentDate" na ginamit sa dynamic na kahilingan. Upang kapag binubuksan ang form ay agad na naiintindihan ng user kung anong petsa niya nakita ang mga balanse, gagawa kami ng maliliit na pagbabago sa pamamaraang "When CreatedOnServer".



&OnServerProcedureWhenCreatingOnServer(Failure, StandardProcessing)RemainingDate = CurrentSessionDate(); Item Remains.Parameters.SetParameterValue("CurrentDate", RemainingDate); Katapusan ng Pamamaraan &Sa Pamamaraan ng Kliyente Natitirang PetsaWhenChanged(Element)Nomenclature Remaining.Parameters.SetParameterValue("CurrentDate",RemainingDate); Katapusan ng Pamamaraan

Bilang resulta, ang aming Dynamic List form ay maaaring magpakita ng mga balanse sa anumang petsa.

Isinaalang-alang lamang namin ang isang maliit na bahagi ng mga kakayahan ng toolkit na ito, ngunit ito ay sapat na upang maunawaan ang kaginhawahan ng ganitong uri ng dynamic na listahan. Ang isang katulad na mekanismo ay ginagamit para sa maraming mga gawain, ngunit ito ay madalas na matatagpuan sa mga tipikal na pagsasaayos sa mga pinamamahalaang form:

  1. Pagpili;
  2. Mga listahan.

Upang makatanggap ng dynamic na listahan at ang kahilingan nito sa mga karaniwang pinamamahalaang form, kailangang buksan ng developer ang gustong form sa configurator. Sa seksyon ng mga detalye, hanapin ang mga detalye gamit ang uri ng data na "DynamicList" (madalas na naka-highlight ito nang bold). Ang mga katangian nito ay naglalaman ng teksto ng kahilingan, mga pagpipilian at iba pang mga setting.

Ang Platform 1C:Enterprise 8.2 ay maaaring gumana sa maraming mga tala sa isang talahanayan ng database sa isang dynamic na paraan, iyon ay, basahin ang data sa mga bahagi. Noong nakaraan sa mga artikulo, tiningnan namin ang mekanismo ng mga dynamic na listahan at mga pamamaraan para sa pag-optimize ng trabaho sa kanila.

Ngayon ay malulutas namin ang isang hindi karaniwang problema para sa mga dynamic na listahan. Kakailanganin naming kalkulahin ang kabuuan gamit ang attribute na "Amount" na dokumento at ipakita ito sa footer ng listahan. Katulad nito, kalkulahin ang average na halaga para sa field na "Rating" at ipakita din ito sa footer ng dynamic na listahan. Ang pagkalkula ng kabuuang mga patlang ay dapat isaalang-alang ang pagpili na itinakda ng user sa mga setting ng listahan ng dokumento.

Ang buong kahirapan ay nakasalalay sa katotohanan na ang isang dynamic na listahan ay hindi tumatanggap ng lahat ng mga entry nang sabay-sabay, ngunit natatanggap ang mga ito sa mga bahagi. Alinsunod dito, hindi kami kaagad makakakuha ng buod ng lahat ng mga dokumento na naaayon sa kasalukuyang pagpili. Paano makalkula ang kabuuan?

Pagpapatupad

At kaya, magpatuloy tayo sa paglutas ng problema. Magsimula tayo sa pagpapalit ng form, pagkatapos ay ilalarawan natin ang algorithm para sa pagkuha ng mga huling halaga.

Form at interface

Una, maghanda tayo ng form ng dokumento upang ipakita ang mga resultang field. Upang gawin ito, magdagdag ng dalawang detalye ng string ng form na "Rating" at "Halaga".

Ang kabuuang halaga para sa mga dokumento ay itatala sa mga detalyeng ito.

Upang ipakita ang mga halaga ng mga detalye sa footer ng isang dynamic na listahan, dapat mong paganahin ang kaukulang opsyon para sa nauugnay na elemento ng form ng listahan (tingnan ang sumusunod na screenshot).

Ngayon ay kailangan mong magpasya kung anong kaganapan ang maa-update ang mga resulta sa footer ng listahan. Para sa kadalian ng pagbuo, idagdag natin ang command na "I-update" at ang kaukulang elemento ng form sa command panel. Kapag naisakatuparan ang command na ito, ia-update ang mga kabuuan.

Sa pagsasaayos ng pagsubok, na maaari mong i-download mula sa link sa dulo ng artikulo, nagdagdag din ako ng kaganapan sa pag-update ng buod kapag nagre-record ng isang dokumento. Sa kasong ito, ginagamit ang mekanismo ng abiso ng form. Hindi na natin ito tatalakayin nang mas detalyado.

Algorithm

Ang pinaka-problemadong bahagi ay nananatili - kailangan mong makuha ang kabuuang mga halaga. Magpatuloy tayo bilang mga sumusunod: bubuo tayo ng isang kahilingan sa database upang makuha ang mga halaga ng mga panghuling field alinsunod sa piniling itinakda sa dynamic na listahan. Ito ay nagkakahalaga ng pagsasaalang-alang na ang pagpili ay maaaring magkaroon ng isang kumplikadong kondisyon mula sa mga grupo.

Tandaan: ang mga setting para sa mga dynamic na listahan (tingnan ang screenshot sa itaas) ay batay sa mga mekanismo ng data composition system (DCS). Alinsunod dito, maaari kang makipagtulungan sa kanila sa katulad na paraan (programmatically pagdaragdag, pagbabago, pagbabasa, atbp.).

Ang mga yugto ng pagbuo ng isang kahilingan para makakuha ng mga resulta ay ang mga sumusunod:

1. Natanggap namin ang paunang kahilingan para sa dynamic na listahan.

Tulad ng nakikita natin, pinipili ng kahilingan ang lahat ng mga detalye ng dokumento. Upang magdagdag ng kaunti pang kumplikado, idinagdag ko ang sarili kong field na "Antas ng Rating", na nabuo ng "PUMILI" na konstruksyon.

2. Binubuo namin ang teksto ng mga kundisyon ng kahilingan (seksyon "SAAN") at pinapalitan ito sa orihinal na kahilingan.

Kailangan naming magdagdag ng mga kundisyon sa natanggap na text ng kahilingan sa pinagmulan alinsunod sa na-configure na pagpili ng dynamic na listahan.

Ang pamamaraan, depende sa uri ng naipasa na elemento ng pagpili (pangkat o elemento ng pagpili), ay bumubuo ng kaukulang teksto ng kundisyon. Ang lahat ng kundisyon sa isang grupo ay napapalibutan ng mga panaklong, at ang mga kasama sa grupo ay napapalibutan din ng mga panaklong. Ang mga kundisyon sa pagitan ng mga expression ay nakadepende sa parent na pangkat (isang "AT" na kundisyon ay inilalagay sa pagitan ng mga nangungunang elemento sa hierarchy).

Kung ang isang elemento ay may set ng flag ng paggamit (ang property na "Paggamit"), pinoproseso ang elemento. Ang nabuong teksto ay nakasalalay din sa kundisyon ng paghahambing (Pantay, hindi katumbas, sa isang listahan, atbp.). Ang pag-asa ng nabuong teksto ng kundisyon sa uri ng paghahambing ay makikita sa sumusunod na function.

Ang isa pang kawili-wiling function, sa aking opinyon, ay "GetFieldTextByView". Ito ay kinakailangan upang palitan ang mga patlang na nabuo ng mga expression ng wika ng query sa mga kundisyon ng query. Sa itaas, idinagdag ko ang field na "Antas ng Rating" sa orihinal na kahilingan. Kung gagamitin ito ng user sa pagpili, dapat na mapalitan ang buong expression sa kondisyon ng query. Nakukuha ng function na ito ang text ng field mula sa kahilingan batay sa representasyon nito. Para sa mga ganitong kumplikadong field, ibabalik nito ang buong teksto ng expression.

Para sa higit pang mga detalye sa algorithm, tingnan ang configuration ng pagsubok na naka-attach sa artikulo. Nasa ibaba ang isang screenshot ng mga setting ng pagpili at ang mga kundisyon ng kahilingan na nabuo para sa kanila.

Ang nabuong teksto ng kundisyon ay idinagdag sa orihinal na kahilingan sa dynamic na listahan. Ang resulta ng query ay inilalagay sa isang pansamantalang talahanayan.

3. Inilalagay namin ang unang query sa isang pansamantalang talahanayan at nagsasagawa ng pagpapangkat ayon sa mga field ng buod na may mga kinakailangang pinagsama-samang function.

Hayaan akong ipaalala sa iyo na kailangan naming makuha ang average na halaga para sa field na "Rating" at ang kabuuang halaga para sa field na "Halaga". Nakabuo na kami ng kahilingan na isinasaalang-alang ang mga pinili; ang natitira na lang ay kalkulahin ang kabuuang mga halaga. Ginagawa ito sa sumusunod na kahilingan:

Pagkatapos isagawa ang kahilingan, pinoproseso namin ang resultang resulta, ibabalik ito sa kliyente at isulat ito sa mga detalye ng form na ginawa namin kanina. Sa huli, nakuha namin ang mga resulta na ipinakita sa footer ng dynamic na listahan (tingnan ang unang screenshot sa artikulo).

Optimality ng solusyon

Sa pangkalahatan, ang diskarte na ito ay maaaring magkaroon ng negatibong epekto sa pagganap. Halimbawa, kung kinakalkula ng programa ang kabuuan nang walang set na seleksyon sa isang dynamic na listahan, kung gayon ang bilang ng mga napiling talaan ay maaaring napakalaki (halimbawa, sa loob ng ilang taon). Bilang resulta, ang bawat pag-update ng mga resulta ay maaaring tumagal ng sampu (!!!) segundo. Samakatuwid, makatuwirang kalkulahin ang mga resulta lamang kung naitatag ang pagpili. Itinakda ko ang mga kundisyong ito sa isang pagsasaayos ng pagsubok.

Dagdag pa, maaari lamang naming kalkulahin ang mga kabuuan at kahilingan sa panig ng server. Samakatuwid, kailangan mong seryosong lumapit sa server, dahil ang pamamaraan para sa pag-update ng mga kabuuan ay maaaring maisagawa nang madalas. Isipin ang isang cash register receipt journal sa isang trade organization, kung saan hanggang 5 resibo ang maaaring ipasok kada minuto, at hanggang 300 resibo kada oras. Sa bawat oras na nakasulat ang isang dokumento, ang mga kabuuan ay ia-update. Samakatuwid, makatuwirang bawasan ang ipinadalang trapiko sa pamamagitan ng paggamit ng mga pamamaraang wala sa konteksto.

Ang sumusunod na screenshot ay nagpapakita ng program code para sa pagtawag ng out-of-context server function na nagbabalik ng mga kabuuan.

Ang unang parameter ay nagpapasa sa dynamic na pagpili ng listahan, ang pangalawa ay isang istraktura ng uri na "SelectionFieldNameSelectionFieldValueType". Pakitandaan na ang unang parameter sa function ay nakuha bilang sarili nitong halaga. Hindi ko masasabi nang eksakto kung bakit, ngunit kung ipapasa mo ang pagpili bilang isang link, ang platform ay nagbibigay ng isang error na nagsasabi na ang pagpili ay hindi mababago. Ang error ay naiwasan lamang sa ganitong paraan.->

Tandaan: ang paggamit ng mga pamamaraang wala sa konteksto ay nagbibigay-daan sa iyo na bawasan ang laki ng ipinadalang trapiko nang ilang beses, dahil ang data ng form ay hindi ipinapadala sa server, hindi tulad ng mga pamamaraan ng server na sensitibo sa konteksto ("&OnServer" na direktiba).

Konklusyon

Sa konklusyon, sasabihin ko na ang pamamaraang ito sa pagkalkula ng mga kabuuan sa isang dynamic na listahan ay hindi tama mula sa punto ng view ng pamamaraan ng pag-unlad. Tamang makuha ang kabuuan sa pamamagitan ng mga rehistro. Halimbawa, sa check journal, muli, maaari nating makuha ang halaga ng pera sa kasalukuyang cash register mula sa mga dokumento o mula sa kaukulang rehistro ng akumulasyon.

Dagdag pa, ang paggamit ng mga rehistro ng akumulasyon ay magbibigay-daan sa iyo upang kalkulahin ang mga kabuuan nang hindi isinasaalang-alang ang pagpili, dahil ang sistema ay gumagana nang mahusay sa nakalkula na mga kabuuan para sa mga nakaraang buwan.

Gayunpaman, ang pamamaraan na inilarawan sa artikulo ay nagaganap sa paglutas ng mga problema.

Mga file para sa pag-download:

I-print (Ctrl+P)

Dynamic na listahan

1. Pangkalahatang impormasyon

Ang isang dynamic na listahan ay isang espesyal na uri ng data na nagbibigay-daan sa iyong magpakita ng di-makatwirang impormasyon mula sa mga talahanayan ng database sa isang form. Upang gawin ito, kailangan mong tukuyin ang talahanayan kung saan mo gustong magpakita ng data, o ilarawan ang resultang pagpili sa isang wika ng query.
Ang mekanismo ay batay sa isang sistema ng komposisyon ng data at nagbibigay ng mga kakayahan para sa pag-uuri, pagpili, paghahanap, pagpapangkat at kondisyong pag-format ng natanggap na data. Sa kasong ito, ang data source ay isang kahilingan, na maaaring awtomatikong nabuo ng system (batay sa tinukoy na data) o manu-manong isinulat ng developer.

kanin. 1. Mga opsyon para sa paglikha ng isang dynamic na listahan

Kapag lumilikha ng mga katangian ng form ng uri DynamicList ang isang developer ay maaaring pumili ng dalawang paraan upang bumuo ng isang query ng data:
● Sa pamamagitan ng pagtukoy sa pangunahing talahanayan - sa kasong ito, kailangan mo lamang na tukuyin ang talahanayan (pangunahing pag-aari ng talahanayan) kung saan mo gustong makatanggap ng data, at ang system ay awtomatikong bubuo ng isang query para sa data (tingnan ang kanang bahagi sa Fig. 1).
● Manu-manong pagbuo ng kahilingan - para dito kailangan mong itakda ang katangian ng Custom na kahilingan (tingnan ang kaliwang bahagi ng Fig. 1). Pagkatapos nito, magiging available ang manu-manong pagbuo ng kahilingan para makakuha ng data mula sa infobase.
Ang isang query ay maaaring kumuha ng data mula sa maraming mga talahanayan, upang maaari mong tukuyin ang isang pangunahing talahanayan. Ito ay upang matukoy ng dynamic na listahan kung aling data ang pangunahin at alin ang pangalawa, at makapili at makapagpakita ng impormasyon nang tama, pati na rin makapagbigay ng mga karaniwang utos. Gayunpaman, kung imposibleng matukoy ang pangunahing talahanayan sa query, kung gayon hindi ito maaaring tukuyin, ngunit pagkatapos
ang dynamic na listahan ay hindi magbibigay ng mga command na nauugnay sa pangunahing talahanayan. Bilang karagdagan, sa kasong ito (nang hindi tinukoy ang pangunahing talahanayan) ang kahusayan ng pagkuha ng data sa pamamagitan ng isang dynamic na listahan ay makabuluhang mababawasan.
Upang pahusayin ang performance, inirerekomenda na ang anumang pagsali na ginagamit sa isang custom na query para lang makuha ang karagdagang data ay gawing opsyonal sa pamamagitan ng paggamit ng isang extension ng wika ng query sa system ng komposisyon ng data.
Para sa isang dynamic na listahan, na siyang pangunahing katangian ng form, posibleng magtakda ng mga halaga ng pagpili gamit ang isang parameter ng form Pagpili. Upang gawin ito, kinakailangan na ang pangalan ng pag-aari ng istraktura ay matatagpuan sa parameter Pagpili,
kasabay ng pangalan ng field ng pagpili ng dynamic na listahan. Sa kasong ito, ang halaga ng property ng istraktura ay itatakda bilang tamang halaga ng elemento ng pagpili. Kung ang isang array, isang nakapirming array o isang listahan ng mga halaga ay ipinasa bilang ang halaga ng isang elemento ng Selection parameter ng isang dynamic na form ng listahan, pagkatapos ay isang kundisyon na may opsyon na In List ay idinagdag sa pagpili, sa tamang halaga kung saan inilalagay ang isang listahan ng mga halaga (kung saan na-convert ang array at fixed array).
Ang isang arbitrary na query sa isang dynamic na listahan ay maaaring isang query kung saan ang isang parameter ay ginagamit upang bumuo ng halaga ng isang field, halimbawa:

PUMILI
PAGPILI
WHEN Delivery.Coefficient = 1 THEN &Presentation
IBA Delivery. Coefficient
END AS Ratio
MULA SA

Bukod dito, kung ang uri ng halaga ng parameter ay naiiba sa uri ng katangian ng bagay (halimbawa, Props1 may uri Numero, at ang halaga ng parameter ay uri Linya), pagkatapos ay upang maipakita nang tama ang field, dapat mong tahasang i-cast ang halaga ng parameter sa nais na uri:

PUMILI
PAGPILI
WHEN Delivery.Coefficient = 1 THEN EXPRESS(&Representation AS String(100)) ELSE Delivery. Coefficient
END AS Ratio
MULA SA
Dokumento.Paghahatid ng Mga Produkto PAANO Ihatid

Kung ang field kung saan nakatakda ang pagpili ay hindi pinagana gamit ang mga functional na opsyon, ang pagpili sa pamamagitan ng naturang field ay hindi naka-install, kahit na ang halaga ng pagpili ay ipinasa bilang mga parameter ng form o mga link ng parameter ng pagpili.
Gamit ang property sa pagbabasa ng Dynamic na data, ipinapahiwatig mo sa isang dynamic na listahan ang pangangailangang magbasa ng data sa maliliit na bahagi
(para sa higit pang mga detalye tungkol sa mga paraan upang makakuha ng data gamit ang isang dynamic na listahan at data caching, tingnan sa ibaba). Anuman ang katangiang ito, nalalapat ang mga sumusunod na kundisyon:

● Kung nakatakda ang view mode sa hierarchical list, ang data lang ng kasalukuyang grupo at ang data ng lahat ng parent element (walang mga anak) ang mababasa.
● Kung nakatakda ang tree view mode, ang data lang mula sa mga open tree node ang mababasa.
● Hindi sinusuportahan ang isang beses na paglo-load ng data ng dynamic na listahan kung nakatakda ang hierarchical na pag-browse (Nakatakda ang display property sa Tree) at nakatakda ang unang tree display sa Palawakin ang lahat ng antas. Upang makakuha ng data, maraming kahilingan sa server ang gagawin dahil may mga node sa ipinapakitang listahan.
Sa loob ng iisang pagkuha ng data, muling ginagamit ng isang dynamic na listahan ang mga dating ginawang pansamantalang talahanayan kung natutugunan ang mga sumusunod na kundisyon:
● Ang listahan ng batch query ay walang mga query pagkatapos ng pangunahing batch query.
● Ang komposisyon ng mga pansamantalang talahanayan at ang mga patlang sa mga ito ay hindi nagbabago mula sa nakaraang pagpapatupad ng kahilingan sa batch.

Sa gawain nito, ginagamit ng dynamic na listahan ang mga halaga ng mga sumusunod na katangian ng mga detalye ng metadata object:
● format,
● format sa pag-edit,
● pahiwatig,
● sign para sa pag-highlight ng mga negatibong halaga,
● maskara,
● sign na multi-line mode,
● tanda ng advanced na pag-edit,
● mode ng password.
Kapag ipinapakita at ine-edit ang pagpili at mga parameter ng sistema ng komposisyon ng data, ginagamit ang format ng pag-edit ng kaukulang field.

2. Mga limitasyon at tampok

Kapag nagtatakda ng pagpili sa isang dynamic na listahan, tandaan na ang pagpili ay hindi makakaapekto sa mga grupo kung ang display mode para sa dynamic na listahan ay Hierarchical List o Tree. Ang ibig sabihin ng "mga pangkat" ay isang elemento ng isang direktoryo o plano ng mga uri ng katangian na ang property na ThisGroup ay nakatakda sa True.
Awtomatikong inilapat ang mga kwalipikasyon ng isang dynamic na listahan sa mga karaniwang detalye na inilalapat ang May-ari, Magulang, Petsa, Panahon at ThisGroup
gamit ang standard na data composition system tool. Ang pagpili, na awtomatikong inilalapat ng isang dynamic na listahan sa mga pangunahing field, ay maaaring ilapat pareho sa pamamagitan ng karaniwang paraan ng sistema ng komposisyon ng data at sa pamamagitan ng direktang pagdaragdag ng mga kundisyon sa text ng kahilingan SA sa mga patlang ng pangunahing talahanayan. Bilang resulta ng paglalapat ng mga seleksyon gamit ang mga tool sa layout, mailalapat ang mga ito sa mga nested query at sa mga parameter ng virtual na mga talahanayan.

Kapag bumubuo ng mga dynamic na listahan, inirerekomendang subukan ang lahat ng mga dynamic na listahan na may mga custom na query. Sa panahon ng proseso ng pag-verify, dapat mong tiyakin na kung ang isang query sa listahan ay naglalaman ng mga nested na query o virtual na mga talahanayan, at sa mga iyon ay available ang mga field na may mga alias na tumutugma sa mga alias ng mga karaniwang detalyeng May-ari, Magulang, Petsa, Panahon, ThisGroup o mga key na field para sa pagpili, kung gayon ang mga field na ito ay wasto na tumutugma sa mga karaniwang detalye kung saan ang kanilang palayaw ay tumutugma. Kung hindi ito ang kaso, dapat mong baguhin ang kahilingan upang tumugma ang mga ito o
iba ang palayaw.
Kung pipiliin mong manu-manong bumuo ng kahilingan, ipapataw ang ilang paghihigpit sa kahilingan:
● Ang paggamit ng UNANG pahayag sa isang dynamic na query sa listahan ay hindi suportado. Kung kailangan mong gumamit ng seleksyon na limitado sa bilang ng mga tala sa isang dynamic na listahan, dapat mong muling gawin ang kahilingan para sa pagbuo ng isang dynamic na listahan sa paraang ang aktwal na nilalaman ng kahilingan ay inilagay sa isang subquery at limitahan ang bilang ng mga tala natanggap sa subquery na ito. Maaari ka ring gumamit ng pansamantalang talahanayan sa halip na isang subquery.
● Hindi sinusuportahan ang pagpili, pag-uuri at pagpapangkat:

  • Ayon sa mga detalye ng mga tabular na bahagi.
  • Tingnan ang mga patlang.
  • Field ng DataVersion.
  • PredefinedDataName field.
  • Field ng uri ng talahanayan ng tsart ng mga account.
  • Field Uri ng Movement ng accumulation register table.
  • Field TypeValues ​​ng characteristic type plan table.
  • Uri ng field Uri;
  • Patlang ng uri ng String (walang limitasyong haba).
  • Patlang ng uri ng BinaryData.

● Ang pag-uuri at pagpapangkat ayon sa mga patlang ng Subconto ay hindi suportado<НомерСубконто>at ViewSubconto<НомерСубконто>Tables MovementsSubconto ng accounting register.
● Ang pagpapangkat ayon sa mga field na mga expression ng wika ng query na naglalaman ng mga pinagsama-samang function ay hindi suportado.
● Kapag napili ang pangunahing talahanayan, ang query sa dynamic na listahan ay may mga sumusunod na paghihigpit:

  • Ang mga pagsali ay hindi suportado.
  • Ang seksyong ORDER BY ay hindi suportado. Dapat kang gumamit ng query nang walang pangunahing talahanayan o itakda ang kinakailangang pag-order sa pamamagitan ng mga setting ng dynamic na listahan.

● Kung ang isang dynamic na listahan ay ipinapakita bilang isang hierarchical na listahan o puno, kung gayon ang isang entry ay hindi ipapakita bilang isang dynamic na listahan maliban kung hindi bababa sa isang magulang ng entry na iyon ang ipinapakita. Sa madaling salita, upang magpakita ng elemento ng isang hierarchical na listahan, dapat ding ipakita ng isang dynamic na listahan ang lahat ng mga magulang ng elementong iyon hanggang sa itaas ng listahan. Sa kasong ito, sa tuktok ng listahan ang ibig naming sabihin ay alinman
ang root element ng hierarchical object na ipinapakita ng isang dynamic na listahan, o ang elementong itinakda bilang ParentTopLevel property ng isang form table extension para sa isang dynamic na listahan.

Ang paggamit sa mga sumusunod na talahanayan bilang pangunahing talahanayan ng isang dynamic na listahan ay hindi suportado:

● Isang talahanayan na walang susi na natatanging tumutukoy sa bawat talaan ng talahanayan (isang sanggunian para sa mga talahanayan ng bagay at isang susi ng tala para sa mga talahanayan ng rehistro). Gayunpaman, maaaring itakda ang mga sumusunod na talahanayan bilang pangunahing talahanayan ng isang dynamic na listahan (sa kabila ng walang susi):

● Subconto table ng accounting register;
● lahat ng virtual na talahanayan ng accounting register, maliban sa MovementsSubconto table;
● mga talahanayan ng mga pare-parehong halaga (kabilang ang talahanayan ng Mga Constant);
● mga talahanayan ng mga panlabas na pinagmumulan ng data na walang mga pangunahing field;
● mga cube table ng external na data source;
● mga talahanayan ng rehistro ng akumulasyon:

  • talahanayan ng rebolusyon;
  • talahanayan ng balanse;
  • talahanayan ng turnover at balanse.

● mga talahanayan ng rehistro ng pagkalkula:

  • talahanayan ng aktwal na panahon ng bisa;
  • data ng iskedyul;
  • simpleng impormasyon.

● Mga talahanayan ng mga tabular na bahagi ng mga bagay;
● Baguhin ang mga talahanayan ng pagpaparehistro (ginagamit sa mga mekanismo ng palitan ng data);
● Mga talahanayan ng pagkakasunud-sunod;
● Mga talahanayan ng conversion (ginagamit sa pana-panahong mga mekanismo ng pag-aayos).
● Isang talahanayan na ginagamit sa isang query lamang sa isang panlabas na pagsali.

Sa madaling salita, ang isang dynamic na listahan na may tinukoy na pangunahing talahanayan ay gagana nang tama kung, bilang resulta ng pagsasagawa ng query,
tinukoy bilang isang mapagkukunan ng data, ang bilang ng mga hilera na nakuha mula sa pangunahing talahanayan ay hindi tumataas (isinasaalang-alang ang ipinataw na pagpili). Kung, bilang isang resulta ng pagsasagawa ng isang query, ang bilang ng mga hilera na nakuha ng query mula sa pangunahing talahanayan ay tataas, ito ay hahantong sa isang paglabag sa pagiging natatangi ng susi ng mga talaan ng talahanayan na ipinapakita ng listahan. Sa kasong ito, dapat mong i-disable ang paggamit ng pangunahing dynamic na talahanayan ng listahan.
Kapag nagtatrabaho sa isang dynamic na listahan, dapat mong isaalang-alang ang mga karapatan sa pag-access sa mga detalyeng ipinapakita ng listahan:
● Ang data mula sa mga column ng dynamic na listahan na minarkahan ng property na Always Use, ngunit kung saan ang kasalukuyang user ay walang karapatan sa View, ay hindi ipinapadala sa client side. Access sa data ng naturang mga column (gamit ang CurrentData property at ang RowData() method)
hindi posible sa panig ng kliyente.
● Kung ang kasalukuyang user ay walang View karapatan sa isang key field ng isang dynamic na listahan, ang pagkuha ng data mula sa dynamic na listahan na iyon ay magreresulta sa isang error sa paglabag sa access.
Para sa isang dynamic na listahan na nagpapakita ng listahan ng enumeration, walang opsyon na interactive na i-customize ang listahan.
Ang komposisyon ng mga column at setting ng dynamic na listahan ay nauugnay sa mga field ng query gamit ang mga alias ng mga field ng pagpili. Kung ang isang alias ay hindi tahasang tinukoy sa isang query para sa isang field ng pagpili at ang field ay isang system, kung gayon ang pangalan ng field para sa English na bersyon ng built-in na wika ay gagamitin bilang isang alias.
Ang tinukoy na relasyon ay nangangahulugan na kapag nagbabago (o tahasang tumutukoy ng isang alias para sa isang field kung saan ginamit ang isang awtomatikong alias)
alias ng field ng query na bumubuo ng data ng dynamic na listahan, mawawala ang mga setting ng attribute ng dynamic na listahan, "mawawala" ng mga elemento ng form ang mga ipinapakitang detalye, magiging mali ang mga setting ng dynamic na listahan, atbp.
Kung ang data source ng isang dynamic na listahan ay isang table (regular o virtual), na nagbibigay-daan sa iyong magtakda ng seleksyon ayon sa tuldok, kung itinakda ng user ang display period sa naturang dynamic na listahan (command Itakda ang pagitan ng petsa...),
ang tinukoy na mga hangganan ng panahon ay itatakda bilang mga halaga ng pagpili o mga parameter ng virtual na talahanayan. Kung sa pamamagitan ng pagpapalawig ng wika
mga query para sa sistema ng komposisyon ng data, ang mga pangalan ng mga parameter ng virtual na talahanayan ay tahasang tinukoy - ang mga parameter na may tinukoy na
mga pangalan. Mga talahanayan kung saan posibleng kontrolin ang panahon para sa pagpapakita o pagproseso ng data:
● magrehistro ng mga talahanayan (pangunahin o virtual), kung saan posible na pumili ayon sa panahon (para sa rehistro ng pagkalkula - sa panahon ng pagpaparehistro);
● pangunahing mga talahanayan ng mga dokumento, proseso ng negosyo at mga gawain;
● pangunahing mga talahanayan ng mga journal ng dokumento;
● pangunahing sequence table, sequence boundary table.
Ang dynamic na list query parameter ay maaaring isang array o isang listahan ng mga value. Gayunpaman, kung ang parameter ay isang listahan ng mga value, ang unang value lang sa listahan ang gagamitin bilang value ng pagpili. Kung ang isang dynamic na listahan ay gumagamit ng isang query na may mga parameter, ang paunang setting ng mga value ng parameter ay dapat gawin sa OnCreateOnServer handler.
Kapag nagpapakita ng dynamic na data ng listahan, tandaan ang mga sumusunod na punto:
● Kapag binago mo sa programmatically ang mga katangian ng isang dynamic na listahan, ang mga command panel na nauugnay sa listahan ay hindi awtomatikong na-repulate.
gamit ang dynamic na listahang ito.
● Kung maraming field ang pinagsama-sama sa isang grupo na may grouping mode sa isang cell at sa mga nakapangkat na field ay mayroong field na ipinapakita bilang isang checkbox, ang checkbox na ito ay palaging ipapakita muna sa resultang cell (sa kaliwa ng teksto).
Sa isang dynamic na listahan, kapag tinutukoy ang uri ng data para sa mga field na may kasamang mga parameter, field, o literal sa mga expression, ang resultang uri ay tinutukoy ng mga uri ng mga field at literal. Kung hindi kasama ang uri ng value ng parameter sa resultang uri ng data, puputulin ang value nito.
Halimbawa, sa sumusunod na halimbawa ang field ay magiging uri ng Numero.

PAGPILI
KAPAG ITO AY KASINUNGALINGAN
TAPOS 5
IBA
&Parameter
WAKAS

Kung itatakda mo ang parameter ng Parameter sa isang value ng ibang uri, ang dynamic na listahan para sa field na iyon ay makakatanggap ng value na 0 (ang default na value para sa uri ng Numero).
Kung sa ganoong sitwasyon kailangan mong pumili ng isang parameter ng ibang uri, inirerekumenda na gamitin ang pagbuo ng wika ng query Ipahayag. Halimbawa,
kung sa halimbawa sa itaas kailangan mong magpasa ng string na hindi hihigit sa 100 character sa parameter, dapat mong palitan ang simpleng indikasyon ng parameter ng isang expression na may tahasang uri ng cast:

PAGPILI
KAPAG ITO AY KASINUNGALINGAN
TAPOS 5
IBA
EXPRESS(&Parameter AS String(100))
WAKAS

Kung ang arbitrary na text ng isang dynamic na kahilingan sa listahan ay gumagamit ng mga parameter sa mga expression ng mga field ng pagpili, dapat mong tahasang ipahiwatig ang uri ng mga parameter gamit ang construct Ipahayag. Halimbawa, sa halip na &Nomenclature AS Nomenclature gamitin
EXPRESS(&Nomenclature AS Directory.Nomenclature) AS Nomenclature. Kung hindi, maaaring gumana ang paghahanap sa pamamagitan ng search bar
hindi tama o nagdudulot ng mga pagkakamali.

3. Mga pamamaraan para sa pagkuha at pag-cache ng data gamit ang isang dynamic na listahan

Kapag kumukuha ng data na ipapakita, ang isang dynamic na listahan ay gumagamit ng isa sa tatlong paraan:
1. Ang pagbabasa mula sa database ay ginagawa sa mga tipak na may bilang ng mga elemento ng data na bahagyang mas malaki kaysa sa bilang ng mga hilera na sabay-sabay na ipinapakita ng listahan (ngunit hindi bababa sa 20). Hindi naka-cache ang data sa server.
2. Ang pagbabasa mula sa database ay ginagawa sa mga pahina ng 1,000 data item. Ang data ay ini-cache sa server. Naka-cache ang hierarchical data: hindi hihigit sa 2 page ng mga elemento ang naka-cache para sa bawat magulang. Hindi hihigit sa 20 mga pahina ng mga item ang naka-cache sa bawat dynamic na listahan. Ang pag-cache ay papaganahin ng isang dynamic na listahan para sa mga sumusunod na talahanayan:
● Pamantayan sa pagpili;
● Lahat ng table ng accounting register, maliban sa main table at MovementsSubconto table;
● Lahat ng accumulation register table, maliban sa main table;
● Lahat ng mga talahanayan ng impormasyon ay nagrerehistro, maliban sa pangunahing talahanayan;
● Lahat ng mga talahanayan ng rehistro ng pagkalkula, maliban sa pangunahing talahanayan;
● Virtual na talahanayan ng mga Gawain ng Tagapagganap;
● Mga talahanayan ng mga panlabas na mapagkukunan na walang mga susi;
● Mga cube mula sa mga panlabas na mapagkukunan.

3. Ang pagbabasa mula sa database ay ginagawa sa mga pahina ng 1,000 elemento. Ang unang bahagi ay katumbas ng 1 pahina. Ang bawat kasunod na bahagi ay tumataas ng 1 pahina (kapag naabot ang dulo ng nakaraang sample). Kung mas malapit ang "view point" na gumagalaw sa dulo ng ipinapakitang data, mas malaki ang sample na binabasa mula sa database, sa kalaunan ay magiging katumbas ng lahat ng ipinapakitang data. Ang data ay ini-cache sa server. Ang maximum na bilang ng mga entry sa cache at dynamic na listahan ay 1,000,000.
Depende sa kung ano ang pinili ng pangunahing talahanayan ng dynamic na listahan at kung anong halaga ang kinukuha ng Dynamic na pagbabasa ng property, isa o ibang paraan ng pagbabasa ng data ang ginagamit:

● Tinukoy ang isa sa mga sumusunod na talahanayan bilang halaga ng property ng Pangunahing talahanayan: exchange plan, direktoryo, listahan ng mga dokumento, journal ng dokumento, mga uri ng plano ng mga katangian, tsart ng mga account, plano ng mga uri ng pagkalkula, proseso ng negosyo, gawain, talahanayan ng mga punto ng proseso ng negosyo:



● Isa sa mga sumusunod na talahanayan ay tinukoy bilang ang halaga ng Main table property: ang pangunahing talahanayan ng rehistro ng impormasyon, ang rehistro ng akumulasyon, ang rehistro ng accounting, ang rehistro ng pagkalkula, ang virtual na talahanayan ng rehistro ng accounting MovementsSubconto:

● Dynamic na katangian ng pagbabasa:
● Naka-install: ang paraan 1 ay ginagamit (paglalarawan ng mga pamamaraan ay ibinigay sa itaas).
● I-reset: Ginagamit ang Paraan 2 (ibinigay sa itaas ang paglalarawan ng mga pamamaraan).

● Ang property ng Main table ay naglalaman ng selection criterion table o task table ayon sa executor (Tasks By Performer):
● Susi sa pagtukoy ng row ng talahanayan: Link.

● Tinutukoy ng Main table property ang virtual na talahanayan ng rehistro ng impormasyon na SliceFirst o SliceLast:
● Susi sa pagkilala sa row ng talahanayan: RecordKey.
● Ang Dynamic na pagbabasa na katangian ay hindi naaangkop.
● Ginagamit ang Paraan 2 (nakasaad sa itaas ang paglalarawan ng mga pamamaraan).

● Ang property ng Main table ay nakatakda sa isa sa mga virtual register table, maliban sa mga nakalista sa itaas:

● Ang Dynamic na pagbabasa na katangian ay hindi naaangkop.

● Hindi tinukoy ang property ng Main table, ginagamit ang isang arbitrary na query:
● Susi sa pagtukoy ng row ng talahanayan: Numero.
● Ang Dynamic na pagbabasa na katangian ay hindi naaangkop.
● Paraan 3 ay ginagamit (paglalarawan ng mga pamamaraan ay ibinigay sa itaas).

Para sa pagpapakita, ang data ay inililipat sa kliyente sa mga bahagi, ang laki nito ay katulad ng laki ng bahagi sa unang paraan ng pagbabasa ng data (inilarawan sa simula ng seksyong ito).
Kapag gumawa ka ng form na naglalaman ng dynamic na listahan, 45 data item para sa bawat nakikitang dynamic na listahan ang unang ipapasa sa client (kung ang listahan ay may higit sa 45 item). Kung ang dynamic na listahan ay nagpapakita ng higit sa 45 na mga hilera, isang karagdagang tawag sa server ang gagawin kapag ang form ay binuksan upang makuha ang nawawalang mga item ng data.

4. Mga setting ng dinamikong listahan

Mga setting ng Property List - ang pag-click sa Open hyperlink ay magbubukas ng isang form para sa pag-set up ng pagpapakita ng isang dynamic na listahan. Ang pag-set up ng isang listahan ay ginagawa sa parehong paraan tulad ng mga katulad na operasyon sa isang sistema ng komposisyon ng data.


kanin. 2. May kundisyon na pag-istilo ng isang dynamic na listahan

Kapag nagse-set up ng dynamic na listahan sa configuration, may pagkakataon ang developer ng application na gawin ang sumusunod:
● itakda ang mga field kung saan mo gustong pag-uri-uriin;
● ilarawan ang pagpili ng data sa listahan;
● tukuyin ang mga setting ng kondisyon na hitsura;
● itakda ang mga field kung saan mo gustong pagpangkatin ang data.
Makatuwirang itakda ang pag-uuri sa developer kung hindi ka nasisiyahan sa default na pag-uuri na na-install ng system.

PAYO. Dapat tandaan na ang mahinang pagpili ng mga field ng pag-uuri (pati na rin ang pagpili at pagpapangkat ng data) ay negatibong nakakaapekto sa kahusayan ng dynamic na sampling.
Mula sa pananaw ng isang developer ng application, ang mga setting ng dynamic na listahan ay binubuo ng ilang bahagi na magkakaugnay. Ang pangunahing katangian kung saan maaari mong pamahalaan ang mga setting ng isang dynamic na listahan ay LinkerSettings. Naglalaman ang object na ito ng tatlong set ng mga setting na, kapag tumatakbo ang system, tinutukoy ang mga huling setting na inilapat sa dynamic na listahan:
● Mga Setting – ginawa ang mga setting sa Configurator mode. Nagbibigay ang property ng Order ng dynamic na listahan ng mabilis na access sa Settings.Order property ng tagabuo ng mga setting ng dynamic na listahan, kaya ang mga sumusunod na construct ay katumbas:
List.Order at List.SettingsLinker.Settings.Order;
● UserSettings – ito ang mga setting na binago ng user sa 1C:Enterprise mode;
● Mga Nakapirming Setting – ang mga setting na ito ay itinakda mula sa built-in na wika. Naglalaman din ang property na ito ng mga value ng pagpili na inililipat sa form gamit ang mga parameter nito. Ang mga katangian ng dynamic na listahan na Selection, Options, Conditional Appearance ay nagbibigay ng mabilis na access sa mga nakapirming setting ng tagabuo ng mga setting ng dynamic na listahan. Sa madaling salita, ang mga tawag na ito ay katumbas ng:
List.Settings Composer.FixedSettings.Selection at List.Selection.
Kapag lumilikha ng mga panghuling setting para sa isang dynamic na listahan, ang iba't ibang mga pagpipilian sa mga setting ay pinagsama bilang mga sumusunod:
● Kung ang anumang uri ng mga setting ay ganap na minarkahan bilang custom, ang mga resultang setting ay kasama ang mga custom na setting
(List.ComposerSettings.UserSettings). Bukod dito, kung ang anumang mga elemento ng mga setting ay minarkahan bilang hindi magagamit, ang mga setting na ito ay ilalagay sa mga magreresultang setting mula sa List.Settings Composer property. Mga setting.
● Kung ang anumang uri ng mga setting ay minarkahan bilang custom na hindi ganap, ngunit elemento sa bawat elemento, kung gayon:
● Ang mga item na minarkahan bilang custom ay isasama sa mga resultang setting mula sa List.SettingsComposer.CustomSettings property.
● Ang mga item na minarkahan bilang hindi available ay isasama sa mga resultang setting mula sa List.SettingsComposer.Settings property.
● Ang mga nakapirming setting (List.SettingsComposer.FixedSettings) ay idinaragdag sa mga resultang setting “as is”. Kasabay nito, hindi katanggap-tanggap na ang mga nakapirming at setting ng user ay naglalaman ng mga setting ng parehong pangalan, halimbawa, pagpili na may parehong kaliwang halaga sa kundisyon.

Kung ang mga setting ng dynamic na listahan ay naglalaman ng mga setting na hindi pinagana gamit ang mga functional na opsyon, ang mga setting na ito ay aalisin sa listahan ng mga available na setting kapag ang data ng dynamic na listahan ay nakuha.
Ang pagkontrol kung aling mga setting ang magiging available sa user at kung alin ang hindi ay ginagawa sa window ng mga setting ng dynamic na listahan.


kanin. 3. Kontrolin ang pagsasama sa mga setting ng user

Ang checkbox sa ibaba ng window (tingnan ang Fig. 3) ay responsable para sa paglalagay ng buong uri ng mga setting sa mga setting (normal o mabilis). Available ang feature na ito para sa pagpili, pag-order, pagpapangkat, at pagkondisyon. Kung ang mga setting ay tinukoy sa Quick Select editing mode, pagkatapos ay sa User Settings Group property ng talahanayan ng form na nagpapakita ng dynamic na listahan, dapat mong tukuyin ang isang walang laman na grupo ng form kung saan ang mga elemento na nauugnay sa mabilis na mga setting ng user ng ang dynamic na listahan ay matatagpuan. Kung hindi tinukoy ang grupo, hindi ipapakita ang mga setting ng mabilisang user sa form. Posible rin na tahasan ang paggawa ng mga custom na setting gamit ang built-in na wika gamit ang CreateCustomSettingsFormItems() na paraan ng dynamic na extension ng listahan.
Posible ring pumili kung maglalagay ng mga partikular na item sa mga setting sa mga setting ng user. Ang tampok na ito ay magagamit para sa pagpili at kondisyonal na mga elemento ng disenyo (tingnan ang Larawan 3).

Kung kailangan mo ng anumang mga espesyal na setting na mai-load kapag nagbubukas ng isang dynamic na listahan, maaari itong gawin sa dalawang paraan:
● Gamit ang parameter ng dynamic na form ng listahan na UserSettings. Ang data na nasa parameter na ito ay ilalagay sa mga setting ng dynamic na listahan ng user.
● Gamit ang dynamic list form parameterUserSettingsKey. Kung tinukoy mo ang parameter na ito kapag binubuksan ang isang form, ang mga setting ng user na matatagpuan sa storage ng mga setting na may tinukoy na key ay mailo-load sa dynamic na listahan, na siyang pangunahing katangian ng form.

5. Maghanap sa isang dynamic na listahan

Ang isang dynamic na listahan na matatagpuan sa form ay nagbibigay ng kakayahang interactive na maghanap sa ipinapakitang data. Ang paghahanap ay maaaring isagawa gamit ang mga sumusunod na tool: search bar, search dialog, paghahanap para sa kasalukuyang halaga, gamit ang kasaysayan ng paghahanap at pagtatakda ng panahon (para sa mga dynamic na listahan na nagpapakita ng mga dokumento). Ang resulta ng paghahanap ay isang limitadong hanay ng mga tala
isang dynamic na listahan (ng mga available sa isang partikular na user) na tumutugma sa pamantayan sa paghahanap.
Upang kontrolin ang mga kakayahan sa paghahanap ng isang dynamic na listahan, mayroong tatlong katangian ng talahanayan sa pinamamahalaang form na nagpapakita ng dynamic na listahan:
● Posisyon ng string ng paghahanap – tinutukoy ang posisyon ng string ng paghahanap. Maaaring kunin ang mga sumusunod na value: Auto, Command Bar, None, Top, Bottom.


kanin. 4. Search string sa isang dynamic na listahan

Kung ang halaga ng property na ito ay nakatakda sa Command Panel, ang string ng paghahanap ay ipapakita sa form na command panel (kung ang dynamic na listahan ay ang pangunahing katangian ng form) o sa command panel na nauugnay sa dynamic na listahan. Ang search bar na nakalagay sa command bar ay palaging pinindot sa kanang gilid ng command bar (kasama ang mga button na matatagpuan sa kanan ng search bar).
Kung ang property ay nakatakda sa Hindi, ang string ng paghahanap ay wala sa form, at kapag sinimulan mong i-type ang string ng paghahanap, isang dialog ang magbubukas.
Kung ang property ay nakatakda sa Top, ang search bar ay matatagpuan sa pagitan ng list command bar at ng table na nagpapakita ng dynamic na listahan. Kung ang property ay nakatakda sa Bottom, ang search string ay ilalagay kaagad pagkatapos ng talahanayan na nagpapakita ng dynamic na listahan.


● Kung ang property ng Compatibility Mode ay nakatakda sa Huwag gumamit o mas luma sa Bersyon 8.3.4 – ang value ay Command Panel.
Pumunta sa linya ng paghahanap tulad ng sumusunod:
● Sa pamamagitan ng pagpindot sa key combination na Ctrl+F;
● Mouse;
● Kapag nagsimula kang mag-type sa isang dynamic na listahan (isinasaalang-alang ang halaga ng SearchOnTyping property ng dynamic na listahan).
● View State Position – inilalarawan kung saan ipapakita ang view state: anong mga field ang hinanap at anong value
hinanap sa bawat larangan. Maaaring kunin ang mga sumusunod na value: Auto, None, Top, Bottom


kanin. 5. Katayuan ng paghahanap sa dynamic na listahan

Kung ang property ay nakatakda sa Hindi, ang view state ay hindi makikita sa form. Bilang resulta, posibleng matukoy kung nakumpleto na ang paghahanap o hindi lamang sa pamamagitan ng pagkakaroon ng button na Kanselahin ang Paghahanap.
Kung ang property ay nakatakda sa Top, ang view state ay makikita sa pagitan ng list command bar at ng table na nagpapakita ng dynamic na listahan. Kung ang property ay nakatakda sa Bottom, ang view state ay ilalagay kaagad pagkatapos ng table na nagpapakita ng dynamic na listahan.
Kung ang form ay ginawa sa 1C:Enterprise na bersyon 8.3.4 at mas maaga, ang property ay nakatakda sa No. Kung ginawa ang form sa 1C:Enterprise na bersyon 8.3.5 at mas luma, itatakda ang property sa Auto. Ang tunay na halaga ng ari-arian sa kasong ito ay matutukoy tulad ng sumusunod:
● Kung ang property ng Compatibility Mode ay nakatakda sa Bersyon 8.3.4 (at mas mababa) – value No;
● Kung ang property ng Compatibility Mode ay nakatakda sa Huwag gumamit o mas luma sa Bersyon 8.3.4 – value Top;
● Search Control Position – Tinutukoy kung saan lalabas ang search control button. Ang button ay nagbubukas ng menu na naglalaman ng sumusunod na impormasyon: mga command na Hanapin ayon sa kasalukuyang halaga, Advanced na paghahanap, Kanselahin ang paghahanap, Itakda ang panahon (para sa mga listahan ng dokumento at journal) at kasaysayan ng query sa paghahanap (huling 5 query). Maaaring kunin ng property ang mga sumusunod na value: Auto, None, Command panel.


kanin. 6. Pamamahala ng paghahanap sa isang dynamic na listahan

Kung ang property ay nakatakda sa Hindi, ang search control button ay wala sa form (ngunit ang mga command ay magiging available gamit ang More menu). Ang value ng property ng Command Bar ay naglalagay ng button sa command bar na nauugnay sa isang table na nagpapakita ng isang dynamic na listahan.
Kung ang form ay ginawa sa 1C:Enterprise na bersyon 8.3.4 at mas maaga, ang property ay nakatakda sa No. Kung ginawa ang form sa 1C:Enterprise na bersyon 8.3.5 at mas luma, itatakda ang property sa Auto. Ang tunay na halaga ng ari-arian sa kasong ito ay matutukoy tulad ng sumusunod:
● Kung ang property ng Compatibility Mode ay nakatakda sa Bersyon 8.3.4 (at mas mababa) – value No;
● Kung ang property ng Compatibility Mode ay nakatakda sa Huwag gumamit o mas luma sa Bersyon 8.3.4 – ang value ay Command Panel;
Kung mayroong ilang mga command panel sa isang form, ang pinagmulan ng mga command na kung saan ay isang talahanayan ng pinamamahalaang form (nagpapakita ng dynamic na data ng listahan), pagkatapos ay ang linya ng paghahanap at ang search control button ay matatagpuan sa isang command panel lamang:
● O sa command bar ng mismong dynamic na listahan (kung naka-enable ang auto-completion)
● O sa alinman sa mga natitirang command panel.

Tingnan natin ang mga tampok ng paggamit ng paghahanap sa isang dynamic na listahan:
● Upang gawing maginhawang gamitin ang paghahanap (kabilang ang sa mga tuntunin ng pagganap), dapat mong paganahin ang buong-text na paghahanap para sa lahat ng mga bagay sa pagsasaayos na maaaring magamit bilang pangunahing talahanayan ng dynamic na listahan. Gayundin, ang buong-text na paghahanap ay dapat isama ang lahat ng mga detalye ng mga bagay sa pagsasaayos na maaaring ipakita sa isang dynamic na listahan at kung saan maaaring kailanganin ang isang paghahanap.
Kung ang isang bagay ay hindi kasama sa paghahanap ng buong teksto, kung gayon ang mekanismo ng paghahanap na pinag-uusapan ay gagana, ngunit ang pagganap ng naturang paghahanap ay magiging napakababa. Hindi inirerekumenda na gumamit ng paghahanap sa mga bagay na hindi na-index ng full-text na paghahanap.
● Ang solusyon sa application ay dapat na may nakagawiang gawain na regular na nag-a-update ng full-text na index ng paghahanap.

● Hindi ginagawa ang paghahanap sa lahat ng column ng dynamic na listahan (at configuration object), ngunit sa pamamagitan lang ng mga column na iyon na ipinapakita sa table.
● Ang paghahanap sa isang dynamic na listahan ayon sa mga field ng mga uri ng sanggunian na may arbitrary na representasyon ay ginagawa ng mga field na ginagamit para sa
pagbuo ng representasyon (tingnan dito). Ang mga field na kasama sa view ay nakuha na isinasaalang-alang ang ViewFieldGettingProcessing() handler ng kaukulang bagay.
● Para sa mga dynamic na listahan na may tinukoy na pangunahing talahanayan, ang buong-text na paghahanap ay ginagamit sa pangunahing talahanayan. Ang lahat ng hindi na-index na link mula sa pangunahing talahanayan ay idaragdag sa mga resulta ng paghahanap ng buong teksto. Ang resulta ng isang full-text na paghahanap para sa pangunahing talahanayan ay ginagamit bilang isang seleksyon batay sa mga pangunahing field. Ang isang buong-text na paghahanap ay ginagawa din sa mga field na ipinapakita sa listahan mula sa iba pang mga talahanayan (kung ang field at configuration object ay gumagamit ng full-text na paghahanap). Kung hindi pinagana ang buong paghahanap ng teksto, maaaring ang data
natagpuan, ngunit ang paghahanap mismo ay magiging napakabagal.
Kung may naganap na error habang sinusubukang magsagawa ng full-text na paghahanap, ang paghahanap ay isasagawa nang hindi inilalapat ang full-text na paghahanap.
Halimbawa, ito ay maaaring mangyari kapag naghahanap ng isang titik at isang malaking bilang ng mga linya sa base ng impormasyon na nagsisimula sa liham na ito.
● Kung ang isang seleksyon na may uri ng paghahambing na Equals ay ginagamit para sa isang field sa pangunahing talahanayan ng isang dynamic na listahan, pagkatapos ay kapag nagsasagawa ng isang buong-text na paghahanap, isang halaga ng pagpili ay idaragdag sa query sa paghahanap para sa talahanayang ito.
● Ang string ng paghahanap ay nahahati sa mga salita. Ang pagkahati na ito ay isinasagawa ayon sa mga sumusunod na patakaran:
● Naputol ang linya gamit ang mga character ng space at tab bilang mga delimiter.
● Pagkatapos, ang bawat resultang fragment ay pinoproseso:
● Kung ang fragment ay isang representasyon ng petsa (may oras o wala) batay sa kasalukuyang lokal na session, ang salita ay ang fragment.
● Kung hindi, ang fragment ay hinati-hati pa gamit ang mga character na ",.-/\" bilang mga delimiter. Sa kasong ito, ang bawat resultang fragment ng string ay kinuha bilang isang salita.

● Para sa bawat salita, ang sarili nitong hanay ng mga kundisyon ay nabuo, na pinagsama-sama "ng OR". Ang hanay ng mga kundisyon na ito ay nabuo kung ang isang full-text na paghahanap para sa isang ibinigay na salita sa talahanayan kung saan nakuha ang field na ito ay nagbalik ng hindi bababa sa isang bagay, o isang buong-text na paghahanap ay hindi ginamit para sa field na ito. Ang mga kondisyon ay nabuo tulad ng sumusunod:
● Para sa isang field ng uri ng String, ang kundisyon ay FieldName LIKE %Word%.
● Para sa isang field ng uri ng Numero, ang kundisyon ay may form na FieldName=Value, kung saan ang Value ay isang salita na na-convert sa uri ng Numero. Kung hindi maisagawa ang cast, hindi isasagawa ang field search.
● Ang salita ay tinitingnan bilang isang substring sa default na representasyon ng Boolean na tinukoy para sa kasalukuyang session. Kung ang paghahanap na salita ay matatagpuan sa isang view, pagkatapos ay hahanapin nito ang halaga na tumutugma sa view kung saan natagpuan ang salita. Sa kasong ito, ang paghahanap ay hindi gumagamit ng mga view na tinukoy gamit ang Format form na katangian ng elemento.
● Para sa isang field na uri ng Petsa, ang kundisyon ay mukhang FieldName>=StartofDay(Word) ANDFieldName<=КонецДня(Слово). Если Слово подобно дате, в которой год
ipinahiwatig ng isa o dalawang digit, ang taon ay mababawasan sa kasalukuyang siglo at ang halagang ito ay idaragdag sa kondisyon ng paghahanap.
● Para sa mga patlang ng sanggunian, ang isang paghahanap ay isinasagawa sa mga patlang na ginamit upang mabuo ang reference na view. Sa bawat isa sa mga field na ito, maghanap
isinagawa ayon sa mga alituntuning inilarawan sa itaas. Ang paghahanap ay hindi gumagamit ng mga field na ginamit upang bumuo ng custom na representasyon ng data.
Ang hanay ng mga kundisyon para sa bawat salita ay pinagsamang "AT".
● Para sa mga value na may leading zero, maaari mong hanapin ang alinman sa string na may leading zero o ang string na tinukoy nang walang leading zero.
● Kung ang isang dynamic na listahan ay nagpapakita ng isang listahan ng mga dokumento o isang kasaysayan ng dokumento, ang agwat ng view ng listahan na iyong tinukoy ay ipinapakita din sa lugar ng form na nakalaan para sa pagpapakita ng status ng view para sa nais na dynamic na listahan.
● Ang search by current value command ay hindi available kung ang pangunahing talahanayan ng dynamic na listahan ay ang selection criterion.
● Ang mga nahanap na mga fragment ng string ay naka-highlight kapag ipinakita sa talahanayan.
● Isang string ng paghahanap lamang ang sinusuportahan para sa isang column. Kapag nagdaragdag ng bagong query sa paghahanap para sa isang column na hinahanap na, ang expression ng paghahanap ay papalitan sa halip na ang dalawang query sa paghahanap ay idinaragdag nang magkasama.
● Kung ang form ay walang pagdaragdag ng elemento ng form ng form na Display string ng paghahanap na nauugnay sa talahanayan (pagdaragdag ng elemento ng form Source property) na nagpapakita ng isang dynamic na listahan, pagkatapos ay ang pagpindot sa kumbinasyon ng Ctrl+F key ay magbubukas ng dialog ng paghahanap.


kanin. 7. Diyalogo sa paghahanap

Kung ang form ay naglalaman ng isang form na pagdaragdag ng elemento ng form na Search string display na nauugnay sa isang talahanayan (form element addition Source property) na nagpapakita ng isang dynamic na listahan, pagkatapos ay upang buksan ang dialog ng paghahanap, dapat mong gamitin ang Advanced na command sa paghahanap.
● Kapag ginagamit ang dialog ng paghahanap, isaisip ang mga sumusunod na punto:
● Ang pagbubukas ng dialog ng paghahanap gamit ang isang keyboard shortcut ay nagiging sanhi ng paglabas ng halaga ng kasalukuyang cell sa linyang Ano ang hahanapin, at ang halaga ng switch na Paano maghanap ay nakatakda sa Ayon sa eksaktong tugma.

● Ang pagbubukas ng dialog ng paghahanap sa pamamagitan ng direktang pagsisimula sa pag-type ng string ng paghahanap sa dynamic na listahan ay humahantong sa katotohanan na ang halaga ng How to search switch ay nakatakda sa value Sa pamamagitan ng bahagi ng string, at ang nai-type na text ay mapupunta sa What para maghanap ng field.

6. Pagkuha ng data na ipinapakita sa pamamagitan ng isang dynamic na listahan

Kapag gumagamit ng mga dynamic na listahan, maaaring kailanganin mong magsagawa ng iba't ibang pagkilos sa data na kasalukuyang ipinapakita ng dynamic na listahan, na isinasaalang-alang ang mga pinili at paghahanap na inilapat. Kasama sa mga naturang aksyon ang: pagpoproseso ng ipinapakitang impormasyon, halimbawa, muling pagpapadala ng mga napiling dokumento o pagtatakda ng ilang detalye para sa mga napiling bagay, pagbuo ng listahan ng mga available na bagay (na may disenyo, atbp.), halimbawa, para sa pag-print o pag-save sa isang dokumento ng spreadsheet.
Upang makakuha ng data na ipinapakita ng isang dynamic na listahan, dapat mong gamitin ang GetExecutableDataCompositionSchema() at
GetExecutableDataCompositionSettings().
Halimbawa ng pagtanggap ng data:

Schema = Elements.List.GetExecutableDataCompositionSchema();
Mga Setting = Items.List.GetExecutableDataCompositionSettings();
LayoutLinker = newDataCompositionLayoutLinker();
LayoutLayout = LayoutComposer.Execute(Scheme, Settings);
CompositionProcessor = newDataCompositionProcessor;
LayoutProcessor.Initialize(LayoutLayout);
OutputProcessor = Bagong OutputProcessorDataCompositionResultInTabularDocument;
ReturnOutputProcessor.Output(CompositionProcessor);

Ang pagkuha ng data sa isang koleksyon ng halaga (talahanayan o listahan ng mga halaga) ay ginagawa sa parehong paraan.
Ang pagkuha ng dynamic na data ng listahan sa ganitong paraan ay may ilang mga tampok na dapat isaalang-alang kapag bumubuo ng mga solusyon sa application:
● Ang sumusunod na disenyo ng talahanayan ay hindi suportado:
● Alternating mga kulay ng linya;
● Larawan ng header;
● Larawan ng basement;
● Kulay ng background ng footer;
● Kulay ng teksto ng footer;
● Font ng footer;
● Pahalang na posisyon sa basement;
● Password mode.
● Ang kondisyong hitsura na tinukoy para sa isang pinamamahalaang form ay hindi suportado;
● Kapag nag-order ng hierarchical table sa pataas na pagkakasunud-sunod ayon sa isang field ng uri ng Link, ang mga talaan na naglalaman ng isang walang laman na link ay palaging inuuna.

Sa proseso ng pag-finalize ng mga configuration, ang bawat 1C programmer ay nakakaharap ng mga dynamic na listahan.
Ang isang dynamic na listahan ay isang interface object na ginagamit upang ipakita ang iba't ibang mga listahan ng mga database object o non-object data - magrehistro ng mga entry.
Halimbawa, ang isang dynamic na listahan ay ginagamit upang magpakita ng isang listahan ng mga item:

Upang ipakita ang mga kakayahan ng isang dynamic na listahan, gumawa tayo ng panlabas na pagproseso at idagdag ang pangunahing form. Magdagdag tayo ng bagong attribute sa form na may uri na "Dynamic List." Pumunta tayo sa mga pag-aari nito at tingnan kung ano ang naroroon.
Interesado kami sa property na "Custom request". Ang pagpapagana nito ay magpapakita sa amin ng lahat ng mga kakayahan ng isang dynamic na listahan. Magagawa naming magsulat ng isang kahilingan gamit ang halos lahat ng mga kakayahan ng 1C: Enterprise system query language. Lagyan ng check ang kahon at i-click ang link na "Buksan":

Bilang default, magpapakita ang aming listahan ng listahan ng mga item na may kabuuang balanse para sa lahat ng warehouse. Upang ipatupad ang naturang listahan, idagdag ang sumusunod na query:


Bilang pangunahing talahanayan, pipiliin namin ang "Directory.Nomenclature", ito ay magbibigay-daan sa amin upang gumana sa isang dynamic na listahan, tulad ng sa isang listahan ng mga nomenclature - magdagdag, baguhin, markahan ang mga elemento ng direktoryo para sa pagtanggal. Gayundin, ang pag-install ng pangunahing talahanayan ay ginagawang posible na dynamic na basahin ang data - nangangahulugan ito na ang pagpili ay gagawin sa mga bahagi, kung kinakailangan.
Susunod na kailangan naming lumikha ng mga elemento ng form para sa aming listahan:

Kung susubukan naming patakbuhin ang aming pagproseso sa form na ito, magkakaroon kami ng error:


Upang alisin ito, kailangan mong magtakda ng halaga para sa parameter na "Panahon". Upang gawin ito, maaari mong gamitin ang paraan ng "SetParameterValue" ng koleksyon ng "Mga Parameter" ng dynamic na listahan. Ang pamamaraan ay tumatagal ng dalawang mga parameter:
. "Parameter" - Uri: String; DataCompositionParameter. Ang pangalan ng parameter o parameter ng komposisyon ng data na ang halaga ay gusto mong itakda;
. "Halaga" - Uri: Arbitraryo. Ang halaga na itatakda.
Maaaring tawagan sa "OnCreateOnServer" handler ng form:

Mayroon ka bang tanong o nangangailangan ng tulong mula sa isang consultant?


Bibigyan namin ang user ng pagkakataong baguhin ang panahon para sa pagtanggap ng mga balanse. Upang gawin ito, idagdag ang attribute at ang elemento ng form na "Petsa" na nauugnay dito:


Sa tagapangasiwa ng "OnChange" ng elemento ng form na "Petsa", tatawagin namin ang pamamaraang "SetParameterValue", na ipinapasa ang halaga ng nauugnay na katangian bilang halaga. Sa katulad na paraan, baguhin natin ang pamamaraang "Kapag Lumikha Sa Server" ng form. Dahil ang pamamaraan ay magagamit sa kliyente, hindi na kailangang tawagan ang server:


Ngayon kapag nagbago ang petsa, awtomatikong maa-update ang mga balanse:




Ipagpalagay natin na gustong makita ng mga user ang alinman sa mga kasalukuyang balanse o nakaplanong resibo. Isaalang-alang natin ang isa sa mga opsyon sa pagpapatupad. Magdagdag tayo ng attribute ng boolean type form at isang nauugnay na switch:


Kapag binabago ang halaga ng switch, babaguhin namin ang text ng kahilingan. Para magawa ito, gagamitin namin ang event handler na "Sa Pagbabago" para sa elemento ng form na "Ipakita ang Dami Sa Resibo." Kailangan nating baguhin ang property na "QueryText" ng dynamic na listahan depende sa value ng attribute. Dahil ang property na ito ay hindi available sa client, ang isang server procedure ay dapat tawagin:


Resulta ng mga pagbabagong ginawa:



Sa wakas, natupad na ang pangarap ng bawat pitong taong gulang. Gaano kadalas humingi ng normal na seleksyon ng mga item ang mga user ng program 7.7? Upang makita mo ang mga balanse, presyo, at itakda ang mga filter. Kinailangan naming makabuo ng iba't ibang mga trick, kabilang ang pagsusulat ng mga panlabas na bahagi. Sa 1C 8.2, lumitaw ang mga dynamic na listahan. Iminumungkahi kong isaalang-alang kung ano ito at kung ano ang maibibigay nila sa atin sa 1C 8.3.

Isaalang-alang natin bilang batayan ang isang tiyak na pagsasaayos ng pagsubok ng 1C: "Enterprise Accounting 3.0". Hindi kami pipili ngayon, magdaragdag lang kami ng isa pang form ng pagpili sa direktoryo ng "Nomenclature" at pansamantalang gagawin itong pangunahing:

Kapag ginawa, ang system ay bilang default na magdagdag ng field ng talahanayan ng uri ng "Dynamic List" sa form.

Pumunta tayo sa mga pag-aari nito at tingnan kung ano ang naroroon.

Una sa lahat, interesado kami sa checkbox na "Custom na kahilingan". Ipapakita nito sa amin ang lahat ng mga pakinabang ng isang dynamic na listahan. Magkakaroon kami ng pagkakataong magsulat ng sarili naming kahilingan, na may mga parameter. Lagyan ng check ang kahon at i-click ang link na "Buksan":

Magbubukas ang isang window na may natapos na code sa . Sa ngayon, ang lahat ng mga field ng "Nomenclature" na direktoryo ay nakalista lang doon.

Kumuha ng 267 video lesson sa 1C nang libre:

Gaya ng nakikita mo, mayroong call button na " " at isang checkbox na ginagawang posible na dynamic na baguhin ang mga nilalaman ng listahan. Ibig sabihin, kapag may binago ang isa pang user sa direktoryo, magbabago rin ito sa aming listahan. Bilang karagdagan, mayroong tab na "Mga Setting", ngunit hahawakan namin iyon sa ibang pagkakataon.

Custom na query sa dynamic na listahan

Una, gawin natin ang kahilingang kailangan natin nang may mga balanse at presyo. Tulad niyan:

Tab na "Mga Setting".

At ngayon ang pinakamagandang bahagi! Pumunta sa tab na "Mga Setting". At agad naming nakita na sa unang tab maaari kaming gumawa ng anumang mga pagpipilian para sa anumang field sa kahilingan:

Programmatically pagtatakda ng mga parameter ng query sa isang dynamic na listahan 1C 8.3

Huwag kalimutan na mayroon kaming dalawang parameter sa kahilingan: "Panahon" at "Uri ng presyo". Dapat naming ipasa ang mga ito sa kahilingan, kung hindi, magkakaroon ng error.

Isulat natin ang mga parameter na ito sa mga parameter ng form, at idagdag ang mga sumusunod na linya sa module ng form:

&OnServerProcedureWhenCreatingOnServer(Failure, StandardProcessing) List. Mga pagpipilian. SetParameterValue("Panahon" , Mga Parameter. Petsa) ; Listahan. Mga pagpipilian. SetParameterValue("PriceType", Parameters.PriceType) ; Katapusan ng Pamamaraan