Nopeasti. Alisteiset hakemistot. Nopeasti Kuinka luoda alihakemisto 1c

Klyuev V.V.

http://prof1c.kklab.ru

Alisteiset hakemistot

Todennäköisesti olet jo toistuvasti huomannut tavallisissa tyypillisissä kokoonpanoissa, että hakemistot ovat yhteydessä toisiinsa, kun kun valitset hakemistoelementin (hakemisto 1), toisen hakemiston (hakemisto 2) arvo "suodatetaan" tällä arvolla - eli arvoilla. jotka kuuluvat vain nykyiseen hakemistoelementtiin, valitaan; esimerkiksi tämä on "Division"-hakemisto, jonka omistaja on "Organisaatio"-hakemisto.

Ymmärtääksemme välittömästi tapahtuvan olemuksen, katsotaanpa, mitä tapahtuu käytännössä. Voit tehdä tämän luomalla tyhjän määrityksen tyhjästä tai siirtymällä mihin tahansa tietokannan olemassa olevaan kopioon ja luomalla konfiguraattorissa kaksi hakemistoa.

Hakemisto1 ja Hakemisto2. Siirry hakemistossa 2 "Omistajat"-välilehteen ja valitse omistaja - "Hakemisto1", katso kuvan osoittamalla tavalla.

Nyt, kun luot elementtejä hakemistoon “Hakemisto2”, järjestelmä pyytää sinua syöttämään hakemiston 1 omistajan. Vaihtoehto - Alisteisuuden käyttäminen - on olemassa, kun alisteiseksi on asetettu Elementit, ryhmät tai ryhmät ja elementit.

Näyttää siltä, ​​​​että kaikki on yksinkertaista, mutta käyttäjille syntyy ongelmia. Kun avaat "Hakemisto 2", käyttäjä näkee kaikki elementit täysin käsittämättömässä järjestyksessä, ja lisäksi, jos olet työskennellyt vakiokokoonpanoilla, olet ehkä huomannut, että suoraan "Divisions"-hakemistossa et määritä omistajaa missään, mutta hakemistoa avattaessa voit valita organisaation ja tästä riippuen vastaanottaa jollekin organisaatiolle alisteisia elementtejä; Lisäksi, kun luot hakemistokohdetta “Divisioonat”, saat oletusarvoisesti valitsemasi omistajan osastoluettelon muodossa.
Joten aloitetaan ja luodaan "Listalomake" "Directory2:lle", toistaiseksi toimita se 1C:lle tekemättä muutoksia, myöhemmin muokkaamme suunnittelijan luomaa lomaketta.
Siirry kohtaan "Hakemisto2" Lomakkeet-välilehteen ja lisää (+) uusi hakemistoluettelolomake ja napsauta Valmis.

Luodaan lomakeattribuutti, jonka tietotyyppi on "Hakemisto1.Linkki", jonka nimi on "Valintahakemisto1", ja vedetään tämä attribuutti lomakkeeseen, asetetaan otsikko "Hakemisto1".


Nyt, jotta "tämä ihme" toimisi, sinun on kirjoitettava koodi, joka suorittaa valinnan valittaessa hakemistoelementtiä1.

8.2, 8.3 Hallitut lomakkeet

Jotta hakemistoluettelon muodossa saataisiin näkyviin vain ne elementit, joita tarvitsemme Directory1:n valittuun elementtiin, meidän on tehtävä ohjelmallisesti valinta - valitun elementin mukaan. Tätä varten käytämme SelectionDirectory1-ohjaimen ennalta määritettyä menettelyä. ja kirjoita koodi, joka suorittaa määritetyn tehtävän.
Valitse yläreunasta "Valintahakemisto1", napsauta hiiren kakkospainikkeella ja valitse "Ominaisuudet", etsi avautuvasta ikkunasta "OnChange" -ominaisuus ja napsauta suurennuslasia, jolloin siirryt lomakemoduuliin; menettely "Valitse Directory1OnChange(Element)" luodaan automaattisesti

Kirjoita menettelyssä seuraava teksti:

& Asiakasproseduurien valintahakemistossa1OnChange(Element) -luettelossa. Valinta. Elementit. Asia selvä() ; // Valintaelementti = List. Valinta. Elementit. Add(Type(" Valinta ElementData Layout" ) ); Valintaelementti. LeftValue = Uusi tiedonkoostumuskenttä (" Omistaja " ); Valintaelementti. Vertailunäkymä = Tietojen koostumuksen vertailunäkymä. Yhtä kuin; Valintaelementti. Käyttö = tosi ; Valintaelementti. RightValue = Valintahakemisto1; Valintaelementti. Näyttötila = Element Display Mode constructionDataComposition.Unavailable;EndProcedure

8.2 Tavalliset lomakkeet


Lomakkeita rakennettaessa kaikki on ennallaan, vain lomakkeet pitää luoda tavallisiksi, hallitut lomakkeet eivät toimi tavallisessa sovelluksessa.
Ero tulee olemaan luettelolomakkeen elementin valintamenettelyssä ja rekvisiittajen luomisessa.
Jos haluat lisätä tietoja tavalliseen lomakkeeseen, napsauta -painiketta

Menettelyn viite1Muuta(Elementti)Tämä Lomake. Valinta. Omistaja. Arvo = Hakemisto1. Linkki; Tämä muoto. Valinta. Omistaja. Käyttö = tosi ; Tämä muoto. Lomakkeen elementit. Hakemistoluettelo. Valintaasetukset. Omistaja. Saatavuus = False ; //(?) EndProcedure

Toiseksi viimeinen rivi(?) - kiellämme valinnan muuttamisen, kun käyttäjä avaa valintaparametrit - vain ohjauselementin kautta!

Video (ilman ääntä - kaikki on selkeää ilman ääntä)

Mitä ovat 1C-hakemistot ja mikä rooli niillä on 1C:ssä - tästä ja paljon muuta uudessa artikkelissamme.

1C:n hakemistoja luodaan tietojen tallentamiseksi, joita käytetään 1C:n muissa asiakirjoissa, esimerkiksi raporteissa. Osoittautuu, että työ 1C-järjestelmässä suoritetaan hakukirjojen mukaan, ja kaikkia niihin tallennettuja tietoja kutsutaan normatiivisiksi ja viitteiksi.

Mihin 1C-hakemistot on tarkoitettu?

Mikä tahansa tuote toimii selkeänä esimerkkinä selitykselle. Sen siirtämistä varten yrityksessä (osto, varastointi varastossa, asennus, myynti jne.) laaditaan erityisiä asiakirjoja, esimerkiksi lomakkeita, laskuja jne. Normaalitilanteessa kaikki nämä asiakirjat täytettäisiin manuaalisesti, mutta jos käytetään automatisoitua järjestelmää, tämä ei ainoastaan ​​säästä aikaa, vaan myös ehkäisee monia virheitä.

Automatisoidun järjestelmän avulla voit luoda kerran luettelon, joka sisältää tämän tuotteen. Tarvittaessa voit aina ilmoittaa kuvaukseen tarvittavat tiedot, ominaisuudet ja muut tiedot. Osoittautuu, että 1C-hakemistot ovat valmiita luetteloita, joissa on tietoja tuotteista, asiakkaista, palveluista jne. Tarvittaessa luetteloita voidaan muuttaa ja täydentää.

Missä 1C-hakemistot sijaitsevat?

Tyypillisesti 1C Enterprisessa työskentelyn käyttöliittymä on ohjelmoijan kehittämä, mikä tarkoittaa, että eri hakemistot voivat sijaita täysin erilaisissa valikoissa.

Paksussa asiakasohjelmassa käyttäjä, jolla on järjestelmänvalvojan oikeudet, voi avata minkä tahansa 1C-asiakirjan ja hänellä on pääsy mihin tahansa hakemistoon. Voit tehdä tämän avaamalla "toiminnot"-valikon, napsauttamalla "hakemistot" ja valitsemalla haluamasi luettelosta.


Jos katsot ohutta asiakasta, siellä on myös samanlainen valikko. Sitä kutsutaan "kaikki toiminnot". Toiminnaltaan se on samanlainen kuin "toiminnot"-valikko.

Konfigurointitilassa pääsy kaikkiin hakemistoihin on käytettävissä konfigurointihaaran kautta. Sieltä voit työskennellä minkä tahansa hakemiston kanssa, mukauttaa sen mallia, muuttaa sitä ja niin edelleen. Aloita kaksoisnapsauttamalla sitä hiirellä.

Miltä 1C-hakemistoista ne näyttävät?

Kun avaat 1C 8 -hakemiston, edessäsi avautuu luettelon muodossa oleva lomake. Mukavuuden vuoksi luettelot voidaan ryhmitellä tiettyjen ominaisuuksien ja ominaisuuksien mukaan.


