1c uf dünaamilise loendi lisamise allika valik. Dünaamilise loendi abil andmete hankimise ja vahemällu salvestamise viisid

Veebiteenused on üks platvormimehhanisme, mida kasutatakse integreerimiseks teiste infosüsteemidega. See on tugitööriist teenusele orienteeritud arhitektuurile (SOA), teenusele orienteeritud arhitektuurile, mis on rakenduste ja infosüsteemide integreerimise kaasaegne standard.

Teeninduskeskse arhitektuuri oluline eelis on see, et see võimaldab arendada ettevõtte infrastruktuuri ühtselt, ilma olemasolevaid lahendusi lõhkumata. Selle kasutamine võimaldab minimeerida kulusid, integreerides heterogeensed ja pärandsüsteemid kaasaegsesse ettevõttemaastikku. See võimaldab kasutada lõdvalt seotud tarkvarakomponente, et maksimeerida nende korduvkasutatavust.

Teenusele orienteeritud arhitektuuri arendavad ja toetavad intensiivselt suured müüjad. See on üles ehitatud autonoomsete või väliselt juhitavate teenuste baasil. Eelistatud viis nende rakendamiseks on veebiteenuste kaudu. Need on platvormist sõltumatud, eraldiseisvad ja universaalselt toetatud.

Rakenduslahendus 1C: Enterprise 8 võib olla nii veebiteenuste pakkuja kui ka teiste pakkujate avaldatud veebiteenuste tarbija.

Suvalist riist- ja tarkvaraplatvorme kasutavad süsteemid võivad toimida tarbijatena. Veebiteenuste tehnoloogia on platvormist sõltumatu.


Veebiteenuste tehniline teostus

Kui rakenduslahenduseks on veebiteenuse pakkuja, siis nii faili- kui ka klient-serveri töörežiimis toimub suhtlus rakenduslahenduse ja veebiteenuse tarbijate vahel läbi veebiserveri, kasutades veebiserveri laiendusmoodulit. .

Sel juhul, kui tarbija pöördub rakenduslahenduse veebiteenuse poole, käivitatakse veebiteenuse moodul. See moodul sisaldub konfiguratsioonis ja sisaldab protseduure, mis käivitatakse veebiteenuse teatud toimingute helistamisel.

Kliendi-serveri töörežiimi korral käivitatakse see moodul klastris. Töö failiversiooni puhul - veebiserveri laiendusmoodulis.

Kui rakenduslahendus on kolmanda osapoole veebiteenuse pakkuja tarbija, siis sel juhul toimub suhtlus rakenduslahenduse ja veebiteenuse pakkuja vahel

Lisaks primitiivsetele andmetüüpidele, mida võib leida mis tahes programmeerimiskeeles, on 1C-s ainulaadsed tüübid. Igal neist on süsteemis oma omadused, meetodid, funktsioonid, otstarve ja kasutamise nüansid. Üks neist tüüpidest on dünaamiline loend, mis hõlbustab oluliselt paljusid rakendusülesandeid. Seetõttu peavad arendajad teadma ja oskama seda mitmekülgset tööriista käsitseda.

Dünaamiliste loendite võimalused 1C-s

Selle tüübi eesmärk on kuvada teavet mis tahes andmebaasi tabelitest, olenemata selle tüübist. Mehhanism loodi ACS-i baasil ja sellel on sarnased võimalused. Kuid see ei tähenda, et peate kindlasti kirjutama päringu 1C keeles, kuigi see võimalus on olemas ja peate seda kasutama. Saate lihtsalt määrata tabeli, teabe, millest olete huvitatud, ja 1C moodustab iseseisvalt kõige lihtsama päringu.

Et näha, kuidas dünaamiline loend moodustatakse ja milliseid andmeid see näitab, peate konfiguraatoris avama hallatavad vormid, kus see asub: kontekstimenüü kaudu atribuutide loendis avage selle atribuudid ja pöörake tähelepanu " Kohandatud taotlus" üksus. Kui märkeruut puudub, kajastab parameeter "Põhitabel" andmebaasi tabelit, millest andmed võetakse. Vastasel juhul kajastab dünaamiline loend suvalise päringu andmeid, mida saab näha loendi eelistuse avamisel.

