1C-programozás - dokumentumok 2h

Az új dokumentum a rendszerben 1C beírható különböző módon:
Interaktív - ez a módszer lehet megvalósítani a különböző módon.

1. Az első változat. A felhasználó kiválaszt egy menüpontot az almenüben Dokumentumok és kattintson a nevére a kívánt dokumentumot. Ami ezután történik. A dokumentum van rendelve egy szám, a dátumot, az elkezdi feldolgozás modul szereplők predopredelennnoy eljárások dokumentum formájában VvodNovogo (), majd megnyitja a maszkban a hívás nyitva () eljárást. Az új dokumentum jön létre a memóriában, de ahhoz, hogy ez legyen az adatbázisban rögzített, akkor kattintson a Mentés gombra.







2. variációja ez a lehetőség, hogy hozzon létre egy dokumentumot a nyitott forma folyóirat papírokat. A második lehetőség magában foglalja a létrehozását egy új dokumentumot másol ugyanaz. Amikor másolatot készítünk egy dokumentum új sorszámot, és minden részletet tele vannak adatok a másolt dokumentumot. Ezért van az, ha az eljárás VvodNovogo (), akkor töltse ki az egyes részleteket, ha egy új dokumentum létrehozására, szükség van az elején ennek az eljárásnak, hogy hozzanak létre ellenőrzését a tények, hogy ne hozza le az értéke részleteket.

3. A harmadik megvalósításban egy új dokumentum alapján létrehozott egyéb meglévő dokumentum típusát. Ebben a helyzetben, hanem a VvodNovogo () rutin eljárás VvodNaOsnovanii () nevezzük. Meg kell leírni néhány részletet az új dokumentum tele lesz a dokumentumból-bázis. Természetesen a részleteket kitölteni az új dokumentumot kell ugyanolyan típusú, mint a megfelelő adatokat a források. Példa töltés áramlás számlát alapján a számlát:

RaschetnyySchet = DokOsn.RaschetnyySchet;
MestoHraneniya glZnacheniePoUmolchaniyu = ( "OsnovnoySklad");
= DokOsn.Kontragent fél;
Szerződés = DokOsn.Dogovor;
VariantRaschetaNalogov = DokOsn.VariantRaschetaNalogov;

DokOsn.VybratStroki ();
Míg DokOsn.PoluchitStroku () = 1 ciklus

Newline ();
Áruk = DokOsn.Tovar;
Mennyiség = DokOsn.Kolichestvo;
Ár = DokOsn.Tsena;
Sum = DokOsn.Summa;
ÁFA = DokOsn.NDS;
Összesen = DokOsn.Vsego;

Ha hívja a eljárás telepíti az értékek az egyes mezők és négyzeteket számla értéke a számlán. Először töltött kellékei sapkák, majd olvasási ciklus szervezett vonalak számlák asztal része szereplők VybratStroki () és PoluchitStroku (). Ebben ugyanabban a ciklusban minden alapvonal kerül bevezetésre, és kitöltött egy új számlát vonalat (Newline parancs ()).
Hozzáférés a bankszámlán keresztül változó DokOsn, amely paramétert az eljárás. Mint tudjuk (lásd. A leírás az előre meghatározott dokumentum formájában modul eljárások), a rendszer elküldi az összefüggésben dokumentum-bázis.

4. A szoftver módszer - számára a nyelvi 1C speciális csapatok. Lehetőség van a felvétel az áramlás fuvarlevél formában dokumentum SchetFaktura:

SF = SozdatObekt ( "Dokument.SchetFaktura");
SF.Novy ();
SF.VariantOtpravki = 1;
SF.NomerDok = NomerDok; // egy számla ugyanaz lesz számát és dátumát, hogy
SF.DataDok = DataDok; // számlát. De mivel nem tudod, van Automatikus számozás
SF.Kontragent = Partner;
SF.Gruzopoluchatel = Partner;

VybratStroki ();
Míg PoluchitStroku () = 1 ciklus

SF.NovayaStroka ();
Kellékek // „áruk” dokkoló, amely rendelkezik egy meghatározatlan típusú SchetFaktura
SF.NaznachitTip ( "Áru", "Spravochnik.Nomenklatura");
SF.Tovar = ellátás;
Ha PustoeZnachenie (Tovar.StranaProiskhozhdeniya) = 0, akkor

// és ez fordul a részleteket referencia „nómenklatúra”
SF.StranaProiskhozhdeniya = Tovar.StranaProiskhozhdeniya;

SF.Kolichestvo = száma;
SF.Tsena = ár;
SF.Summa = Sum;
SF.NDS = ÁFA;
SF.Vsego = Sum + ÁFA;

// ez a törvényjavaslat válik a számlák alapján a speciális kellékek
SF.DokumentOsnovanie TekuschiyDokument = ();

KonetsTsikla;
SF.Zapisat ();
SF.Provesti (0, "szoftver");

