Poate fi necesar să reinstalați o componentă sau un suport. Cum să afli metoda corectă

Orice programator 1C a întâlnit un mesaj precum „Eroare la apelarea metodei contextului (Run).” Această eroare de obicei nu cauzează probleme unui programator experimentat. De ce apare? Să ne uităm la asta mai jos.

Ca orice limbaj de programare, platforma 1C are metode predefinite care ușurează viața dezvoltatorilor. Dar executarea acestor comenzi necesită respectarea corectă sintaxa limbajului de programare.

Cele mai frecvente erori la apelarea metodelor standard:

  • Scrie
  • Crea
  • Conectați
  • Conectați
  • Verificați ieșirea
  • PrevizualizareFișier1C
  • Citit
  • A executa
  • ExecutePackage
  • ReadChanges

Să ne uităm la un exemplu. Am creat în mod programatic o solicitare (), pasând următorul fragment parametrilor „text”:

Obțineți 267 de lecții video pe 1C gratuit:

În construcția „UNDE”, am greșit în mod deliberat punând „ȘI”, dar fără a preciza o altă condiție. Este complet logic că 1C nu va putea face față unei astfel de solicitări și va genera o eroare:

(SessionModule(21)): Eroare la apelarea metodei context (Run)

din cauza:

ȘI<>

Să ne uităm la un alt exemplu:

Să transferăm codul eronat în handlerul „Înainte de scriere” al „Versiuni de program” și să încercăm să scriem directorul în mod programatic. Vedem o eroare:

(SessionModule(8)): Eroare la apelarea metodei context (Write)
Select.GetObject().Write();
din cauza:
Eroare la executarea handlerului - „BeforeRecording”
din cauza:
(Directory.ProgramVersions.ObjectModule(20)): Eroare la apelarea metodei context (Run)
RequestResult = Request.Execute();
din cauza:
((13, 4)): Eroare de sintaxă
ȘI<>

În ciuda faptului că eroarea constă în executarea metodei „Run”, sistemul se plânge și de linia de cod în care este apelată înregistrarea programului a obiectului.

Soluţie

Pentru a rezolva problema, este suficient să înțelegeți care este exact eroarea. În 99% din cazuri, problema este rezolvată prin simpla citire a ajutorului și analizând problema.

Pentru a învăța cum să utilizați această sau acea metodă, plasați cursorul pe funcția care vă interesează și apăsați „Ctrl + F1”. Platforma 1C vă va oferi un indiciu de context pentru metoda necesară:

Verificați parametrii trecuți funcției și dacă aceasta este utilizată corect.

Am întâlnit următoarea eroare: la afișarea informațiilor pe un formular tipărit, platforma afișează următorul mesaj:
Eroare la apelarea metodei context (CheckOutput)...

CheckOutput()- aceasta este metoda document foaie de calcul, care verifică dacă documentele din foaia de calcul trimise se potrivesc pe pagină atunci când sunt tipărite. În nota pentru această metodă, dezvoltatorii platformei 1C au scris imediat că, dacă apar probleme cu obținerea de informații despre imprimanta actuală (de exemplu, nu există o singură imprimantă instalată în sistem), se va arunca o excepție.

Am verificat imprimantele instalate, totul este bine și funcționează. Din punct de vedere empiric, am găsit asta această eroare apare doar într-un anume formă tipărităși doar sub un singur utilizator.

Eroarea a fost rezolvată prin următorii pași (efectuați sub utilizatorul care a întâmpinat eroarea):
1) A creat un document gol, astfel încât metoda CheckOutput() să nu fie utilizată la generarea formularului tipărit. Dacă această metodă este apelată în orice caz, va trebui să o găsiți în configurație și să o comentați sau să o plasați în structură Încercare-Excepție-Sfârșit Încercare.
3) Pentru formularul de printare curent, deschideți parametrii paginii și setați parametrii corecti.

3. Opțiuni de pagină
Eroarea a apărut din cauza parametrilor de pagină incorecți pe care platforma i-a salvat mai devreme la tipărirea unui formular tipărit, de exemplu: platforma a salvat o imprimantă în parametrii paginii, care a fost ștearsă ulterior și a fost instalată una nouă. Parametrii paginii formularului de tipărire sunt stocați în proprietatea documentului din foaia de calcul Tasta parametrilor de imprimare. Această proprietate conține o cheie de valoare care stochează opțiunile de imprimare ale tabelului. Setările de imprimare configurate și salvate cu această cheie sunt ulterior restaurate data viitoare când tabelul este afișat.

Pentru a preveni apariția acestei erori din cauza parametrilor incorecți ai paginii, proprietatea Tasta parametrilor de imprimare ar trebui setat nu la începutul procedurii de imprimare, ci la sfârșit, deoarece atunci când această proprietate este setată, parametrii de imprimare sunt imediat restaurați.

UPD 04.10.2015: Dacă setați proprietatea Tasta parametrilor de imprimare la sfârșitul formării unui document foaie de calcul, apoi metoda Verificați ieșirea va folosi opțiunile de imprimare instalat implicit, nu cele personalizate. Pentru a evita această situație, trebuie să setați proprietatea Cheia parametrilor sistemului la începutul formării unui document foaie de calcul și metoda Verificați ieșirea plasați-l în construcția Attempt-Exception-EndTempt.

Erorile la utilizarea acestui sau acela program apar în tot felul de moduri. Există o serie întreagă de ele - care apar din vina noastră. Să ne uităm la cum să remediați o eroare la ieșirea unei metode de context în 1C, care apare ca urmare a nerespectării regulilor și metodelor contextului.

