1c redovisning 8.3 kontroll av negativa saldon. Bokföringsinformation. Hämta dokumentdata och registrera rester efter fråga


Denna rapport hjälper till att få sammanfattande eller detaljerad information om negativa saldon på 41 konton när som helst. Resultatet av rapporten visas med standarddetaljer (se fig. 1)

Därför att rapporten är helt skriven med hjälp av datasammansättningsschemat, då blir det inte svårt för användaren att ändra avsnitten i rapporten från användarläget (se fig. 2)

Den externa rapporten är avsedd för konfigurationen "1C: Enterprise Accounting 8, edition 3.0" och "Revision 3.0 (CORP)" körs på plattformsversion 8.2 i läget "MANAGED APP".

Gratis supportperiod: 1 månad.

Skäl att köpa

Negativa saldon är alltid en huvudvärk för alla revisorer. Negativa saldon på 41 konton förvärrar dubbelt denna situation. Denna rapport visar snabbt och tydligt allt "rodnad" för 41 konton i en bekväm och visuell form. Och jageventuellt negativt saldo på 41 konton kan tydas med hjälp av rapporterna "Analys av subconto" och "Kontokort". Samtidigt, genom att kombinera användningen av dessa rapporter, är det möjligt att sjunka direkt till nivån av registrardokument som orsakade varurörelsen. För att göra detta klickar du bara på önskad siffra i rapporten och väljer rapporten att dekryptera.

Enligt användarnas många önskemål har en separat version av rapporten "Kontroll av negativa saldon på lagerkonton" skapats, där möjligheten att kontrollera negativa saldon läggs till, inte bara för 41 konton utan även för andra huvudkonton av förflyttning av varor och material:

Konto 07 Utrustning som ska installeras
- Konto 08.04 Förvärv av anläggningstillgångar
- Poäng 10 alla, utom 10,07 (Material överfört för bearbetning åt sidan)
- Konto 21 Halvfabrikat av egen tillverkning
- Konto 41 alla, utom 41.12 (Varor i detaljhandeln (i NTT till försäljningsvärde))
- Konto 42.01 Handelsmarginal i automatiserade butiker
- Konto 43 Färdiga produkter

Kom också ihåg att negativa saldon inte bara kan uppstå i konton för förflyttning av varor och material, utan också på kontot för tulldeklarationen. Om du också behöver kontrollera detta konto rekommenderar vi att du bekantar dig med den externa rapporten

Fördelar

  1. Anslutning genom mekanismen för extern bearbetning och rapportering. Detta gör att du kan använda rapporten utan att göra några ändringar i standardkonfigurationen. Det är också möjligt att öppna en standardrapport via "Arkiv" -> "Öppna".
  2. Möjlighet att anpassa rapporten "för dig själv" från användarläget.

Pengar tillbaka garanti

Infostart LLC garanterar dig 100 % återbetalning om programmet inte motsvarar den deklarerade funktionaliteten från beskrivningen. Pengarna kan återbetalas i sin helhet om du deklarerar dem inom 14 dagar från dagen för mottagandet av pengarna till vårt konto.

Programmet är så testat i arbete att vi kan ge en sådan garanti med fullt förtroende. Vi vill att alla våra kunder ska vara nöjda med sitt köp.

Hos handels- eller tillverkningsföretag "hoppar" negativa saldon ut i redovisningen i redovisningssystemet. De återspeglar överdrivet avskrivna varor/material.

Vilka är orsakerna till att de uppstår?

Brist på socken

Ofta kan den vanligaste orsaken vara bristen på ett bokfört varuinleverans eller bokföring av ingående saldon. Du har till exempel köpt en produkt, men ännu inte lyckats lägga upp den i systemet, men du har redan lyckats sälja den. Och det händer - varorna krediterades, flyttades sedan till butiken och såldes, men någon avbröt bokföringen av kvittodokumentet.

I denna situation skulle det korrekta tillvägagångssättet vara att kontrollera närvaron av kvittodokumentet i databasen. Om den finns och inte är klar, kontrollera fyllningen och slutför den. Om det inte finns något kvittodokument i databasen överhuvudtaget måste du ange det retroaktivt. Samtidigt är det nödvändigt att förstå att tillägg av dokument retroaktivt under den stängda skatteperioden kan leda till förändringar i skattebeloppet, i synnerhet - moms.

