PCHX#82938 Geïmporteerde facturen specifieker aan gewenste contractversie koppelen

svn path=/Database/trunk/; revision=65297
This commit is contained in:
Erik Groener
2024-06-26 14:24:09 +00:00
parent 6eb497703a
commit d5544d8300

View File

@@ -15814,7 +15814,7 @@ AS
RETURN(p_d_datum);
END;
FUNCTION try_getcontract_id (p_broc_nr IN VARCHAR2, p_leverancier_nr IN VARCHAR2)
FUNCTION try_getcontract_id (p_broc_nr IN VARCHAR2, p_leverancier_nr IN VARCHAR2, p_factuur_datum IN DATE)
RETURN NUMBER
AS
c_prefix1 VARCHAR2 (1);
@@ -15841,9 +15841,11 @@ AS
WHERE cnt_contract_verwijder IS NULL
AND cnt_contract_status = 0
AND cnt_contract_nummer_intern = c_contract_nr
AND p_factuur_datum BETWEEN cnt_contract_looptijd_van AND cnt_contract_looptijd_tot
ORDER BY cnt_contract_key DESC)
WHERE ROWNUM = 1;
ELSE
-- Exact dit contract en versie.
SELECT cnt_contract_key
INTO p_broc_key
FROM cnt_contract
@@ -15965,7 +15967,7 @@ AS
-- 4) Bestellingen worden niet geprefixed (we kunnen hier de setting bes_bestelopdr_prefix in default.inc niet uitlezen,
-- of we moeten die instelling ombuigen tot een DB-setting (fac_setting?)
-- 5) De prefix-instelling mag tussentijds (nadat een opdracht uitgegeven) niet worden gewijzigd.
PROCEDURE get_fin_factuur_referentie (p_broc_nr IN VARCHAR2, p_leverancier_nr IN VARCHAR2, p_ckey IN OUT NUMBER, p_okey IN OUT NUMBER, p_bkey IN OUT NUMBER)
PROCEDURE get_fin_factuur_referentie (p_broc_nr IN VARCHAR2, p_leverancier_nr IN VARCHAR2, p_factuur_datum IN DATE, p_ckey IN OUT NUMBER, p_okey IN OUT NUMBER, p_bkey IN OUT NUMBER)
IS
BEGIN
p_ckey:=NULL;
@@ -15973,7 +15975,7 @@ AS
p_bkey:=NULL;
IF LENGTH (p_broc_nr) > 0
THEN
p_ckey := try_getcontract_id (p_broc_nr, p_leverancier_nr);
p_ckey := try_getcontract_id (p_broc_nr, p_leverancier_nr, p_factuur_datum);
IF p_ckey IS NULL
THEN
p_okey := try_getopdracht_id (p_broc_nr, p_leverancier_nr);
@@ -16396,13 +16398,13 @@ BEGIN
c_cnt_contract_key := NULL;
c_bes_bestelopdr_key := NULL;
c_prs_perslid_key_user := NULL;
c_fin_factuur_datum :=NULL;
c_prs_kostensoort_key :=NULL;
c_fin_factuur_datum := NULL;
c_prs_kostensoort_key := NULL;
c_btw_verlegd := try_getbtw_verlegd (rc.btw_verlegd);
get_fin_factuur_referentie (rc.ordernr, rc.leveranciernr, c_cnt_contract_key, c_mld_opdr_key, c_bes_bestelopdr_key);
c_fin_factuur_datum:=try_getdatum (rc.factuurdatum, FALSE);
c_prs_kostensoort_key:=try_getkostensoort(c_cnt_contract_key, c_mld_opdr_key, c_bes_bestelopdr_key);
c_fin_factuur_datum := try_getdatum (rc.factuurdatum, FALSE);
get_fin_factuur_referentie (rc.ordernr, rc.leveranciernr, c_fin_factuur_datum, c_cnt_contract_key, c_mld_opdr_key, c_bes_bestelopdr_key);
c_prs_kostensoort_key := try_getkostensoort(c_cnt_contract_key, c_mld_opdr_key, c_bes_bestelopdr_key);
IF (c_prs_kostensoort_key IS NULL AND fac.getSetting('fin_kostensoort_verplicht') = 1)
THEN
c_opmerking := c_opmerking || CHR(13) || 'Kostensoort is verplicht maar leeg';