Ad-hoc päringu skeemi palju levinum kasutusala on see, et see pakub suurepärast võimalust mitmesuguste andmete kombineerimiseks ja kuvamiseks. Kõige sagedamini kasutatakse seda mehhanismi laojääkide, kaubahindade, kviitungite, väljastuste või ostude kuvamiseks. Seda tuleks kasutada ettevaatusega, kuna keerukate päringute korral võib jõudlus langeda.

Veel üks dünaamilise loendi kasulik omadus avaneb, kui klõpsate pealkirjal "Kohanda loendit". See menüü võimaldab teil muuta teabe lõppkasutajatele kättesaadavamaks ja arusaadavamaks isegi standardväljade komplekti kasutades. Olenemata sellest, kas taotlus on meelevaldne või mitte, näete vahekaarti "Seaded", kus saate määrata:

  • Dünaamilise loendi valik;
  • Rühmitused;
  • Sorteerimine;
  • Registreerimine.

Parameetrite kasutamine muudab dünaamilised loendid piisavalt mitmekülgseks ja paindlikuks. Saate need seostada ka hallatava vormi üksikasjadega ja andmed muutuvad sõltuvalt kasutaja valitud parameetritest. Nende mehhanismide kasutamist saab mõista ja hinnata, kui vaadelda näiteid tegelike probleemide kohta.

Näitena vaatleme ülesannet kajastada varude saldosid kontrollitud vormil. Reaalses praktikas on sellised tellimused erinevates konfiguratsioonides üsna levinud ja dünaamiline loend sobib ideaalselt tööriistaks. Selle ülesande jaoks peame kasutama suvalist päringut, dünaamilise loendi parameetreid ja selle sätteid.

Suurema selguse huvides loome eraldi välise töötlemise ja paigutame sellele dünaamilise loendi. Meie plaani elluviimiseks on nomenklatuuriga tabel väike, seega peame lubama suvalise päringu. Selles kirjeldame kataloogi vasakpoolset seost nomenklatuuri nimekirja ja saldoregistriga ning seame kataloogi põhitabeliks. Selline skeem võimaldab kasutajatel, kes töötavad dünaamilise loendiga, üksust lisada või muuta.



NomenklaturaPerechen.Naimenovanie AS SELECT nimi, TovaryNaSkladahOstatki.Sklad ladudes, TovaryNaSkladahOstatki.KolichestvoOstatok AS KolichestvoOstatok Spravochnik.Nomenklatura ÜHENDI nagu vasak NomenklaturaPerechen RegistrNakopleniya.TovaryNaSkladah.Ostatki (& TekuhtsayaData,), nagu TovaryNaSkladahOstatki NomenklaturaPerechen.Ssylka = TovaryNaSkladahOstatki.Nomenklatura KUS

Kuna meie päring kasutas parameetrit "CurrentDate", peame enne töötlemise kasutamist määrama selle väärtuse. Selleks määrame vormimoodulis protseduuris "OnCreateAtServer" sellele standardkäsuga funktsiooni "CurrentSessionDate". Samuti peame juhtvormil kuvama dünaamilise loendi ja muutma selguse huvides väljade järjekorda. Lohistage atribuut "Nomenclature Remains" vormielementidesse (ülemine vasakpoolne osa) ja muutke vormil siniste nooltega väljade järjekorda tabelis.

& AtServeri protseduur OnCreateAtServer (tõrge, standardtöötlus) RemainingNomenclature.Parameters.SetParameterValue ("CurrentDate", CurrentSessionDate ()) EndProcedure


Juba selles etapis saame avada oma välise töötlemise 1C-s ja näha, et dünaamiline loend töötab. Saame vaadata ülejääke, luua üksuse ja rühmitada, otsida. Sageli palutakse klientidel lisada võimalus valida kuupäev, millal nad saldosid näevad. Dünaamilise loendiga vormi puhul annab selle lisaväli ja selle abil parameetrite seadmine.

Lisage tüübi "Kuupäev" atribuut "DateLeft" ja kandke see vormielementidesse. Välja sündmustes loo sündmus "OnChange" ja kirjutage kood dünaamilises päringus kasutatava parameetri "CurrentDate" seadmiseks. Et kasutaja vormi avades saaks kohe aru, mis kuupäeval ta jääke näeb, teeme protseduuris "OnCreationOnServer" väikesed muudatused.



& AtServeri protseduur OnCreateAtServer (Tühista, StandardProcessing) RemainingDate = CurrentSessionDate (); RemainingNomenclature.Parameters.SetValueParameter ("CurrentDate", Remaining Date); EndProcedure & OnClient Procedure RemainingDateOnChange (Element) Nomenklatuur Remains.Parameters.SetParameterValue ("CurrentDate", järelejäänud kuupäev); Menetluse lõpp

