/
Hromadná změna služeb před aktivací smlouvy

Hromadná změna služeb před aktivací smlouvy

Hromadné změny některých služeb před aktivací smlouvy se provádí přes funkci Změna služeb před aktivací (Contract Services Change before Activation), kterou najdete pomocí hledáčku anebo z příslušného Rolecentra přes menu Změny (Changing).

Upozornění:

Změny budou vykonány vždy na originálu smlouvy. Úloha neumí dopředu zobrazit smlouvy, které změní, pracuje přímo nad originály a neexistuje žádné undo.

Před ostrým spouštěním doporučují úlohu vyzkoušet například nad aktuálním testovacím prostředím.

Dotčené smlouvy budou zahrnuty do Contract Change Log-u s výsledkem Success anebo Fail (i s popisem chyby), resp. do Contract Change History k jednotlivým smlouvám.

Vzhledem k složitosti procesu vykonání změny doporučujeme pouze zkoušeným uživatelům.

Po potvrzení se otevře dialogové okno Contract Services Change before Activation (API Serv. Changes Bef. Activ. (4026639, Report Req..) pro specifikaci vykonané úlohy resp. smluv:

V sekci Options budou pole:

  • Typ změny (Change Type)

    • Vybere uživatel co chce vykonat

    • Option (ENUM) = Add, Delete, Reprice (CZ: Přidat, Odstranit, Přecenit)

  • Druh služby (Service Kind)

    • Option (ENUM)=Maintenance, Tire service, Replacement Car, Insurance , Road Tax (for CZ a SK only), Highway Ticket, Fee/Service, Fuel Card CZ: Servis, Pneuservis, Náhradní vozidlo, Pojistná událost, Silniční daň (for CZ a SK only), Dálniční známka, Poplatok/Služba, Tankovací karta

    • Uživatel bude moct vybrat pouze Road Tax (CZ/SK), Highway Ticket anebo Fee/Service

    • Při změne hodnoty systém automaticky zmaže Service Type Code a Service Code.

    • Pokud vybere jiný druh služby, systém zobrazí error message a nedovolí pokračovat dál - stejně jako v aktuálné úloze:

image-20240621-083043.png
image-20240621-083059.png
  • Kód typu služby (Service Type Code)

    • Defaultně prázdné

    • Needitovatelné pro Service Kind=Road Tax (pozn. pro tento Service Kind se Kód typu služby bere z Contract with Services Setup)

    • Lookup do API Service Type (4026705)/API Service Types (4026705, List) s filtrem na Service Kind

    • Při změne hodnoty systém automaticky zmaže Service Code.

  • Kód služby (Service Code)

    • Defaultně prázdné.

    • Pokud Service Kind=Highway Ticket:

      • Lookup do API Highway Ticket Pricelist (4026653)/API Highway Ticket Pricelist (4026653, List) s filtrem na Service Code, resp. Valid From<=workday<=Valid To (může být i prázdné)

    • Pokud Service Kind=Fee/Service:

      • Lookup do API Fee and Service Pricelist (4026651)/API Fee and Service Pricelist (4026651, List), s filtrem na Service Code, resp. Valid From<=workday<=Valid To (může být i prázdné)

    • pro ostatní Service Kind prázdné a needitovatelné

  • Zachovat korekce (Keep Correction)

    • defaultne N, prepne užív. na Y pokud se má korekce zachovat

    • editovatelné pouze pro Change Type=Reprice

    • přepnutí Change Type na jinou hodnotu vypne editovatelnost Keep Correction a nastavé hodnotu na N.

  • Typ změny smlouvy  (Contract Change Type)

    • vybere uživatel kód typu změny smlouvy, který bude pak zapsán do Contract Change History (pole Change Code)

    • povinný údaj, viz kontroly po spustění úlohy

    • lookup do API Contract Change Type (4046856)/API Contract Change Types (4046856, List) s filtrem:

      • Object ID wizard (15)=empty (tzn. nedovolíme vybrat změnu která se spouští wizardem)

  • Dôvod změny smluvy (Contract Change Reason)

    • vybere uživatel kód důvodu změny smlouvy, který bude pak zapsán do Contract Change History (pole Reason Code)

    • lookup do API Contract Change Reason (4046857)/API Contract Change Reasons (4046857, List)

  • Poznámka (Comment)

    • defaultne prázdne

    • doplní uživatel textovou poznámku, kterou pak úloha zapíše do Contract Change History (pole Comment).

V sekci Filter: Financing Contract Header budou následovné filtry:

Uživatelské filtry budou všechny defaultně prázdné (stejně jako v úloze Contract Services Change)

  • Financing Product Type Code

  • Financing Product No.

  • Customer No.

  • No. (číslo smlouvy)

  • Migrated Contract

  • další filtry může přidat uživatel pře tlačítko + (např Fin.Template No., Status, Detailed Contract Status, atd). Pokud uživatel chce filtrovat na Status, musí zohlednit i pevný filtr na Status.

Řazení, vyhledávání a filtrování seznamů - Business Central | Microsoft Learn

Pevný filter bude (odchylne od úlohy Contract Services Change):

  • Status<Active

  • Financing with Services=Y

Po spustení úlohy tlačítkem OK anebo Schedule…systém vykoná:

  • Kontrolu, jestli je vyplněn Contract Change Type pro všechny Change Type:

    • Pokud není vyplněn, zobrazí chybovou hlášku a dál nepokračuje:

      • Contract Change Type must be entered. CZ: Typ změny smlouvy musí být zadán.

      • Pozn.: Contract Change Code je povinný pro založení změnové kopie

  • kontrolu, jestli jsou vyplneny pole v části Option.

    • Pokud je prázdny Service Type Code a/anebo Service Code, zobrazí chybovou hlášku a dál nepokračuje - v této úloze to platí pro všechny Change Type:

    • Pokud jsou vyplneny, pokračuje dál

  • Zafiltruje smlouvy dle uživatelských filtrů v sekci Option (pokud jsou prázdné, nefiltruje se na ní) a na pevný filter Status<Active

  • Na nalezené smlouvě pak pokračuje dle Change Type:

    • Add:

      • vykoná kontrolu, jestli v smlouvě existuje služba se stejnými Service Kind, Service Type Code a Service Code (pro Road Tax pouze Service Kind):

        • pokud existuje, vykoná zápis do Contract Change Log s výsledkem Fail, Error Detail=Add: Service …Service Code…already exists.” CZ: “Přidat: Služby …kód služby..již existuje.” a pokračuje na další smlouvu.

        • pokud taká služba neexistuje, vykoná:

          • vykoná update pole Reference Date (4047010) v hlavičce smlouvy API Financing Contract Header (4026397)

          • založí novou službu dle specifikace v request page v Contract Services bez vazby na produkt/šablonu smlouvy:

            • Service Kind = z request page

            • Service Type Code = z request page (pro Road Tax z Contract with Services Setup)

            • Service Code = z request page (pro Road Tax se dohledá z ceníka)

            • Service Status=Preparation

            • Valid From = Expected Handover Date smlouvy (pozn. standardné založení služby na smlouvě před aktivací)

            • Valid To = Valid To after Extension = Expected Termination Date smlouvy (stand.založení služby před aktivací)

          • k službě založí detail služby:

            • z příslušního ceníka převezme údaje které se přebírají i při standardným založení detailu služby (Highway Ticket a Fee/Service). Pro Road Tax se Kód služby dohledá z ceníku Road Tax Pricelist.

            • pak převezmě sazby platné k Reference Date smlouvy jako při standardném založení detailu).

          • vykoná aktualizace hodnot z detailu do Contract Services.

