1s 8 tip de document în cerere. Cum să obțineți tipul (tipul) unui document într-o solicitare? Conexiune stânga și dreapta

25.10.2019 Programe

Nu funcționează corect” singur. Ei își cunosc computerul până la cel mai mic detaliu, așa că nu apar întrebări despre cum să remediați această sau acea eroare. Dar pentru utilizatorii neexperimentați această problemă este mult mai dificilă. Nici măcar sfaturile de pe internet nu îi ajută pe unii, deoarece cunoștințele și experiența sunt prea puține.

Problemă

Dar nu contează. Orice eroare de bază a computerului poate fi rezolvată rapid. Pentru a face acest lucru, trebuie să studiați cu atenție instrucțiunile și să urmați sfaturile experților pas cu pas.

Problema de astăzi este când una dintre ele nu funcționează corect. Cel mai adesea, veți observa acest text în colțul din dreapta jos al desktopului. Uneori apare o fereastră specială care vă anunță despre această problemă.

Cerințe preliminare

Cel mai adesea, eroarea apare la conectarea oricărui dispozitiv prin USB. Aceasta este o unitate flash obișnuită, un telefon, o imprimantă etc. Problema apare după cum urmează: versiunea timpurie Windows 7 și mai târziu „Zece”. Cu toate acestea, USB-ul dvs. poate fi versiunea 2.0 sau 2.0. În general, esența problemei nu se schimbă.

Cauze

Eroarea conexiunii USB poate fi cauzată de mai multe motive. Chiar sunt o mulțime. În plus, nu sunt întotdeauna tipice. Se întâmplă ca vina să aparțină în întregime și în întregime utilizatorului care a eliminat în mod miraculos driverele sau a încurcat sistemul. Există și defecte din partea producătorilor acestor dispozitive. Unitățile flash chinezești de calitate scăzută sunt deosebit de susceptibile la această problemă.

Ai încredere, dar verifică

Deci, ați văzut o eroare similară pe ecran. Pentru a evita nervii inutile și pierderea mult timp, este mai bine să verificați imediat dispozitivul pe care îl conectați la port. După cum am menționat mai devreme, nu toți producătorii sunt atât de conștiincioși. Mulți oameni creează un produs doar pentru a-l vinde. Aici apar erorile de sistem.

Dacă ați cumpărat un nou mouse, tastatură sau unitate flash, verificați imediat dacă funcționează corect înainte de a păcătui pe interfața USB. Există două moduri de a face acest lucru:

  1. Dacă aveți un al doilea computer sau laptop, pur și simplu conectați noul dispozitiv la acesta. Dacă totul este în regulă pe alt sistem, atunci cel mai probabil problema este în computer.
  2. Luați un dispozitiv care funcționează (maus vechi, a doua unitate flash etc.) și introduceți-l în același port. Dacă apare aceeași notificare, atunci problema este într-adevăr cu conectorul.

Există câteva moduri nerostite. Ele nu oferă întotdeauna o imagine clară a ceea ce se întâmplă, dar le puteți încerca pentru orice eventualitate. Deci, luăm dispozitivul care dă eroarea, îl deconectăm de la PC și oprim sistemul împreună cu ștecherul în priză. Acum trebuie să țineți apăsat butonul de pornire de pe computer, astfel încât restul sarcini electrice a parasit placa de baza.

Acum porniți computerul și conectați dispozitivul USB când sistemul pornește complet. Opțiunea nu este cea mai bună, dar uneori după ea totul începe cu adevărat să funcționeze.

Și pentru cei care doresc în sfârșit să se asigure că portul este defect, puteți pur și simplu să deconectați toate USB-urile care se află pe panoul de interfață. Se întâmplă că supraîncărcarea portului poate produce o eroare similară. Dacă dezactivați inutil acest moment echipament, instalați unitatea flash în panoul din spate.

Metode software

Uneori problema „Unul dintre cei conectați dispozitive USB„Nu funcționează corect” nu poate fi corectat doar prin rocare. Va trebui să săpăm în interiorul sistemului. Dacă toate metodele anterioare nu ți-au dat rezultate, să încercăm să actualizăm „lemne de foc”.

Pentru a face acest lucru, căutați „Manager dispozitive”. O facem prin Linie de comanda: apăsați Win+R pe tastatură și introduceți devmgmt.msc în câmp. Puteți merge la „Computerul meu”, faceți clic dreapta oriunde în fereastră și selectați „Proprietăți”. În fața noastră se va deschide o fereastră cu parametrii PC, iar în coloana din stânga veți găsi secțiunea dorită.