omgradering

En annan vanlig orsak till det fenomen vi överväger är översortering eller överskott av en vara (material) och samtidigt brist på en annan. Till exempel, i programmet är endast en svart plånbok i mängden 10 stycken märkt i lager, och i butiken säljer säljaren en röd plånbok och registrerar sin försäljning i mängden 5 stycken i databasen. Som ett resultat minskar inte saldot av svarta plånböcker i databasen, och vårt saldo visas i de röda plånböckerna.

I detta fall löses korrigeringen av saldon på följande sätt: bokföring av en produkt och avskrivning av en annan registreras. För att göra detta skapas ett dokument "Varupostering" och 5 artiklar postas i det. röda plånböcker. Därefter skapas ett dokument "Avskrivning av varor" och 5 stycken skrivs av i det. svarta plånböcker.

När i 1C: Redovisning 3.0 finns ett negativt saldo för en produkt (material), då visas ett informationsmeddelande vid bokföring av dokumentet "Försäljning av varor" som säger att det inte är möjligt att bokföra detta dokument, eftersom antalet enheter som visas i tabelldelen av dokumentet överstiger saldot.

Fig.1 Meddelande i dokumentet när det inte finns något saldo på lagret

Varningssignaler i balansräkningen - negativa saldon är rödmarkerade!



Fig.2 Spårning av OSV

Hur man aktiverar eller inaktiverar kontrollen av negativa saldon i 1C BP 3.0

Du kan ställa in kontroll i avsnittet "Administration" och klicka sedan på länken "Uppläggning av dokument".



Fig.3 Inställning

För att inaktivera kontroll måste du aktivera flaggan på parametern "Tillåt lageravskrivning i frånvaro av saldon enligt redovisningsdata".



Fig. 4 Tillstånd att skriva av enheter med negativa saldoindikatorer

Det händer att för en brådskande försäljning av varor som också akut måste skickas, är det nödvändigt att stänga av kontrollen ett tag. Dokumentet "Realisationer" läggs upp i systemet och sedan slås kontroll på igen. Se sedan till att inte glömma att analysera saldona för att korrigera felet i redovisningen, på grund av vilket en negativ produkt uppstod.

För att kontrollera saldona i samband med lager, måste du ställa in analyser för dem i "Kontoinställningar" via "Administration".



Fig.5 Parametrar

Klicka på "Kontoinställningar".



Fig.6 Inställning av parameter

Klicka på "Efter nomenklatur, partier och lager (efter kvantitet och mängd)".



Fig.7 Parametrar för lagerredovisning

När vi installerar analys väljer vi genom att klicka på "Efter lager (lagerplatser)" hur vi ska föra register.



Fig.8 Aktivering av analyser av lager

Om inställningen "efter kvantitet och belopp" väljs, kommer redovisningen att ske i kvantitativ respektive total redovisning för lager separat, och om "efter kvantitet", då endast kvantitativt i samband med varje lager, och avskrivningsbeloppen är bestäms genom att dividera lagerpriset med hela kvantiteten i alla lager.

Kontrollrapporter

Rapporten "Kontroll av negativa saldon" används för att analysera upptäckta negativa saldon av varor från organisationer. Du kan öppna den genom "Lager - Kontroll av negativa saldon".



Fig.9 Rapporter för kontroll av rester



Fig.10 Kontrollrapportformulär

I rapportinställningarna kan du ange vilken data som ska byggas en rapport på, till exempel gruppera data efter Organisation, Lager, Avskrivningsdokument, Nomenklatur, etc.



Fig.11 Inställningar för kontrollrapport

I urvalet kan du ange på vilken data som ska genereras en rapport, till exempel för ett visst lager eller för en problematisk artikel.



Fig.12 Val i kontrollrapporten



Fig.13 Bildande av en kontrollrapport

Negativa saldon är en slags indikator på redovisningsfel. Det är viktigt att ständigt övervaka lagersaldon och korrigera dem i tid. Befintliga felaktiga saldon skapar problem för användarnas operativa arbete och kan också orsaka felaktig beräkning av kostnad, omvärdering och andra viktiga redovisningsindikatorer.

Det finns två typer av situationer där justering av resthaltskontrollen är nödvändig.