Kun avaat ryhmän, edessäsi tulee luettelo kaikista elementeistä. Ja kun napsautat itse elementtiä, saataville tulee hakemistolomake, jonka kenttiä voidaan täyttää ja muuttaa.

Useimmiten 1C Enterprisessa on kaksi pakollista kenttää hakemistoille:

    Hakemiston nimi.

Ne on suunniteltu auttamaan erottamaan yksi elementti toisesta. Joskus ohjelmoijat poistavat nämä vaihtoehdot käytöstä, mutta tämä tapahtuu erittäin harvoin.


"Koodi"-kenttä on useimmiten suljettu käyttäjien muokkaamiselta (vaatii erityisiä käyttöoikeuksia) ja sen arvo luodaan automaattisesti.

Kohdan 1C 8.3 nimikkeistö tarkoittaa materiaaleja, puolivalmiita tuotteita, laitteita, palveluita, palautuspakkauksia, työvaatteita jne. Kaikki nämä tiedot tallennetaan nimikkeistöhakemistoon. Pääset siihen "Hakemistot" -osiossa, alaosiossa "Tavarat ja palvelut", kohdasta "Nimikkeistö"

Näet luettelon hakemiston paikoista, joissa on monitasoinen hierarkkinen rakenne.

Tässä artikkelissa tarkastellaan vaiheittain kaikkia ohjeita 1C 8.3:n kohteiden täyttämiseksi aluksi esimerkin avulla

Tämän hakuteoksen käytön helpottamiseksi 1C Accounting käyttää ryhmiä (kansioita). Ne yhdistävät nimikkeistön, jolla on yhteisiä piirteitä. Jokaisessa ryhmässä on puolestaan ​​mahdollista luoda alaryhmiä (samanlainen kuin tietokoneen tiedostojärjestelmä). Ohjelmoija asettaa hierarkiatasojen määrän, mutta aluksi ei ole rajoituksia.

Luodaan uusi ryhmä. Napsauta "Nimikkeistö"-hakemiston luettelomuodossa "Luo ryhmä" -painiketta.

Määritä luotavan ryhmän nimi. Voit myös täyttää sen tyypin, mutta se ei ole välttämätöntä.

Kuten alla olevasta kuvasta näet, luomamme ryhmä sijoitettiin "Materiaaleihin". Jos haluat siirtää sen toiseen ryhmään tai juureen, avaa kontekstivalikko ja valitse "Siirrä ryhmään". Ikkuna avautuu, jossa sinun on määritettävä uusi sijainti.

Uuden kohteen luominen

Jatketaan itse nimikkeistön lisäämistä. Voit tehdä tämän napsauttamalla hakemistoluettelolomakkeessa "Luo" -painiketta. Uuden tuotteen kortti avautuu edessäsi.

Täytä "Nimi"-kenttä. "Koko nimi" -kentässä oleva arvo syötetään automaattisesti. Huomaa, että koko nimi näkyy raporteissa, painetuissa asiakirjoissa, hintalapuissa jne. "Nimi"-kenttää käytetään kätevään ohjelman kohteiden etsimiseen.

Täytä tarvittaessa loput tiedot:

  • Kentät "Tuotetyyppi" ja "Sisältyy ryhmään" täytetään automaattisesti sen ryhmän tiedoista, johon uusi tuotenimike luodaan. Ne voidaan vaihtaa tarvittaessa.
  • Yksikkö-kentän arvo on tämän erän saldojen säilytysyksikkö.
  • "% ALV" -tiedoissa ilmoitettua verokantaa voidaan tarvittaessa muuttaa asiakirjojen luomisen yhteydessä.
  • "Myyntihinta" on oletusarvoisesti merkitty myyntitositteisiin. Tätä asetusta voi muuttaa napsauttamalla hyperlinkkiä "?" tämän kentän vieressä.
  • Tuotanto-osiossa voit ilmoittaa tietyn tuotteen kustannuserän ja sen spesifikaation (valmiille tuotteille), eli koostumuksen.
  • Nimikkeistön ominaisuuksista riippuen täytetään loput kohdat, kuten "Alkoholituotteet" ja "Tuontitavarat".

Kun olet täyttänyt luomasi tuotteen kortin, sinun on kirjoitettava se muistiin.

Mikä on kohteen 1C 8.3 tyyppi ja kuinka ne määritetään

Konfiguroidaksesi nimikkeistön tyypit, napsauta vastaavaa hyperlinkkiä "Nimikkeistö"-hakemiston luettelomuodossa.

Nimikkeistön tyypit ovat tarpeen nimikkeiden erottamiseksi. Jokaiselle tyypille voidaan määrittää oma. On erittäin tärkeää välttää kaksoiskappaleiden esiintyminen tässä hakemistossa, mikä voi johtaa nimikkeiden kirjanpitotilien virheelliseen toimintaan.

Kun asennat vakiokokoonpanon toimittajalta, tämä hakemisto on jo täytetty tärkeimmillä kohteilla. Jos tuotetyyppi on palvelu, älä unohda laittaa asianmukaista lippua luodessasi sitä.

Kohteen 1C kirjanpitotilit 8.3

Kirjanpitokirjausten luomiseksi sinun on määritettävä kirjanpitotilit. Tämä voidaan tehdä "Nimikkeistö"-hakemiston luettelolomakkeesta napsauttamalla "Tuotekirjanpitotilit" -hyperlinkkiä.

1C Accounting 3.0:n vakiokokoonpanossa tämä rekisteri on jo täytetty. Mutta tarvittaessa sitä voidaan säätää manuaalisesti.

Kirjanpitotilit voidaan määrittää:

  • tietyn nimikkeistön mukaan;
  • nimikkeistöryhmän mukaan;
  • nimikkeistön tyypin mukaan;
  • varaston kautta;
  • varastotyypin mukaan;
  • organisaation mukaan;
  • koko nimikkeistössä määrittämällä arvoksi tyhjän linkin.

Jos tietylle nimikkeelle ja sille on määritetty eri kirjanpitotilejä, tili otetaan nimikkeestä. Tällaisissa tapauksissa konsolidoidut tilinpäätökset ovat alhaisempia.

Tuotteiden hintojen asettaminen

Yhdellä tuotteella voi olla useita hintoja. Ne eroavat tyypeittäin, kuten tukkuhinta, vähittäismyyntihinta jne.

Siirry "Nimikkeistö"-hakemistoelementtikorttiin ja seuraa "Hinnat"-hyperlinkkiä.

Edessäsi avautuu luettelo, jossa voit tietylle tyypille tiettynä päivänä. Ilmoita hinta oikeaan sarakkeeseen ja napsauta sitten "Tallenna hinnat" -painiketta. Tuotehinnan asetusasiakirja luodaan automaattisesti, ja näet linkin siihen tässä luettelossa.

Katso myös video nimikkeistöstä:

Psykiatrinen sairaala. Idiootti toiselle:
- Piditkö tarinastani, jonka annoin sinulle luettavaksi eilen?
-Kyllä, mutta jotenkin kaikki on epäselvää ja hahmoja on monia.
Lääkäri tulee sisään:
- No, idiootit, kuka varasti puhelinluetteloni?...

Hakemistojen tarkoitus
Hakemisto on luettelo tietyn määritteen mahdollisista arvoista. Hakemistoja käytetään tapauksissa, joissa on tarpeen poistaa epäselvät tiedon syöttö.Esimerkiksi, jotta ostaja, myyjä, varastonpitäjä, johtaja ymmärtäisi, mistä tuotteesta puhumme, kaikkien on kutsuttava sitä samalla tavalla. Ja tässä tapauksessa tarvitaan hakuteos. Yleensä kauppayhtiössä se on hinnaston muodossa, ja jos tällainen hakemisto tallennetaan tietokoneelle, siihen kirjataan koko mahdollinen tavaravalikoima, jonka kanssa kauppayhtiö työskentelee.

1C:Enterprise-järjestelmän avulla voit ylläpitää lähes rajoittamatonta määrää tarvittavia hakemistoja. Jokainen hakemisto on luettelo homogeenisista objekteista: työntekijät, organisaatiot, tavarat jne. Jokainen tällainen objekti on ns. hakemistoelementti.

Käyttäjän näkökulmasta on syytä muistaa, että Configuratorissa ei luoda arvolistaksi itse hakemistoa, vaan hakemistolle kehitetään malli, sen malli. Konfiguroinnin aikana kuvataan hakemistoon tallennettavien tietojen rakenne, kehitetään näyttö ja tarvittaessa painettu esitys hakemistosta sekä määritellään sen "käyttäytymisen" eri ominaisuudet.

Hakemiston attribuutit

Jokaisella hakemistolla on pakollisia tietoja Koodi Ja Nimi. Hakemiston elementtikoodi voi olla joko numeerinen tai teksti. 1C:Enterprise-järjestelmä tarjoaa runsaasti mahdollisuuksia työskennellä hakemistoelementtien koodien kanssa: koodien automaattinen määrittäminen, koodin yksilöllisyyden automaattinen ohjaus ja muut.

