Erori în elementele predefinite. Instalarea elementelor predefinite Elementul predefinit lipsește din date 8.3

Procesare simplă pentru lucrul cu valori predefinite.

Vă permite să comparați elementele de securitate a informațiilor cu elementele predefinite în configurație.

Vă permite să verificați întreaga configurație pentru prezența elementelor duplicate (mai multe elemente de securitate a informațiilor asociate cu un element predefinit - eroare) și elemente lipsă (elemente predefinite care nu sunt asociate cu elementele de securitate a informațiilor - eroare). Astfel de elemente pot apărea în timpul schimburilor sau defecțiunilor și pot duce la erori de configurare.

Puteți pur și simplu să vizualizați valorile curente și să faceți modificările necesare.

Procedura de operare:

1. Începem procesarea.

2. Selectați tipul (director, plan de conturi, PVC, PVR).

3. Selectăm directorul tipului selectat.

4. Toate elementele predefinite disponibile în securitatea informațiilor și descrise în configurație apar în partea tabelară a procesării.

Dacă există mai multe elemente în baza de date care sunt legate de o proprietate predefinită, sau unora dintre elementele descrise în configurație nu sunt alocate elemente de securitate a informațiilor, sistemul va raporta acest lucru la selectarea unui director. Elementele duplicat și lipsă vor apărea în partea de sus a listei și vor fi evidențiate în portocaliu.

5. Setăm noi valori pentru elementele predefinite necesare.

În acest caz, liniile pentru care un element predefinit dispare din configurație sunt marcate cu roșu. Cele albastre sunt liniile pentru care elementul predefinit se modifică, cele verzi sunt liniile pentru care apare elementul predefinit.
Dacă există un număr mare de duplicate, este convenabil să selectați toate liniile suplimentare cu mouse-ul și să indicați pentru toate cele selectate anularea conexiunii cu butonul „Anulare potrivire” (din versiunea 1.3.1)

6. Efectuăm reatribuirea făcând clic pe butonul „Reatribuiți elemente”.

Verificarea duplicatelor(eroare „Elementul predefinit nu este unic”):

Când faceți clic pe butonul „Verificați duplicatele”, procesarea va verifica toate cărțile de referință, planurile de conturi, PVC și PVR și va afișa o listă de tabele cu elemente duplicate indicând numărul de elemente duplicate.

După aceasta, trebuie să verificați separat obiectele pentru care au fost găsite erori.

Verificarea intrărilor ratate(eroare „Elementul predefinit nu se află în date”):

Când faceți clic pe butonul „Verificare ratată”, procesarea va verifica toate cărțile de referință, planurile de conturi, PVC și PVR și va afișa o listă de elemente predefinite care nu sunt asociate cu datele de securitate a informațiilor.

Necesită platforma 8.3.3 sau o versiune ulterioară pentru utilizare.

Universal, poate fi folosit cu orice configuratie.

Detectare limbă Afrikaans Albaneză Arabă Armenă Azerbaiză Bască Bengală Bieloruză Catalană Chineză (simplică) Chineză (trad) Croată Cehă Daneză Olandeză Engleză Esperanto Estonă Filipină Finlandeză Franceză Galizia Georgiană Germană Greacă Gujarati Creola haitiană Ebraică Hindi Maghiară Islandeză Indoneziană Irlandeză Italiană Japoneză Kannada Coreeană Lao Latină Letonă Lituaniană Macedoneană Malaeză Malteză Norvegiană Persană Poloneză Portugheză Română Rusă Sârbă Slovacă Slovenă Spaniolă Swahili Suedeză Tamil Telugu Thai Turcă Ucraineană Urdu Vietnameză Welsh Yiddish Afrikaans Albanez Arabă Armenian Azerbaid Bască Bengali Bielorusă Bulgară Catalană Chineză (simplică) Chineză (trad) Croată Cehă Daneză Olandeză Engleză Esperanto Estonă Filipină Finlandeză Franceză Galician Georgiană Germană Greacă Gujarati Haitian Creole Ebraică Hindi Maghiară Islandeză Indoneziană Irlandeză Italiană Japoneză Kannada Coreeană Lao Latină Letonă Lituaniană Macedoneană Malaeză Malteză Norvegiană Persană Poloneză Portugheză Română Rusă Sârbă Slovacă Slovenă Spaniolă Swahili Suedeză Tamila Telugu Thai Turcă Ucraineană Urdu Vietnameză Galeză Idiș