Första situationen. Ibland måste revisorer ta itu med problemet med omöjligheten att skriva av material eller varor i 1C 8.3-programmet på grund av deras frånvaro i bokföringen, även om de faktiskt är tillgängliga. Och revisorn måste snarast utfärda dokument för transport av material eller varor:

Denna situation är möjlig om organisationen precis har börjat bokföra i 1C 8.3 eller om uppgifterna läggs in i programmet för sent.

Den andra situationen är när revisorn skriver av material som inte finns på lagret. Och revisorn upprättar fraktdokument, vilket inte är särskilt bra för företagets rykte.

Restkontrollinställning

I 1C 8.3 Redovisningsprogrammet finns en inställning för balanskontroll. Och när man skapar en databas i standardinställningarna är det tillåtet att skriva av varor som enligt bokföringsdata inte finns i programmet.

Saldon kontrolleras inom ramen för en specifik organisation och lager i alla typer av dokument: försäljning, kravfaktura, överföringar etc. där konton med Lageranalys är inblandade.

Viktig! För att kontrollera saldona på lagernivå är det i 1C 8.3 nödvändigt att installera lageranalys i konton för varor eller material.

På det här sättet:

  • För den första situationen måste du markera rutan och ange alla saldon av materialet i databasen. Och efter det är det önskvärt att ange mottagandet av varor och material i tid.
  • För den andra situationen måste du avmarkera rutan för att förbjuda avskrivning av saknade varor (material).

Hur man inaktiverar balanskontrollen i 1C 8.3

För att ta bort förbudet mot att bokföra dokument med saknade varor måste du gå till inställningarna för programmet 1C 8.3 i avsnittet Administration - sedan Inställningar för att bokföra dokument:

ställ in kryssrutan Tillåtet att skriva av varulager i frånvaro av saldon enligt redovisningsdata:

Kontroll av saldon i lagersammanhang

För att förhindra negativa saldon i lager, ställ in analysen Efter lager. Du kan aktivera lageranalys i bokföringsinställningarna: avsnittet Administration - sedan Bokföringsinställningar. Välja Inställning av kontoplan och i inventering, klicka på Efter nomenklatur och lager (efter kvantitet):

Sätt flaggan i det nya fönstret Lager (lagerplatser). Den här kryssrutan kommer att påverka kontrollen av saldon i samband med lager:

  • Om kryssrutan är avmarkerad, utförs kontrollen av saldon i organisationssammanhang;
  • Om kryssrutan är markerad - i samband med organisationen och ett specifikt lager:

Kontroll av negativa saldon i 1C 8.3

Om det inte går att avmarkera rutan eller det finns skäl att föra register med negativa saldon, implementeras en rapport i 1C 8.3 Redovisning som låter dig kontrollera negativa saldon.

Rapportera Kontroll av negativa saldon i 1C 8.3 finns i avsnittet Lager - sedan Kontroll av negativa saldon:

Rapporten kan genereras under en viss period med detaljer om dokument, lager, nomenklatur och andra redovisningsobjekt. Och visa även data för ett visst lager eller nomenklatur med hjälp av urval:

Viktig! Rapporten för negativ balanskontroll visar endast negativa saldon för den angivna perioden. Om det fanns avskrivningshandlingar före rapportens början, kommer negativa saldon på dem inte att inkluderas i rapporten.

Använd kommandot Visa inställningar för att ändra rapportinställningarna. Genom att navigera genom inställningsflikarna Gruppering, Urval, Ytterligare fält kan du ge rapporten det önskade utseendet:

Webbplatsen finns i konfigurationen 1C Accounting 8.3.

Mer om att sätta upp programmet 1C 8.2 (8.3) Förbud mot avskrivning av varulager i avsaknad av saldon hur det påverkar ekonomiska resultat, se följande video:


Betygsätt den här artikeln:

Kontroll över lagersaldon är ett obligatoriskt redovisningsförfarande för alla företag som arbetar med varor. Ofta kan du stöta på en situation där det inte finns någon produkt i programmet, men den finns faktiskt i lager. I en sådan situation finns det två alternativ:

  • Lämna in den till försäljning
  • Lämna i lager tills omständigheterna i en sådan situation är klarlagda.

Valet beror på flera faktorer, såsom organisationspolicy eller den specifika situationen. När produkten ligger på disken och köparen är intresserad av den (håller den i sina händer) är det inte tillrådligt att vägra sälja.