Koodin ja nimen lisäksi 1C:Enterprise-järjestelmähakemistoihin voidaan tallentaa mitä tahansa lisätietoa hakemistoelementistä. Tällaisten tietojen tallentamiseksi hakemistoon voidaan luoda luettelo yksityiskohdat. Hakemistotietomekanismin avulla on helppo järjestää esimerkiksi työntekijätiedosto.Esimerkiksi hakemisto Työntekijät on lähes varmasti ominaisuuksia Työnimike, Palkka ja muut.1C-yhtiö odotti ohjelmoijia ja esitteli kaikki hakuteokset kaksi jo määritettyä attribuuttia: Koodi Ja Nimi. Itse asiassa melkein kaikki tosielämän objektit sisältävät nämä attribuutit. Esimerkiksi työntekijöille koodi on henkilöstönumero ja nimi on sukunimi, etunimi, sukunimi (koko nimi).

Tietotyypit

Jokaiselle hakemistomääritteelle on määritettävä sen tietotyyppi, esimerkiksi " määrä", "linja", "Päivämäärä"(versiossa 8.0 on myös Boolen tyyppi - True tai False). Nämä ovat perustyyppejä, mutta voit määrittää myös monimutkaisia ​​tietotyyppejä. Esimerkiksi attribuutti Työnimike on tietotyyppi Asemat. Tässä tapauksessa tämän määritteen arvot valitaan hakemistosta Asemat. Näin yksinkertaisin yhteys hakemistojen välillä toteutuu, kun yhden hakemiston attribuuttiarvot valitaan toisesta hakemistosta.

Hierarkkiset hakemistot

1C:Enterprise-järjestelmän hakemistoelementtien luettelo voi olla monitasoinen. Tässä tapauksessa kaikki hakemistorivit jaetaan kahteen tyyppiin: "vain" hakemistoelementit ja ryhmiä hakuteos. Ryhmien avulla voit siirtyä monitasoisen hakemiston alemmille tasoille. Monitasoisten hakemistojen avulla voit järjestää tietojen syöttämisen hakemistoon vaaditulla yksityiskohtaisella tasolla. Monitasoisen hakemiston elementtejä ja elementtiryhmiä voidaan siirtää ryhmästä toiseen.

Alisteiset hakemistot

Hakemistojen välille voidaan luoda suhde alisteisuutta. Relaatiotietokannan termein taulukkojen välille muodostetaan yksi-moneen-suhde. Tällöin jokainen alihakemiston elementti liitetään johonkin omistajahakemiston elementtiin, joskus voidaan sanoa, että yhden hakemiston elementit kuulua toisen elementtejä. Järjestelmässä voi esimerkiksi olla veroetuuksien hakemisto. Sitten se voidaan tehdä alaistensa Hakemisto Työntekijät. Se tarkoittaa sitä "Työntekijä omistaa veroedut".

Hakemisto Työntekijät

Hakemisto Veroedut

  • Ivanov Ivanov Ivanov
  • Petrov Petr Petrovich
  • Svetlov Mihail Petrovitš
  • Tsvetkov Anton Vasilievich

( omistaja Petrov Petr Petrovich)

  • Edut veteraaneille
  • Edut lapsille
  • Ivanov Ivanov Ivanov
  • Petrov Petr Petrovich
  • Svetlov Mihail Petrovitš
  • Tsvetkov Anton Vasilievich

( omistaja Svetlov Mihail Petrovitš)

  • Edut afgaaneille

Pöydän osat (vain versio 8.0)

Versiossa 8.0 tuli mahdolliseksi, että hakemistoelementissä voi olla useita taulukkoosia. On suositeltavaa käyttää tätä ominaisuutta heijastamaan tiettyyn elementtiin liittyvää tietoa, mutta jolla ei ole omaa objektikokonaisuutta (jolle on suositeltavaa luoda alihakemisto). Esimerkiksi viitteeksi Tuotteille voidaan luoda Mittayksiköt-taulukkoosa ja Työntekijät-hakemistoon Koulutus- ja Perhekokoonpano-taulukkoosuudet. Taulukkoosien kanssa työskentely on samanlaista kuin alisteisten hakemistojen kanssa, paitsi että taulukkoosat eivät voi olla tyyppejä, mikä tarkoittaa, että Koulutus-tyypin määritteen luominen ei ole enää mahdollista.

Hakemistojen vertailu muihin objekteihin

Esine

Samankaltaisuudet

Erot

Vakiot tallentaa arvon, tallennettu tietokantaan Hakemisto ei tallenna vain yhtä arvoa, vaan koko luettelon homogeenisista objekteista.
Dokumentointi tallennetaan tietokantaan, on yksityiskohtia, asiakirjat voivat olla toistensa alaisia Hakemistoon on tallennettu normatiivisia ja viitetietoja, ja asiakirjat kuvastavat tosielämän tapahtumia. Tyypillisesti asiakirjan yksityiskohtien arvot valitaan hakemistoista. Dokumentti on yleensä kirjattu, dokumentissa on oltava päivämäärä ja kellonaika, dokumentti voi sisältää taulukko-osan, joka ei ole hakemistoissa (versiossa 8.0 hakemistoissa ja dokumenteissa voi olla useita taulukkoosia). Hakemistot voivat olla monitasoisia, hakemisto voi sisältää määräajoin tietoja, joita ei ole dokumenteissa (versiossa 8.0 ei ole jaksollisia tietoja, mutta on säännöllisiä tietorekistereitä).
Siirrot tallennettu tietokantaan, tallentaa arvoluettelon Käyttäjä syöttää joukon arvoja hakemistoon Enterprise-tilassa, ja luettelointia varten kehittäjä määrittää arvoluettelon Configurator-tilassa. Luetteloita käytetään yleisesti If-lauseissa.
Arvotaulukko sisältää rivejä ja sarakkeita (ei tallennettu tietokantaan) Arvotaulukko on suunniteltu tallentamaan tietokoneen muistiin välitietoja, joita esiintyy ohjelman toiminnan aikana. Arvotaulukko voi tallentaa heterogeenisiä objekteja, kun taas hakemisto voi tallentaa kaikki samantyyppiset elementit. Arvotaulukot eivät voi olla monitasoisia tai toistensa alaisia.
ListValues tallentaa arvoluettelon (ei tallennettu tietokantaan) Arvoluettelo voi tallentaa heterogeenisiä objekteja ja hakemistoon kaikki samantyyppiset elementit

Ohjelmoinnin perusteet

Uuden elementin luominen ja tallentaminen

Hakemistokohteen etsiminen


//esimerkiksi irtisanomismääräyksessä
Viite. FindElement(Työntekijä);

Viite. FindByCode(123);
Viite. FindByName("Ivanov Ivan Ivanovich");
Viite. FindByDetails("Palkka", 5000);

//jos elementti löytyy, siitä tulee nykyinen ja se voidaan lukea seuraavasti:

Jos Spr.FindByName("Ivanov Ivan Ivanovich") = 1 Sitten
........FoundCotr = RefCotr. CurrentItem();
loppu Jos;


//versiossa 8.0, jos elementti löytyy, se palautetaan, muuten se palautetaan Undefined

FoundCotr = RefCotr. FindByCode(123);
FoundCotr = RefCotr. FindByName("Ivanov Ivan Ivanovich");
FoundCotr RefCotr. FindByDetails("Palkka", 5000);

FoundSotr = SprSotr.FindByName("Ivanov Ivan Ivanovich");
Jos FoundSotr = Määrittämätön Sitten
.....//elementtiä ei löydy
loppu Jos;

Hakemistoelementin poistaminen

Viite. Poistaa(1); //välitön poisto

Viite. Poistaa(0); //merkintä poistettavaksi
Viite. Poista valinta Poista();


Merkki = viite FlagDeletion(); //huomautus: tämä on menetelmä


Viite. Poistaa(); //välitön poisto

Viite. SetDeleteMark (tosi); // merkitse poistettavaksi
Viite. SetDeletionMark (False); //ottaa pois merkitse poistettavaksi

//voit tarkistaa, onko elementti merkitty poistettavaksi
//on ominaisuus MarkDelete, se on tyyppiä Boolean - True tai False

Merkki = viite FlagDeletion; //huomautus: tämä on ominaisuus
Jos Mark = tosi, silloin
.....//elementti merkitty poistettavaksi
loppu Jos;

Hakemiston elementtien luettelointi


Viite. Valitse kohteet();
Vaikka SprSotr. GetElement() = 1 sykli
...
...Notify("Työntekijä" + Spr.Name);
EndCycle;