Înțelegerea principiilor de funcționare ale metodei context vă va ajuta să evitați greșelile atunci când lucrați în 1C.

Orice software arhitectural este format din module (ing.), piese. iar locațiile lor sunt prezentate în figură:

Modulele software, la rândul lor, constau din secțiuni:

Contextul este unul dintre cele mai importante concepte în programare. În 1C, înseamnă mediul modulului și secțiunile sale - care variabile, proprietăți, obiecte, metodă și evenimente pot fi accesate de acesta în fiecare punct specific. ÎN puncte diferite contextul, de regulă, este deja diferit.

Dezvoltatorul (dezvoltatorul) trebuie să înțeleagă ce proprietăți contextuale are un punct și ce metodă este disponibilă pentru utilizare în el.

Tipurile contextuale sunt evidențiate în figura opt:


Cele patru reguli de bază pentru accesarea procedurilor, variabilelor și funcțiilor din module sunt:

  • În părțile modulare comune, variabilele, procedurile și funcțiile aplicațiilor modulare nu vor fi disponibile pentru export;
  • Aplicațiile modulare au acces la procedurile de export și la funcțiile modulelor comune;
  • Pentru modurile generale. piesele au acces la exportul de proceduri și funcții ale altor module comune;
  • Pentru obiectele de aplicație modulare și pentru formele modulare sunt disponibile variabilele, funcțiile și procedurile modulelor de aplicație pentru export și modulele comune.

Dacă unui formular i se atribuie un atribut principal, atunci contextul acestui formular va conține o proprietate și o metodă corespunzătoare acestui atribut principal. De exemplu, în modulul de formular pentru elementul director Nomenclature sunt disponibile metoda și proprietățile obiectului DirectoryObject.Nomenclature.

Ilustrarea regulilor de mai sus în diagramă:

Săgețile indică faptul că una dintre părțile modulare oferă altora posibilitatea de a-și accesa variabilele, funcțiile și procedurile pentru export. Vă reamintim că nu există o declarație de variabilă într-un modul general.

Nerespectarea regulilor și practicilor contextului software

Toți programatorii au întâlnit o notificare de eroare 1C la apelarea unei metode de context. Luați în considerare acest exemplu:

Erori de comandă

La crearea unei interogări în director, un fragment a fost adăugat la parametrul său „text”:

În construcția „UNDE” a fost adăugat un „eu”, dar condiția în sine a rămas nespecificată.

Răspunsul programului a fost următorul:

(MODSSession(21)): Eroare la apelarea metodei context (Run)
RequestResult = Request.Execute();

Cum să afli metoda corectă?

Pentru a obține un indiciu de la platforma 1C despre cum să utilizați orice metodă, plasați cursorul pe funcția dorităși apăsați „Ctrl + F1”. Dacă apar erori, trebuie să verificați parametrii care sunt transferați funcției, precum și utilizarea corectă a funcției.

Ce este util de știut despre erori

În cele din urmă, să facem o analiză generală a erorilor din 1C. Oricare dintre ele ar putea fi cauza celor care fac obiectul articolului:

  • Încălcarea atât a integrității logice, cât și a integrității fizice a bazei de informații;
  • erori ale utilizatorului la manipularea platformei;
  • Cod introdus din greșeală de către dezvoltator (dezvoltator);
  • Factorul uman - de exemplu, uitarea;
  • Situații de urgență (lipsa energiei electrice, furtună de zăpadă, ploaie, grindină, uragan, inundații).

Analizați eroarea:

  • Comparați versiunile și configurațiile platformei;
  • Citit text complet mesaje până la sfârșit, gândiți-vă puțin și înțelegeți ce a scris aparatul. De foarte multe ori oamenii nu citesc astfel de mesaje în întregime. Dar se întâmplă ca la final să conțină recomandări pentru eliminarea lui;
  • Analizați câți ani are și circumstanțele apariției sale;
  • Este posibil să-l reproduc;
  • Bug-urile ireproductibile care nu au mai fost văzute până acum nu sunt de obicei remediate;
  • Indiferent dacă eroarea se repetă de pe alt computer sau de către alt utilizator. În acest caz, luați în considerare ștergerea memoriei cache, setarea drepturilor, ștergerea setărilor utilizatorului.

Informații suplimentare despre cauzele erorilor:

  • Unele erori sunt rezultatul utilizării fără licență software(și ferestrele de asemenea);
  • O platformă deteriorată este cel mai comun exemplu. Doar un singur patch poate hack o versiune a platformei. După care este posibil să nu găsiți baza de date (sau licență);
  • Când întâmpinați pentru prima dată o eroare, ar trebui să căutați o soluție într-un motor de căutare - poate că cineva a găsit deja o soluție;
  • Urmăriți relevanța versiunii de configurare (mai ales dacă raportarea reglementată este transmisă de la aceștia);
  • Relevanța lansării platformei - se recomandă o versiune separată pentru fiecare configurație;
    Toate evenimentele care au loc în 1C sunt înregistrate într-un jurnal tehnologic!
  • Înainte de a începe orice acțiune cu baza de date, trebuie să faceți o copie de arhivă!

Acum știți ce context este, de ce apar erori asociate cu acesta, cum să analizați erorile în 1C și cum să le rezolvați.

Lasă feedback-ul tău în comentarii.

Acțiune