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:
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.