Deci, în „Manager de dispozitive” selectăm linia „Controle USB”, toate echipamentele USB conectate la sistem sunt afișate aici. Va exista o linie „Alte dispozitive”, aici va fi localizat dispozitivul nostru necunoscut. Faceți clic pe numele acestuia și încercați „Actualizați driverele”. Așteptăm ca sistemul să descarce fișierele necesare prin Internet și poate că unitatea flash va „își va reveni” și va începe să funcționeze.

Semnul exclamarii

S-ar putea ca în apropierea asta" Dispozitiv necunoscut„ Există un semn de exclamare galben. În acest caz, încercăm să dăm înapoi driverele. Faceți clic pe el și accesați „Proprietăți”. Aici trebuie să găsiți fila „lemne de foc” și butonul „Roll Back”. Este posibil să vă fie inaccesibil și evidențiat cu gri. Apoi selectați „Ștergeți”.

Acum trebuie să reveniți la fereastra „Manager dispozitive” și să selectați secțiunea „Acțiune” din partea de sus și să actualizați configurația hardware din ea. Acești pași vă pot rezolva problema.

Semnul de exclamare poate apărea din alt motiv. Pentru a face acest lucru, trebuie să accesați proprietățile echipamentului, care a dobândit nume precum Generic USB Hub, USB Root Controller și USB Root Hub. În fereastra care apare, trebuie să selectați „Gestionarea energiei” și să debifați prima linie. Acest lucru va împiedica oprirea echipamentului pentru a economisi energie electrică.

Greșeli comune și soluții

După cum am menționat mai devreme, eroarea „Unul dintre dispozitivele USB conectate nu funcționează corect” este individuală și depinde de mulți factori. Mai sus ne-am uitat la cele mai comune motive. Acum să încercăm pe scurt să descriem ce probleme au întâmpinat alți utilizatori.

Adesea, această eroare apare la conectarea unei imprimante. De obicei cauzată de instalarea incorectă a „lemnului de foc”. Prin urmare, puteți pur și simplu să le eliminați și să le reinstalați cu atenție din nou.

Multe probleme apar din cauza deteriorării mecanice. Să presupunem că un cablu cu un conector micro-USB pe o parte și un conector USB pe cealaltă poate fi rupt sau zdrobit în mijloc. Acest lucru îi afectează în mod semnificativ performanța și sincronizarea cu computerul.

O altă problemă interesantă care devine din ce în ce mai puțin frecventă în zilele noastre ar putea fi incompatibilitatea. Unele dispozitive nu acceptă standardul 2.0 sau mai nou 3.0. Apoi se întâmplă că conectarea prin telefon USB sau orice alt dispozitiv, veți vedea din nou acest mesaj. În general, dacă apare o astfel de problemă, atunci este mai bine să vă gândiți la schimbarea plăcii de bază, deoarece standardul de interfață va continua să se schimbe și vor exista și mai multe probleme.

Probleme cu laptopul

În acest caz ne confruntăm cu probleme conexiuni USB 3.0. Din cauza imperfecțiunilor acestei revizuiri a interfeței, utilizatorii trebuie să iasă căi diferite. S-a găsit o soluție. Planul de alimentare al laptopului trebuia ajustat.

Pentru a face asta ai putea merge la setări standard acest parametru sau în software-ul proprietar, care este furnizat de unii producători de laptopuri. În Windows, selectați planul de alimentare care este în uz curent, apoi accesați Opțiuni suplimentare. Și conform schemei familiare, interzicem dezactivarea porturilor pentru a economisi energie.

concluzii

Dacă dintr-o dată nu puteți conecta un telefon prin USB, un extern HDD, unitate flash și alte dispozitive, nu trebuie să vă supărați imediat. În primul rând, defecțiunea unui port din zece din sistem este obișnuită. Încercarea de a folosi pur și simplu un alt conector este la fel de ușoară precum decojirea perelor. În al doilea rând, chiar dacă nimic nu a funcționat pentru tine în ceea ce privește software-ul, poți încerca să reinstalezi Windows.

Desigur, reinstalarea sistemului de operare nu este un panaceu pentru toate problemele și procesul este destul de dificil, mai ales pentru cei care nu l-au întâlnit niciodată. Cu toate acestea, chiar și el te poate ajuta.

Poate că conectorul dvs. micro-USB nu funcționează din cauza unei defecțiuni reale a controlerului. Înlocuiește-l cu placa de baza nu va funcționa. Aceasta înseamnă fie cumpărarea unei plăci de bază noi, fie, opțional, achiziționarea unui controler extern cu o interfață PCI.

„șofer”) poate interacționa:

  • direct cu modelul registratorului fiscal;
  • cu software (AWS) furnizat cu registratorul fiscal;
  • cu sofer registrator fiscal nivel scăzut, scris folosind tehnologia OLE pentru POS (OPOS).