valinta = Hakemistot. Työntekijät. Valita();
Vain valinta toistaiseksi. Seuraava() = 1 sykli
... //toiminnot seuraavan elementin kanssa
EndCycle;


Vanhempi
Iteroi ryhmän elementtejä. Ryhmä 1C:ssä on "vanhempi".


Ref.FindByName("Toimii");
Toimii = Ref.CurrentItem();
Viite. UseParent(Työskentely);
//jatkoa, esimerkiksi sykli työntekijöille (katso yllä)
...



GroupWorking = SprSotr.FindByName("Toimii");
valinta = Ref. Valita(Ryhmätyöskentely);
Vain valinta toistaiseksi. Seuraava() = 1 sykli
... //toiminnot seuraavan elementin kanssa
...Notify("Työntekijä" + valinta.Nimi);
EndCycle;

Omistaja
Toisen hakemiston elementtiin kuuluvien hakemistoelementtien luettelointi.
Yksi hakuteos alainen toinen hakuteos, esimerkiksi hakuteos. Veroedut ovat viitenumeron alaisia. Työntekijät.

Jaksottaiset yksityiskohdat
Ajoittain yksityiskohtien lukeminen ja kirjoittaminen.
Päivämäärän asettaminen säännöllisten tietojen näytteenotolle koko hakemistosta.


//näin saamme selville, mitä työntekijällä oli
//luokka tietylle päivämäärälle

Luokka = SprSotr.Category. Saada(SomeDate);

//Näin asetamme työntekijän kategorian
//tietylle päivämäärälle
SprSotr.Category. Asentaa(SomeDate, NewCategory);

//voit asettaa näytteenottopäivän määräajoin
//tiedot koko hakemistosta
Viite. UseDate(SomeDate);

//niin et voi enää käyttää Install and Get alla -toimintoa
//pääsy säännöllisiin yksityiskohtiin tulee
//sama kuin tavallisissa yksityiskohdissa
Luokka = SprSotr.Category;
Spr.Palry = 6000;

Versiossa 8.0 ei ole säännöllisiä yksityiskohtia. Sen sijaan on käytettävä ajan myötä laajennettuja tietorekistereitä.

Hakukirjojen näyttömuodot

Hakemistoluettelolomake

Jotta käyttäjien olisi helpompi työskennellä hakemiston kanssa määritysvaiheessa, voit luoda useita tyyppejä näytön muotoja näyttääksesi hakemiston. Riippuen hakemiston kutsumisen kontekstista, voit määrittää tietyn valintaikkunan käytön sen kanssa.

On parempi nähdä kerran kuin kuulla sata kertaa, joten alla on esimerkki luettelolomakkeesta Työntekijät-hakemistoon:




Luettelolomakemoduuli sisältää proseduurit ja funktiot, jotka toimivat tämän lomakkeen yhteydessä (Hakemisto-objektin yhteydessä).

Ennalta määritetyt menettelyt 1C-järjestelmä kutsuu niitä tiettyjen tapahtumien yhteydessä Tapahtumat. 1C-järjestelmä kutsuu ennalta määritettyjä proseduureja tiettyjen tapahtumien sattuessa, joten ne ovat tapahtumakäsittelijöitä. Versiossa 8.0 prosessin nimi voi olla mikä tahansa, ei välttämättä sama kuin tapahtuman nimi. Lisäksi versiossa 8.0 kaikkien objektien tapahtumien luetteloa on laajennettu merkittävästi.

Tapahtuma

Kuvaus

Kun Avataan Kutsutaan, kun hakemistoluettelolomake avataan. Voit asettaa muuttujien alkuarvot, tarkistaa käyttäjien oikeudet tämän hakemiston avaamiseen jne.
Sulkemisen yhteydessä Kutsutaan, kun hakemistoluettelolomake suljetaan.
Kun Recording

Kutsutaan kirjoitettaessa hakemistoelementtiä, jos elementit syötetään suoraan luettelolomakkeeseen, ei elementtimuotoon. Tätä käytetään hakemistoissa, joissa on yksinkertainen rakenne, esimerkiksi Jobs-hakemisto. Tämän menettelyn avulla voit tarkistaa syötetyt tiedot virheiden varalta.

Esimerkki, hakemistopositiot

Kun valitset vanhemman (uusi vanhempi) Kutsutaan, kun vanhempi (ryhmä) on valittu. Käytä tätä menettelyä vahvistaaksesi käyttäjän oikeudet tarkastella tietyn ryhmän jäseniä.
Omistajaa valittaessa (uusi omistaja) Kutsutaan, kun isäntähakemiston omistaja on valittu. On järkevää, jos tämä hakemisto on alisteinen toiselle.
WhenSettingSelection (Attribuutit, Arvo) Ennalta määritetty menettely valinnan interaktiiviseen asettamiseen millä tahansa tavalla (valinta, pikavalinta, valinta arvon mukaan, valintahistoria) ja valinnan poistamiseksi käytöstä.
OnRowSelect() Rivivalinnan käsittelytila ​​(kaksoisnapsautus tai Enter-näppäin) otetaan käyttöön hakemistoluettelon, asiakirjapäiväkirjan, tilien, tapahtumapäiväkirjan ja tapahtumalokikirjan muodossa Form.RowSelectionProcessing(1)-menetelmällä. Sitten, kun rivi valitaan, tämä ennalta määritetty menettely kutsutaan.


Lajittelu

Hakemistoluettelon muodossa elementit voidaan lajitella eri järjestyksessä: koodin, nimen tai minkä tahansa määritteen mukaan, jonka Lajittelu-valintaruutu on valittu Configuratorissa.Voit asettaa lajittelutyypin ohjelmallisesti lajittelumenetelmällä (Method, ChangePermission Flag)


Menettely OnOpen()
...... Lajittelu("Koodi",0); //lajittelu koodin mukaan, käyttäjä ei voi muuttaa
Menettelyn loppu

Menettely OnOpen()
......DirectoryList.Order.Set("Name Asc, Card Asc");
......//kysymys lukijoille: kuinka estää käyttäjää muuttamasta lajittelujärjestystä?
Menettelyn loppu

Valinta

Hakemistoluettelolomakkeessa kohteet voidaan suodattaa, ts. Käyttäjälle näytetään vain tarvittavat elementit. Voit asettaa valinnan ohjelmallisesti SetSelection (Attribuutit, Arvo) -menetelmällä. Tätä varten määritteen "Valinta attribuutin mukaan" -valintaruutu on oltava valittuna Configuratorissa .

Staattinen suodatin (vain versio 7.7)

Kohdassa 1C 7.7 et voi määrittää valintaa säännöllisillä yksityiskohdilla tai useilla yksityiskohdilla samanaikaisesti (monimutkainen suodatin). Tässä tapauksessa UseList of Elements -menetelmä voi olla ulospääsy. Tämä menetelmä on välitettävä luettelo elementeistä, jotka pitäisi näyttää. Tämä luettelo on ensin luotava.

Toimenpide ShowWorkingCarpenters()

ElementList = createObject("ValueList");

Ref.SelectItems();

.....Jos (Adv.Parent = ryhmätyö) AND (Adv.Position = puusepän työ) Sitten
..........Lista Elements.AddValue(Ref.CurrentElement());
.....Loppu Jos;
EndCycle;

UseListElements(ListItems);

Menettelyn loppu

Elementtimuoto ja ryhmämuoto

Jos hakemiston rakenne on monimutkainen, sen elementtejä on helpompi muokata erillisessä ikkunassa luettelon sijaan. Alla on Työntekijät-hakemistoelementin muoto.


Hakemistoelementtilomakkeessa on myös ennalta määritetyt menettelyt (tapahtumat):

Tapahtumat

Kuvaus

OnOpen() Kutsutaan, kun hakemistokohdelomake avataan. Voit asettaa muuttujien alkuarvoja, tarkistaa käyttäjien oikeudet tietyn hakemistoelementin avaamiseen jne.
OnClose() Kutsutaan, kun sanakirjakohdelomake suljetaan.
OnWrite()

Kutsutaan, kun hakemistoelementti kirjoitetaan. Tämän menettelyn avulla voit tarkistaa syötetyt tiedot virheiden varalta.

Esimerkki, hakemisto Työntekijät

Tallennusmenettely
....Jos Category.Selected()=0 Sitten
.........Varoitus("Työntekijäluokkaa ei ole määritetty!");
.........ReturnStatus(0);
.....Loppu Jos;
Menettelyn loppu

EnterNew() Kutsutaan, kun uusi hakemistoelementti syötetään interaktiivisesti. Tässä menettelyssä voit tarkistaa käyttäjän oikeudet luoda uusia hakemistoelementtejä sekä asettaa yksityiskohtien alkuarvot.

On huomattava, että versiossa 8.0 kaikkien objektien tapahtumien luetteloa on laajennettu merkittävästi.

Elementin luominen ja tallentaminen