O zi buna.

Astăzi vom vorbi despre inovația din platforma 8.3 în ceea ce privește elementele predefinite.

Introducere

Permiteți-mi să vă reamintesc că mai devreme, în practică, de foarte multe ori am vrut să mă uit la un element de director pentru a afla numele său predefinit. De exemplu, ați creat două contrapărți predefinite și le-ați numit IPSidorov și OOOMeteor. Și le-au cusut ceva logică.

Când totul a fost depanat și rezolvat, s-a dovedit că sarcina a fost pusă invers și logica antreprenorului individual era necesară pentru SRL, iar logica SRL-ului pentru antreprenorul individual. „Nici o problemă”, spunem noi, iar în modul întreprindere redenumim elementele. La urma urmei, intrarea în cod este mult mai dificilă. Trece un an și vi se dă o nouă sarcină: să puneți mai multă logică pentru IP Sidorov. Intri in configurator, scrii logica, incepi sa verifici si nimic nu merge, pentru ca... în configuratorul IPSidorov și în întreprindere - OOOMeteor. Creierul este rupt și vreau să distrug această greblă. Cel mai simplu și mai evident lucru este să afișați numele unui element predefinit sub forma unei liste. Iată problema: puteți obține doar numele unuia predefinit în 8.2 folosind metoda. Dar metoda are propriile inconveniente; nu poate fi obținută într-o cerere. Acestea. Primul inconvenient este să obțineți numele celui predefinit dintr-o referință la director.

Al doilea inconvenient este atunci când avem deja un element de director și trebuie să îl facem predefinit. Creăm un element predefinit și obținem două elemente în director. Unul este predefinit, celălalt este operațional, care este menționat în toate documentele noastre. Înlocuirea link-urilor cu siguranță ajută, dar dacă baza de date este mare, atunci este dificil.

Acum la obiect

Primul este că directorul are acum proprietatea „Actualizarea datelor predefinite”.

Ce ne oferă acest domeniu? Dacă este setat la „Nu actualizați automat”, atunci prin adăugarea unui element predefinit, nu îl vom vedea imediat în director. Acestea. metadatele nu au nimic de-a face cu datele. Și dacă nu îl creați în director, atunci accesarea acestuia după numele său prin managerul de directoare va cauza o eroare de sintaxă.

Foarte interesant, dar de ce? Cum putem crea un element în director? Îl puteți crea oricum doriți sau îl puteți conecta la unul existent. Acum directorul are atributul „Numele datelor predefinite”. Creăm un element de director în mod programatic, ca de obicei, prin „Directories.Contractors.CreateElement()” și completăm atributul „PredefinedDataName” egal cu numele elementului predefinit. Sau dacă elementul există deja, obținem obiectul său și completăm din nou „Numele datelor predefinite”. Toate.

Și la sfârșit puțin sirop

Acest nou atribut nu este doar lizibil și scris, ci este disponibil și în solicitări. În felul acesta îi poți impune condiții în interogări, stabili dacă este predefinit sau nu.

Vă mulțumim pentru atenție.

Însăși ideea de lucru programatic cu elemente predefinite, în opinia mea, este foarte corectă. Există pur și simplu nuanțe care trebuie luate în considerare atunci când lucrați.

În primul rând, trebuie să înțelegeți clar pentru dvs. că există elemente predefinite în configurație și există elemente predefinite în baza de informații (IS). Din punct de vedere tehnic, elementele de securitate a informațiilor predefinite sunt cele mai comune elemente ale directoarelor, în care atributul „Numele datelor predefinite” indică cărui element de configurare predefinit îi corespund. Ele nu sunt diferite de elementele obișnuite. Prin urmare, orice element obișnuit de securitate a informațiilor poate fi făcut predefinit, orice element predefinit poate fi făcut obișnuit. Pentru a face acest lucru, trebuie doar să introduceți valoarea dorită în atribut „PredefinedDataName”.

Din când în când, această proprietate conține o valoare care nu este cea intenționată de dezvoltator. Ca urmare, apar erori în funcționarea 1C. De la critic, în care munca este practic imposibilă, până la non-critică, în care logica algoritmilor este perturbată.

Condițional putem distinge trei tipuri de erori:
1. „Elementul predefinit nu se află în date”;

3. Specificarea incorectă a unui element predefinit;