Megjegyezzük, hogy az első dokumentum jön létre, mint egy tárgy, majd be egy új dokumentumot. Későbbi lépései hasonlóak az akciók, amikor belép a bázis. Ne felejtsük el, ha létrehozni vagy szerkeszteni dokumentumok és szoftverek, meg kell jegyezni. És kérlek, ne próbálja meg, hogy egy eljárás lefolytatása () a test egy meghatározott eljárási ObrabotkaProvedeniya () modul a dokumentumot!

Végezze operátor () a fenti példában végez kezében eszköz. Elvégzésében hogy fogják hívni ObrabotkaProvedeniya () előre meghatározott eljárást. A második szükséges továbbítjuk feldolgozásának érték ( „Szoftver”), olyan eljárás, amelynek ObrabotkaProvedeniya () megtudja a teljesítményét a szoftver. Ez lehet egy egyszerű karakterlánc vagy szám, feladata - csak azt jelzi az a tény, a szoftver.

Ha dolgozik egy meglévő dokumentum, az eljárás a magatartási () pereprovedet dokumentumot. És a módszer segítségével, a () látható, ha minden dokumentum birtokában:

Ha Dok.Proveden ()> 0 Then

Report ( "Document №" + Dok.NomerDok + "végzett");






............... // Néhány műveleteket kell csinálni, aki olyan dokumentumot

Létrehozásáról szóló műveletek és tranzakciók során az olvasási dokumentumok partíció műveletek és vezetékek fejezetek elszámolása.

Amikor létrehozunk több dokumentumot, illetve felgyorsítható a ciklus is köthet ügyletet. Ebben az esetben a tényleges írás dokumentumok csak akkor lesz a csapatban ZafiksirovatTranzaktsiyu (). Abban az időben a tranzakció blokkolja a többi felhasználó számára Post és a gazdaság dokumentumokat.

SpisanieMaterialov SozdatObekt = ( "Dokument.TrebovanieNakladanaya");
BeginTransaction ();
N = 1 At idő 100

SpisanieMaterialov.Novy ();
.....................
// Fill részletek
SpisanieMaterialov.Zapisat ();
SpisanieMaterialov.Provesti ();

Hadd emlékeztessem önöket, hogy az előre meghatározott eljárás ObrabotkaProvedeniya () nyílik egy tranzakciót saját elvégzésére, de van egy kis funkció a létrehozott dokumentumot SozdatObekt function (). A tény az, hogy a szoftver gazdaság létrehozott dokumentumokat nem automatikus előzetes regisztráció, és annak biztosítása érdekében, hogy az esetleges hibákat és a hibákat tárolt dokumentum adatok konzisztenciáját és a mozgás (tranzakciók) kombinálni kell a felvétel, és aki olyan dokumentumot egyetlen tranzakció.

Beállítás időszakos kellékek könyvtár alatt dokumentum

Egy egyszerű példa az ilyen intézkedés telepíteni egy új alkalmazott fizetés alkalmazottak során referencia, például rendszeres menetrend.

UstanovitRekvizitSpravochnika (alkalmazott, "fizetés" NovyyOklad, DataDok);

Amikor az interaktív program, vagy hozzon létre egy új dokumentumot, akkor automatikusan egy új, egyedi számot. Meg tud, vagy beállítani más jellemzőt NomerDok:

Dokkoló SozdatObekt = ( "Dokument.Schet");
Dok.Novy ();
Jelentés ( „A dokumentum automatikusan lett rendelve egy szám” + Dok.NomerDok);
Dok.NomerDok = "000013";
Jelentés ( "új szám" + "000013");

Ha ön használ egy elosztott adatbázis, vagy szeretné dokumentum a felhasználó, aki létrehozta őket, érdemes az előtagot - egy vagy két karakter, amely esetben, mielőtt a tényleges dokumentum számát, de ez „magában foglalja” a szobában. Ne feledje, hogy a húr kell egy előtagot ( „középkategóriás” vagy „01” vagy „1”) és a dokumentum tulajdonságait kell telepíteni inline típusú számot.

Dokkoló SozdatObekt = ( "Dokument.Schet");
PrefDok = Leo (felhasználónév () 2);
Dok.PrefiksNomera (PrefDok + "-");
Dok.Novy ();

Ez a módszer megváltoztatja az alapértelmezett előtagot, vagy visszatér az aktuális előhívó, ha használja a módszer nélkül paramétert. De egy másik lehetőség:

Dokkoló SozdatObekt = ( "Dokument.Schet");
PrefDok = Leo (felhasználónév () 2);
Dok.Novy ();
Dok.UstanovitNovyyNomer (PrefDok + "-"); // ez a számozási nagyon jól működik

Ellentétben a korábbi módszerrel, ez határozza (inkább visszaáll megadott alapértelmezés szerint a vizsgálati módszer új ()) egy új számot a megadott előtaggal.