Hakemistoelementin ohjelmallinen luominen

Alla Työntekijät-hakemistossa uusi työntekijä lisätään ohjelmallisesti työryhmään. Hakemistoon täytetään kentät Nimi, Vastaanottopäivä ja muutama määräaikaistieto.



Viite. Uusi();


Viite. Kirjoita ylös();
//jaksollisten yksityiskohtien asettaminen on mahdollista vasta elementin tallennuksen jälkeen
Ref.Category.Set (Ref.ReceptionDate, ktgPartners);
Ref.Position.Set (Ref.ReceptionDate, Carpenter);

Mutta voit tehdä siitä kauniimman:

RefCotr = CreateObject("Hakemisto. Työntekijät");
SprSotr.UseParent(grpWorking);
Ref.UseDate(ReceptionDate); //huomio!
Ref.New();
SprSotr.Name = "Ivanov Ivan Ivanovich";
Ref.ReceptionDate = "01/01/2002";
//saannista säännöllisiin yksityiskohtiin tulee sama kuin tavallisiin
SprSotr.Category = ktgPartners;
Spr.Position = dljCarpenter;
SprCotr.Write();

Uusi = Directories.Employees.CreateItem();
Uusi.Vanhempi = ryhmätyö;
Uusi.Nimi = "Ivanov Ivan Ivanovich";
New.ReceptionDate = "01/01/2002";
Uusi.Kirjoita();

//versiossa 8.0 ei ole säännöllisiä yksityiskohtia

Ohjelmallinen ryhmien luominen

RefCotr = CreateObject("Hakemisto. Työntekijät");

Viite. Uusi ryhmä();

Viite. Kirjoita ylös();

Ref.NewGroup();

SprCotr.Write();

Uusi = Hakemistot. Työntekijät .ryhmän luominen();

Uusi Kirjoita ylös();

Uusi = Hakemistot["Työntekijät"] .ryhmän luominen();
New.Name = "Toimii";
Uusi Kirjoita ylös();

Huomio!

Tapahtumat

Kun luot monia hakemistoelementtejä, voit liittää tapahtumaan syklin työn nopeuttamiseksi. Tässä tapauksessa kaikkien elementtien varsinainen luominen tapahtuu vain CommitTransaction()-komennolla. Hakemisto on estetty tapahtuman aikana.

RefCotr = CreateObject("Hakemisto. Työntekijät");
Aloita tapahtuma();

Nom = 1 - 100 sykli
.....Ref.New();
.....SprSotr.Name = "Uusi" + Merkkijono(Nim);
.....RepCort.Write();
EndCycle;

CommitTransaction();


SprSotr = Hakemistot.Työntekijät;
Aloita tapahtuma();

Nom = 1 - 100 sykli
.....Uusi = SprSotr.CreateElement();
.....New.Name = "Uusi" + Merkkijono(Nim);
.....New.Write();
EndCycle;

CommitTransaction();

Iterointi elementtien yli

Yksinkertainen haku

RefCotr = CreateObject("Hakemisto. Työntekijät");
tila = 0; //valitse ottamatta huomioon hierarkiaa, 1 - ottaen huomioon (oletuksena)
Viite. Valitse kohteet(Tila);
Vaikka SprSotr. GetElement()=1 sykli
.....<действия с очередным элементом/группой>
EndCycle;

Suodatus (valinta)

RefCotr = CreateObject("Hakemisto. Työntekijät");
HierarchyMode = 1; //1 - valitse hierarkia huomioon ottaen, 0 - ottamatta huomioon
Ryhmätila = 0; //0 - älä sisällytä ryhmiä valintaan, 1 - sisällytä
AttributeName = "Vuosi"; //Configuratorissa määritteen Valinta-valintaruutu on oltava valittuna
arvo = 1980;
Viite. Valitse ElementsBy Details(AttribuutinNimi,Arvo,HierarchyMode,GroupMode);
Vaikka SprCont.GetElement()=1 Loop
.....<действия с очередным элементом>
EndCycle;

Suodatus silmukassa

RefCotr = CreateObject("Hakemisto. Työntekijät");
SprSotr.UseParent(grpWorking);
Ref.UseDate(WorkingDate());
Viite. Valitse kohteet();
Vaikka SprSotr. GetElement()=1 sykli

Jos hallinnollinen asema<>dlzhCarpenter Sitten
....Jatkaa; //jätämme tämän työntekijän väliin, siirrymme syklin alkuun
loppu Jos;

<действия с очередным элементом>

EndCycle;

Lajittelujärjestys

Ennen näytteenottoa voit asettaa lajittelujärjestyksen seuraavilla tavoilla:

CodeOrder()
NimiTilaus()
Attribuuttien järjestys(ReqName) //määritteen Lajittelu-valintaruutu tulee olla valittuna Configuratorissa
Käänteinen järjestys()

Esimerkiksi alla avautuu valikoima työntekijöitä, jotka on lajiteltu numeron mukaan laskevaan järjestykseen:

RefCotr = CreateObject("Hakemisto. Työntekijät");
Ref.CodesOrder();
Ref.ReverseOrder();
Ref.SelectItems();

Pyyntö hakemistoon

Hakemistoelementtien haku voidaan järjestää Requestin kautta. Tämä on usein kätevämpää, jos käytetään monimutkaista valintaehtoa tai elementtien ryhmittelyä. Katso lisätietoja. Pyynnöt

Etsi elementti

Etsi elementti

RefCotr = CreateObject("Hakemisto. Työntekijät");
Jos SprSotr. FindElement(SelectSotr)=1 Sitten
....//elementistä tulee virta
....SprSotr.Parent = grpTyö;
....RepCort.Write();
loppu Jos;

Hae koodilla

Jos SprSotr. FindByCode(1) = 1 Sitten
....ElementOrGroup = Ref.CurrentElement();
loppu Jos;

Hae nimellä

Jos SprSotr. FindByName("Working")=1 Sitten
....grpWorking = Ref.CurrentItem();
loppu Jos;

tila = 1; // 1 - haku vahvistetun alaisuuden (vanhemman) sisällä (oletus); 0 - haku koko hakemistosta
Hakulippu = 0; //1 - etsi tarkka vastaavuus; 0 - etsi nimi ensimmäisten merkkien mukaan (oletus)
SprSotr.UseParent(grpWorking);
Jos Ref.FindByName("Iv",Mode,SearchFlag)=1 Sitten
....FirstWorkingIv = Ref.CurrentItem();
loppu Jos;

Hae tiedoilla

ReqName = "Vuosi"; //määritteen Lajittelu-valintaruutu täytyy olla valittuna Configuratorissa
SearchGlobeFlag = 1; // 1 - haku koko hakemistosta, 0 - haku alisteiselta
Jos SprSotr. FindByDetails(ReqName,1980,SearchGlobeFlag)=1 Sitten
.....FoundElement = Ref.CurrentElement();
loppu Jos;

Elementin etsiminen silmukasta

RefCotr = CreateObject("Hakemisto. Työntekijät");
SprSotr.UseParent(grpWorking);
Ref.UseDate(WorkingDate());
Viite. Valitse kohteet();
Vaikka SprSotr. GetElement()=1 sykli

Jos Admin.Position = dlzhCarpenter Sitten
....Keskeyttää; //löytyi toimiva puuseppä! päästä ulos silmukasta
loppu Jos;

EndCycle;
<действия с найденным элементом>

Pyyntö hakemistoon

Hakemistoelementin haku voidaan järjestää Request-toiminnolla. Tämä on usein kätevämpää, jos sovelletaan monimutkaisia ​​valintaehtoja. Katso lisätietoja. Pyynnöt

Kohteiden poistaminen

Suora poisto

RefCotr = CreateObject("Hakemisto. Työntekijät");
SprEmployee.FindElement(SelectEmployee);
Ref.Delete(); //välitön poisto

Huomio! Jos poistat elementin suoraan, varmista, ettei siihen ole viittauksia muissa objekteissa. Esimerkiksi loma-asiakirjassa voidaan käyttää erotettavaa työntekijää. Jos se poistetaan, tietokannan viitteellinen eheys rikkoutuu. Tässä tapauksessa on suositeltavaa käyttää merkitty poistettavaksi.

Voit saada ohjelmallisesti luettelon objekteista, jotka sisältävät linkin poistettavaan objektiin FindLinks(object)-menetelmällä.

Merkitse poistettavaksi

Tietokannan viittauksen eheyden hallitsemiseksi poistetut elementit merkitään poistettaviksi. Sitten käyttämällä erityistä valikkokomentoa Operations => "Merkityjen kohteiden poistaminen" poissulkevassa tilassa 1C-järjestelmä tarkistaa viittauksen eheyden ja poistaa fyysisesti elementit tietokannasta, jos niihin ei ole viittauksia muissa objekteissa.