1. „Elementul predefinit nu se află în date” - o absența unui element predefinit descris în configurație în datele de securitate a informațiilor.

Acesta este cel mai ușor tip de eroare de depanat și corectat. Simplitatea sa este că platforma raportează destul de corect această situație „Lipsește elementul predefinit din date” și este destul de clar cum se poate remedia.

La accesarea unui element lipsă din codul „Directoare.Tipuri de informații de contact.E-mailul persoanei de contact” este afișat un mesaj

La accesarea unui element din cererea „VALUE(Directory.Types of Contact Information.Email of the Contact Person)” este afișat următorul mesaj:

Această eroare apare dacă un element este descris în configurație, dar elementul nu este asociat cu acesta în baza de date.

Pentru început, să clarificăm că această situație nu este întotdeauna greșită. Este destul de posibil să folosiți date predefinite într-un fel de logică de program, care pentru majoritatea utilizatorilor ar putea să nu fie utilizate. În acest caz, pentru a nu aglomera directorul pentru toți utilizatorii configurației, este logic să definiți elemente predefinite în configurație, dar să nu le creați în toate sistemele de securitate a informațiilor, ci doar pentru acele sisteme de securitate a informațiilor în care se utilizează logica de configurare necesară. În acest caz, programatorul poate specifica proprietatea „Nu actualizați datele predefinite” pentru director și poate crea elemente în mod programatic atunci când accesează funcționalitatea modulului. Sau permiteți utilizatorului să lege în mod independent elementele modulului predefinite la elementele obișnuite existente.

De asemenea, crearea automată a elementelor predefinite nu este utilizată atunci când se lucrează în modul RIB. Deoarece elementele noi trebuie transferate din baza de date centrală și nu create în noduri cu UID-uri diferite.

Acestea. Uneori, eroarea este referirea la un element nepotrivit, nu prezența unui astfel de element în sine.

Este necesar să se analizeze de ce elementul nu a fost creat. Poate că ar trebui creat atunci când se execută un mod de program. De exemplu, după finalizarea unui schimb în RIB. Sau poate că a fost doar șters accidental.

Dacă logica prevede completarea elementelor predefinite nu automat, ci într-un mod separat, atunci înainte de a utiliza accesul după nume " Directoare.Tipuri de informații de contact.E-mailul persoanei de contact„Pentru a preveni o situație excepțională, este indicat să verificați dacă elementul este deja în baza de date. Dacă elementul lipsește, atunci informați utilizatorul despre acest lucru și explicați ce mod trebuie să efectueze pentru a umple elementul. Pentru o astfel de verificare , puteți rula o interogare de date.

Solicitare = Solicitare nouă; Request.Text = "SELECT | Tipuri de informații de contact. Link | FROM | Director. Tipuri de informații de contact CUM Tipuri de informații de contact | UNDE | Tipuri de informații de contact. Numele datelor predefinite = "" E-mailContactPerson"""; Elementul lipseșteInData = Query.Execute().Empty();

Dacă aceasta este încă o eroare în datele bazei de date, atunci este necesară legarea la un element predefinit al elementului de securitate a informațiilor. Acestea. este necesar să se explice sistemului ce element de securitate a informațiilor ar trebui să acceseze codul programului cu acest nume. Din punct de vedere tehnic, o legare este pur și simplu specificarea numelui unui element predefinit în proprietatea "PredefinedDataName" din elementul IS. Pentru a-l instala, trebuie doar să rulați codul:

2. „Elementul predefinit nu este unic” - h elemente duble predefinite:

Această situație este că mai multe elemente de securitate a informațiilor sunt atașate unui element predefinit. În acest caz, la accesarea unui nume predefinit, elementul va fi selectat aleatoriu. Această situație este întotdeauna greșită. Dificultatea sa este că platforma nu o raportează în niciun fel. Algoritmii încep să funcționeze incorect.

Platforma va raporta eroarea „Elementul predefinit nu este unic” doar atunci când încercați să editați un element duplicat.

Atâta timp cât nimeni nu trebuie să editeze elementul, nimeni nu va ști despre eroare.

Astfel de duplicate pot fi create, de exemplu, dacă RIB este utilizat pentru director și modul „Actualizare automată” este specificat în proprietățile pentru date predefinite. În acest caz, la efectuarea unui schimb, o instanță a datelor predefinite va fi creată atunci când configurația este actualizată. O a doua instanță de elemente predefinite cu același nume va fi transferată din baza de date centrală în timpul schimbului.