A számláló értéke a metaadatok objektum, amely a szabályok számozása dokumentumokat: a típusát és hosszát a dokumentum számát, gyakorisága, az igény az egyedi ellenőrzések. A fő cél a számlálóra - lehetővé teszi a folyamatos számozás különböző típusú, ahol az ilyen dokumentumok vannak rendelve az adott számláló.

Periodicitás. Ez kellékek készlet 2 fontos jellemzői a számlálója: a korlátokat a egyediségét az ellenőrző számainak dokumentumok és korabeli szobák ismételhetőség. Ha benne egyedülálló funkció kontroll (cm. Alább), a „Frequency” szab határt, amelyen belül megvalósítható legyen. Például, ha „napokon belül”, az egyedülálló számú dokumentummal kell szabályozni a nap: dokumentumok számát lehet ismételni a következő napon. Ha az automatikus számozási rendszer kiosztja a következő sorszámot minden új dokumentum. Befejezése után meghatározott határidő a szükséges „Frekvencia”, a számozás kezdődik 1 dokumentumokat.

Hosszát. Beállítja a maximális hossza a dokumentum számát. Ne forgassa anélkül, hogy „hosszú” szám csökkenti a termelékenységet.

Típusát. A „Típus” lehetővé teszi, hogy válassza ki a típus értéke a dokumentum számát - numerikus vagy szöveges. Szöveg kijelölése szobatípus hasznos ha komplex rendszer számozási dokumentumok és a dokumentum számát tartalmazhatja, amellett, hogy a számok és betűk, mint határoló karaktereket.

Ellenőrző egyediségét. Ha ez az opció be van kapcsolva, amikor belépsz egy új dokumentumot a száma be van jelölve az egyediséget meghatározott korlátokon belül a szükséges „Frequency”.

Alkotó (vagy rekord) - a kötelező attribútum bármely dokumentum. Ezen keresztül lehet kapni, vagy meg egy időpontot, amikor a dokumentum kerül:

Dokkoló SozdatObekt = ( "Dokument.RaskhodnayaNakladnaya");
Dok.Novy ();
Ha Dok.DataDok = '01 .01.02 „Majd
. Jelentés ( „Boldog Új Évet!”);
ENDIF;

Amellett, hogy a dátum a dokumentum jelzi a helyzetét az idő. Vele, akkor ezt megteheti:

Óra = 0;
Min = 0;
Másodperc = 0;
Dok.PoluchitVremya (óra, perc, másodperc); // Nézzük olvasási idő
Ha Óra> 21 Ekkor

Figyelmeztetés ( „Elég munka éjjel!
| A dokumentum kerül a végén a nap „);
Dok.AvtoVremyaKonetsDnya (); // dokumentum a 10 másodperccel az utolsó

InacheEsli Órák <8 Тогда

Figyelmeztetés ( „Senki sem fogja értékelni!
| A dokumentum rögzíti az elején a nap „);
Dok.AvtoVremyaNachaloDnya (); // dokumentum a 10 másodpercet, mielőtt az első

InacheEsli kérdés ( „A dokumentum elmentése a pontos idő?”, 4) = 7 // Akkor a válasz „Nem”

VvestiChislo (ChasUst, „megadása óra, a dokumentum kerül, amellyel a”, 2,0);
Dok.UstanovitVremya (ChasUst, perc, másodperc); // íródott ebben az időben

Dok.AvtoVremyaTekuschee (); // dokumentum kerül az aktuális időt

A nagy többfelhasználós rendszerek gyakran olyan helyzetben, amikor az új dokumentumok kerülnek rögzítésre szinte egyszerre, egy másodpercen belül. De még mindig nincs bélés, mert A dokumentumok vannak osztva néhány másodpercen belül a dokumentum elemet. Ez egy speciális 32 karakteres kifejezés, amely olvasható egy speciális módszer:

PozDokumenta Dok.PoluchitPozitsiyu = (); // csak olvasható.

Pozíció csak a rögzített dokumentum.

Ez a szörnyű fenevad - a jelentősége a pont

mennyiben felel meg a pont (TA) - ez az „aktuális” időt a kronológia a dokumentumokat, amelyekre a működési vétel tartalmazza a jelenlegi értékét a források. Ez azt jelenti, hogy ha olvassa a nyilvántartások, adatok, amelyekről azt állították ki, ahol a jelentősége a ponthalmaz. Ha szükség van az eredmények a többi pont, el kell kezdeni időzítés. TA segítségével a rendszer meghatározása az aktuális rendelkezésre álló források megfelelő, például a tényleges összegét termék raktáron. Minden dokumentum birtokában a TA kell tekinteni, hogy megtörtént üzleti tevékenység, ha a dokumentum után tartott TA, akkor nem kell figyelembe venni, amikor meghatározzák a nyilvántartás egyenlegét. Ez a helyzet ritka, mert operatív számviteli dokumentumok elvégzése után automatikusan beállítja a TA idején a gazdaság (TA mód során a dokumentum szabható lap Iratkezelés ablak mód Tools menüpont 1C: Enterprise).

TA szoftver




Kapcsolódó cikkek