Upozornění: Založení nové služby bude vykonána bez vazby na služby produktu/template smlouvy. Tzn. bez příznak nastavění např. Reinvoice, Charge, defaultní korekce, atd. V opačném případě by uživatel musel nejprve založit příslušnou službu do produktu a template smluv.

  • Delete:

    • Pokud službu specifikovanou v request page (Service Kind, Service Type Code, Service Code, resp. pro Service Kind pouze Service Kind) nenaleze, vykoná zápis do API Fin. Contract Change Log (4046845) s výsledkem Fail, Error Detail=Delete: Service …Service Code…doesn´t exist..” CZ: “Vymazat: Služba …kód služby…neexistuje.” a pokračuje na další smlouvu,

    • Pokud služba existuje, vykoná výmaz služby - funkce na tlačítku Delete (karta API Contract Services (4026681)):

      • zmaže záznam v API Contract Service (4026681)

        • pokud naleze více služeb Service Kind=Road Tax, zmaže všechny tyto služby (pokud je služba založena dle slevových pásem, môže existovat více návazných služeb).

      • zmaže detail služby

      • zmaže řádky služby (spl.kal.služby)

      • při zmazání služby nezobrazí dotaz jako při ručným: “Go ahead and delete?”

        • pokračuje na další smlouvu.

  • Reprice:

    • Pokud službu specifikovanou v request page (Service Kind, Service Type Code, Service Code) nenaleze anebo má Reinvoice=Y, vykoná zápis do API Fin. Contract Change Log (4046845) s výsledkem Fail, Error Detail=Reprice: Service …Service Code…doesn´t exist..” CZ: “Přecenit: Služba …kód služby…neexistuje.” a pokračuje na další smlouvu,

    • Pokud smlouva má službu dle specifikace z request page s Reinvoice=N, systém vykoná:

      • vykoná update pole Reference Date (4047010) v hlavičce smlouvy API Financing Contract Header (4026397) = work date systému

      • pak aktualizáciu detailu služby:

      • Service Kind=Highway Ticket:

        • dle Service Code se převezmou platné hodnoty (Valid From<=Reference Date z hlavičky smlouvy<=Valid To může být i prázdní) z API Highway Ticket Rate (4047004)

          • Value Excl.VAT (LCY) na detailu = Fee Amount Excl.VAT (LCY)

          • Purchase Price Excl.VAT (LCY) na detailu = Purchase Price Excl.VAT (LCY)

          • Pozn. pokud v sazbách najde nulovou hodnotu, naplní i tu. Před spouštěním úlohy doporučují zkontrolovat platné sazby.

        • převaliduje pole Correction (+-%), tím se dopočítají pole s částkami. Pokud byla hodnota Keep Correcion:

          • N - existující korekce zmaže (nastaví hodnotu 0)

          • Y - existující korekce zachová.

      • Service Kind=Fee/Service:

        • dle Service Code se převezmou platné hodnoty (Valid From<=Reference Date z hlavičky smlouvy<=Valid To může být i prázdní) z API Fee and Service Rate (4047002)

          • Fee Amount Excl.VAT (LCY) na detailu = Fee Amount Excl.VAT (LCY)

          • Purchase Price Excl.VAT (LCY) na detailu = Purchase Price Excl.VAT (LCY)

          • Pozn. pokud v sazbách najde nulovou hodnotu, naplní i tu. Před spouštěním úlohy doporučují zkontrolovat platné sazby.

        • na detailu služby zvaliduje pole Purchase Price Excl.VAT (LCY) a Correction (+-%), tím se dopočítají pole s částkami. Pokud byla hodnota Keep Correcion:

          • N - existující korekce zmaže (nastaví hodnotu 0)

          • Y - existující korekce zachová.

      • Service Kind=Road Tax:

        • služba zmaže včetně její detailu případně řádků splátkového kalendáre

        • založí novou službu včetně její detailu

      • aktualizuje hodnoty služby v API Contract Service:

        • Calculation Amount Total

        • Calculation Amount Per Payment

        • Purchase Price Total

        • Margin Total

  • Pak pokračuje na přepočet smlouvy dle příznaku smlouvy - platí pro všechny Change Type:

    • pokud Complete Calculation (4047060)=N:

      • přepočet vykoná vzorcemi, tzn. zavolá funkce Payment Calculation

    • pokud Complete Calculation (4047060)=Y:

      • vykoná přepočet splátkového kalendáře služby a nasazení do splátkového kalendáře smlouvy (i pokud je zaúčtována akontace).

  • Vytvoří záznam do historie změn smlouvy API Contract Change History (4046858) bez vytvoření změnové kopie  ale nekteré hodnoty do záznamu doplní z request page:

    • Contract Change Proces = Change Copy (musí být vyplněno nemůže zůstat prázdní)

    • Change Type Code = Contract Change Type z request formu

    • Approved By = ID uživatele, který úlohu spouští

    • Approval Date = work date systému

    • Change Reason Code = Contract Change Reason z request formu

    • Change Valid From = work date systému

    • Change Date = Expected Handover Date smlouvy

    • Comment = Comment z request formu

    • Closed (15)=Y

  • Vytvoří záznam v Contract Change Log s výsledkem Result=Success.

  • Pokračuje na další smlouvu.

Pokud úloha byla spustena ručne tlačítkem OK:

  • počas zpracování smlouvy zobrazí hlášku Working on it…Contract ….

  • po dokončení zobrazí hlášku “Změna byla vykonaná na X smlouvě (-ách). Na Y smlouvě (-ách) se vyskytla chyba.”

Pokud úloha byla spustena přes Schedule…, tyto hlášky budou potlačeny.