Rectificarea și afișarea documentelor

Următoarea problemă a apărut în configurația PUB 1Cv7.7. Zilnic se emit „automat” circa 200 de facturi de vânzare și tot atâtea facturi conform cererilor primite de la cumpărători. După ce produsele sunt livrate cumpărătorilor, operatorul corectează manual unele facturi din baza de date.

Am stabilit sarcina: la schimbarea documentelor de vânzare, este necesară modificarea automată a facturii subordonate. O soluție relativ simplă fără VC este modificarea puțină a modulului Formular de factură:

// Procedura predefinita Facturi

Param = Form . Parametru;

Dacă Param = „Reeditare” Atunci

Să adăugăm o nouă procedură la modulul Formular document de implementare:

// Procedura de implementare predefinită

Dacă DataDoc DataProhibitedEditing Atunci

Dacă ReturnStatus()= 0, atunci

docSF = CreateObject( "Document.Factură" );

docSF . SelectDocuments ( DateDoc , DateDoc );

În timp ce dokSF. GetDocument() = 1 buclă

Dacă docSF . DocumentBase = CurrentDocument() Apoi

SF = docSF. curentDocument();

OpenForm( docSF.CurrentDocument() , Parameter );

docSF = CreateObject( "Document . Factură" );

docSF . FindDocument (SF);

Dacă docSF . Selectat ()= 1 Apoi

docSF . Comentariu = "Schimbat: " + Utilizator ;

Dacă a trecut ()= 1 Atunci

Și în sfârșit, modulul de procesare a corecțiilor de grup și de înregistrare a facturilor

Dacă EmptyValue( Data1 ) = 1, atunci

Avertisment(„Data de începere a perioadei de raportare nu este specificată!”);

Dacă Data1 > Data2 Apoi Avertisment( „Perioada de raportare nevalidă!” +Separator de linii+ „Data de început este mai mare decât data de încheiere a perioadei.” );

Dacă PeriodCheck()=0, atunci

ElseIf Data1 Editare Data interzisă Atunci

Avertisment( „Nu puteți posta documente înainte de data interzicerii editării!” );

docSF = CreateObject( "Document.Factură" );

docSF .SelectDocuments( Data1 , Data2 );

În timp ce dokSF. GetDocument() = 1 buclă

Dacă docSF . O bază de documente. View ()= „ProductImplementation” Apoi

Dacă ( docSF . Postat ()= 1 ) și ( PostUnpostedOnly = 1 ) atunci

OpenForm( docSF.CurrentDocument() , Parameter );

Dacă docSF . O bază de documente. Trecut ()= 1 Apoi

Notify( "Documente finalizate. Ora: " + Salvare(Format((_GetPerformanceCounter() - StartTime )/ 1000 , "P12.1" )) + " sec." ); EndProcedure //Generează

Data1 = CurrentDate() - 1 ;

Data2 = CurrentDate() - 1 ;

Oferte speciale

dacă

dacă

rectificarea

documentelor

documentelor

dacă

docSF

afișarea

documentelor

afișarea

Corectarea și afișarea documentelor, cum ar fi facturile introduse pe baza documentelor de vânzare, pot fi organizate în mai multe moduri. Este descrisă o abordare relativ simplă, care a fost implementată și funcționează de câțiva ani în contabilitatea reală 1Cv7.7. Fara componente externe.

(1) Schema dvs. de soluție este descrisă în procesare! Dacă factura și factura sunt identice, nimic din factură nu se va schimba!

Programatorul nu ține conturi, nu creează documente de vânzare, facturi și alte documente! Ușurează munca unui contabil. Totul se face de un contabil! El este responsabil de rezultat și primește un bonus! Cred că contabilii noștri schimbă facturile și facturile, dacă cumpărătorul nu a luat ceva din produs, l-a bifat. Documentele sunt retipărite și a doua zi un nou set este luat cumpărătoruluidocumente. Poate că acest lucru nu este în întregime corect în raport cu facturile, pentru că există facturi corective.

Nu propun o metodologie pentru munca de contabilitate, am descris cum poti corecta factura AUTOMAT si corecta factura!