De asemenea, aceste duplicate vor apărea atunci când se utilizează procesarea de schimb între configurații dacă diferite elemente de securitate a informațiilor corespund elementelor predefinite în baze de date diferite. În acest caz, o copie a datelor predefinite există deja în baza de date, a doua va veni la încărcarea datelor cu un alt UID. Dacă efectuați transferuri de date, trebuie să decideți care elemente ale bazei de date sunt considerate primare și să le utilizați în baza de date subordonată. În baza de date subordonată, este necesară înlocuirea utilizării elementelor vechi cu elemente ale bazei de date principale.

Astfel de erori din baza de date pot fi identificate cu o interogare precum:

SELECT Tipuri de informații de contact.Nume de date predefinite, CANTITATE (DIFERATE Tipuri de informații de contact.Link) AS Număr de predefinite FROM Director.Tipuri de informații de contact AS Tipuri de informații de contact GROUP BY Tipuri de informații de contact.Nume de date predefinite AU CANTITATE (DIFERITE Tipuri de Contact noInformation.Link) > 1

Această interogare va returna o listă de elemente predefinite cu care este asociat mai mult de un element de securitate a informațiilor.

Dacă astfel de elemente sunt prezente, este necesar să eliminați legătura cu cea predefinită pentru unul dintre ele. Acestea. Este necesar să se determine fără ambiguitate pentru sistem la ce element de securitate a informațiilor ar trebui să se refere codul programului atunci când se utilizează acest nume. Pentru a face acest lucru, trebuie doar să rulați codul.

3. Specificarea incorectă a unui element predefinit.

Eroarea este că elementul predefinit corespunde unui element care nu este furnizat de logica programului. Astfel de erori sunt cele mai greu de diagnosticat. Spre deosebire de primele două tipuri, configurația nu poate fi verificată automat pentru aceste erori. Ele pot fi identificate doar analizând logica muncii. Dacă aveți îndoieli, puteți verifica dacă este utilizat elementul corect.

Pentru a face acest lucru, rulați una dintre comenzi.

//Definirea unui element de securitate a informațiilor care este legat de notificarea predefinită dorită (Directoare.Tipuri de informații de contact.E-mail al persoanei de contact) //Definirea unui element predefinit la care este atașat Notificarea selectată (Link către elementul.Numele datelor predefinite )

Dacă sunt identificate astfel de erori, este necesar să eliminați conexiunea incorectă cu elementul vechi și să adăugați o conexiune cu noul element. Codul de operare este similar cu codul pentru corectarea primelor două tipuri de erori.

Ei bine, pe scurt despre erorile din timpul programului de lucru sau în modul configurator:

„Elementul predefinit nu îi aparține<Имя справочника>" - apare o eroare la încercarea de a scrie un element predefinit cu un nume care nu se potrivește cu numele din configurator.

„Obiectele nepredefinite nu pot avea înregistrări de vizualizare subconto predefinite” - apare o eroare la încercarea de a face nepredefinit un element dintr-un plan de conturi predefinit. Pentru a elimina erorile, este necesar să eliminați marcajul „Predefinit” din fiecare linie de subcontact element.

„Obiectele nepredefinite nu pot avea înregistrări predefinite ale principalelor tipuri de calcule”- apare o eroare la încercarea de a face un element predefinit al planului de tipuri de calcul nepredefinit. Pentru a elimina erorile, este necesar să eliminați caseta de selectare „Predefinit” pentru fiecare linie a tipului de calcul principal al elementului.

„Elementele predefinite nu sunt unice”- se generează o eroare în configurator la actualizarea bazei de informații pentru o versiune de configurare fără modul de compatibilitate cu 8.3.4. Este necesar să verificați dacă există duplicate și să le eliminați înainte de actualizare.

„Numele elementului predefinit nu este unic” - eroarea apare atunci cand exista mai multe elemente predefinite cu acelasi nume in configuratie la actualizarea pe platforma8.3.6.2332 și mai sus. Este necesar să eliminați duplicatele din configurație.

Pentru a lucra cu date predefinite, recomand procesarea. Poate efectua orice acțiuni cu date predefinite și, de asemenea, poate verifica configurația în ansamblu pentru prezența erorilor din primele două tipuri (elemente duplicate și lipsă) în toate obiectele de securitate a informațiilor (directoare, planuri de conturi, PVC, PVR) .