SprSotr = CreateObject("Hakemisto. Työntekijät");
Ref.FindElement(SelectEmployee);
Ref.Delete(0); //merkintä poistettavaksi

//voit tarkistaa, onko elementti merkitty poistettavaksi
//funktio palauttaa 1 - jos merkitty, 0 - jos ei
Merkki = viite FlagDeletion();

//voit poistaa poistomerkin valinnan
Ref.FindElement(SelectEmployee);
Viite. Poista valinta Poista();

Tapahtumat

Kun poistat monia hakemistoelementtejä, voit lisätä tapahtumaan silmukan työn nopeuttamiseksi. Tässä tapauksessa kaikkien elementtien todellinen poistaminen (poistomerkintä) tapahtuu vain CommitTransaction()-komennolla. Hakemisto on estetty tapahtuman ajaksi.

RefCotr = CreateObject("Hakemisto. Työntekijät");
Aloita tapahtuma();

Ref.SelectItems();
Vaikka SprCont.GetElement()=1 Loop
......Ref.Delete(0); //merkintä poistettavaksi
EndCycle;

CommitTransaction();

Hierarkkiset hakemistot

1C:Enterprise-järjestelmän hakemistoelementtien luettelo voi olla monitasoinen. Tässä tapauksessa kaikki hakemistorivit jaetaan kahteen tyyppiin: "yksinkertaisesti" hakemistoelementit ja hakemistoryhmät. Ryhmien avulla voit siirtyä monitasoisen hakemiston alemmille tasoille. Hakemistojen sisäkkäisten tasojen mahdollinen määrä asetetaan Configuratorissa.

Monitasoisten hakemistojen avulla voit järjestää tietojen syöttämisen hakemistoon vaaditulla yksityiskohtaisella tasolla. Monitasoisen hakemiston elementtejä ja elementtiryhmiä voidaan siirtää ryhmästä toiseen.

Huomio! Hierarkkinen hakuteos on myös monitasoinen hakemistoon tai hakemistoon ryhmiä.
1C:n hakemistoryhmää kutsutaan usein " vanhempi".

Ohjelmallinen ryhmän luominen

RefCotr = CreateObject("Hakemisto. Työntekijät");

Viite. Uusi ryhmä();
SprSotr.Name = "Toimii";
Viite. Kirjoita ylös();

Ref.NewGroup();
Ref.Name = "Hylätty";
SprCotr.Write();

Huomio! Configuratorissa voit asettaa määritteen kelpaamaan vain elementille, vain ryhmälle tai molemmille. Esimerkiksi Vastaanottopäivämäärä-kenttä ei ole järkevä työryhmälle. Siksi sinun ei pitäisi käyttää elementin tietoja, jos työskentelet ryhmän kanssa ja päinvastoin.

Nykyisen ryhmän asettaminen


Viite. UseParent(grpWorking); //Nyt olemme työryhmän sisällä
Ref.SelectItems(); //avaa valikoima työryhmän elementtejä

RefCotr = CreateObject("Hakemisto. Työntekijät");
Viite. UseParent(grpWorking);
Ref.New(); //uuden elementin luominen työryhmään

Jos hakemisto on monitasoinen, on hyödyllistä käyttää seuraavia menetelmiä ja määritteitä, joiden avulla voit saada tietoa nykyisestä hakemistoelementistä:

Menetelmä/ominaisuus

Kuvaus

Taso()

Tämä menetelmä palauttaa nykyisen elementin tason. Esimerkiksi työryhmään kuuluvalle työntekijälle saamme numeron 2.

Esimerkki hierarkkisen hakemiston tulos puun muodossa:

RefCotr = CreateObject("Hakemisto. Työntekijät");
Ref.SelectItems();

//näytä sisennys elementin sisäkkäisyyden mukaan
For Nom=1 Const.Level() Cycle
.....Raportoida(".....");
EndCycle;

EndCycle;

Tämä ryhmä () Tämä menetelmä palauttaa arvon 1, jos nykyinen hakemistoelementti on ryhmä, tai 0, jos se ei ole ryhmä.

Esimerkki työntekijöiden tuotos (ryhmät eivät ole tuotoksia):

RefCotr = CreateObject("Hakemisto. Työntekijät");
Ref.SelectItems();
Vaikka Ref.GetItems()=1 Loop

Jos Ref.ThisGroup()=1 Then
......Jatkaa; //ohita ryhmät, siirry silmukan alkuun
loppu Jos;
Raportti(viitenimi);

EndCycle;

Kuuluu ryhmään (...) Menetelmä tarkistaa, kuuluuko nykyinen hakemistoelementti määritettyyn ryhmään (riippumatta taustatasosta, jolla se sijaitsee).
Palauttaa: 1 - jos elementti kuuluu määritettyyn ryhmään, 0 - jos ei.

Esimerkki: Alkoholiryhmään kuuluvien tuotteiden esittäminen riippumatta siitä, kuuluvatko ne alaryhmiin Samppanja, Olut, Vodka, Viini jne.:




.....Ilmoita(SprProducts.Name);
loppu Jos;

EndCycle;

attribuutti Vanhempi

Tämä attribuutti sisältää nykyisen hakemistoelementin ylätason, ts. ryhmä, jossa nykyinen elementti sijaitsee. Luettava ja kirjoitettava.

Esimerkki: kaikkien tuotteiden siirtäminen Alkoholi-ryhmästä Myynti-ryhmään:

DirectoryProducts = CreateObject("Hakemisto. Tuotteet");
SprProducts.SelectItems();
Vaikka SprProducts.GetItems()=1 Loop

Jos Products.Belongs to Group(groupAlcohol)=1 Sitten
.....SprSotr.Parent = grpSale;
.....RepCort.Write();
loppu Jos;

EndCycle;

Tai voit tehdä siitä kauniimman ja siirtää koko Alkoholiryhmän Sale-ryhmään, jolloin kaikki alaryhmät ja elementit siirtyvät myös Sale-ryhmään.

DirectoryProducts = CreateObject("Hakemisto. Tuotteet");
SprProducts.FindItem(grpAlcohol);
SprProducts.Parent = grpSale;
SprProducts.Write();

FullCode()

Palauttaa merkkijonon, joka sisältää valitun hakemistoelementin koko koodin ja kaikki korkeammat tasot erotettuna "/"-merkillä.

Esimerkiksi "2/7/123"

Koko nimi()

Palauttaa merkkijonon, joka sisältää valitun hakemistoelementin koko nimen ja kaikki korkeammat tasot erotettuna "/"-merkillä.

Esimerkiksi "alkoholi/samppanja/neuvostoliitto"

Kyky valita ryhmä dialogirekvisiittassa

Usein on kätevää saada lisätietoja lomakkeesta, jossa on Hakemistotyyppi, jotta ryhmän valinta ei ole mahdollista. Tällöin tästä kentästä voidaan valita vain elementti, eikä ryhmää voida valita. Yleensä on helpompi yrittää kerran kuin selittää useita kertoja.

Form.SelectEmployee. Ryhmän valinta(0); //poistaa ryhmän valinta käytöstä

Alisteiset hakemistot

Hakemisto- omistaja, tämä on myös hakuteos - hallita.
Myös omistajahakemisto ja orjahakemisto kutsutaan liittyvät lähdekirjat.
Relaatiotietokannan termein omistajahakemisto on päätaulukko, orjahakemisto on alitaulukko.

Alisteisten hakemistojen antaminen

Mitä tahansa hakemistoa voidaan käyttää joko sellaisenaan tai jonkin muun hakemiston alaisuudessa. Esimerkiksi sopimushakemistoa voidaan käyttää erikseen tai se voidaan linkittää organisaatiohakemistoon.

Jos haluat alistaa hakemiston jollekin järjestelmässä jo olevalle hakemistolle, valitse "Alisteinen"-kentässä tämän hakemiston nimi. Tällaista hakemistoa 1C:Enterprise-järjestelmässä kutsutaan omistajaksi.

Toisin kuin monitasoisessa hakemistossa, jossa kaikilla elementeillä on sama rakenne, alisteisten hakemistojen mekanismin avulla voit linkittää eri rakenteiden elementtejä. Tässä tapauksessa jokainen alemman hakemiston elementti liitetään johonkin omistajahakemiston elementtiin.

Ulkoisesti työskentely alemman hakemiston kanssa 1C:Enterprise-järjestelmässä näyttää tältä.

Jos näyttötila hierarkkisen listan muodossa on asetettu alihakemistolle, on ennen hakemiston käyttöä ensin valittava omistajahakemistoelementti. Näytöllä näkyvissä alihakemisto sisältää otsikossaan omistajaelementin nimen ja alihakemiston elementtiluettelo sisältää vain omistajaelementtiin liittyviä elementtejä. Kun omistajaelementti muuttuu, alihakemistoikkunan tiedot päivitetään vastaavasti.

