1C Cloud. Cerințe pentru rapoarte și procesări externe
Ghidul dezvoltatorului / Pentru proprietarii de conturi în 1C Cloud / 1C Cloud. Cerințe pentru procesări externe1C Cloud. Cerințe pentru rapoarte și procesări externe
Acest articol descrie cerințele pentru rapoarte și procesări suplimentare care trebuie să funcționeze în modelul de serviciu.
1. În serviciul e-Cont.md, conformitatea cu cerințele descrise în acest articol este verificată de către angajații 1C în timpul unui audit, pe care rapoartele și procesarea suplimentară trebuie să treacă cu succes pentru a fi permise utilizarea în serviciu.
2. Vă recomandăm să citiți articolul despre cele mai frecvente erori și dificultăți la pregătirea extensiilor de configurare, a rapoartelor suplimentare și a procesării.
Conținut
3. Cerințe pentru efectuarea unui audit
4. Cerințe de capacitate de resurse
6. Cerințe pentru transferul de date în afara serviciului
9.1. Exemple de rapoarte și procesări suplimentare
9.3. Nume suplimentare de rapoarte sau de procesare a metadatelor
9.4. Despre copierea codului dintr-o configurație standard
9.7. Despre securitatea datelor utilizatorilor
1. Cerințe generale
- Se creează un raport sau o procesare suplimentară pe computerul local al dezvoltatorului utilizând configuratorul 1C:Enterprise 8 ca rapoarte externe și procesare și salvate într-un fișier. Extensia de nume standard pentru acest fișier este:
- epf - pentru procesare suplimentară;
- erf - pentru rapoarte suplimentare.
- Un raport sau o procesare suplimentară destinată să funcționeze în modelul de serviciu folosind tehnologia cloud e-Cont.md trebuie dezvoltată în conformitate cu cerințele subsistemului Rapoarte și procesare suplimentare al bibliotecii de subsisteme standard (BSS). . Aceste cerințe pot fi găsite în detaliu aici și aici.
- Pentru raportare sau procesare suplimentară, standardele și metodele de dezvoltare a configurațiilor pentru platforma tehnologică 1C:Enterprise 8, disponibile link
2. Utilizarea modului sigur
- În funcția External Processing Details() a raportului suplimentar sau a modulului obiect de procesare, parametrul Registration Parameters.SafeMode trebuie setat la True puternic>.
- Dacă trebuie să utilizați operațiuni într-un raport sau procesare suplimentară care nu sunt permise în modul sigur, ar trebui să solicitați permisiunile necesare în funcția Informații de procesare externe folosind apeluri de funcție:
РаботаВБезопасномРежиме.РазрешениеНаИспользованиеВнешнегоМодуля
РаботаВБезопасномРежиме.РазрешениеНаИспользованиеВнешнейКомпоненты
РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса
РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаВременныхФайлов
РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаПрограммы
РаботаВБезопасномРежиме.РазрешениеНаИспользованиеКаталогаФайловойСистемы
РаботаВБезопасномРежиме.РазрешениеНаИспользованиеПривилегированногоРежима
РаботаВБезопасномРежиме.РазрешениеНаИспользованиеПриложенияОперационнойСистемы
РаботаВБезопасномРежиме.РазрешениеНаСозданиеCOMКласса
WorkingInSafeMode.PermissionToUseExternalModule
WorkingInSafeMode.PermissionToUseExternalComponent
WorkingInSafeMode.PermissionToUseInternetResource
RunningInSafeMode.PermissionToUseTemporaryFilesDirectory
RunningInSafeMode.PermissionToUseProgramDirectory
RunningInSafeMode.PermissionToUseFileSystemDirectory
RunningInSafeMode.PermissionToUsePrivilegedMode
RunningInSafeMode.PermissionToUseOperatingSystemApplication
RunningInSafeMode.PermissionToCreateCOMClass
- Executarea codului de către terți nu este permisă, de ex. prin mijloace neincluse în configurație.
- Utilizarea obiectelor COM nu este permisă, deoarece acestea nu vor funcționa pe serverele de producție ale serviciului care rulează Linux.
- Este permisă utilizarea numai a componentelor externe care sunt incluse sub formă de machete ca parte a configurației pentru care este dezvoltat raportul/procesarea suplimentară.
3. Cerințe pentru efectuarea unui audit
- Nu este permisă utilizarea oricăror mijloace care complică sau face imposibilă analiza textelor sursă ale modulelor suplimentare de raportare sau procesare. În special, nu este permis:
- furnizează module fără cod sursă sau cu o parolă setată pentru modul;
- folosește mijloace de ofuscare (ofucare) a textelor sursă.
4. Cerințe de capacitate de resurse
- Raportarea/procesarea suplimentară nu ar trebui să ducă la o încărcare excesivă a componentelor de serviciu sau a aplicației client.
- Limite pentru fiecare apel de server în raportare sau procesare suplimentară în serviciul e-Cont.md:
Parametru Valoare limită Durata apelului de server 2 400 s Timp CPU pentru apelul serverului 600 s Durata apelurilor DBMS 1.200 s Durata apelurilor de service 600 s Cantitatea de memorie utilizată 4.194.304 KB Cantitatea de informații scrise pe disc 20.971.520 KB
5. Cerințe de performanță
- Raportarea sau procesarea suplimentară nu trebuie să interfereze cu funcționarea corectă a aplicației în care este instalată.
- Toate operațiunile de lungă durată dintr-un raport sau procesare suplimentară trebuie să utilizeze mecanismul operațiunilor de lungă durată din BSP (cu o durată de 10 secunde sau mai mult).
- Dacă raportarea sau procesarea suplimentară este destinată exclusiv utilizării clientului subțire, atunci atunci când rulează în clientul web, ar trebui să notifice corect utilizatorul cu privire la această limitare și să nu eșueze.
6. Cerințe pentru transferul de date în afara serviciului
- Dacă raportarea sau procesarea suplimentară implică transferul oricăror date în afara serviciului, aceste operațiuni trebuie confirmate de utilizator.
- Dacă, în etapa de elaborare a unui raport sau procesare suplimentară, este posibil să se determine resursele de Internet care vor fi accesate, este necesar să se implementeze o solicitare de permisiune în interfața programului a raportului și procesării suplimentare. O astfel de solicitare ar trebui să permită utilizatorului, chiar înainte de a instala un raport sau procesare, să se familiarizeze cu resursele care vor fi transferate prin acest raport sau procesare.
- Dacă este imposibil să se determine resursele de internet care vor fi accesate, atunci:
- Pentru rapoarte sau procesări suplimentare care conțin formulare, ar trebui să ceri utilizatorului permisiunea înainte de a efectua operația (eventual salvând răspunsul primit). Când solicitați permisiunea, trebuie să indicați clar ce resurse de internet vor fi accesate;
- pentru rapoarte/prelucrări suplimentare care nu conțin formulare (de exemplu, destinate utilizării ca sarcină de rutină), se recomandă:
- în mod implicit, nu efectuați operația din codul de comandă a serverului;
- creați o comandă suplimentară cu tipul de apel Deschiderea unui formular, în care să implementați o solicitare de confirmare;
- Începeți să executați o operațiune în codul serverului numai după ce utilizatorul confirmă că operațiunile au fost finalizate.
7. Cerințe legale
Un raport sau o procesare suplimentară nu trebuie să conțină:
- Cod care poate provoca coruperea datelor sau destabiliza performanța serviciului.
- Cod și date care pot încălca drepturile terților, inclusiv drepturile de autor.
- Informații protejate în mod legal, inclusiv secrete comerciale sau date personale ale terților.
8. Cerințe de testare
Odată ce raportul sau procesarea suplimentară este elaborat, acesta trebuie să fie examinat de dezvoltator. Pentru a verifica aveți nevoie de:
- Implementați serverul 1C:Enterprise 8 cu aceeași versiune care este utilizată în serviciu.
- Implementați o bază de informații client-server a configurației pentru care este destinat raportul sau procesarea suplimentară și versiunea configurației care este utilizată în serviciu.
- Publicați această bază de informații pe web (cu excepția cazului în care raportarea sau procesarea suplimentară este destinată exclusiv utilizării clientului subțire).
- Pentru fiecare profil de utilizator sub care se vor efectua raportări sau procesări suplimentare în modelul de serviciu, este necesar să se creeze în baza de informații un utilizator cu același set de roluri, dar fără Administrator de sistem rol (acest rol atunci când lucrați în serviciul model pentru utilizatori obișnuiți, adică separați, este inacceptabil).
- Rulați un raport sau o procesare suplimentară în clientul subțire și în clientul web (dacă raportul sau procesarea suplimentară conține formulare, cu excepția cazului în care raportul sau procesarea suplimentară este destinată numai lucrului în clientul subțire), sub utilizatorii creați în pasul 4. Pentru a începe, nu trebuie să utilizați meniul principal (comanda Fișier - Deschide), ci interfața de rapoarte suplimentare și procesarea BSP.
Pentru fiecare utilizator creat la pasul 4, trebuie să verificați:
- este raportul sau procesarea suplimentară încărcată în baza de informații locală;
- operabilitatea și executarea corectă a funcționalității incluse în raportul sau procesarea suplimentară.
9. Recomandări metodice
9.1. Exemple de rapoarte și procesări suplimentare
Pot fi obținute exemple de rapoarte și procesări suplimentare:
- În articolul prin link
- În baza de informații demo BSP
- deschiderea în 1C:mod Enterprise - în directorul Rapoarte și procesare suplimentare;
- deschiderea acestuia cu Configuratorul - în ramura de configurare Aspecte generale / generale (de exemplu, _Demo Filling of Counterparties, _DemoReportOnInvoicesForPaymentGlobal etc. .
Dacă este necesar, puteți salva aceste exemple în fișiere și puteți dezvolta rapoarte și procesări suplimentare pe baza acestora.
9.2. Recomandări de dezvoltare
- La elaborarea unui raport suplimentar sau la procesare, se recomandă utilizarea:
- aceeași versiune a platformei 1C:Enterprise 8 care este utilizată în serviciu;
- aceeași versiune a configurației soluției aplicației pentru care se dezvoltă raportul sau procesarea suplimentară care este utilizată în serviciu;
- biblioteca de subsisteme standard (BSS) a versiunii care este implementată în versiunea utilizată a configurației soluției aplicației sau una mai nouă. Versiunile BSP pot fi descărcate urmați linkul.
- Utilizați interfața software a BSP și configurațiile aplicației. În acest caz, nu va trebui să rescrieți codul suplimentar de raportare sau procesare de fiecare dată după actualizarea configurațiilor standard.
- Dacă un raport sau o procesare suplimentară conține formulare, „păstrați-le” în stilul unei configurații standard. De exemplu, dacă configurația dvs. plasează comanda Înregistrare și închidere în partea de sus a formularului, nu o plasați în partea de jos a raportului suplimentar sau a formularului de procesare.
- Respectați standardele de dezvoltare (consultați link).
9.3. Nume suplimentare de rapoarte sau de procesare a metadatelor
- La elaborarea rapoartelor suplimentare și a procesării pentru modelul de serviciu, ar trebui să se țină seama de faptul că numele metadatelor raportului suplimentar și procesării pot fi arbitrare și, în consecință, numele complete ale tuturor formelor raportului suplimentar. și prelucrare.
- Puteți obține numele unui obiect de metadate pe server folosind metoda FormAttributesValue(MainAttributeName).Metadata().FullName()
- Dacă, atunci când lucrați într-un model de serviciu, apare o eroare Nume formular necunoscut la deschiderea unui formular secundar al unui raport suplimentar sau al procesării, aceasta se datorează cel mai probabil utilizării incorecte a numelor formularelor în raport sau procesare suplimentară.
9.4. Despre copierea codului dintr-o configurație standard
- Dacă o configurație tipică are o funcție gata făcută care poate fi apelată, nu este nevoie să o copiați într-un raport sau procesare suplimentară.
- Dacă codul care se află în configurația standard nu se potrivește complet, fiți foarte atenți când copiați codul existent:
- Dacă este detectată și corectată o eroare în codul copiat, această eroare nu va fi corectată pentru utilizatorii raportului sau procesării suplimentare. În acest caz, vă asumați responsabilitatea pentru corectarea în timp util a erorilor pentru utilizatori;
- pe măsură ce configurația evoluează, codul copiat anterior poate deteriora datele utilizatorului.
9.5. Lucrul cu baza de date
- Pentru modificări legate de mai multe elemente de date care trebuie să apară atomic, utilizați tranzacții.
- La modificarea datelor care pot fi editate de utilizatori în paralel cu executarea unui raport sau procesare suplimentară, setați blocarea obiectelor.
- Asigurați-vă că acordați atenție optimității interogărilor: rețineți că, spre deosebire de modul local, baza de informații din serviciu este utilizată de un număr mare de utilizatori. Pentru mai multe informații despre optimizarea interogărilor, consultați articolele 1C:ITS link .
9.6. Lucrul în clientul web
- Dacă acțiunile pe server pot fi efectuate pentru o perioadă lungă de timp, utilizați mecanismul operațiunilor BSP de lungă durată. În caz contrar, aplicația se poate închide din cauza unei erori de expirare a serverului web.
- Dacă un raport sau o procesare suplimentară poate fi apelat atunci când lucrați într-un client web, atunci toate capabilitățile cheie ale raportului sau procesării suplimentare ar trebui să fie disponibile pentru utilizatori fără a utiliza extensia de fișier.
9.7. Despre securitatea datelor utilizatorilor
- Nu furnizați utilizatorului final procesări care ar corupe datele din aplicația sa. Exemple:
- „renumerotare” și „reprefixare” universale;
- căutați și înlocuiți valori;
- editoare universale de valori ale atributelor;
- ștergerea obiectelor marcate fără a verifica integritatea referențială.
- Este recomandabil să limitați în mod clar funcționalitatea prelucrării suplimentare care modifică datele utilizatorului. De exemplu, dacă un utilizator trebuie să renumeroteze documentele de numerar, oferiți o procesare suplimentară care face exact acest lucru, fără a adăuga prea multă versatilitate.