Configurarea NGINX pentru publicarea interfeței

Introducere Serverul web al interfeței necesită un reverse proxy. A fost ales NGINX, care oferă ambele funcții. Publicarea interfeței în producție presupune următorii pași: Efectuează ajustările de cod Compilează aplicația pentru producție Instalează serverul NGINX  Configurează site-ul și reverse proxy-ul Instrucțiunile de mai jos au fost testate pe Ubuntu 20.04; documentul menționează că ar putea … Citește mai mult

Autentificarea API

API-ul ERP Core este un set standardizat de comenzi și endpointuri disponibile în toate extensiile sale. Swagger Pentru testarea API-ului poate fi folosit Swagger, disponibil la adresa: http://<PlugInIP>:<PlugInPort>/swagger/index.html Pentru utilizarea Swagger este necesar un token valid. Solicită unul conform exemplului de mai jos, apasă Authorize în dreapta sus, introdu tokenul fără prefixul „Bearer ” și … Citește mai mult

Evenimente

Evenimentele microserviciilor Accesul la baza de date va genera evenimente, în special la scriere. Acest comportament trebuie implementat sau suprascris în implementarea de bază a ORM. Sistemul cache ascultă aceste evenimente pentru a invalida și reîmprospăta datele modificate. Pentru entitățile care extind alte modele, evenimentul ar trebui emis pentru entitatea părinte. Toate microserviciile pot avea … Citește mai mult

Recepția mărfii — documentație

Introducere Recepțiile de marfă adaugă în stoc produsele achiziționate de la un furnizor extern. Recepția poate adăuga și produse din producție. Un GoodsReceipt mărește stocul depozitului, în timp ce un PurchaseGoodsReturn îl reduce. Pentru a vedea recepțiile și documentele asociate, deschide GoodsReceiptProjection. Aceasta afișează înregistrările JournalRecord cu următoarele valori NodeType: GoodsReceipt (mărește stocul) PurchaseGoodsReturn (reduce … Citește mai mult

Importul stocului inițial

Poți importa automat stocul inițial folosind instrumentul de import al sistemului. Stocul din sistemul vechi trebuie exportat în format CSV. Instrumentul ajută la asocierea denumirilor produselor din stocul vechi cu produsele din sistem. Pentru rezultate bune, denumirile ar trebui să fie cât mai apropiate. Gradul de toleranță al potrivirii poate fi configurat. Dacă asocierea este … Citește mai mult

Enumerări în Entity Framework

UI Interfața UI a frameworkului Erp Core gestionează automat afișarea colecțiilor de enumerări. Controlul poate fi afișat ca search help sau list box, folosind valoarea searchHelp ori listBox pentru atributul UiDisplayAs al proprietății. Fără acest atribut, controlul implicit este listBox. Lista de enumerări afișată ca list box (implicit)Lista de enumerări afișată ca search help O … Citește mai mult

Entitățile de bază

Toate entitățile vor implementa ștergerea logică. Implementarea de bază a accesului la date va citi doar entitățile care nu sunt șterse. Toate entitățile vor deriva dintr-o clasă de bază care implementează accesul generic la date prin metode precum: acces direct la baza de date prin ORM API cache (unele entități pot fi marcate pentru cache, … Citește mai mult

Resurse umane

Prezentare generală Ecranul principal HR este o aplicație cu interfață dedicată principalelor activități de resurse umane. Accesul la anumite secțiuni sau funcții este controlat prin rolurile atribuite utilizatorilor. Din acest ecran, utilizatorul HR poate, de exemplu: adăuga sau edita angajați; stabili rolul, funcția și datele de angajare; stabili programul de lucru și abaterile: concedii, absențe, … Citește mai mult

Microservicii

1.1. Event sourcing https://www.confluent.io/blog/apache-kafka-for-service-architectures/ Evenimentele ar trebui să conțină un ID unic, versiunea mesajului, versiunea schemei, numele serviciului emitent și datele. O abordare uzuală pentru modificări incompatibile este crearea a două topicuri, orders-v1 și orders-v2, pentru mesajele cu schema veche, respectiv nouă. Dacă serviciul Orders este responsabil de comenzi, există câteva opțiuni: Serviciul Orders poate … Citește mai mult

Entitatea cu nume

Este o entitate care implementează entitatea descriptibilă și include un câmp de tip string numit name. Poate fi folosită pentru implementarea enumerărilor (vezi mai jos). Enums Postgres și TypeORM acceptă enumerări. Logica de business va utiliza enumerări pentru identificarea anumitor condiții. Vor exista două tipuri principale de enumerări: enumerări de sistem sau de business, folosite … Citește mai mult