Internet Windows Android

Instalarea articolelor predefinite. Setarea elementelor predefinite 1c 8 restaurați elementul predefinit

Manevrare simplă pentru a lucra cu valori predefinite.

Vă permite să potriviți elementele IB cu elementele predefinite în configurație.

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

Puteți doar să vizualizați valorile curente, puteți face orice modificări necesare.

Procedura de operare:

1. Începem procesarea.

2. Selectam tipul (carte de referinta, plan de conturi, PVC, PVR).

3. Selectăm directorul tipului selectat în sine.

4. Toate elementele predefinite disponibile în IB ș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 unele dintre elementele descrise în configurație nu sunt alocate elemente IB, sistemul vă va informa despre acest lucru atunci când selectați o carte de referință. Elementele duplicate și lipsă apar în partea de sus a listei și sunt evidențiate în portocaliu.

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

În acest caz, liniile sunt marcate cu roșu, pentru care configurația dispare element predefinit... Linii albastre pentru care se modifică un element predefinit, linii verzi pentru care apare un element predefinit.
La un numar mare este convenabil să selectați cu mouse-ul toate liniile inutile și să indicați pentru toate cele selectate linkul de anulare cu butonul „Unmatch” (din versiunea 1.3.1)

6. Efectuăm reatribuirea făcând clic pe butonul „Execută realocarea elementelor”.

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

Când apăsați butonul „Verificați duplicatele”, procesarea va verifica toate directoarele, 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ă aceea, trebuie să verificați separat obiectele pentru care au fost găsite erori.

Verificare ratată(eroare „Un element predefinit lipsește din date”):

Când faceți clic pe butonul „Verifică lipsă”, procesarea va verifica toate directoarele, planurile de conturi, PVC și PVR și va afișa o listă de elemente predefinite care nu sunt asociate cu datele IB.

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

Versatil, poate fi folosit cu orice configurație.

Detectare limbă Afrikaans Albaneză Arabă Armeniană 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ă Azerbaiară Bască Bengală Bieloruză 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ă Tamil Telugu Thai Turcă Ucraineană Urdu Vietnameză Galeză Idiș

Însăși ideea de a lucra programatic cu elemente predefinite, în opinia mea, este foarte corectă. Există doar câteva 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 (IB). Elementele de securitate a informațiilor predefinite din punct de vedere tehnic sunt cele mai comune elemente ale dicționarelor, în care atributul „PredefinedDataName” specifică cărui element de configurare predefinit îi corespund. Ele nu mai sunt diferite de elementele obișnuite. Prin urmare, orice element IB obișnuit poate fi predefinit, orice element obișnuit predefinit. Pentru a face acest lucru, este suficient să introduceți valoarea dorită în recuzită. „PredefinedDataName”.

Periodic, această proprietate se dovedește a nu fi valoarea oferită de dezvoltator. Ca urmare, apar erori în activitatea lui 1C. De la critic, în care munca este în principiu imposibilă, până la non-critică, în care logica algoritmilor este încălcată.

Poate fi distins condiționat trei tipuri de erori:
1. „Articolul predefinit lipsește din date”;

3. Indicație nevalidă element predefinit;

1. „Un articol predefinit lipsește din date” - o Absența unui element predefinit descris în configurația din datele IB.

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

La accesarea elementului lipsă din codul „Directories.Types of ContactInformation.EmailContactPerson” se afișează mesajul

La accesarea unui element din cererea „VALOARE (Directory.Types of ContactInformation.EmailContactPerson)”, 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 cartea de referință pentru toți utilizatorii configurației, este logic să se definească elemente predefinite în configurație, dar să nu le creeze în toate sistemele de securitate a informațiilor, ci doar pentru acele sisteme de securitate a informațiilor din care este utilizată logica de configurare necesară. În acest caz, programatorul poate specifica proprietatea „Nu actualizați datele predefinite” pentru cartea de referință și poate crea elemente în mod programatic atunci când accesează funcționalitatea modulului. Sau pentru a permite utilizatorului să lege în mod independent elementele predefinite ale modulului la elementele obișnuite pe care le are.