Selle tulemusena saab meie dünaamilise loendi vorm kuvada saldod mis tahes kuupäeva kohta.

Oleme käsitlenud vaid väikest osa selle tööriistakomplekti võimalustest, kuid see on juba piisav, et mõista sellise tüübi kui dünaamilise loendi mugavust. Sarnast mehhanismi kasutatakse mitmesuguste ülesannete jaoks, kuid enamasti leidub seda hallatavate vormide tüüpilistes konfiguratsioonides:

  1. Valik;
  2. Loendid.

Dünaamilise loendi ja selle päringu saamiseks tüüpilistes hallatavates vormides peab arendaja avama konfiguraatoris vajaliku vormi. Leidke jaotisest Rekvisiidid atribuut andmetüübiga "DynamicList" (enamasti on see paksus kirjas esile tõstetud). Selle atribuudid sisaldavad päringu teksti, filtreid ja muid sätteid.

Kodused märkmed läbi vaateklaasi

21.04.2014 Andmete hankimine dünaamilisest loendist

Rakendatud versioonis 8.3.6.1977.

Oleme juurutanud võimaluse lihtsalt ja mugavalt dünaamilise loendi abil kuvatavaid andmeid hankida.

Võimalik, et teil on vaja dünaamilisi loendiandmeid, et printida need mittestandardsel "spetsiifilisel" kujul. Või selleks, et nendega teatud toiminguid teha. Näiteks võite saata kirja kõigile töövõtjatele, kelle olete mingil põhjusel nimekirjast valinud.

Lisaks on mitmeid ülesandeid, mille puhul kasutaja soovib lisaks üksuste loendile näha ka selle loendiga seotud kokkuvõtlikke andmeid. Näiteks, olles valinud välja teatud kaubagrupi ja kindla tarnija kaubad, soovib ta kohe näha selliste kaupade koguarvu andmebaasis.

Dünaamiline loend iseenesest ei saa teile seda teavet pakkuda. Dünaamilise loendi eesmärk on pakkuda kiiret ülevaadet suurtest andmemahtudest. Seetõttu loeb see andmeid ühel või kahel ekraanil kuvamiseks vajalike osade kaupa. Ja ta "ei tea midagi", näiteks andmete koguhulgast, mida ta peab lugema.

Üldjuhul tuleb kasutajale soovitud lisateabe saamiseks teha andmebaasist päring. Täpselt sama, mis dünaamilises loendis kasutatud.

Varem sai seda teha. Kuid see ei olnud alati lihtne. Tõepoolest, lisaks algse päringu tekstile, millel dünaamiline loend töötab, pidite teadma kõiki valikuid, sorteerimisi ja muid parameetreid, mille kasutaja interaktiivselt andmeid kuvavas tabelis määras.

Nüüd on seda ülesannet lihtne lahendada. Dünaamilise loendi tabelis on kaks uut meetodit.

  • Hangi ExecutableDataCompositionSchema ();
  • Hangi käivitatavate andmete kompositsiooniseaded ().

Nii saate andmete koostamise skeemi enda ja, mis kõige tähtsam, kõik selle seaded, tänu millele näeb kasutaja loendit täpselt sellisena. Peate lihtsalt paigutuse programmiliselt linkima ja väljastama selle väärtuste kogumisse (programmiliseks töötlemiseks) või arvutustabeli dokumenti (kuvamiseks):

Selle tulemusena saate struktuuri (või aruande), mis sisaldab veerge ja ridu, mis väljastatakse dünaamilise loendi tabelisse.

Oluline on see, et dünaamilise loendi tabelist saadav skeem ja sätted võtavad muu hulgas arvesse veergude nähtavust ja rakendatud otsingut. Kuna seaded hangitakse eraldi, saate väljade koostist enda tarbeks muuta ja saada näiteks kõik loendi veerud, mitte ainult need, mis on kasutajale nähtavad.

Tabelidokumendile väljastamisel on veel üks meeldiv hetk. Üldiselt ühtib aruande välimus skeemi ja sätete vastuvõtmisel dünaamilise loendi tabeli välimusega. Sealhulgas tabeli tingimuslik kujundus. Te vajate mõningaid lisatoiminguid ainult siis, kui soovite vormi tingimusliku kujunduse aruandesse üle kanda.