ecosmak.ru

Kaip gauti duomenis iš lentelinės dokumentų dalies? 1s 83 perskaityti lentelinių dokumento dalių pavadinimus.

Siekiant atsižvelgti į pinigus ir prekes, versle plačiai naudojamos skirtingos lentelės. Beveik kiekvienas dokumentas yra lentelė.

Vienoje lentelėje nurodytos prekės, kurias reikia išsiųsti iš sandėlio. Kitoje lentelėje – prievolė sumokėti už šias prekes.

Todėl 1C darbas su stalais užima svarbią vietą.

1C lentelės taip pat vadinamos „stalo dalimis“. Juos turi žinynai, dokumentai ir kiti.

Užklausa grąžina lentelę, kurią galima pasiekti dviem skirtingais būdais.

Pirmasis - greitesnis - pasirinkimas, iš jo gauti eilutes galima tik eilės tvarka. Antrasis yra užklausos rezultato iškrovimas į verčių lentelę ir atsitiktinė prieiga prie jos.

//1 parinktis – nuosekli prieiga prie užklausos rezultatų

// gauti stalą
Selection = Query.Execute().Select();
// apeiti visas užklausos rezultato eilutes eilės tvarka
Nors pasirinkimas.Kitas() Ciklas
Ataskaita(Pasirinkimas.Vardas);
EndCycle;

//2 variantas – įkėlimas į reikšmių lentelę
Query = New Query("SELECT Vardas IŠ katalogo. Nomenklatūra");
// gauti stalą
Lentelė = Query.Execute().Upload().
// tada taip pat galime apeiti visas eilutes
Kiekvienai eilutei iš lentelės ciklo
Report(String.Name);
EndCycle;
//arba savavališkai pasiekti eilutes
String = Lentelė.Rasti("Kastuvas", "Vardas");

Svarbi ypatybė yra ta, kad lentelėje, kuri gaunama iš užklausos rezultato, visi stulpeliai bus griežtai įvesti. Tai reiškia, kad nomenklatūros peržvalgoje pateikę užklausą Lauko Pavadinimas, gausite eilutės tipo stulpelį, kurio leistinas ilgis yra ne didesnis nei N simbolių.

Lentelė ant formos (storas klientas)

Vartotojas dirba su lentele, kai ji dedama į formą.

Pamokoje ir pamokoje aptarėme pagrindinius darbo su formomis principus

Taigi, padėkite lentelę ant formos. Norėdami tai padaryti, galite nuvilkti lentelę iš valdymo skydelio. Panašiai galite pasirinkti valdiklį Forma/įterpti iš meniu.

Duomenys gali būti saugomi konfigūracijoje – tuomet reikia pasirinkti esamą (anksčiau pridėtą) konfigūracijos objekto lentelę, kurios formą redaguojate.

Duomenų ypatybėje spustelėkite mygtuką „...“. Norėdami pamatyti lentelės dalių sąrašą, turite išplėsti objekto šaką.

Renkantis lentelės dalį, 1C pats pridės stulpelius prie formos lentelės. Į tokią lentelę vartotojo įvestos eilutės bus automatiškai išsaugomos kartu su katalogu/dokumentu.

Toje pačioje duomenų ypatybėje galite įvesti savavališką pavadinimą ir pasirinkti ValueTable tipą.

Tai reiškia, kad pasirinkta savavališka verčių lentelė. Jis automatiškai nepridės stulpelių, nebus automatiškai išsaugotas, bet su juo galite daryti ką norite.

Dešiniuoju pelės mygtuku spustelėję lentelę galite pridėti stulpelį. Stulpelio ypatybėse galite nurodyti jo pavadinimą (nuorodai 1C kode), formos stulpelio antraštę, ryšį su lentelės dalies atributu (pastarasis - jei nepasirinkta savavališka lentelė, bet lentelės dalis).

Formos lentelės ypatybėse galite nurodyti, ar vartotojas gali pridėti / ištrinti eilutes. Išplėstesnė forma yra žymės langelis „ViewOnly“. Šios savybės naudingos tvarkant lenteles, skirtas informacijai rodyti, bet ne redaguoti.

Norėdami valdyti lentelę, formoje turite parodyti komandų skydelį. Pasirinkite meniu elementą Form/Insert Control/Command Panel.

