Probabil, fiecare dezvoltator sa confruntat cu problema înregistrării automate a documentelor în planurile de schimb, care pur și simplu trebuie să fie transmise în mod consecvent.
Îți voi spune despre propria mea cale din această situație.
Desigur, acum modul de înregistrare manuală a schimbărilor în planurile de schimb. dar există încă o mulțime de vechi și auto-descrise configurații, care, poate, poate ajuta publicarea mea.
Pentru început, vom descrie pe scurt modul în care înregistrarea manuală are loc într-o configurație tipică:
- Înainte de a înregistra un document, se declanșează evenimentul "Engine Logging Engine", care, de fapt, este responsabil pentru înregistrare. Mi-e dor de cele mai multe dintre condițiile, dar voi ajunge la subiect.
- Anume pentru funcția "ObjectModifiedFor PlanExchange TryingException". Funcția primește "Tabelul înregistrărilor de înregistrare", care, aparent, este preluat din regulile de înregistrare a obiectelor. După aceea, pentru fiecare recuzită sau tabel de înregistrare există o cerere (CERERE ÎN CICLUL) pentru valoarea recuzităților înainte de schimbări. Și există o comparație cu valoarea curentă a recuzităților.
- Drept urmare, înainte de a scrie un document, se efectuează o grămadă de cod cu o grămadă de cereri.
Sincer, această abordare nu mi sa părut prea optimă. și în același timp este suficient EXTRACTABILĂ TIMP pentru baza mea de date simplă. Așa că am decis să caut o cale mai simplă.
Imaginați-mi surpriza mea că nu funcționează))) Mai mult decât atât, chiar trebuie să verificați modificarea de la început în modulul obiectului. Soluția a fost apelul abonatului la procedura "Prelucrarea verificării umplerii". Dar asta nu e tot! dacă comportamentul provine dintr-o listă de documente. apoi testul de modificare dă un LIE. și dacă prin forma documentului (chiar dacă ați făcut clic pe OK) este TRUE.
În consecință, execut în siguranță documentele în re-transfer de grup, fără teama că toate aceste MASS vor putea să facă schimb.
PS Nu cred că înregistrarea manuală ar fi mult mai eficientă. În cazul meu.))) O cantitate mică de documente inutile nu compensează mesajul că codul care este executat înainte de a scrie pentru fiecare document.