Originál smlouvy a varianta (Original Contract and variant)
If the wizard for creation was started from the original contract, the original will be opened even after the variant is created. The created variant is automatically assigned to the contract.
The list of variants can be opened from the original contract:
No. of Calculation Variants
If there are variants for the contract, the calculated field will show the number of variants.
Then, after clicking, an overview of these variants will open (regardless of their variant status).
Then, after opening, we see the variant:
The variant number will be in the form XXXXXXX_Vx, where XXXXXXX is the contract number, _V is the suffix (postfix) for distinguishing variants (from OneCore Setup) and x is the serial number of the calculation variant.
Last Change Code displays the line code belonging to the variant from the Contract Change History
Change copy to contract shows original contract number
The user ID of the change copy contains the ID of the user who created the variation. Unlike a change copy, another user can also work with the variant.
The created variant will have Calculation Variant Status=Active.
The significance of the date and time when the calculation was created is obvious.
The user makes the necessary changes to the created calculation variant and starts the recalculation of installments (if necessary).
On the calculation variant form, the user can make a change using the wizard (if it exists for the given type of change and has the flag Allowed for variant=A) or manually.
It is not possible to create a change copy in the Calculation Variant independently of the parameterization of the detailed status
It is not possible to create an individual invoice for the calculation variant
It is not possible to post/cancel a payment calendar or perform other accounting operations for the calculation variant
Certain types of changes are prohibited in the Calculation Variant (especially those within which an invoice or posting can be created, e.g. transfer to another customer, etc.) according to the setting of the Enabled flag for the Calculation Variant from the Contract Change Types table
After confirmation of the calculation variant by the customer, the user activates (transfers) the calculations to the contract.
Variant transfer
The transfer of the variant to the contract is performed by the user using the Transfer Variant (Transfer Variant):
The Transfer Variant function does the following:
...
The user selects the calculation variant that he wants to transfer to the original contract (activate)
...
Pokud wizard na vytvoření byl spouštěn z originálu smlouvy, i po vytvoření varianty bude otevřen originál. Vytvořena varianta je automaticky přirazená ke smlouvě.
Přehled variant je možné otevřít z originálu smlouvy:
Počet Variant kalkulací
Pokud k dané smlouvě existují varianty, kalkulované pole zobrazí jejich počet.
Pak po rozkliknutí se otevře přehled těchto variant (bez ohledu na jich stav varianty).
Pak po otevření vidíme variantu:
Číslo varianty bude ve tvaru XXXXXXX_Vx, kde XXXXXXX je číslo smlouvy, _V je přípona (postfix) pro rozlišení variant (z OneCore Setup) a x pořadové číslo varianty kalkulace.
Kód poslední změny zobrazuje kód z řádku patřící k dané variantě z Historie změn smlouvy
Změnová kopie ke smlouvy zobrazuje číslo originálu smlouvy
ID uživatele změnové kopie obsahuje ID uživatele který variantu vytvořil. Na rozdíl od změnové kopie s variantou může pracovat i jiný uživatel.
Vytvořená varianta bude mít Stav varianty kalkulace=Aktivní (Active).
Význam Datum a čas vytvoření kalkulace je zřejmý.
Na vytvořené variantě kalkulace uživatel vykoná potřebné změny a spustí přepočet splátek (pokud třeba).
Na formuláři varianty kalkulace může uživatel vykonat změnu pomocí průvodce (pokud na daný typ změny existuje a má příznak Povoleno pro variantu=A) nebo ručně.
Na Variantě kalkulace není možné nezávisle na parametrizaci detailního stavu vytvořit změnovou kopii
K variantě kalkulace není možné vytvářet individuální fakturu
K variantě kalkulace není možné účtovat / stornovat splátkový kalendář ani provádět jiné účetní operace
Na Variantě kalkulace jsou zakázány určité typy změn (hlavně ty, v rámci kterých se může vytvořit faktura anebo účtování, např. převod na jiného zákazníka, atd.) dle nastavení příznaku Povoleno pro Variantu kalkulace z tabulky Typy změn na smlouvě
Po potvrzení varianty kalkulace zákazníkem uživatel aktivuje (přenese) kalkulace do smlouvy.
Přenos varianty (Variant transfer)
Přenos varianty do smlouvy vykoná uživatel pomocí funkce Přenést variantu (Transfer Variant):
Funkce Přenést variantu vykoná následující úkony:
uživatel vybere variantu kalkulace, kterou chce přenést do původní smlouvy (aktivovat)
systém vykoná kontrolu jestli uživatel spouští přenos varianty z varianty (příznak Calculation Variant=N/Y):
if pokud Y (i.e. the user has started the transfer of the variant from the variant), it continues to the next check
if N (i.e. the user started the variant transfer differently), it displays an error message and does not continue
The system will check the Status of the variant:
If Active proceeds to the next step
if another is Active, it displays an error message and does not continue (the variant can only be transferred one timetzn. uživatel spustil přenos varianty z varianty), pokračuje na další kontrolu
pokud N (tzn. uživatel spustil přenos varianty jinak), zobrazí error hlášku a dál nepokračuje
systém vykoná kontrolu Stavu varianty:
pokud Aktivní (Active) pokračuje na další krok
pokud jiný jako Aktivní, zobrazí error hlášku a dál nepokračuje (variantu je možné přenést pouze jeden krát)
...
Note: Posting installments toggles variant status to Inactive. Also, the transfer of the active variant switches the other Active to Inactive.
...
Checking the Strict Changes List Policy flag in OneCore Setup:
If n
On the last line in the Contract Change History, toggles:
Flag Closed on Y
Customer Approval flag on Y
Approval Date=sysdate
add Approved On=sysdate
If Y
Checks if the flag is Closed=Y (i.e. it was toggled by the user as part of the change approval before the transfer)
If Y
Performs a change copy transfer
If n
Displays a message and does not transfer the change copy:
The user then opens the Contract Change History on the change copy, closes the line and transfers the change copy.
...
Pozn: účtování splátek přepína stav varianty na Inactive. Taktéž přenos aktivní varianty přepína ostatné Active na Inactive.
Kontroluje, zda ke smlouvě o financování existují pojistné smlouvy k nahlášení nebo odhlášení online.
Pro nahlášení nové pojistky systém kontroluje, zda je na pojistné smlouvě:
Hlášení poj. OnLine = Ano
Datum nahlášení do pojišťovny = prázdné
Kód ukončení = prázdné
Když existuje pojistka splňující tyto podmínky, kontroluje zda je na rámcové pojistné smlouvě příznak Nutné ověření pojišťovnou = Ano. Pokud:
Ano
Kontroluje, zda jsou na pojistné smlouvě pole Ověřeno = Ano, Pokud:
Ne
Zobrazí chybovou hlášku “Ověřeno musí být Ano na pojistné smlouvě XY” a proces přenosu změnové kopie zastaví
Ano
Kontroluje, zda na pojistce Platnost od < aktuální datum. Pokud:
o Ano - Zobrazí chybovou zprávu „Pojištění XXX. Platnost od musí být >= aktuální datum!“ A přenos změnové kopie zastaví
o Ne - v OC je příprava pro provolání služby pro nahlášení pojistky (hlášení přírůstku) pokračuje v procesu přenosu změnové kopie
Pro odhlášení pojistky online, systém kontroluje, zda je na pojistné smlouvě:
Hlášení OnLine = Ano
Datum odhlášení do pojišťovny = prázdné
Kód ukončení = neprázdné, nebo Předčasné ukončení = Ano
Když existuje pojistka splňující tyto podmínky, kontroluje:
Je-li na pojistce Platnost do < aktuální datum. Pokud:
Ano
Kontroluje na Kódu ukončení zda má Povoleno ukončit zpětně = Ano. Pokud:
Ano
o Příprava pro provolání služby pro odhlášení pojistky (hlášení úbytku). Provolání probíhá na pozadí.
Ne anebo není vyplněn Kód ukončení
o Zobrazí chybovou hlášku „Pojištění XXX. Platnost do musí být>= aktuální datum!“ a přenos změnové kopie zastaví
Ne
Príprava pro provolání služby pro odhlášení pojistky (hlášení úbytku). Provolání probíhá na pozadí.
Když neexistuje na smlouvě pojistka splňující podmínky k odhlášení ani nahlášení, pokračuje na další kontrolu
Kontrola příznaku Přísná kontrola změn smlouvy (Strict Changes List Policy) v OneCore Setup:
Pokud N
Na posledním řádku v Historii změny smlouvy přepne:
příznak Uzavřeno (Closed) na Y
příznak Customer Approval na Y
doplní datum Cust.Approval Date=sysdate
doplní datum Approved On=sysdate
Pokud Y
Vykoná kontrolu, jestli je příznak Closed=Y (tzn.před přenosem byla přepnuta uživatelem v rámci schválení změny)
Pokud Y
Vykoná přenos změnové kopie
Pokud N
Zobrazí hlášku a změnovou kopii nepřenese:
Uživatel pak otevře Historii změn smlouvy na změnové kopii, vykoná uzavřetí řádku a přenese zmenovou kopii.
systém zkontroluje, zda je varianta kalkulace zkalkulovaná včetně všech souvisejících částí (pojistky, služby), příznaky:
check if there is aService-Updated (150)=Y anda
Insurance-Updated (151)=Y anda
Payments-Updated (152)=Y– all three must be Y, otherwise it will display the messagevšechny tři musí být Y, jinak zobrazí hlášku:
It does not transfer the variant – the user must first recalculate the contract.
Checks if there are variants that have not been transferred to the contract (Variant Status=Active):
If there are any, it will ask if the user wants to continue: "There are non-transferred variants to the contract, Do you want to continue?"
If he confirms, he continues. After the transfer is complete, the status of the other active variants switches to Inactive.
If they don't exist, it continues.
Variantu nepřenese – užívatel nejprve musí vykonat přepočet smlouvy.
Zkontroluje, jestli k dané smlouvě existují nepřenesené varianty (Stav varianty=Aktivní):
Pokud existují, zobrazí dotaz jestli chce uživatel pokračovat: “Ke smlouvě existují nepřenesené varianty, Přejete si pokračovat?”
Pokud potvrdí, pokračuje dál. Po vykonání přenosu stav ostatných aktivních variant přepne na Inactive.
Pokud neexistují, pokračuje dál.
zkontroluje, jestli k originálu neexistuje změnová kopie (Change Copy Exists=N/Y on the original contractna originálu smlouvy):
if pokud N, it continuespokračuje dál
if pokud Y (i.e. there is a change copy to the original), it displays an error message and does not continue (note: the change copy takes precedence over the variant):
Check if there has been any change in the contract after the variant was created:
The system performs this check by comparing the SystemModifiedAt value in the original contract, object, and fuse tables with tzn. k originálu existuje změnová kopie), zobrazí error hlášku a dál nepokračuje (pozn. změnová kopie má přednost před variantou):
zkontroluje, jestli na smlouvě po založení varianty nedošlo ke změně:
tuto kontrolu systém vykoná tak, že porovná hodnotu SystemModifiedAt v tabulkách originálu smlouvy, předmětu a pojistek s Calc. Var. Creation Datetime from Variantif any of the tables have been changed z varianty
pokud v nekteré tabulce ke změně došlo ((SystemModifiedAt in the original table v tabulce originálu > Calc. Var.Creation Date from variantz varianty), displays a message and does not allow the variant to be transferred.The following tables are checkedzobrazí hlášku a variantu nedovolí přenést.
kontrolují se následovné tabulky:
API Financing Contract Header (4026397)
API Financing Contract Line (4026398) – the message is different because the system switches active variants to Inactive when posting installments
Contract Accrual Line (Table hláška je jiná, protože system při účtování splátek přepne aktivní varianty na Inactive
Řádky časového rozlišení smlouvy (table 4026842 API Contract Accrual Line)
Table Kalkulační vstupy smlouvy (table 4026450 API Contract Calculation Input)
API Contract Guarantee (4026447) for each guarantee
Then he searches for the objects of the contract, and for each object:
Odometer Status History APIpro každé ručení
Pak hledá předměty smlouvy a pro každý předmět:
API Odometer Status History (4026583)
API Object Tire (4026675)
API Object Security System (4026581)
API License Plate History (4026584)
API Object Revision Validity (4026678)
API Object External Check (4026691)
API Object Rim (4026676)
API Evid. of Obj. Sales Price (4026585)
API Financed Object (4026560)
Then it goes to the next object, if it exists.
Then he proceeds to the insurance policyPak poračuje na ďalší předmět pokud existuje.
Pak pokračuje na pojistky smlouvy:
API Insurance Contract
API Ins. Client Payment Cal.
API Ins. Company Payment Cal.
API Ins.Comm. Payment Calendar
If no change has been made, it will ask if the user wants to overwrite the contractpokud nedošlo ke změně, zobrazí dotaz jestli chce užívatel přepsat smlouvu
and after confirmation, it will start transferring the variant to the contract.
Performs a check:
In the ReplacebyVariant function, the check is again ifa po potvrzení zahájí přenos varianty do smlouvy.
Vykoná kontrolu:
ve funkci ReplacebyVariant je kontrola znovu pokud je Complete Calculation=Y:
Service-Updated (150)=Y anda
Insurance-Updated (151)=Y anda
Payments-Updated (152)=Y anda
deletes the transferred variant
if there were other variants of the contract in the Active status, sets their status to Inactive.
Calculation Lines-Updated=Y and a zároveň Complete Calculation=Y– all must be Y, otherwise they will display the message:
Changes requiring recalculation have been made to the variant. Please run recalculation before transferring the variant.
The system transfers the variant to the contract. Further:
Displays a message about variant transfer: "Variant všechny musí být Y, inak zobrazí hlášku:
Changes requiring recalculation have been made to the variant. Please run recalculation before transferring the variant.
Systém přenese variantu do smlouvy. Dále:
zmaže přenesenou variantu
pokud existovali i jiné varianty smlouvy v stavě Aktivní, nastaví jejich stav na Neaktivní (Inactive).
Zobrazí hlášku o přenosu varianty: “Variant No. XXX has been transfered."”
Vymazání varianty (Remove variant
...
)
Vymazání variant kalkulace je možné volbou akce - Vymazat variantu (Remove Variant).
The system will delete a variant only if the variant has not been transferred to the contract (it does not have a record in the contract history).
At the push of a button, the system performs checks:
...
Variantu systém vymaže jen v tom případě, jestliže daná varianta nebyla přenesená do smlouvy (nemá záznam v historii smlouvy).
Systém po stisknutí tlačíka vykoná kontroly:
systém vykoná kontrolu jestli užívatel spouští výmaz varianty z varianty (příznak Calculation Variant=N/Y):
If a user closes the change history manually and then deletes the change copy/variant instead of transferring it, then we no longer have the last open row. In this case, we delete the last corresponding closed row, namely the one that was created on the same day as the change copy/variant was createdif pokud Y (i.e. the user has triggered the deletion of the variant from the variant), it continues to the next check
if N (i.e. the user has triggered the deletion of the variant in a different way), it displays an error message and does not continue
The system deletes the variant, including all components (related tables).
tzn. uživatel spustil výmaz varianty z varianty), pokračuje na další kontrolu
pokud N (tzn. užívatel spustil výmaz varianty jinak), zobrazí error hlášku a dál nepokračuje
systém vykoná výmaz varianty včetně všech součástí (souvisejících tabulek).
Pokud by uživatel uzavřel historii změn ručně a poté změnovou kopii/ variantu nepřenesl, ale odstranil, pak již nemáme poslední otevřený řádek. V takovém případě mažeme poslední odpovídající uzavřený řádek a to takový, který byl založen ve stejný den, jako byla vytvořena daná změnová kopie/varianta.