Vissa företag praktiserar bildandet av ett försäljningsdokument utan att lägga upp det, men alla använder inte denna praxis. I sådana situationer föreslår 1C-programmet i sina senaste versioner möjligheten att inaktivera kontrollen av negativa saldon.

När kontrollen är aktiverad kommer försäljning av varor som inte finns i lager enligt programmet att ge användaren en varning: "Kolumnen "Antal" är felaktigt ifylld på rad 1 i listan "Varor". ”Det angivna beloppet överstiger saldot. Resterande: 18. Inte tillräckligt 111.093.

Inaktiverar kontrollen av negativa saldon i 1C

Operationen att slå på / av kontrollen av saldon i 1C utförs via menyn "Huvud" - "Inställningar" - "Redovisningsparametrar" - "Aktier". Här behöver du kryssa i rutan "Tillåt lageravskrivning när det saknas lager enligt redovisningsdata".

Därefter bekräftas åtgärden med knappen "Spela in och stäng". I sin tur kommer sådana åtgärder garanterat att bli grunden för bildandet av negativa saldon i redovisningen. De kommer att behöva elimineras.

Rapport "Kontroll av negativa saldon"

Bildandet av denna rapport utförs genom menyn "Lager" - "Rapporter", där dokumentet presenteras. Användaren måste definiera förfrågningsintervallet och klicka på knappen "Generera". Frånvaron av en angiven period tillåter inte att visa negativa saldon, vilket är en funktion i systemet som kräver obligatorisk fyllning i kolumnen "Period".

Den färdiga rapporten har följande utseende.

För själva rapporten finns en standarduppsättning filter tillgängliga, inklusive gruppering, sortering och andra datatransformationer i enlighet med användarnas önskemål och behov. Genom knappen "Visa inställningar" kan du manuellt inkludera ytterligare rader i rapporten.

Den här artikeln är avsedd för 1C-implementerare - och speciellt för dem som förbereder sig för certifiering på 1C: Platform Specialist.

Idag ska vi analysera 2 metoder för att kontrollera saldon - och inte bara saldon i lagret, utan även till exempel ömsesidiga avräkningar ("vad är kundens nuvarande skuld och är det möjligt att skicka varor till honom")

Båda metoderna används både i typiska konfigurationer och i kvalificeringsuppgifterna. Och eftersom det är två du måste tydligt förstå när den "nya" tekniken är tillämplig och när bara den "gamla"..

Detta är grundläggande kunskaper för 1C-programmerare, vi rekommenderar att du inte lämnar luckor inom sådana områden. Du måste gå och studera 15 minuter :)

Formulering av problemet

Låt oss ta en enkel konfiguration med dokumenten "Mottagning av varor" och "Försäljning av varor":

För att redovisa saldon används ackumuleringsregistret "Fria saldon":

När du bokför dokumentet "Varumottagning" utförs följande rörelsemottagning:

Procedurhantering Utföra (fel, läge)


För varje TekRow-produkter från produktcykeln
Movement = Movement.FreeRemains.Add();
Movement.MovementType = MovementTypeAccumulation.Incoming;
Movement.Period = Datum;
Movement.Nomenclature = CurrentLineProducts.Nomenclature;
Movement.Quantity = CurrentStringProducts.Quantity;
EndCycle;

Slutprocedur

Bearbetning av bokföringen av godsmottagningsdokumentet utfördes med hjälp av rörelsedesignern och är inte av intresse, eftersom lagerkontroll inte behövs vid mottagandet på lagret.

Ibland genomförs kontroll av saldon även för dokumentet "Varumottagning" - så att när bokföringen makuleras eller dokumentet bokförs om så bildas inte ett negativt saldo.

Till exempel fick lagret 10 nya LG-TV-apparater, varav 6 såldes. Om det finns 10 stycken i kvittohandlingen. fixa med 5 st. - en negativ rest "minus 1 stycke" bildas.

I typiska UT 11 är sådan kontroll aktiverad med det funktionella alternativet "Kontrollera varor från organisationer vid annullering av kvitton".

När du bokför dokumentet "Varuförsäljning" det är nödvändigt att organisera kontrollen av rester. Om det inte finns tillräckligt med lager kvar, bokförs inte dokumentet och ett diagnostiskt meddelande utfärdas. Detta är problemet som ska lösas.