Cerințe generale pentru șofer:

Șoferul trebuie să:

  • să fie dezvoltată sub forma unei componente externe (o descriere a mecanismului de creare a componentelor externe este dată în documentul „Documentația privind tehnologia de creare a componentelor externe” pe discul ITS în secțiunea „Tehnologie pentru crearea componentelor externe” din Metodologia Suport 1C: Enterprise 8.1.);
  • asigurarea capacității de implementare a funcționalității complete pentru tipul de echipament conectat
  • furnizează un set de proprietăți și metode pentru configurarea și gestionarea șoferului în conformitate cu cerințele pentru tipul de echipament depus pentru certificare publicate pe discul ITS în secțiunea „Lucrul cu echipamente de vânzare cu amănuntul” din Suport metodologic 1C: Întreprindere 8.1
  • furnizați nume în rusă și engleză ale proprietăților și metodelor (de exemplu, Port - Port, Speed ​​​​- Speed, CloseCheck() - CloseCheck(), PrintFiscalString() - PrintFiscalString(), etc.);
  • suportă conexiuni multiple (în conformitate cu ideologia tehnologiei COM), precum și sprijină lucrul cu mai multe dispozitive, dacă procesele de afaceri în care este utilizat acest echipament permit;
  • dacă apare o eroare, furnizați descriere detaliata eroarea care a apărut, permițând utilizatorului să înțeleagă cauza erorii și cum să o elimine;
  • atunci când apar situații de urgență (acțiuni incorecte ale utilizatorului, absența unei metode sau funcție solicitate, transmiterea unor valori incorecte etc.), procesați-le corect. Nu ar trebui să existe accidente de șofer sau alte acțiuni incorecte ale șoferului care ar putea duce la întreruperea funcționării normale a utilizatorului.

Descrierea lucrului cu șoferul

Începeți cu șoferul

Sistemul 1C:Enterprise (denumit în continuare „sistem”) inițializează conexiunea cu driverul și o încarcă. Următoarele sunt instalate parametrii de configurare, necesar pentru muncă. Conexiunea la dispozitiv se realizează atunci când începeți o operațiune cu dispozitivul echipamente comerciale.

Suma de depunere/retragere

Imprimarea unui bon fiscal/nefiscal

Sistemul trimite o comandă pentru a deschide o nouă verificare. In functie de parametrul trecut, cecul se deschide in regim fiscal sau nefiscal. Dacă cecul este deja deschis, atunci, în funcție de valoarea parametrului trecut „CanceleOpenCheck”, șoferul anulează (anulează) verificarea anterioară sau returnează o eroare că cecul a fost deja deschis.

"Linie de imprimare"

Odată ce tipărirea este finalizată, verificarea este închisă. Dacă a fost deschis un bon fiscal, atunci când acesta este închis, totalurile și suma plății sunt tipărite și chitanța este tăiată. Dacă a fost deschis unul non-fiscal, atunci cecul este pur și simplu tăiat. Cecul este tăiat cu condiția ca această operațiune este susținută de imprimantă, în caz contrar este suficient să întindeți banda de mai multe linii, astfel încât bonul să fie deasupra liniei de rupere.

Imprimarea unui raport pentru o tură a casei de marcat cu anulare (raport Z) și fără anulare (raport X)

Închide

Deconectarea de la dispozitiv se efectuează la finalizarea operațiunii cu dispozitivul.

Conexiunea cu șoferul este închisă numai atunci când sistemul se oprește.

Descrierea proprietăților

Descrierea metodelor

Descrierea metodelor

Nume (alias)

Opțiuni

Descriere

Descriere

GetVersionNumber (GetVersion)- - - BSTRReturnează numărul versiunii driverului
GetError(GetLastError)DescriereErori
(Descrierea erorii)
BSTRDescrierea eroriiLUNGReturnează codul și descrierea ultimei erori care a apărut
Conectare (Deschidere)ArrayValues
(Matrice de valori)

ID expediere*