Komandų juostos ypatybėse pažymėkite žymės langelį Automatinis užbaigimas, kad mygtukai įrankių juostoje būtų rodomi automatiškai.

Lentelė formoje (plonas / valdomas klientas)

Tvarkomoje formoje šie veiksmai atrodo šiek tiek kitaip. Jei formoje reikia įdėti lentelės sekciją, išplėskite šaką Objektas ir vilkite vieną iš lentelės sekcijų į kairę. Štai ir viskas!

Jei reikia įdėti reikšmių lentelę, pridėkite naują formos atributą ir jo ypatybėse nurodykite tipą – reikšmių lentelę.

Norėdami pridėti stulpelių, dešiniuoju pelės mygtuku spustelėkite šio formos atributo elementą Pridėti atributo stulpelį.

Tada taip pat vilkite lentelę į kairę.

Kad lentelėje būtų komandų juosta, lentelės ypatybėse pasirinkite reikšmes skyriuje Naudojimas – komandų juostos padėtis.

Lentelės eksportavimas į Excel

Bet kurią formoje esančią 1C lentelę galima atspausdinti arba įkelti į „Excel“.

Norėdami tai padaryti, dešiniuoju pelės mygtuku spustelėkite tuščią vietą lentelėje ir pasirinkite Rodyti sąrašą.

Valdomame (ploname) kliente panašius veiksmus galima atlikti naudojant meniu punktą Visi veiksmai/Rodymo sąrašas.

Lentelinės dalys egzistuoja daugeliui objektų 1C:

  • Žinynai
  • Dokumentacija
  • Ataskaitos ir apdorojimas
  • Sąskaitų planai
  • Charakteristikos tipų planai
  • Skaičiavimo tipo planai
  • Verslo procesai ir užduotys

Lentelinės dalys leidžia saugoti neribotą kiekį struktūrinės informacijos, priklausančios vienam objektui.

Pažvelkime į kai kuriuos darbo su lentelių dalimis metodus.

Kaip apeiti lentelės dalį

Norėdami pereiti lentelės dalį, galite naudoti kilpą Kiekvienam

Kiekvienai eilutei iš TabularPart Loop

Ataskaita(String.TablePartAttribute) ;

EndCycle ;

Kiekvienoje iteracijoje į kintamąjį Linija perkeliama kita lentelės dalies eilutė. Eilučių atributų reikšmes galima gauti naudojant išraišką String.AttributeName.

Kaip gauti ir apeiti pasirinktas lentelės skyriaus eilutes

Formos elementas naudojamas informacijai iš lentelės objekto dalies rodyti. stalo laukas. Norėdami įgalinti galimybę lentelės lauke pasirinkti kelias eilutes, turite nustatyti reikšmę Daugkartinis savo nuosavybėje Pasirinkimo režimas.

Norėdami gauti pasirinktų eilučių sąrašą, naudokite šį kodą:

Ciklas naudojamas kartoti pasirinktas eilutes Kiekvienam:

SelectedLines = FormElements. Lentelės lauko pavadinimas. Pasirinktos linijos;

Kiekvienai eilutei iš pasirinktų eilučių ciklo

//ciklo turinys

EndCycle ;

Kaip programiškai pasirinkti lentelės dalies (lentelės lauko) eilutes ir pašalinti pasirinkimą

Norėdami programiškai panaikinti eilučių pasirinkimą lentelės lauke:

ElementaiForma. Lentelės lauko pavadinimas. SelectedStrings. Išvalyti () ;

Norėdami programiškai pasirinkti visas lentelės lauko eilutes:

Kiekvienai esamai eilutei iš lentelės dalies ciklo
ElementaiForma. Lentelės lauko pavadinimas. Pasirinktos eilutės. Pridėti(dabartinė eilutė) ;
EndCycle ;

Kaip išvalyti skaičiuoklę

Lentelinė dalis. Išvalyti () ;

Kaip gauti dabartinę lentelės sekcijos eilutę

Dabartinė eilutė yra laikotarpis, kurį vartotojas turi Šis momentas yra žymeklis. Norėdami jį gauti, turite kreiptis į formos valdiklį, susietą su lentelės dalimi.

Įprastų formų kodas atrodytų taip:

ElementaiForma. Lentelės lauko pavadinimas. CurrentData;

Tvarkomoms formoms:

Elementai. Lentelės lauko pavadinimas. CurrentData;

Kaip pridėti naują eilutę prie skaičiuoklės

Naujos eilutės įtraukimas į lentelės skyriaus pabaigą:

NewRow = lentelės dalis. Papildyti() ;

Naujos eilutės pridėjimas bet kurioje lentelės skilties vietoje (paskesnės eilutės bus perkeltos):

NewRow = lentelės dalis. Įklijuoti (indeksas)
//Indeksas – pridėtos eilutės numeris. Eilučių numeracija prasideda nuo nulio.

Nauja linija. Atributas1 = "Vertė" ;

Kaip programiškai užpildyti lentelės eilutės informaciją

Jei reikia programiškai užpildyti naudotojo pridėtos lentelės sekcijos eilutės informaciją, turite naudoti lentelės sekcijos įvykių tvarkyklę AtStartEditing.

Prižiūrėtojo sukurta procedūra turi tris parametrus:

  • Elementas- yra valdiklis Lentelės laukas.
  • Nauja linija- loginis. Sudėtyje yra vertės Tiesa, jei pridedama nauja lentelės skyriaus eilutė, ir melas, jei vartotojas pradėjo redaguoti jau esamą eilutę.
  • kopijavimas- loginis. Sudėtyje yra vertės Tiesa jei vartotojas kopijuoja eilutę, ir Melas kitais atvejais.

Apsvarstykite pavyzdį. Tarkime, kad turime užpildyti lentelės skyriaus duomenis PaskyraPaskyra, tuo atveju, kai pridedama nauja eilutė. Redaguojant esamą eilutę, knygos sąskaitos keisti nereikia.

Procedūros lentelės dalies redagavimo pradžioje (elementas, nauja eilutė, kopija)

//Jei vartotojas redaguoja esamą eilutę, nieko nedarykite
Jei NE NewString Tada
Grąžinti;
EndIf ;

//Jei eilutė nauja, nustatykite paskyrą
TextString = Elementas. CurrentData; //Gauta dabartinė lentelės sekcijos eilutė
TekString. AccountAccount = sąskaitų planai. Savarankiškas. Norima sąskaita;
Procedūros pabaiga

namai Pradedantiesiems kūrėjams Mokymasis programuoti

Kaip gauti duomenis iš lentelinės dokumentų dalies?

Pavyzdžiui, apsvarstykite situaciją, kai norite gauti visas atsargų prekes, nurodytas lentelės skyriuje Prekės dokumentus Prekių ir paslaugų realizavimas.

Norėdami tai padaryti, galite naudoti užklausą su tokiu tekstu:

PASIRINKITE SKIRTINGĄ Paslaugų prekių realizavimas Prekės.Nomenklatūra AS Nomenklatūra IŠ dokumento. Paslaugų prekių realizavimas Prekės AS Paslaugų prekių realizavimas Prekės

Kaip šaltinį nurodome lentelinę dokumentų dalį – lentelę Dokumentas.Prekių pardavimasPaslaugos.Prekės. Paskelbkite lauką kaip išvesties lauką Nomenklatūra A, kuri yra šaltinio lentelės dalis. Be to, kadangi ta pati prekė, žinoma, dokumentuose galėjo būti ne vieną kartą, kreipiamės ĮVAIRUS kad gautumėte tik atskiras eilutes užklausos išvesties lentelėje.

Pavyzdžiui, sukurkime apdorojimą Produktų sąrašas kur pasirinktas dokumentas Prekių ir paslaugų realizavimas, o paspaudus atitinkamą mygtuką, pranešimo lange rodomas nesikartojančių nomenklatūros elementų sąrašas, esantis šio dokumento lentelinėje dalyje.

Siekdami apriboti nomenklatūros pasirinkimą tik iš konkretaus dokumento lentelės skyriaus nomenklatūra, naudojame parametrą Nuoroda prašyme nurodytomis sąlygomis ( KUR...):

PASIRINKITE SKIRTINGUS Paslaugų prekių realizavimas Prekės Nomenklatūra AS Nomenklatūra IŠ dokumento. Paslaugų prekių realizavimas Prekės AS Paslaugų prekių realizavimas Prekės KUR Paslaugų prekių realizavimas Prekės Nuoroda = & Nuoroda

Įkeliama...