De asemenea, nu este folosit crearea automată elemente predefinite atunci când funcționează în modul RIB. Deoarece elementele noi ar trebui să fie transferate de la baza centrală și nu create în noduri cu UID-uri diferite.

Acestea. uneori este o greșeală să te referi la un element nepotrivit, mai degrabă decât la însăși prezența unui astfel de articol.

Trebuie să analizați de ce nu a fost creat elementul. Poate că ar trebui creat atunci când se execută un anumit mod al programului. De exemplu, după efectuarea 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 apelul după nume " Directoare.Tipuri de informații de contact.EmailContactPerson„Pentru a preveni o excepție, este indicat să verificați dacă elementul este deja în baza de date. Dacă elementul este absent, atunci informați utilizatorul despre acesta și explicați ce mod trebuie să execute pentru a umple elementul. Pentru o astfel de verificare, puteți rula o interogare asupra datelor.

Solicitare = Solicitare nouă; Request.Text = "SELECT | Tipuri de informații de contact.Link | FROM | Director.Tipuri de informații de contact AS Tipuri de informații de contact | UNDERE | Tipuri de informații de contact. PredefinedData Name =" " E-mailul persoanei de contact"" "; ElementNoNo.VD = Request.Run (). Gol ();

Dacă aceasta este încă o eroare în datele bazei de date, atunci este necesară legarea la un element predefinit al elementului IB. Acestea. este necesar să se explice sistemului la ce element de securitate a informațiilor ar trebui să se refere codul programului cu această denumire. Din punct de vedere tehnic, legarea înseamnă doar specificarea numelui unui element predefinit într-o proprietate "PredefinedDataName„Element IB. Pentru a-l instala, trebuie doar să rulați codul:

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

Această situație constă în faptul că mai multe elemente IB sunt legate de un element predefinit. În acest caz, când se face referire la un nume predefinit, elementul va fi selectat la întâmplare. Această situație este întotdeauna greșită. Dificultatea sa constă în faptul că platforma nu comunică în niciun fel despre asta. Doar că algoritmii încep să funcționeze incorect.

Cadrul va raporta eroarea „Elementul predefinit nu este unic” numai atunci când încercați să editați un articol 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 cartea de referință și modul „Actualizare automată” este specificat în proprietățile pentru date predefinite. În acest caz, când se realizează schimbul, o instanță a datelor predefinite va fi creată atunci când configurația este actualizată. O a doua instanță de articole 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 în cazul în care diferite elemente de securitate a informațiilor corespund elementelor predefinite în diferite baze de date. Î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 subordonată, este necesar să se înlocuiască utilizarea elementelor vechi cu elemente ale bazei principale.

Astfel de erori în baza de date pot fi detectate printr-o interogare de forma:

SELECTAȚI Tipuri de Informații de Contact .PredefinedData Nume, CANTITATE (DIFERITE TIPURI DE INFORMAȚII DE CONTACT.Link) CA NumărPredefinit din Director.Tipuri de Informații de Contact CA Tipuri de Informații de Contact.

Această interogare va returna o listă de elemente predefinite cu mai mult de un element IB asociat.

Dacă există astfel de elemente, 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 IS ar trebui să se refere codul programului atunci când se utilizează acest nume. Pentru a face acest lucru, trebuie doar să executați codul.

3. Indicație nevalidă a unui element predefinit.

Eroarea constă în faptul că elementul predefinit corespunde elementului greșit, care este furnizat de logica programului. Astfel de erori sunt cele mai greu de diagnosticat. Spre deosebire de primele două tipuri, nu puteți verifica automat configurația pentru aceste erori. Ele pot fi identificate doar analizând logica muncii. Dacă aveți îndoieli, puteți verifica dacă este folosit articolul corect.

Pentru a face acest lucru, trebuie doar să executați una dintre comenzi.

// Definirea unui element IB care este legat de raportul predefinit necesar (Directories.Types of ContactInformation.EmailContactPerson) // Determinarea elementului predefinit la care este legat Raportul selectat (ReferenceOnItem.Name of PredefinedData)