BOOLConectează registratorul fiscal
DeviceID (DeviceID)BSTRIdentificatorul dispozitivului
Dezactivați (Închideți)DeviceID (DeviceID)BSTR Identificatorul dispozitivuluiBOOLDezactivează registratorul fiscal
Imprimare raport fără anulare (PrintXReport)DeviceID (DeviceID)BSTR Identificatorul dispozitivuluiBOOLTipărește un raport pentru tura pe FD fără anulare (nu închide tura de casă)
PrintReportWithCancellation (PrintZReport)DeviceID (DeviceID)BSTR Identificatorul dispozitivuluiBOOLTipărește un raport pentru tura cu anulare pe FD (închide tura de casă, )
Tipăriți Retrageri de chitanță de depozit (CashInOutcome)DeviceID (DeviceID)BSTR Identificatorul dispozitivuluiBOOLTipărește o chitanță de depunere/retragere pe FD (în funcție de suma transferată). Sumă >= 0 - depozit, Sumă< 0 - выемка.
CantitateDUBLASuma de cerere/retragere
OpenCheckDeviceID (DeviceID)BSTR Identificatorul dispozitivuluiBOOLDeschide un nou control
FiscalCheck (IsFiscalCheck)BOOLSemn de bon fiscal
Cec de returnare (IsReturnCheck)BOOLSemn de primire de retur
CancelOpenedCheckBOOLSemn de anulare automată a unui cec deschis anterior
Verifică numărulLUNGNumăr de cec nou
Numărul schimbului (SessionNumber)LUNGNumărul turei deschise
PrintFiscalString (PrintFiscalString)DeviceID (DeviceID)BSTR Identificatorul dispozitivuluiBOOLImprimă o linie a unui articol de produs cu detaliile transferate. Reducerile/markupurile pe linie sunt calculate folosind formula „Sumă – Preț*Cantitate”. Dacă valoarea rezultată este diferită de 0, atunci discountul absolut (monetar) este imprimat pe chitanță (<0 )/наценка(>0) .
NumeBSTRNumele produsului
CantitateDUBLACantitatea de mărfuri
PrețDUBLAPreț unitar (în format< Рубли> ,< Копейки> )
CantitateDUBLASuma finală pentru elementul de cec (inclusiv toate reducerile/taxele suplimentare; în format< Рубли> ,< Копейки> )
DepartamentLUNGDepartamentul pentru care se efectuează vânzări
Taxa pe valoare adăugată)DUBLATVA ca procent (de la 0 la 99,99)
CloseCheckDeviceID (DeviceID)BSTRIdentificatorul dispozitivuluiBOOLÎnchide cecul
Plată în numerar (numerar)DUBLASuma de plată în numerar
Plata cu cardul (PayByCard)DUBLASuma de plată cu cardul
Plata prin credit (PayByCredit)DUBLASuma plății creditului
CancelCheckDeviceID (DeviceID)BSTR Identificatorul dispozitivuluiBOOLAnulează un cec deschis anterior ( necesită privilegii administrative)
PrintNonFiscalString (PrintNonFiscalString)DeviceID (DeviceID)BSTR BOOLEmite o linie arbitrară pe banda de chitanță
TextStringBSTRȘir de text liber
OpenCashDrawerIdentificatorul dispozitivuluiBSTRNumărul logic al dispozitivului la care este conectat sertarul de numerarBOOL

Deschide un sertar de numerar conectat la registrul fiscal.

Testul dispozitivuluiArrayValues
(Matrice de valori)

ID expediere*

Matrice de valori pentru setările de conexiune

BOOL

Efectuează o conexiune de testare și sondajează dispozitivul. Dacă conexiunea are succes, o descriere a dispozitivului este returnată în descriere. Dacă rezultatul este negativ, este returnată o descriere a problemei de conexiune care a apărut.
Descriere suplimentară (descriere suplimentară)

BSTR

Descrierea rezultatului testului

Descriere suplimentară:
"ArrayValues" (exemple de valori pentru un dispozitiv conectat la portul serial)
Tip de date „1C:Enterprise 8” - Matrice.

Numele parametrului Disponibilitate in structura Tipuri de date Descrierea parametrilor
PortNeapărat LUNGNumăr port serial(1 corespunde portului COM1). proprietate.
VitezăNu este necesarLUNGViteza portului serial la care este conectat dispozitivul (se transmite direct valoarea 9600, 19200, 57600, 115200 etc.).
Parola utilizator (UserPassword)Neapărat BSTRParola de acces regulat la PDF (conceput pentru a lucra cu chitanțe de vânzare și depunere/retragere).
Parola de administrator (adminPassword)Neapărat BSTRParola de administrator (utilizată acolo unde sunt necesare privilegii ridicate, administrativ, extinderea drepturilor de utilizator). La executarea funcțiilor care necesită privilegii administrative, „Parola de administrator” este comparată cu cea specificată în DF și, dacă nu există potriviri, funcția întrerupe execuția și returnează o eroare.
PauzăNeapărat LUNGPerioada de timp în care componenta trebuie să aștepte un răspuns din partea dispozitivului atunci când efectuează operațiuni.
Număr de înregistrare KKM (RegNumber)Neapărat BSTRProprietatea stochează numărul de înregistrare KKM (numai în citire, completat la conectarea la DF)
Număr de serieNeapărat BSTRProprietatea stochează numărul de serie al casei de marcat (numai citire, completat la conectarea la DF)
Textul plății prin card (PayByCardText)Nu este necesarBSTRProprietatea conține textul folosit pentru tipărirea pe chitanță și descriind tipul de plată „Card”
PayByCreditTextNu este necesarBSTRProprietatea conține textul folosit pentru tipărirea pe chitanță și descriind tipul de plată „Credit”