Vi arbetar medvetet med en enkel uppgift där kostnaden för avskrivning inte är beräknad. Detta kommer att tillåta oss att fokusera på nyanserna av kvarvarande kontroll.

Notera– Algoritmerna nedan är designade för inlärning och ska vara så tydliga som möjligt.
De kan optimeras, men då blir "förståelseskoefficienten" lägre, så i den här artikeln stannar vi inte där.

Naturligtvis kan du optimera dem själv, eller ta vår 1C Acceleration and Optimization-kurs :)

Som du redan förstått kan problemet lösas på två sätt. Låt oss börja med metodiken som har använts sedan 1C:Enterprise 8.0.

Gammal restkontrollmetod

Principen för den gamla metoden för kontroll av resthalter är följande: kontrollera om det finns ett saldo av varor i den erforderliga kvantiteten. Om det finns skriver vi av det, om inte rapporterar vi ett fel..

Algoritmen i den gamla tekniken består av flera block:

  1. Begäran mottar saldot av varor och dokumentdata
  2. Kretsloppet styr varornas tillräcklighet
  3. Om det inte finns tillräckligt med varor så bokförs inte dokumentet
  4. Om det finns tillräckligt med varor utförs förflyttningsutgifter

Så här ser koden ut:

// 1. Rensa upp gamla registerrörelser
Movements.FreeRemains.Write = sant;
Motion.Record();

// 2. Hämta dokumentdata och registrera saldon per fråga
Request = Ny begäran;
Request.Text =
"VÄLJA

|PUT-produkter
| FRÅN
| VAR
| Products.Link = &Länk
|GRUPP EFTER
| Produkter, nomenklatur
|INDEXERA EFTER
| Nomenklatur
|;

