Select cumulat cheltuieli: note 6xx din registrul jurnal + rulaje iesiri aferente
Export lunar pentru analiza clientului (rulare manuala, transformare in xlsx). Rulajele apar sub notele lor (acelasi document+cont+lucrare); iesirile fara nota raman in lista marcate RULAJ FARA NOTA. Contul 6xx pe rulaje vine din CORESP_CONT_VENCHELT. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016S4YBUMMmhackpjaXsEGgX
This commit is contained in:
106
docs/select_cumulat_cheltuieli_rulaje.sql
Normal file
106
docs/select_cumulat_cheltuieli_rulaje.sql
Normal file
@@ -0,0 +1,106 @@
|
||||
-- CE CONTINE: cheltuielile lunii.
|
||||
-- TIP='NOTA' = nota contabila de cheltuiala (cont debitor 6xx) din registrul jurnal; valoarea in SUMA.
|
||||
-- TIP='RULAJ' = iesirile din rulaje (cantitate iesita <> 0) care au generat nota, imediat sub ea (acelasi
|
||||
-- document + cont + lucrare); valoarea in VALOARE (=CANTITATE x PRET).
|
||||
-- TIP='RULAJ FARA NOTA' = iesire de stoc fara nota de cheltuiala; pastrata pentru verificare.
|
||||
-- Ordinea: data inregistrarii, document, lucrare, cont.
|
||||
WITH p AS (
|
||||
SELECT 2026 AS an, 7 AS luna FROM dual
|
||||
),
|
||||
note AS (
|
||||
SELECT A.*
|
||||
FROM VACT_TOT A, p
|
||||
WHERE A.STERS = 0 AND A.AN = p.an AND A.LUNA = p.luna
|
||||
AND A.SCD LIKE '6%'
|
||||
),
|
||||
blocuri AS (
|
||||
SELECT COD, NNIR, SCC, NVL(ID_LUCRARE,0) AS ID_LUCRARE,
|
||||
MIN(DATAIREG) AS DATA_GRUPARE
|
||||
FROM note
|
||||
GROUP BY COD, NNIR, SCC, NVL(ID_LUCRARE,0)
|
||||
),
|
||||
doc_anchor AS (
|
||||
SELECT COD, NNIR, MIN(DATAIREG) AS DATA_DOC
|
||||
FROM note
|
||||
GROUP BY COD, NNIR
|
||||
),
|
||||
iesiri AS (
|
||||
SELECT R.*, CC.CONT_CHELT AS CONT_CHELT_CORESP
|
||||
FROM VRUL_TOT R
|
||||
JOIN p ON R.AN = p.an AND R.LUNA = p.luna
|
||||
LEFT JOIN CORESP_CONT_VENCHELT CC ON CC.CONT = R.CONT AND CC.STERS = 0
|
||||
WHERE R.STERS = 0 AND R.CANTE <> 0
|
||||
)
|
||||
SELECT COD, R_TIP, TIP, DATAIREG, FDOC, SERIE_ACT, NRACT, DATAACT, NNIR,
|
||||
EXPLICATIA, SCD, ASCD, SCC, ASCC, SUMA,
|
||||
DENUMIRE_ARTICOL, CODMAT, UM, CANTITATE, PRET, VALOARE,
|
||||
GESTIUNE, SECTIE, LUCRARE, ID_SET, TIP_RULAJ, ID_ACT, ID_RUL
|
||||
FROM (
|
||||
SELECT B.DATA_GRUPARE, N.COD,
|
||||
1 AS R_TIP,
|
||||
'NOTA' AS TIP,
|
||||
N.DATAIREG,
|
||||
N.FDOC,
|
||||
N.SERIE_ACT,
|
||||
N.NRACT,
|
||||
N.DATAACT,
|
||||
N.NNIR,
|
||||
N.EXPLICATIA,
|
||||
N.SCD,
|
||||
N.ASCD,
|
||||
N.SCC,
|
||||
N.ASCC,
|
||||
N.SUMA,
|
||||
CAST(NULL AS VARCHAR2(100)) AS DENUMIRE_ARTICOL,
|
||||
CAST(NULL AS VARCHAR2(40)) AS CODMAT,
|
||||
CAST(NULL AS VARCHAR2(10)) AS UM,
|
||||
CAST(NULL AS NUMBER) AS CANTITATE,
|
||||
CAST(NULL AS NUMBER) AS PRET,
|
||||
CAST(NULL AS NUMBER) AS VALOARE,
|
||||
N.GESTOUT AS GESTIUNE,
|
||||
N.SECTIE,
|
||||
N.NRORD AS LUCRARE,
|
||||
N.ID_SET,
|
||||
CAST(NULL AS VARCHAR2(100)) AS TIP_RULAJ,
|
||||
N.ID_ACT AS ID_ACT,
|
||||
CAST(NULL AS NUMBER) AS ID_RUL
|
||||
FROM note N
|
||||
JOIN blocuri B ON B.COD = N.COD AND B.NNIR = N.NNIR AND B.SCC = N.SCC
|
||||
AND B.ID_LUCRARE = NVL(N.ID_LUCRARE,0)
|
||||
UNION ALL
|
||||
SELECT COALESCE(B.DATA_GRUPARE, D.DATA_DOC, R.DATAACT) AS DATA_GRUPARE,
|
||||
R.COD,
|
||||
2 AS R_TIP,
|
||||
CASE WHEN B.SCC IS NULL THEN 'RULAJ FARA NOTA' ELSE 'RULAJ' END AS TIP,
|
||||
CAST(NULL AS DATE) AS DATAIREG,
|
||||
R.FDOC,
|
||||
R.SERIE_ACT,
|
||||
R.NRACT,
|
||||
R.DATAACT,
|
||||
R.NNIR,
|
||||
CAST(NULL AS VARCHAR2(200)) AS EXPLICATIA,
|
||||
R.CONT_CHELT_CORESP AS SCD,
|
||||
CAST(NULL AS VARCHAR2(40)) AS ASCD,
|
||||
R.CONT AS SCC,
|
||||
R.ACONT AS ASCC,
|
||||
CAST(NULL AS NUMBER) AS SUMA,
|
||||
R.DENUMIRE AS DENUMIRE_ARTICOL,
|
||||
R.CODMAT,
|
||||
R.UM,
|
||||
R.CANTE AS CANTITATE,
|
||||
R.PRET,
|
||||
R.CANTE * R.PRET AS VALOARE,
|
||||
R.CGEST || ' ' || R.NUME_GESTIUNE AS GESTIUNE,
|
||||
R.SECTIE,
|
||||
R.NRORD AS LUCRARE,
|
||||
R.ID_SET,
|
||||
R.TIP_RULAJ,
|
||||
CAST(NULL AS NUMBER) AS ID_ACT,
|
||||
R.ID_RUL
|
||||
FROM iesiri R
|
||||
LEFT JOIN blocuri B ON B.COD = R.COD AND B.NNIR = R.NNIR AND B.SCC = R.CONT
|
||||
AND B.ID_LUCRARE = NVL(R.ID_LUCRARE,0)
|
||||
LEFT JOIN doc_anchor D ON D.COD = R.COD AND D.NNIR = R.NNIR
|
||||
)
|
||||
ORDER BY DATA_GRUPARE, COD, NNIR, LUCRARE NULLS FIRST, SCC,
|
||||
R_TIP, ID_ACT, ID_RUL;
|
||||
Reference in New Issue
Block a user