Ne găsesc: A apărut o eroare la conectarea dispozitivului Turul nu este deschis la registratorul fiscal Descriere suplimentară: Dispozitivul selectat nu poate fi folosit pentru conectare Vă rugăm să specificați un alt dispozitiv. a apărut o eroare la conectarea dispozitivului; tura nu este deschisă la registratorul fiscal, chitanța nu este tipărită pe registratorul fiscal, tura nu este deschisă pe registratorul fiscal, a apărut o eroare la conectarea dispozitivului FFFFFFFFh fără conexiune (999), Dispozitivul selectat nu poate fi folosit pentru conectare, SHTRIX-LIGHT-FR- K: FFFFFFFEh Portul COM nu este disponibil, La conectarea dispozitivului a apărut o eroare Chitanța nu a fost tipărită pe registratorul fiscal Descriere suplimentară: Dispozitivul selectat nu poate fi utilizat pentru conectare Specificați alt dispozitiv, a apărut o eroare la tipărirea chitanței nu a fost imprimat pe registratorul fiscal, parola de acces pentru registratorul fiscal FP-300 la 1s 8


Să ne uităm la restul acum.

Funcții pentru lucrul cu șiruri în interogări 1C

Există puține funcții și operatori pentru a lucra cu date șiruri în interogări 1C.

În primul rând, pot fi adăugate șiruri în interogări. Pentru a face acest lucru, utilizați operatorul „+”:

Cerere. Text = „SELECT
" "Linie: " " + Sursă.Nume
;

În al doilea rând, puteți selecta o parte a liniei. Pentru a face acest lucru, utilizați funcția SUBSTRUCȚIE. Funcția este similară cu limbajul 1C încorporat. Are trei parametri:

  1. Șir sursă.
  2. Numărul caracterului cu care trebuie să înceapă linia selectată.
  3. Personaje.

