SKD: Rămâne pentru fiecare zi
Acest articol descrie modul de obținere a soldurilor pentru fiecare zi în sistemul de compoziție a datelor (SKD) 1C: Enterprise.
Probabil, fiecare dezvoltator, mai devreme sau mai târziu, se confruntă cu problema obținerii soldurilor zilnice. În cel mai simplu caz, când balanțele din registrul de acumulare sunt necesare doar pentru perioadele în care s-au efectuat mișcări, sarcina este rezolvată prin indicarea periodicității parametrului tabelului virtual "Rămâne și întoarce" din registrul de acumulare:
Builder de rapoarte
Pentru a realiza un astfel de raport folosind Report Builder, trebuie să specificați în rezultatele câmpului "Perioadă" ieșirea cu perioade cu o anumită periodicitate (în cazul nostru, "DAY"):
Sistem de compunere a datelor
În ACS, puteți obține acest lucru specificând rolul "Rămâne" pentru domeniu:
Astfel, ACS însuși va trage ultima valoare a resursei pentru perioadele intermediare până la următoarea modificare. Rezultatul aproximativ va arăta astfel:
Rămâne pentru fiecare zi a perioadei (chiar dacă nu există mișcări)
Să considerăm o variantă mai complicată:
Este necesar ca restul să fie primit de cantitatea și costul mărfurilor pentru fiecare zi a lunii, chiar dacă în acea zi nu au existat mișcări. De asemenea, pentru fiecare zi trebuie să deduceți valoarea bunurilor la tipul de preț specificat, convertit în ruble la cursul de schimb din ziua retragerii.
O setare simplă a rolurilor pentru câmpuri aici este indispensabilă, pentru că în acest caz, SKD se extinde pur și simplu pe valoarea resurselor la următoarea modificare și apoi numai în zilele pentru care s-au înregistrat mișcări în registru. O complicație suplimentară constă în faptul că mai trebuie să obțineți o felie din aceasta din urmă la prețul și rata de schimb valutar la data care este calculată direct în interogare.
În ACS, o astfel de problemă poate fi rezolvată prin cuplarea seturilor de date:
- Primul set de date (interogare) vom forma o listă de zile pentru care trebuie să primim soldurile. Aceste zile vor fi transmise parametrilor tabelelor virtuale ale celui de-al doilea set de date pentru a obține restul datei și ultimei date. Interogarea care formează tabela de date nu este listată aici, dacă doriți, puteți descărca setarea raportului și consultați.
- Cel de-al doilea set de date (interogare) va primi restul după cantitate, prețuri și le va recalcula la rata dorită.
La conectarea seturilor de date, este important să specificați parametrul:
În configurația de ieșire, indicăm faptul că avem nevoie de ieșire în tabel; în rânduri: Depozit, Nomenclatură; în coloane: Perioadă; Cantitatea, costul BU și costul pe tipuri de prețuri - resurse.
Avem următorul rezultat:
PS: Poate că aceasta nu este cea mai bună opțiune pentru performanță, dar funcționează și acesta este principalul lucru.
Exemplul afișează restul de părți BU, a fost creat în ediția SCP. 1.2
Descărcați setările de rapoarte de probă pentru SKD, care afișează soldurile pe zi: Fișier: OstatkiPoDnyam.rar
Rămâne pentru fiecare zi a perioadei cu o singură cerere (chiar dacă nu există mișcări)
În cazul în care "zile" este un tabel de date pentru perioada