Jos avaat alihakemiston valitsematta omistajaelementtiä, alihakemiston ikkunassa ei näy elementtiä ja ikkunan otsikossa näkyy viesti "Omistajaelementtiä ei ole määritetty".

Kun työskentelet 1C:Enterprise-järjestelmän kanssa, näyttö hierarkkisen luettelon muodossa voidaan poistaa käytöstä alisteiselta hakemistolta. Tässä tapauksessa kaikki tämän hakemiston elementit näkyvät orjahakemiston ikkunassa, eli eri omistajille määritetyt elementit näytetään sekaisin. Kuitenkin mikä tahansa alemman hakemiston elementti "tietää" omistajansa: jos "Muokkaa dialogissa" -tila on käytössä hakemistossa (katso alla "Hakemistolomakkeiden luominen"), omistajaelementin nimi näkyy otsikossa. hakemistoelementtien muokkausikkunasta.

Nykyisen omistajan asettaminen


SprAgreements.UseOwner(SelectContractor);
SprAgreements.SelectItems(); //avaa valikoima valitun vastapuolen sopimuksia
<...>

Tiedot nykyisestä elementistä

Jos hakemisto on alisteinen, on hyödyllistä käyttää seuraavia menetelmiä ja määritteitä, joiden avulla voit saada tietoja nykyisestä hakemistoelementistä:

Attribuutti

Kuvaus

attribuutin omistaja

Tämä attribuutti sisältää alihakemiston nykyisen elementin omistajan, ts. isäntähakemiston elementti, johon tämä elementti kuuluu. Attribuutti on luettavissa ja kirjoitettavissa.

Esimerkki: kaikkien sopimusten siirto yhdeltä vastapuolelta toiselle (Sopimushakemisto on vastapuolihakemiston alapuolella):

DirectoryAgreements = CreateObject("Hakemisto.Agreements");
SprAgreements.UseOwner(vastapuoli1);
SprAgreements.SelectItems();
Vaikka SprAgreements.GetElements()=1 silmukka

SprAgreements.Omistaja = Vastapuoli2;
SprAgreements.Write();

EndCycle;


Jaksottaiset yksityiskohdat

"Jaksottainen"-vaihtoehdon ottaminen käyttöön antaa sinun määrittää hakemistoattribuutille, joka tallentaa sen arvon muutoshistorian. Tällaista yksityiskohtaa 1C:Enterprise-järjestelmässä kutsutaan jaksolliseksi ja sillä on seuraava ominaisuus: toisin kuin "tavalliset" (ei-jaksolliset) tiedot, 1C:Enterprise-järjestelmä tallentaa tällaisen yksityiskohdan arvot niiden muutospäivien mukaan. . Kun haetaan tällaisen attribuutin arvoa tietyltä päivämäärältä, sen arvo palautetaan tälle päivälle tai, jos se puuttuu, lähimmälle edelliselle päivämäärälle, jolloin attribuutin arvo on asetettu.

Tämä hakemistotietojen ominaisuus mahdollistaa esimerkiksi valuuttakurssihistorian tallennuksen helpon organisoinnin valuuttahakemistoon.

Säännöllisiin yksityiskohtiin pääsee käsiksi 1C:Enterprise-järjestelmän sisäänrakennetulla kielellä - vastaanota ja tallenna tietojen arvo tietyltä päivämäärältä. On kuitenkin syytä muistaa, että kun muuttujan arvo saadaan tietyltä päivämäärältä, sen arvo noudetaan määritetylle tai (jos arvoa ei ole määritetylle päivämäärälle) lähimmälle edelliselle päivälle ja jaksollinen muuttuja kirjataan aina määritetylle päivälle.

Voit avata "Historia"-ikkunan tilassa, jossa käytetään konfiguraatiota säännöllisille tiedoille. Tämä ikkuna on taulukko, joka koostuu kahdesta sarakkeesta: hakemistomääritteen arvon muuttamispäivämäärä ja tämän päivämäärän arvo. "Historia"-ikkunassa voit muokata määritteen arvon muutoshistoriaa suoraan: syöttää uusia rivejä, muokata tai poistaa olemassa olevia.

Säännölliset yksityiskohdat
//näin saamme selville, mikä luokka työntekijällä oli tiettynä päivänä
Luokka = SprSort.Category.Get(SomeDate);

//näin asetamme työntekijän kategorian tietylle päivälle
Ref.Category.Set(SomeDate, NewCategory);

Huomio! Näitä menetelmiä voidaan käyttää, jos et ole aiemmin käyttänyt UseDate-menetelmää

Päivämäärän asettaminen näytteenottoa varten

//voit asettaa päivämäärän koko hakemiston säännöllisille tiedoille
Viite. UseDate(SomeDate);

//niin se on jo alempi se on kielletty käytä Set and Get -menetelmiä
//saannista säännöllisiin yksityiskohtiin tulee sama kuin tavallisiin yksityiskohtiin
Luokka = SprSotr.Category;
Spr.Palry = 6000;

Objekti "jaksollinen"

Jaksottaisten yksityiskohtien historian käsittelemiseksi on erittäin kätevää käyttää "Jaksollista" -objektia.

Esimerkki: näytä työntekijän urahistoria kuluvalta vuodelta:

HistoryCareers = CreateObject("Periodinen");
CareerHistory.UseObject("Position", SelectEmployee);
Urahistoria.Valitse Arvot(Vuoden alku(Työpäivä(),Vuoden loppu(Työpäivä()));
Vaikka HistoryCareers.GetValue()=1 Loop
....Raportti(String(UraHistoria.Päivämäärä) + " " + Merkkijono(Urahistoria.Arvo));
EndCycle;

Voit myös muokata ja poistaa arvoja Periodic-objektin avulla. Täydellinen luettelo menetelmistä on Syntax Helperissä.

Asiakirjojen käsittely

Tositetta kirjattaessa on usein tarpeen asettaa uusi arvo jaksolliselle attribuutille tietylle päivämäärälle. Tätä kutsutaan asiakirjan siirroksi. Tässä tapauksessa sinun tulee käyttää Set Directory Attributes -menetelmää:

Aseta hakemiston tiedot(Työntekijä, "Position", UusiPosition, MoveDate);

Menettelyn loppu

Jos asiakirjassa on taulukkoosa ja haluat, että asiakirjan liikkeet linkitetään tositteen rivin numeroon, sinun tulee käyttää BindRow-menetelmää.

Proseduuri ProcessingConduct()

SelectRows();
Vaikka GetString()=1 silmukka

BindString(Rivinumero);
Aseta hakemiston tiedot (Työntekijä, "Asema", Uusi asema, Siirtopäivämäärä);

EndCycle;

Menettelyn loppu

Valinta hakemistosta

Valintatoiminnon avulla voit valita useita arvoja hausta tai muusta objektista sulkematta sitä.Esimerkiksi on olemassa laskutosite, johon käyttäjä voi määrittää useita tuotteita.

Valinnan järjestäminen

Syntaksi: OpenSelect(<Объект>,<ИмяФормы>,<КонтекстФормы>,<ФлагМножВыбора>,<ТекЗнач>)

OpenSelection("Hakemisto. Nimikkeistö","FormForSelection",Cont,1);


...Uusi rivi();
...Tuote = Tuote;
Menettelyn loppu

Voit käyttää lomakekontekstia ja siirtyä heti haluttuun ryhmään, esimerkiksi:

OpenSelection("Hakemisto. Nimikkeistö","FormForSelection",Cont,1);
Cont.UseParent(grpAlcohol);

Prosedure ProcessingFit (elementti, lomakkeen sisältö)
...Uusi rivi();
...Tuote = Tuote;
Menettelyn loppu

Arvojen asettaminen ja saaminen valinnasta

ContFormSelection. SetValueInSelection(<ИмяРеквизита>,<Значение>)

<ИмяРеквизита>- rivi arvon valintalomakkeen attribuutin nimellä;
<Значение>- attribuutin arvo.

ContFormSelection. GetValueFromSelection(<Выражение>)

<Выражение>- merkkijonolauseke, jonka arvo lasketaan valintalomakkeen yhteydessä ja palautetaan tuloksena.

Muita hyödyllisiä menetelmiä

Menetelmä

Kuvaus

Näytä() Aseta tai lue hakemistotyypin nykyinen nimi. Palauttaa hakemistotyypin nykyisen nimen, joka on määritetty Configuratorissa, esimerkiksi "Työntekijät". Hakemistotyypin asettaminen on mahdollista "Hakemisto"-tyypin yksityiskohtia varten, esim. määrittelemättömän tyyppinen hakemisto.
Näytä Näytä() Hanki mukautettu näkymä hakemistonäkymästä konfiguraattorissa määritetyllä tavalla.
Palauttaa merkkijonoarvon, joka sisältää mukautetun esityksen hakemistonäkymästä (synonyymi).
SetAttribute (Attribuutin nimi, Arvo) Aseta attribuutin arvo sen nimen mukaan.
<ИмяРеквизита>- merkkijonolauseke, joka sisältää määritteen nimen konfiguraattorissa määritetyllä tavalla.<Значение>- lauseke, joka sisältää määritettävän attribuutin arvon.
GetAttribute(Attribuutinnimi) Hanki määritteen arvo sen nimen perusteella. Palauttaa määritteen arvon.
Valittu()

Palauttaa 1 - jos hakemistoelementti on valittu, 0 - jos sitä ei ole valittu. Käytetään usein virheiden tarkistamiseen varmistaakseen, että kaikki vaaditut tiedot on toimitettu.

Valita(...) Valintaikkunan kutsuminen hakemistoelementin valitsemiseksi.
Palauttaa: 1 - jos elementti on valittu; 0 - jos sitä ei ole valittu. Valitusta elementistä tulee nykyinen.

Hakemistorakenteen lukeminen

Pyöräile hakuteosten mukaan

DirectoriesInConfigurationin lukumäärä = Metadata.Directory();
Nimi = 1 hakemistojen lukumäärään määritysjaksossa

cfgSpr = Metadata.Directory(Nim);
Tunniste = cfgSpr.Identifier();
FullIdentifier = cfgSpr.FullIdentifier();
Synonyymi = cfgSpr.Synonym();

1C-hakemistot ovat erikoistunut metatietopuuobjekti, joka tallentaa staattista viitetietoa. Esimerkiksi tyypillisissä kokoonpanoissa voit nähdä seuraavat näkymät: , Nimikkeistö, Työntekijät, Käyttöomaisuus jne. Hakemistoissa olevat tiedot eivät yleensä muutu usein. Hakemistoja käytetään myöhemmin lähes kaikissa kirjanpitokohteissa kirjanpito-osiona tai viitetietona.

Alla tarkastellaan hakemiston määrittämistä ja suunnittelua konfiguraattorista käyttämällä esimerkkinä "Nimiklatuuri"-hakemistoa.

Perus-välilehti

"Perus"-välilehti määrittää nimen, synonyymin, objektin esityksen ja tarkoituksen kuvauksen.

"Hakemistohierarkia" -välilehti

Tässä määritetään hakemiston hierarkia.

1C 8.3:n hierarkia on kahdentyyppistä - " ryhmät ja elementit"ja" elementtejä". Se eroaa siinä, että ensimmäisessä tapauksessa vain kansio (ryhmä) voi olla ylätason (kansio) ja toisessa tapauksessa elementti voi olla myös ylätaso.

"Aseta ryhmät päälle" - lippu vastaa ryhmien näyttämisestä luettelomuodossa.

Myös asetuksissa voit rajoittaa ryhmien määrää hakemistohierarkiassa sopivalla asetuksella.

Omistajat-välilehti

Hakemisto voi olla toisen hakemiston alisteinen. 1C 8.3:n määrittämisen kannalta tämä tarkoittaa, että "Omistaja"-attribuutista tulee pakollinen alielementille. Esimerkki tällaisesta yhteydestä hakemistojen välillä vakiokokoonpanoissa "Nimikkeistö - Mittayksiköt", "Vastapuolet - Urakoitsijoiden sopimukset".

Hakemiston omistaja voi olla myös seuraavat metatieto-objektit: , .

Tiedot-välilehti

Hanki 267 videotuntia 1C:llä ilmaiseksi:

Ohjelmoijan kannalta tärkein välilehti. Se sisältää hakemiston tiedot.

Hakemistossa on joukko vakiotietoja, joita 1C 8.2 -ohjelmoija ei muokkaa; luettelo niistä näkyy napsauttamalla "Standard Details" -painiketta:

Tarkastelen jokaista tarkemmin:

  • Tämä ryhmä— Boolen tyyppinen attribuutti, joka osoittaa, onko kyseessä ryhmä vai elementti. Saatavilla vain hierarkkisessa hakemistossa. Huomautus, tämän määritteen arvoa ei voi muuttaa 1C: Enterprise -tilassa.
  • Koodi— rekvisiitta, tyyppinumero tai merkkijono (yleensä merkkijono). Järjestelmän automaattisesti määrittämä numero. Yleensä lasketaan muodossa (edellinen koodi + 1). Suosittelen merkkijonotyypin käyttöä, koska numeeristen arvojen lajittelu ei toimi odotetulla tavalla. Voidaan käyttää hakemistoesityksenä luettelossa ja syöttökentissä. Yleensä käytetään elementin etsimiseen merkkijonoa syötettäessä. Jos sinun on poistettava Koodi-kenttä, kirjoita rivin pituuteen nolla.
  • Nimi— pakolliset tiedot, merkkijonotyyppi. Rivin enimmäispituus on 150 merkkiä. Voidaan käyttää hakemistoesityksenä luettelossa ja syöttökentissä. Yleensä käytetään elementin etsimiseen merkkijonoa syötettäessä. Jos haluat poistaa Nimi-kentän, kirjoita rivin pituuteen nolla.
  • Vanhempi— DirectoryLink-tyypin attribuutti.<ИмяТекущегоСправочника>. Saatavilla vain hierarkkisessa hakemistossa. Osoittaa hierarkian ylempään vanhempiin. Jos elementti tai ryhmä on hakemiston juuressa, määritetään arvo Hakemisto.<ИмяТекущегоСправочника>.EmptyLink.
  • Omistaja— linkki nykyisen hakemistoelementin (ryhmän) omistajaelementtiin. Saatavilla vain alisteisessa 1C-hakemistossa.
  • FlagDeletion— rekvisiitta, jonka tyyppi on Boolean. Vastaa "poistomerkin" näyttämisestä järjestelmässä. Poistettavaksi merkitty elementti katsotaan käyttökelvottomaksi, mutta siihen voi jäädä vanhoja asiakirjan liikkeitä.
  • Linkki— merkkijonotyypin kenttä. Tämä attribuutti tallentaa yksilöllisen objektitunnisteen - GUID. Se, mitä näemme järjestelmässä visuaalisessa näytössä nimeltä "linkki", on vain esitys objektista. Ei voi muuttaa.
  • Ennalta määritetty— Boolen tyyppi, näyttää, onko elementti ennalta määritetty, lisää siitä myöhemmin. Ei voi muuttaa.

"Data"-välilehti ilmaisee myös hakemiston esityksen järjestelmässä; ennen versiota 8.2.16 esitys saattoi olla vain koodi tai nimi. Alustan uusimmissa versioissa (8.3 alkaen) näkymää voidaan kuvata itsenäisesti hallintamoduulissa "ViewReceivingProcessing" -käsittelijän avulla.

Numerointi-välilehti

Täällä voit määrittää hakemiston numerointiasetukset. On suositeltavaa käyttää automaattista numerointia. Ainutlaatuisuushallinta on lippu, joka auttaa tarvittaessa tekemään koodista ainutlaatuisen. Jos yrität kirjoittaa hakemistoelementin, jolla on ei-yksilöllinen koodi, kun lippu on asetettu, 1C:ssä saat viestin "Hakemistokoodista on tullut epäainutlaatuinen".

Koodisarja - määrittää hakemiston numerointitavan; voit syöttää hakemiston numeron omistajan mukaan. Esimerkiksi vastapuolella "Sarvet ja kaviot" on oma sopimusnumeronsa - "1, 2, 3" jne.

Lomakkeet-välilehti

Hakemiston lomakkeet on kuvattu tässä. Jos määritys käynnistetään sekä normaalissa että hallitussa tilassa, oletuksena on kaksi välilehteä, joissa on lomakkeita: "main" ja "advanced" - eroavat normaaleille ja hallituille sovelluksille.

Tällä sivulla on hakemiston tärkeä ominaisuus - "". Tämä on erittäin kätevä 1C 8:n toiminto, jonka avulla voit, kun täytät tietoja syöttökenttään, olla menemättä hakemistoon, vaan kirjoittaa sen nimen, koodin jne. ja valitse haluamasi elementti avattavasta luettelosta. Se näyttää tältä:

Muu välilehti

Välilehdellä pääset nopeasti käsiksi hakemiston päämoduuleihin - objektimoduuliin ja hallintamoduuliin.

Voit myös määrittää sivulla luettelon ennalta määritetyistä hakemistoelementeistä. Näitä kohteita ei voi poistaa yritystilassa. Ennalta määritettyjä elementtejä pääsee käsiksi suoraan konfiguraattorissa nimellä, esimerkiksi: Directories.Nomenclature.Service.

Tämä välilehti määrittää myös estotilan - automaattisen tai ohjatun. Täystekstihaun käyttö sekä viitetiedot hakemistosta, saatavilla 1C: Enterprise-tilassa.



Satunnaisia ​​artikkeleita

Ylös