Cerere. Text= "ALEGE
SUBSTRING("
"Linie:" ", 4, 3) CA REZULTAT"; // Rezultat: ok

Funcţie ISNULL

NULL este un tip de date special pe platforma 1C:Enterprise. Este, de asemenea, singura valoare posibilă de acest tip. NULL poate apărea în interogări în mai multe cazuri: la conectarea surselor de interogare, dacă nu a fost găsită o valoare corespunzătoare într-unul dintre tabele; la accesarea detaliilor unui obiect inexistent; dacă a fost specificat NULL în lista câmpurilor de interogare (de exemplu, la combinarea rezultatelor selecției din mai multe tabele), etc.

Pentru că NULL nu este nici nul, nici șirul gol, nici măcar o valoare Nedefinit, este adesea util să îl înlocuiți cu un tip de date mai util. Pentru asta este concepută funcția. ISNULL.

Are doi parametri:

  1. Valoarea care se verifică.
  2. Valoarea cu care se înlocuiește primul parametru dacă se dovedește a fi NULL.

Cerere. Text= "ALEGE
ISNULL(Source.Remainder, 0) AS Remainder"
; // Dacă rezultatul solicitării este câmpul rest = NULL,
// apoi va fi înlocuit cu 0 și puteți efectua operații matematice cu el

Funcții PERFORMANŢĂȘi INTRODUCERE LEGĂTURĂ

Aceste funcții sunt concepute pentru a obține reprezentări în șir de diferite valori. Adică convertesc referințe, numere, booleeni etc. în text simplu. Diferența dintre ele este că funcția PERFORMANŢĂ convertește orice tip de date în text (șir) și funcția INTRODUCERE LEGĂTURĂ- numai linkuri și returnează valorile rămase așa cum sunt, neconvertite.

Cerere. Text= "ALEGE
REPREZENTARE(ADEVĂRAT) CA Boolean,
REPREZENTARE (4) ca număr,
REPREZENTARE (Source.Link) AS Link,
REPREZENTARE(DATETIME(2016,10,07)) AS Data"
;
// Boolean = „Da”, Număr = „4”, Legătură = „Document Comandă de primire numerar Nr.... de la...”
// Data="07.10.2016 0:00:00"

Cerere. Text= "ALEGE
REPRESENTATIONREFERENCE(TRUE) CA Boolean,
REPREZENTARE REFERINȚĂ(4) CA NUMĂR
PRESENTINGLINK(Source.Link) AS Link,
REPRESENTATIONREFERENCE(DATETIME(2016,10,07)) AS Data"
;
// Boolean = ADEVĂRAT, Număr = 4, Link = "Document Comandă de primire numerar Nr.... de la..."
// Data=07.10.2016 0:00:00

Funcții TIPȘi VALORI DE TIP

Funcţie TIP returnează tipul de date al platformei 1C:Enterprise.

Cerere. Text= "ALEGE
TIP (număr)
TYPE (șir),
TIP (Document. Ordin de numerar pentru cheltuieli)"
;

Funcţie VALORI DE TIP returnează tipul valorii transmise acestuia.

Cerere. Text= "ALEGE
VALORI TIP (5) AS Număr,
TIP ("
"Linia" ") AS String,
TYPE (Source.Link) AS Referință
Din Directory.Source AS Source"
;
//Număr=Număr, String=Șir, Director = DirectoryLink.Source

Aceste funcții sunt convenabile de utilizat, de exemplu, atunci când trebuie să aflați dacă un câmp primit într-o solicitare este o valoare de un anumit tip. De exemplu, vom primi informații de contact ale contrapărților din registrul de informații ContactInformation (contacte nu numai ale contrapărților, ci și ale organizațiilor, indivizii etc.):

Cerere. Text= "ALEGE

DIN

UNDE
VALUES TYPE(ContactInformation.Object) = TYPE(Directory.Counterparties)"
;

Funcţie SENS

Funcţie Sens vă permite să utilizați obiecte de configurare 1C direct într-o solicitare, fără a utiliza .

Să mai adăugăm o condiție la exemplul anterior. Trebuie doar să obțineți numerele de telefon ale contrapărților dvs.

Cerere. Text= "ALEGE
Informații de contact.Introducere
DIN
Registrul de informații Informații de contact CUM Informații de contact
UNDE
VALUES TYPE(ContactInformation.Object) = TYPE(Directory.Counterparties)
AND ContactInfo.Type = VALUE(Enum.ContactInfoTypes.Phone)"
;

Trebuie remarcat faptul că această funcție poate fi utilizată numai cu valori predefinite, adică. cu valori care pot fi accesate direct din configurator. Adică funcția SENS nu poate fi folosit cu elemente de director create de utilizatori, dar poate lucra cu enumerari, cu elemente de director predefinite, cu valori EmptyLink.

Operator LEGĂTURĂ

Operator LEGĂTURĂ este conceput pentru a verifica valorile returnate de o solicitare pentru a vedea dacă aparțin unui anumit tip de referință. Aceeași sarcină poate fi îndeplinită folosind funcții TIPȘi VALORI DE TIP(care au un domeniu mai larg și au fost discutate mai sus).

De exemplu, sarcina de alegere informații de contact contrapartidele ar putea fi rezolvate astfel:

Cerere. Text= "ALEGE
Informații de contact.Introducere
DIN
Registrul de informații Informații de contact CUM Informații de contact
UNDE
ContactInformation.Object LINK Directory.Contrapartide"
;

Operator EXPRES

Operator EXPRES utilizat în interogări 1C în două cazuri:

  • când trebuie să modificați caracteristicile unui tip primitiv;
  • atunci când trebuie să transformați un câmp cu un tip de date compus într-un câmp cu un singur tip.

Tipurile de date primitive includ: număr, șir, dată, boolean. Unele dintre aceste tipuri de date au caracteristici suplimentare. Tip Număr are lungime si precizie, tip linie - lungime sau nelimitat.

Operator EXPRES vă permite să schimbați nu tipul de date, ci caracteristicile suplimentare. De exemplu, el poate transforma un șir cu lungime nelimitată într-un șir cu lungime limitată. Acest lucru poate fi util dacă trebuie să grupați rezultatele interogării după un astfel de câmp. Nu puteți grupa după câmpuri cu o lungime nelimitată, așa că îl convertim într-un șir cu o lungime de 200 de caractere.

Cerere. Text= "ALEGE
CANTITATE (Sosire diferită de bunuri și servicii. Link) AS Link
DIN
Document.Recepția Bunurilor și Serviciilor CUM Primirea Bunurilor și Serviciilor
A SE GRUPA CU
EXPRESS(Primirea bunurilor și serviciilor. Comentariu AS ROW (200))"
;

În unele cazuri, interogările către câmpuri cu un tip de date compus pot să nu fie procesate optim de platforma 1C. Acest lucru are ca rezultat timpi de interogare mai lungi, deci poate fi util să convertiți în avans un tip compus într-un singur tip.

Cerere. Text= "ALEGE
EXPRESS(Mișcarea mărfurilor. Cifra de afaceri. Comanda ca document. Comanda clientului).Data AS Data comenzii,
Mişcarea mărfurilor Cifra de afaceri.Nomenclatură
DIN
ÎnregistrareAcumulări.Mișcarea mărfurilor.Cifra de afaceri AS Mișcarea mărfurilor Cifra de afaceri
UNDE
Mișcarea mărfurilor Cifra de afaceri.Comandă LINK Document.Comandă client"
;

Operatori ALEGEREȘi ESTE NUL

Operator ALEGERE similar cu operatorul DACĂîn limbajul 1C încorporat, dar are o funcționalitate oarecum redusă.

Să presupunem că dorim să primim informații de contact din registrul de informații ContactInformation și, în același timp, să indicăm într-un câmp separat de solicitare dacă aparține unei contrapărți sau unei persoane fizice.

Cerere. Text= "ALEGE
Informații de contact.Introducere,
ALEGERE
WHEN VALUES TYPE(ContactInformation.Object) = TYPE(Directory.Counterparties)
APOI "
Contrapartidă "
ALTA ALEGERE
WHEN VALUES TYPE(ContactInformation.Object) = TYPE(Directory.Individuals)
APOI "
Individual"
ELSE "Altul" "
Sfârşit
TERMINĂ CA PROPRIETAR
DIN
Registrul informațiilor. Informații de contact AS Informații de contact"
;

După cum se vede din exemplu, în design ALEGERE există întotdeauna o condiție după cuvânt CÂND; valoare aplicată dacă condiția este adevărată după cuvânt APOIși valoarea aplicată dacă condiția nu este îndeplinită, după cuvânt IN CAZ CONTRAR. Toate cele trei elemente de design ALEGERE sunt obligatorii. Omite element IN CAZ CONTRAR, la fel ca atunci când utilizați operatorul DACĂîn limbajul 1C încorporat, este imposibil. Tot de la operator ALEGERE nu există un analog al designului ELSEIF, dar poți investi unul ALEGEREîn altul, așa cum sa făcut în exemplul nostru.

Operator ESTE NUL folosit în proiectare ALEGERE pentru a compara un câmp de interogare cu tipul NULL.

Cerere. Text= "ALEGE
ALEGERE
CÂND VALOAREA ESTE NULĂ, atunci 0
ELSE Sens
SFÂRŞIT"
;

În plus, operatorul ESTE NUL poate fi folosit în condiții de interogare, cum ar fi într-o propoziție UNDE.

În acest articol vom analiza posibilitățile de conversie de tip în limbajul de interogare 1C, care sunt oferite de funcția „Express”.
Să ne uităm la câteva opțiuni pentru utilizarea acestei funcții.
Și prima opțiune este rotunjirea numerelor.

Pentru a face acest lucru, trebuie să utilizați funcția Express în următorul format:

Expres(<Число>ca număr(<ДлинаЧисла>,<Точность>))

Unde:
Număr— câmpul care trebuie rotunjit
LungimeNumerelungime maxima numere
Precizie— precizia rotunjirii numerelor

Parametrii atât lungimea cât și precizia trebuie să fie numere întregi pozitive.
Vedeți cum funcționează această funcție în imaginea de mai jos.

Al doilea caz de utilizare este turnarea cu coarde. Foarte des, configurațiile folosesc șiruri de lungime nelimitată, ceea ce impune anumite restricții. De exemplu, nu putem compara șiruri de lungime nelimitată.
În interogarea de mai jos, câmpul FullName este de tip șir de lungime nelimitată, iar această interogare nu va funcționa.

Pentru ca acesta să funcționeze, este necesar să convertiți un câmp de lungime nelimitată într-un șir cu o anumită lungime; acest lucru se face folosind funcția Express în următorul format:

Expres(<Строка>ca șir (<ДлинаСтроки>)

Unde
Lungimea liniei– lungimea maximă la care va fi redusă sfoara.
Să reluăm interogarea: în condiția vom converti un șir nelimitat într-un șir cu o anumită lungime. Atunci nu vor fi erori.

Să luăm în considerare ultima și, aș spune, cea mai importantă opțiune pentru aplicarea acesteia: atunci când lucrați cu câmpuri de tip compozit.
Mai jos sunt două interogări care folosesc câmpuri compuse. Prima este greșită, iar a doua este corectă.

Acestea. Când trebuie să obțineți un câmp de un tip complex, obțineți întotdeauna valoarea acestui câmp numai după turnarea tipului folosind funcția Express. În acest caz, documentele și cărțile de referință vor avea următorul format:

Expres(<Документ>ca document.<ИмяТаблицы>)
Expres(<Справочник>ca Director.< ИмяТаблицы >)
.

Unde
TableName— numele obiectului în .

Utilizați întotdeauna funcția expres atunci când lucrați cu tipuri compozite, aceasta optimizează foarte mult interogarea.

Dacă încă „înoți” în construcțiile limbajului de interogări și chiar și cele mai simple interogări îți provoacă dificultăți, atunci îți recomand cursul meu „Interogări în 1C de la începător la profesionist”. Unde acestea și multe alte probleme sunt discutate mai detaliat.

Ce este special la acest curs:
Cursul este conceput pentru cei care nu sunt familiarizați cu limbajul de interogare în 1C;
Materialul educațional este bine aranjat și ușor de învățat;
Câteva zeci de lecții;
Exemple practice utile;
Toate lecțiile sunt prezentate într-un limbaj clar și simplu

Pentru cititorii mei, cupon de reducere de 25%: hrW0rl9Nnx

Încerc să lansez diverse articole gratuite interesante și tutoriale video cât mai des posibil. Prin urmare, voi fi foarte bucuros dacă îmi susțineți proiectul transferând orice sumă:

Puteți transfera orice sumă direct:
Yandex.Bani - 410012882996301
Web Money - R955262494655

Alăturați-vă grupurilor mele.

1C vă permite să simplificați semnificativ contabilitatea sau pur și simplu să gestionați orice organizație, fie că este vorba de un magazin mic sau de o întreprindere mare. Programul este un sistem mare de gestionare a bazelor de date. Pentru a nu fi confuz în toate acestea, trebuie să fiți capabil să efectuați diverse acțiuni simple și să înțelegeți esența. În continuare, veți înțelege cum să verificați tipul de valoare dintr-o solicitare în 1C, precum și care sunt acestea în general, precum și cum să faceți distincția între ele.

Tipuri de valori

1C: Întreprinderea a inclus o funcție specială în versiunile noi (platforma 8.2). Folosind-o, puteți adăuga orice parametri speciali la orice nume sau elemente ale sistemului de date. Acest lucru a fost făcut pentru a face sistemul mai ușor de editat și pentru a adăuga elemente noi. Această funcție se numește „Tip de valoare”.

De fapt acesta este unul dintre Noțiuni de bază, care conține majoritatea limbajelor de programare. Folosind-o, puteți clasifica diverse date. De exemplu: date, numere, șiruri, link-uri. Acestea sunt doar clasificări de bază. S-ar putea să fie mai mulți dintre ei. Să presupunem că, dacă introduceți informații despre orașe în sistemul dvs., puteți utiliza: continent, țară, regiune etc.

Examinare

Puteți verifica un anumit câmp folosind un limbaj de interogare. Sau mai degrabă funcțiile sale: TYPE VALUE. Adică, dacă vrem să aflăm ce tip de informații conține celula de interes, trebuie să folosim comanda.

VALOARE TYPE(Valoare) = TYPE(Șir)

În exemplul de mai sus, am definit cel mai simplu tip folosind comanda. Un alt exemplu de validare a cererii:

Documentație

Există destul de multe tipuri; utilizatorii se pot descurca cu cele inițiale sau pot introduce propriile lor pentru a se îmbunătăți baza de informatii. Aici sunt câțiva dintre ei.

  • DocumentLink. Este folosit pentru stocarea convenabilă a referințelor la diferite obiecte din alte părți ale sistemului.
  • DocumentObject - editarea documentelor.
  • DocumentSelection - sortarea obiectelor din baza de date.

În plus, există termeni speciali care caracterizează orice date:

  • formă;
  • linia;
  • boolean;
  • număr;
  • data de;
  • matrice;
  • Caseta de bifat;
  • imagine.

Acestea sunt doar câteva dintre ele. Orice obiect poate fi doar ceva din această listă. Booleanul este un parametru special care ia două valori: adevărat sau fals. Există, de asemenea, etichete speciale care vă permit să ajustați cererea: când, unde, cum, altfel, etc. Ele setează algoritmul de comportament al programului. 1C se distinge prin faptul că aceste cuvinte aici, ca orice altceva, pot fi introduse în rusă.

Este important să înțelegem că toate acestea vor fi percepute de începători și non-profesioniști ca alfabetizare chineză. Pentru a înțelege despre ce vorbim și pentru a utiliza eficient 1C, trebuie să cunoașteți elementele de bază ale programării. În general, verificarea tipului unei cereri în programul 1C va fi destul de ușoară în comparație cu alte acțiuni.