|VÄLJ
,
| REFERENSREPRESENTATION(Products.Nomenclature) AS NomenclatureRepresentation,
| Goods.Quantity AS Quantity,
| ÄR NULL(Återstående. Kvantitet Återstående, 0) SOM Återstående
| FRÅN
| Produkter AS Produkter
| VÄNSTER GÅ MED
| &Ögonblick,
| Nomenklatur B
| (VÄLJA
| Products.Nomenclature AS Nomenclature
| FRÅN
| PO Goods.Nomenclature = Remains.Nomenclature";
Query.SetParameter("MomentTime", MomentTime());

// 3. Gå igenom frågeresultat

// 4. Kontroll av varornas tillräcklighet
Scarcity = SampleProducts.Quantity - SampleProducts.Remainder;
Om Underskott>0 Då
Avslag = sant;
Message.Text = "Produkt "+SelectionProducts.NomenclatureRepresentation+" är inte tillräckligt i mängden "+Deficit+"-bitar.";
Message.Notify();
EndIf;

// 5. Hoppa till början av loopen om det finns fel
Om misslyckande då
Fortsätt;
EndIf;

// 6. Utförande av rörelser i register
Movement.Period = Datum;

EndCycle;

// 7. Inställning av flaggan för registrering av rörelser i slutet av transaktionen
Movements.FreeRemains.Write = sant;

Slutprocedur

Låt oss kommentera nyckelpunkterna i algoritmen.

1. Rensa upp gamla registerrörelser

Nedan i algoritmen kommer det att finnas en begäran för resten av registret.

Om det aktuella dokumentet tidigare har lagts upp, så finns det sannolikhet att få gamla dokumentrörelser i fråganär ett allvarligt problem.

När är en sådan situation möjlig? När är dokumentdatumet går framåt.

Låt oss använda ett exempel för att visa vad detta kommer att leda till:

  1. Resten av bordslamporna 10 st.
  2. Dokumentet daterat 16.02.17 genomförs, vi skriver av 6 lampor
  3. Datumet i dokumentet ändras till 02/17/17 (datumet kan flyttas fram minst 1 sekund), vi kommer att återsända dokumentet.

Om du inte städar upp rörelserna kommer systemet att rapportera en brist på 2 stycken. Varför? Ja, eftersom de gamla dokumentrörelserna skrev av 6 av 10 befintliga lampor. Därefter försöker systemet skriva av ytterligare 6 stycken, och det finns bara 4 på balansen.

Problemet löses i 3 rader kod:

  • Postuppsättningen rensas (den kan ha lästs i formuläret eller i tidigare hanterare)
  • Rekorduppsättningen har flaggan "Rekord".
  • Inspelning av alla set som har flaggan "Write" inställd

Strängt taget kan vi kontrollera rensningen av rörelser när vi lägger upp dokument:

Alternativet att ta bort drag när du avbryter ett håll är det rekommenderade - vi har kontroll över när drag faktiskt ska raderas.

2. Inhämtning av dokumentdata och registersaldon på begäran

Begäran består av två paket:

  • I den första erhålls de grupperade uppgifterna för den tabellformade delen - en tillfällig tabell skapas
  • I den andra frågan bifogas saldona från registret till dokumentdata.

Vad du bör vara uppmärksam på i denna begäran:

  1. När du skapar en temporär tabell indexeras fältet, på vilket sammanfogningen kommer att utföras vidare - detta görs för optimal prestanda
  2. Tidpunkten för mottagandet av saldona - motsvarar dokumentets position på tidsaxeln
  3. Det kanske inte finns några rester i registret - därför utförs en vänsterkoppling och ECTNULL-funktionen appliceras på "Quantity"-resursen - NULL-värdet reduceras till noll.

3. Förbigå frågeresultat

Den utvecklade frågan innehåller grupperade data för dokumentet och saldon efter postpositioner.

Gå igenom resultatet av denna fråga.

4. Kontroll av varornas tillräcklighet

Vi fastställer bristen på varor.

Om underskottet är större än noll, är produkten en bristvara:

  • Utfärdar ett diagnostiskt meddelande
  • Vi ställer in parametern "Failure" för bearbetningen av ledningen till värdet "True"

Om "Avvisning" är lika med "True", kommer resultatet av dokumentbokföringstransaktionen inte att fixas. Enkelt uttryckt är detta ett kommando till systemet att inte posta detta dokument.

5. Gå till början av loopen om det fanns fel

Om det fanns fel i detta eller tidigare steg i cykeln (Fejl = Sant), är det ingen mening att bilda rörelser. Ändå kommer de inte att skrivas till databasen.

6. Utföra rörelser i register

Om saldokontrollen lyckades bildar vi rörelsekostnaden.

7. Ställa in flaggan för registrering av rörelser i slutet av transaktionen

Om denna flagga inte är inställd kommer rörelserna INTE att registreras.

I slutet av dokumentbokföringstransaktionen skrivs endast de uppsättningar poster som har flaggan "Record".

För rättvisans skull noterar vi att inställningen av "Record"-egenskapen för en postuppsättning är meningsfull under ett villkor - dokumentegenskapen "Record movements during posting" måste ha värdet "Record selected":

Det är dock värdet "Write Selected" som är de facto-standarden:

  • Det används i standardlösningar
  • Ställs in som standard när du skapar nya dokument.

Ett annat värde på fastigheten - "Skriv modifierad" är föråldrat och förekommer praktiskt taget inte i moderna konfigurationer.

Ny metod för kontroll av rester

Den nya metoden använder principen: vi skriver av de nödvändiga varorna, sedan kontrollerar vi om det finns negativa saldon för varorna i dokumentet. Om så är fallet måste du återställa bokföringen av dokumentet.

Som du kan se är den grundläggande skillnaden i ögonblicket för kontroll av rester:

  • Den gamla tekniken - kontrollera först balansen, skriv sedan av
  • En ny teknik - först skriver vi av, sedan kontrollerar vi balansen.

Som ett resultat kommer programkoden att se ut så här:

Procedur Hantering av bokföring (fel, inläggsläge)

// 1. Hämta dokumentdata på begäran
Request = Ny begäran;
Query.TempTableManager = NewTempTableManager;
Request.Text =
"VÄLJA
| Varor Nomenclature AS Nomenclature,
| SUM(Artikel. Kvantitet) SOM Kvantitet
|PUT-produkter
| FRÅN
| Document.Sale of GoodsServices.Goods AS Goods
| VAR
| Products.Link = &Länk
|GRUPP EFTER
| Produkter, nomenklatur
|INDEXERA EFTER
| Nomenklatur
|;
|////////////////////////////////////////////////////////////////////////////////
|VÄLJ
| Varor Nomenclature AS Nomenclature,
| Varor Kvantitet AS Kvantitet
| FRÅN
| Goods AS Goods";
Query.SetParameter("Länk", Länk);
QueryResult = Query.Execute();

// 2. Bildande av rörelseregister konsumtion
Movements.FreeRemains.Clear();
SelectionProducts = QueryResult.Select();
Medan SelectionProducts.Next() Loop
Movement = Movement.FreeRemains.AddExpense();
Movement.Period = Datum;
Movement.Nomenclature = SelectionProducts.Nomenclature;
Movement.Quantity = SelectionProducts.Quantity;
EndCycle;

// 3. Skrivrörelser till databasen
Movements.FreeRemains.Write = sant;
Motion.Record();

// 4. Fråga som får negativa saldon från registret
Request.Text =
"VÄLJA
| Remains. Nomenclature AS Nomenclature,
| REFERENSREPRESENTATION(Remains.Nomenclature) AS NomenclatureRepresentation,
| -Balanser.QuantityBalance AS Brist
| FRÅN
| Ackumuleringsregister.FreeRemains.Remains(
| &Ögonblick,
| Nomenklatur B
| (VÄLJA
| Products.Nomenclature AS Nomenclature
| FRÅN
| Goods AS Goods)) AS Remains
| VAR
| Remains.QuantityRemainder< 0";

ControlBoundary = New Boundary(InstTime(),BorderType.Including);
Query.SetParameter("PointInTime",ControlBorder);
QueryResult = Query.Execute();

// 5. Utmatning av meddelanden om brist på varor
Om inte QueryResult.Empty() Då
Avslag = sant;
FetchErrors = QueryResult.Select();
Medan FetchErrors.Next() Loop
Message = New MessageToUser;
Message.Text = "Produkt "+SelectionErrors.NomenclatureRepresentation+" räcker inte till i kvantiteten "+SelectionErrors.Deficiency+" st.";
Message.Notify();
EndCycle;
EndIf;

Slutprocedur

Låt oss analysera nyckelpunkterna i algoritmen.

1. Ta emot dokumentdata på begäran

Denna fråga behövs för att gruppera data i den tabellformade delen av dokumentet.

Observera att en temporär tabell skapas i den första frågan i partiet - den kommer att användas i nästa fråga också. Detta är möjligt tack vare den tillfälliga tabellhanteraren som skapades för den här frågan.

2. Bildande av rörelse-flödesregister

I cykeln skrivs data från dokumentet till registret - det vill säga en ovillkorlig (utan verifiering) avskrivning av varor utförs.

3. Registrera rörelser i databasen

För att saldona i registret ska ändras måste rörelserna registreras.

4. Begäran som får negativa saldon från registret

Och nu, med en enkel fråga, väljer vi negativa saldon för varorna i dokumentet.

Det är här som den temporära tabellen som skapades i det första steget används - ett villkor ställs på nomenklaturen (för detta skapar vi inte ett nytt objekt av typen "Request", utan använder det som skapats tidigare).

Var uppmärksam på hur tidpunkten överförs - datatypen "Border" används. Saldot måste tas emot vid en tidpunkt omedelbart EFTER det aktuella dokumentet.

Var det möjligt att få rester utan kant, till exempel genom att lägga till 1 sekund på dokumentdatumet?

Inte! På en sekund kan det faktiskt finnas ett stort antal dokument. Därför är det enda korrekta alternativet att använda gränstypen "Inkluderande".

5. Utmatning av meddelanden om brist på varor

Om frågeresultatet inte är tomt, finns det negativa saldon - i det här fallet bokförs inte dokumentet och alla fel rapporteras.

Fördelar med resthaltskontroll med den nya metoden

Så båda algoritmerna löser samma problem.

Skillnaden mellan algoritmerna är synlig, men fördelarna är inte uppenbara.

Så låt oss lyfta fram dem:

  1. Inget behov av att rensa gamla dokumentrörelser. I själva verket är detta operationen att skriva en tom uppsättning rörelser till databasen och ta bort befintliga rörelser - det är ganska resurskrävande operationer.
  2. En fråga som tar emot data om negativa saldon hänvisar till endast en tabell - det finns ingen anledning att göra en vänsterkoppling med dokumentdata och använda funktionen "ISNULL()".

Dessutom anger användaren i normala affärsprocesser en kvantitet som inte överstiger saldot i lagret.

I det här fallet kommer den andra begäran inte att returnera några uppgifter och dokumentet kommer att publiceras så snabbt som möjligt.

Är dessa millisekunder verkligen så viktiga?

På databaser med en liten mängd data och användare kommer skillnaden inte att märkas. Men i upptagna system med dussintals användare är kostnaden för varje millisekund hög.

Dessutom, vid 1C: Platform Specialist-examen, är det absolut nödvändigt att använda ett nytt sätt att kontrollera balanser, om en specifik uppgift tillåter det.

Ok, så du bör alltid använda en ny teknik, eller hur?

Nej det är det inte!

Den nya metoden kan endast användas om det finns all nödvändig information i själva dokumentet för att lägga upp dokumentet.

Det vill säga att för att få data behöver du inte komma åt de register genom vilka kontrollen av saldon utförs.

Så om beloppet till exempel också beaktades i registret "Fria saldon", måste den gamla kontrollmetoden användas.

Förresten, i standarden "1C: Trade Management 11" implementeras balanskontrollen enligt den nya metoden och i "1C: Accounting 8" - enligt den gamla metoden.

Men det är inte allt!

Ovanstående algoritmer kan endast användas för utbildningsändamål. Problemet är att de inte tar hänsyn hanterade lås, som måste tillämpas om mer än en användare arbetar i systemet.

Blockering för båda metoderna för restkontroll ägnas. Också i den här artikeln löser vi ett mer komplext problem - förutom att kontrollera saldonen, beräknar vi kostnaden för den avvecklade artikeln. Vi rekommenderar att du studerar det noggrant.

Och för "fröet" säg bara det att sätta låset i den nya tekniken är mycket enkelt– och detta är ytterligare en fördel med det nya sättet att kontrollera rester.

Resultat

Låt oss sammanfatta kort.

Vi granskade två restkontrolltekniker, som båda används i dagens typiska konfigurationer.

Huvudskillnaden mellan metoderna vid tidpunkten för kontroll av resthalter:

  • Den gamla tekniken - kontroll innan rörelser registreras i register
  • Ny teknik - kontroll efter registrering av rörelser i register

I allmänhet är den nya tekniken mer effektiv, men den är inte alltid tillämpbar.

Tillämplighetskriterium- om det inte finns något behov av att hänvisa till uppgifterna i det kontrollerade registret för bildandet av rörelser, kan en ny metod användas.

Om vi ​​talar om kontroll av saldon genom nomenklatur, är användningen av en ny metod möjlig när data om kostnads- och lagersaldon lagras i olika register.

Slutligen exempel från typiska konfigurationer:

  • UT 11 det finns 2 huvudregister för redovisning av posten: Fria saldon (kvantitet) och Varukostnad (data om kostnad) - en ny metod används
  • BP 3,0 uppgifter om kostnad och saldon lagras i ett redovisningsregister - den gamla metoden för kontroll av saldon används.
Redaktörens val
Vi minns alla den gamla sovjetiska tecknade filmen "The Kid Who Counted to Tio". I den här historien fick geten det först för sin...

Historien om objektiva studier av numerisk kompetens hos djur går tillbaka till början av 1900-talet. I ursprunget till detta område ligger...

De gamla människorna, förutom en stenyxa och ett skinn istället för kläder, hade ingenting, så de hade inget att räkna. Så småningom blev de...

TAMBOV STATE UNIVERSITY UPPFÖDET EFTER G.R. DERZHAVINA DEPARTMENT OF THEORETIC FOUNDATIONS OF FYSICAL Education ABSTRAKT OM ÄMNET: "...
Glassproduktionsutrustning: produktionsteknik + 3 typer av glassaffärer + nödvändig utrustning...
. 2. Institutionen för gröna alger. Klass isoflagellater. Klasskonjugat. 3. Avdelningar Gulgrön och Kiselalger. 4. Kungariket...
I den moderna människans liv används överallt. Nästan all elektrisk utrustning och elteknik drivs av kraft, ...
En av de mest fantastiska varelserna i undervattensvärlden är axolotlen. Den kallas också ofta för den mexikanska vattendraken. Axolotl...
Miljöföroreningar förstås som inträngning av skadliga ämnen i det yttre rummet, men detta är inte en fullständig definition. Förorening...