Dacă se găsesc astfel de erori, este necesar să eliminați legătura incorectă cu elementul vechi și să adăugați o legătură cu noul element. Opcode-ul este similar cu codul de corectare pentru primele două tipuri de erori.

Ei bine, pe scurt despre erorile când munca programatică sau în modul configurator:

„Articolul 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 co-configurator.

„Obiectele nepredefinite nu pot avea intrări de tip subconto predefinite” - apare o eroare atunci când încercați să faceți un element de plan de conturi predefinit nedefinit. Pentru a elimina erorile, este necesar să debifați indicatorul „Predefinit” pentru fiecare linie a subcontractului elementului.

„Obiectele nepredefinite nu pot avea înregistrări predefinite ale principalelor tipuri de calcule”- apare o eroare când încercați să faceți nedefinit un element predefinit dintr-o diagramă de tipuri de calcul. Pentru a elimina erorile, este necesar să ștergeți indicatorul „Predefinit” pentru fiecare linie a tipului principal de calcul al elementului.

„Articolele predefinite nu sunt unice”- o eroare este afișată în configurator la actualizare baza de informatii pentru o versiune de configurare fără modul de compatibilitate 8.3.4. Este necesar să verificați duplicatele și să le eliminați înainte de actualizare.

„Numele elementului predefinit nu este unic” - eroarea apare dacă există mai multe elemente predefinite cu același nume în configurație la actualizarea pe platformă8.3.6.2332 și mai târziu. Este necesar să eliminați duplicatele din configurație.

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

O zi buna.

Astăzi vom vorbi despre o inovație în 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 carte de referință pentru a afla numele său predefinit. De exemplu, ați creat doi contractori predefiniti și i-ați numit IPSidorov și OOOMeteor. Și le-au cusut un fel de logică.

Când totul a fost depanat și a funcționat, s-a dovedit că sarcina a fost stabilită invers și logica pentru proprietarul unic este necesară pentru SRL, iar logica pentru SRL este necesară pentru proprietarul unic. „Nici o problemă”, spunem noi, iar în modul întreprindere redenumim articolele. Este mult mai dificil să intri în cod. 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 - Meteor LLC. Creierul este rupt și vreau să distrug această greblă. Cel mai simplu și mai intuitiv este să scoți numele unui element predefinit sub forma unei liste. Aici este o ambuscadă, puteți obține numele predefinit în 8.2 doar prin metoda. Și metoda are propriul inconvenient, nu poate fi obținută în cerere. Acestea. primul inconvenient este de a obține numele celui predefinit prin referire la director.

Al doilea inconvenient este atunci când avem deja un element de director și trebuie să îl facem predefinit. Creăm un articol predefinit și obținem două elemente în director. Unul predefinit, altul de lucru, care este referit în toate documentele noastre. Înlocuirea legăturilor cu siguranță ajută, dar dacă baza de date este mare, atunci este greu.

Acum pe caz

Primul este că referința are acum proprietatea „Actualizare date 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 referință. Acestea. metadatele nu au nimic de-a face cu datele. Și dacă nu este creat în director, atunci referirea la el prin numele său prin managerul de director va provoca o eroare de sintaxă.

Foarte interesant, dar de ce? Cum creăm un articol în referință? Și după cum doriți, îl puteți crea sau îl puteți conecta cu unul existent. Acum căutarea are atributul „PredefinedDataName”. Creăm un articol de catalog în mod programatic, ca de obicei, prin „References.Contractors.CreateElement ()” și completăm atributul său „PredefinedDataName” egal cu numele articolului predefinit. Sau, dacă elementul există deja, obținem obiectul său și completăm din nou „PredefinedDataName” în el. Tot.

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

Această nouă recuzită nu este doar de citire/scriere, ci și disponibilă în solicitări. Astfel, îi puteți impune condiții în interogări, puteți determina dacă este predefinit sau nu.

Multumesc pentru atentie.