Table of Contents
stylenone

For this purpose, a bulk task is added to the system Pro tento účel je do systému přidána hromadná úloha Convert VAT Rate in Active Contracts (API Change VAT Group Aft. Act. (78001)). This task ensures the exchange / conversion of VAT product posting groups on contracts in the Active status, both in the contract header and in other tables that are related to the contract and have an impact on the VAT calculation. I.e. the change will also be made for related services, insurance and calendars.This modification takes place without the use of change copies directly on the originals of these contracts and is based on the logic of the Tato úloha zabezpečí výměnu / konverzi DPH účto skupin zboží na smlouvách ve stavu Aktivní, a to jak v hlavičce smlouvy tak i v ostatních tabulkách, které se smlouvou souvisí a mají dopad na výpočet DPH. Tj. změna bude provedena i pro související služby, pojištění a kalendáře.

Tato úprava probíhá bez použití změnových kopií přímo na originálech těchto smluv a vychází z logiky úlohy API Contract Services Change (4026638) task.

Button Tlačítko Convert Active Contracts to run the job, it is added to the ke spuštění úlohy je přidáno na stránku VAT Rate Change Setup page. It is also possible to search for a task using the system magnifier. Úlohu je také možné vyhledat pomocí systémové lupy.

...

Request Form

When the task starts, a dialog box opens Po spuštění úlohy se otevře dialogové okno Convert VAT Rate in Active Contracts To specify criteria and filters pro zadání kritérií a filtrů:

...

In the section "Options" are the fields:V sekci “Options” jsou pole:

  • Datum změny DPH (VAT Change Date)

    • Date type, empty by default

    • The user enters the date from which the change of the VAT rate is valid and the system assesses posted and unposted lines in the contract payment calendar according to this date. Job Process Description

    • Mandatory field (see post-launch checks below)

    Contract Change Type

    • Lookup to the Contract Change Types table (4046856) with filter defaultně prázdné

    • Uživatel zadává datum od kdy je změna sazby DPH platná a systém podle tohoto datumu posuzuje zaúčtované a nezaúčtované řádky ve splátkovém kalendáři smlouvy, viz. popis procesu úlohy

    • Povinný údaj (viz. kontroly po spuštění níže)

  • Typ změny smlouvy (Contract Change Type)

    • Lookup do tabulky Typy změn na smlouvě (4046856) s filtrem Object ID wizard (15)=empty (i.e. it is not possible to select the change that is triggered by the wizard)

    • The user selects the Contract Change Type Code, which the task then writes to the Contract Change History, in the Change Code field

    • Required, see checks after the job has started

  • Contract Change Reason

    • Lookup to the Contract Change Reasons table (4046857)

    • The user selects the Contract Change Reason Code, which is then written by the task to the Contract Change History, in the Reason for Making Change field

  • Comment

    • Text 120, empty by default

    • The user adds a text note, which the task then writes in the Contract Change History, in the Note field.

In the section "Filter: Financing Contract Header" are the filters:

User filters are all empty by default

  • Financing Product Type Code

    • If empty, it is not filtered to the given value

  • Financing Product No.

    • If empty, it is not filtered to the given value

  • Customer No.

    • If empty, it is not filtered to the given value

  • Well.

    • Financing Contract No.

    • If empty, it is not filtered to the given value

  • Migrated Contract

    • Option

      • Empty – not filtered to the given value

      • No – filtered to the N value in the contract

      • Yes – filtered to the Y value in the contract

  • additional filters can be added by the user via the + Filter button...

The general principles of filtering in BC are described here:

Sorting, Searching, and Filtering Lists - Business Central | Microsoft Learn

...

    • tzn. není doboleno vybrat změnu, která se spouští wizardem)

    • Uživatel vybere Kód typu změny smlouvy, který pak úloha zapíše do Historie změn smlouvy, do pole Kód změny

    • Povinný údaj, viz kontroly po spuštění úlohy

  • Důvod změny smlouvy (Contract Change Reason)

    • Lookup do tabulky Důvody změny smlouvy (4046857)

    • Uživatel vybere Kód důvodu změny smlouvy, který pak úloha zapíše do Historie změn smlouvy, do pole Důvod vykonání změny

  • Poznámka (Comment)

    • Text 120, defaultně prázdné

    • Uživatel doplní textovou poznámku, kterou pak úloha zapíše do Historie změn smlouvy, do pole Poznámka.

V sekci “Filter: Financing Contract Header” jsou filtry:

Uživatelské filtry jsou všechny defaultně prázdné

  • Financing Product Type Code

    • Pokud prázdné, na danou hodnotu se nefiltruje

  • Financing Product No.

    • Pokud prázdné, na danou hodnotu se nefiltruje

  • Customer No.

    • Pokud prázdné, na danou hodnotu se nefiltruje

  • No.

    • Číslo smlouvy o financování

    • Pokud prázdné, na danou hodnotu se nefiltruje

  • Migrated Contract

    • Option

      • Prázdné – na danou hodnotu se nefiltruje

      • No – filtruje se na hodnotu N v smlouvě

      • Yes – filtruje se na hodnotu Y v smlouvě

  • další filtry může přidat uživatel přes tlačítko + Filter…

Obecné zásady filtrování v systému BC jsou popsány zde:

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

Úloha má i pevné filtry na hlavičku smlouvy – prochází pouze smlouvy které splňují:

  • Calc.Variant=N

  • Change Copy=N

  • Change Copy Exists=N

  • Status=Active.

When setting up user filters, the user must also take into account fixed filters that are in the code and cannot be modified by the user – i.e. if the user has set the user filter to e.g. Status=Closed, contracts in this state will not be processed, because the fixed filter Status=Active takes precedence over user filters.

The task can be started by clicking OK or Schedule... (Schedule...). If the task is started by the OK button, it runs interactively (displays possible messages) under the given user. If the task is started by the Schedule... button, the execution itself is executed via the job queue (scheduler) – the messages are suppressed, or it is no longer necessary for the user to be logged in after the start (description below).

Job Process

After starting the task with the "OK" or "Schedule" button, the system executes:

...

Checks if VAT Change Date is filled in

  • If it is not filled in, it will display an error message "VAT Change Date must be entered. EN: VAT change date must be entered. SK: VAT changes must be entered." And it doesn't go any further. Likewise, when running via Schedule...

  • image-20241128-134757.pngImage Removed

  • If it is filled in, it continues to the next check

Check if the Contract Change Type is filled in

...

Uživatel při nastavení uživatelských filtrů musí zohlednit i pevné filtry které jsou v kódu a není je možné uživatelsky modifikovat – tzn. že pokud uživatel nastavil uživatelský filtr například na Stav=Closed, smlouvy v tomto stavu nebudou zpracovány, protože pevný filtr Status=Active má přednost před uživatelskými filtry.

Úlohu je možné spustit tlačítkem OK anebo Plán…(Schedule…). Pokud je úloha spuštěna tlačítkem OK, běží interaktivně (zobrazuje případné hlášky) pod daným uživatelem. Pokud je úloha spouštěna tlačítkem Schedule…, samotné spuštění se vykonává již přes frontu úloh (plánovač) – hlášky jsou potlačeny, resp. po spuštění již není potřebné, aby daný uživatel byl přihlášen (popis dál).

Proces úlohy

Po spuštění úlohy tlačítkem “OK” anebo “Schedule” systém vykoná:

  • Kontroluje, jestli je vyplněn VAT Change Date

    • pokud není vyplněn, zobrazí chybovou hlášku “VAT Change Date must be entered. CZ: Datum změny DPH musí být zadán. SK: Dátum zmeny DPH musí byť zadaný.” a dál nepokračuje. Stejně tak při spuštění přes Schedule…

    • image-20241128-134757.pngImage Added

    • pokud je vyplněn pokračuje dál na další kontrolu

  • Kontrolu, jestli je vyplněn Contract Change Type

    • Pokud není vyplněn, zobrazí chybovou hlášku “Contract Change Type must be entered. EN: Contract change type must be entered." and it doesn't go any further. Likewise, when running via Schedule...

    • image-20241128-134658.pngImage Removed

    • If they are filled in, it continues

    If all checks are error-free, the job runs and iterates through the funding contract headers. It looks for contracts that meet:

    • Fixed filtersCZ: Typ změny smlouvy musí být zadán.” a dál nepokračuje. Stejně tak při spuštění přes Schedule…

    • image-20241128-134658.pngImage Added

    • Pokud jsou vyplněny, pokračuje dál

  • Pokud všechny kontroly jsou bez chyby, úloha se spustí a prochází hlavičky smluv o financování. Hledá smlouvy, které splňují:

    • Pevné filtry:

      • Calc.Variant=N

      • Change Copy=N

      • Change Copy Exists=N

      • Status=Active

    • Filters that have been entered by the user in the Task dialog box in the Filtry, které byly zadány uživatelem v dialogovém okně úlohy, v sekci Filter: Financing Contract Header section

    It will then check the found contracts to see if there is an aliquot payment in the
  • Na nalezených smlouvách pak vykoná kontrolu, jestli na smlouvě existuje alikvotní splátka ve splátkovém kalendáři smlouvy API Financing Contract Line (4026398) payment schedule:

    • Financing Contract No. (1)=samestejné

      • Type (6)=Payment

      • Aliqout Payment (810)=Y

    • If it exists, it checks to see if this payment is posted. That is, in the Pokud existuje, vykoná kontrolu, jestli je tato splátka zaúčtována. Tj. v poli Posted=Y field.

      • if it is not posted (i.e. the contract is after activation and before the aliquot is posted), then it does not process this contract, or it writes it into the pokud není zaúčtována (tzn. smlouva je po aktivaci a před zaúčtováním alikvotu), pak tuto smlouvu neprocesuje, respektive ji zapíše do Contract Change Log:

        • writes the contract to the smlouvu zapíše do Contract Change Log with s Recalculation Result=Fail and a Error Detail=Posted aliquot payment does not exist. (EN: Posted aliquot payment does not existCZ: Neexistuje zaúčtovaná alikvotní splátka.)

        • Continues to the next contract

        if it is posted, it continues to check
        • pokračuje na další smlouvu

      • pokud je zaúčtována, pokračuje na kontrolu VAT Reporting Date (see below)

      If the aliquot payment does not exist
      • viz dál)

    • Pokud alikvotní splátka neexistuje (Handover Date=1st day of the month), it will check if the contract has at least one posted regular payment in the contract payment calendar 1. den v měsíci), vykoná kontrolu, jestli smlouva má aspoň jednu zaúčtovanou řádnou splátku nebo akontaci ve splátkovém kalendáři smlouvy API Financing Contract Line (4026398):

      • Financing Contract No. (1)=samestejné

      • Type (6)=Payment

      • Aliqout Payment (810)=N

      • Recalculation Settlement (3045)=N

      • Partial Payment Credit (3055)=N

      • Posted (50)=YIf

      • such a payment does not exist (i.e. the contract is after activation, without aliquot and before the first regular payment is posted), then this contract is not processed, or it is written into the Pokud taková splátka neexistuje (tzn. smlouva je po aktivaci, bez alikvotu a před zaúčtováním akontace anebo první řádné splátky), pak tuto smlouvu neprocesuje, respektive ji zapíše do Contract Change Log:

        • writes the contract to the smlouvu zapíše do Contract Change Log with s Recalculation Result=Fail and a Error Detail=Posted regular payment does not exist. (EN: There is no posted regularinstallmentCZ: Neexistuje zaúčtovaná řádnásplátka.)

        • Continues to the next contract

        If such an installment exists, it continues to be checked
        • pokračuje na další smlouvu

      • Pokud taková splátka existuje, pokračuje dál na kontroluVAT Reporting Date (see below)

    It will then check the found contracts to see if they exist for the given contract Posted regular payment in the
      • viz dál)

  • Na nalezených smlouvách pak vykoná kontrolu, jestli k dané smlouvě existuje zaúčtovaná řádná splátka ve splátkovém kalendáři smlouvy API Financing Contract Line (4026398) payment schedule, which haskterá máVAT Reporting Date (850) orneboVAT Date(CZ/SK: 4027520)greater than or equal to the specified VAT Change Date from the task dialog boxvětší nebo rovné k zadanému Datum změny DPH (VAT Change Date) z dialogového okna úlohy:

    • Financing Contract No. (1)=samestejné

    • Type (6)=Payment

    • Aliqout Payment (810)=N

    • Recalculation Settlement (3045)=N

    • Partial Payment Credit (3055)=N

    • Posted (50)=Y

    • VAT Date (CZ/SK: 4027520) or nebo VAT Reporting Date (850) => VAT Change Date

    • If such a payment exists (i.e. the contract has a posted payment with a VAT date greater than the VAT change date), then it does not process this contract, or it writes it into the Pokud taková splátka existuje (tzn. smlouva má zaúčtovanou splátku s datumem DPH větším jako je datum změny DPH), pak tuto smlouvu neprocesuje, respektive ji zapíše do Contract Change Log:

      • writes the contract to the smlouvu zapíše do Contract Change Log with s Recalculation Result=Fail a Error Detail=The contract must not include posted payment with a VAT Date higher than or equel to the VAT Change Date. (EN: The contract must not contain a posted payment with a VAT date higher than or equal to the VAT change dateCZ: Na smlouvě nesmí být zaúčtovaná splátka s datumem DPH vyšším nebo rovným než je datum změny DPH. SK: Na zmluve nesmie byť zakalovaná splatá zaúčtovaná splátka s dátumom DPH vyšší vyšším alebo rovným ako je dátum zmeny DPH.)

      • Continues to the next contract

    • If no such payment exists, it continues to the next check

    It will then check the found contracts to see if they exist for the given contract Unposted regular payment in the
      • pokračuje na další smlouvu

    • Pokud taká splátka neexistuje, pokračuje dál na další kontrolu

  • Na nalezených smlouvách pak vykoná kontrolu, jestli k dané smlouvě existuje nezaúčtovaná řádná splátka v splátkovém kalendáři smlouvy API Financing Contract Line (4026398) payment schedule,

    • Financing Contract No. (1)=samestejné

    • Type (6)=Payment

    • Aliqout Payment (810)=N

    • Recalculation Settlement (3045)=N

    • Partial Payment Credit (3055)=N

    • Posted (50)=NIf

    • such a payment does not exist (i.e. the contract is in the last month of regular duration and before the automatic extension), then it does not process this contract, or writes it into the Pokud taková splátka neexistuje (tzn. smlouva je v posledním měsíce řádného trvání a před automatickém prodloužení), pak tuto smlouvu neprocesuje, respektive ji zapíše do Contract Change Log:

      • writes the contract to the smlouvu zapíše do Contract Change Log with s Recalculation Result=Fail and a Error Detail=Unposted payment does not exist. (CZ/SK: Unposted payment does not existNeexistuje nezaúčtovaná splátka.)

      • Continues to the next contract

      If such an installment exists, a check is made that first Unposted Payment it also has a
      • pokračuje na další smlouvu

    • Pokud taková splátka existuje, tak se provede kontrola, že první nezaúčtovaná splátka má zároveň VAT Reporting Date (850) ornebo VAT Date (SK/CZ:4027520) greater than or equal to the specified VAT Change Date from the task dialog box. If the condition:

    • IS fulfilled, so proceeds on to process the original contract (see below)

    • NOT met, so:

      writes the contract to the Contract Change Log with

      větší nebo rovné k zadanému Datum změny DPH (VAT Change Date) z dialogového okna úlohy. Pokud podmínka:

      • JE splněna, tak pokračuje dál na zpracování originálu smlouvy (viz níže)

      • NENÍ splněna, tak:

      The task for the found contract, which meets all the checks above, performs the following actions:

      • process the change of VAT posting groups as described in the chapter below
        • smlouvu zapíše do Contract Change Log s Recalculation Result=Fail a Error Detail=The first unposted payment does not have a VAT Date higher than or equal to the VAT Change Date. (EN: The first unposted payment does not have a VAT Date greater than or equal to the VAT Change Date. SK: The first unposted payment does not have a CZ: První nezaúčtovaná splátka nemá Datum DPH vyšší nebo rovné Datumu změny DPH. SK: Prvá nezaúčtovaná splátka nemá Dátum DPH vyšší alebo rovný Dátumu zmeny DPH.)

        • Continues to the next contract

    Then he proceeds to process the original contract:

        • pokračuje na další smlouvu

  • Pak pokračuje na zpracování originálu smlouvy:

    • úloha k nalezené smlouvě, která splňuje všechny kontroly výše, provede tyto úkony:

      • provede zpracování změny DPH účto skupin podle popisu níže v kapitole https://iao.atlassian.net/wiki/spaces/OCDOC/pages/145358896/Zm+na+sazby+DPH+na+aktivn+ch+smlouv+ch#Zpracov%C3%A1n%C3%AD-origin%C3%A1lu-smlouvy

      • When processing contracts, it displays the message: "Working on it... Contract..." (if the task was started via Schedule..., the message is not displayed)

      • after processing, it creates an entry in the Contract Change History as described in the chapter below při zpracování smluv zobrazuje hlášku: “Working on it…Contract…” (pokud byla úloha spuštěna přes Schedule…, hláška se nezobrazuje)

      • po zpracování vytvoří zápis do Historie změn smlouvy dle popisu níže v kapitole https://iao.atlassian.net/wiki/spaces/OCDOC/pages/145358896/Zm+na+sazby+DPH+na+aktivn+ch+smlouv+ch#Z%C3%A1pis-do-historie-zm%C4%9Bn and to a do Log změn smlouvy

      • Pokud je úloha spuštěna bez plánovače, zobrazí se uživateli na konci zpracování informační okno s počtem zpracovaných smluv “Změna byla vykonaná na X smlouvě (-ách). Na Y smlouvě (-ách) se vyskytla chyba.” s možností otevřít Contract Change Log

      • If the task is run without a scheduler, the user will see an information window at the end of the processing with the number of processed contracts: "The change has been made on X contract(s). An error occurred in Y contract(s)." with the option to open the Contract Change Log.

      image-20241128-141444.pngImage Removed

Processing of the original contract

Task:

  • find out what conversion will be done in the VAT Rate Change Conversion table (551) by going through all rows and replacing the value from the From Code field with the value in the To Code field

...

  • writes a new VAT product posting group on the contract header according to the found value in the To Code field from the conversion table to these fields so that the change is made only in those fields in which it finds the same value as in the conversion table in the From Code field:

    • VAT Posting Group Principal, W1 Field 310

    • VAT Posting Group Interest, W1 Field 311

    • VAT Posting Group Simple Service, W1 Field 315

    • VAT Posting Group Special Mode – Tax
      • .

      image-20241128-141444.pngImage Added

Zpracování originálu smlouvy

Úloha:

  • zjistí si jakou konverzi bude dělat v tabulce VAT Rate Change Conversion (551) tak, že si projde všechny řádky a bude nahrazovat hodnotu z pole From Code hodnotou v poli To Code

...

  • zapíše na hlavičku smlouvy nové DPH účto skupiny zboží podle dohledané hodnoty v poli To Code z tabulky konverzí do těchto polí tak, že změnu provede jen v těch polích, ve kterých najde shodnou hodnotu, jaká je v tabulce konverzí v poli From Code:

    • DPH účto skupina jistina (VAT Posting Group Principal), W1 pole 310

    • DPH účto skupina úrok (VAT Posting Group Interest), W1 pole 311

    • DPH účto skupina jednoduchého servisu (VAT Posting Group Simple Service), W1 pole 315

    • DPH účto skupina zvláštní režim – daňová (VAT P.Gr. Special Mode Tax), SK Field pole 4027530, CZ Field 4047510pole 4047510

    • DPH účto skupina splátky spl.prodeje (VAT Posting Group Whole Paym.), W1 Field pole 322

    • DPH účto skupina jednoduchého pojištění (VAT Posting Group Simple Ins.), W1 Field pole 318

    • DPH účto skupina jednoduchého poplatku (VAT Posting Group Simple Fee), W1 Field pole 316

    • VAT Posting Group Deposit, W1 field pole 320

    • DPH účto skupina zboží splátky při dodání zboží (VAT Prod. Post. Gr. Del. Goods), SK field pole 19610

    • DPH účto skupina zboží splátky při dodání zboží - opravný doklad (VAT Prod. Post. Gr. Correction), SK pole 19615

  • In the V tabulce API Contract Service (4026681) table, it finds the following services) dohledá služby:

    • FiltersFiltry:

      • Service Contract Type (5, Option, PK)=Contract

      • Contract No. (10, Code[20])=samestejné

      • Service Status (20, Option)=Active

    • If he doesn't find any services, he continues to the insurance policy

    • On all services found, the conversion of the VAT posting group will be performed in the same way as in the contract headerpokud nenaleze žádné služby, pokračuje na pojistky

    • na všech nalezených službách vykoná konverze DPH účto skupiny stejným způsobem jako v hlavičce smlouvy:

      • VAT Prod. Posting Group (125)=same value as stejná hodnota jako pole Code From field

      In the payment calendars of the found services, it finds unposted lines
    • Ve splátkových kalendářích nalezených služeb dohledá nezaúčtované řádky Line Type (5)=Payment and a Posted (75)=N and updateda updatne:

      • VAT Prod. Posting Group (120) = VAT Prod. Posting Group (125) from the header of the servicez hlavičky dané služby

      • VAT % (125) = according to the dle kombinace VAT Bus combination. Posting Group a VAT Prod. Posting Group (standard)

      • VAT Amount (130) = recalculated according to the new VAT rate.

    • Upon completion of all services, proceeds to the insurance policy

    In the API Insurance Contract table (4027100) it finds the following insurance policies:

    • Filters
      • přepočte dle nové sazby VAT.

    • po dokončení všech služeb pokračuje na pojistky

  • V tabulce API Insurance Contract (4027100) dohledá pojistky:

    • Filtry:

      • Financing Contract No. (50, Code[20])=samestejné

      • Status (60, Option)=Active

      • Valid To >= Datum změny DPH (VAT Change Date from Task Dialog Box) z dialogového okna úlohy)

      • Insurance Type (910, Option) <> Individual

    • If it does not find any fuses, it proceeds to the next step.

    • On all found insurance policies, the conversion of the VAT posting group will be performed in the same way as in the contract headerPokud nenalezne žádné pojistky, pokračuje na další krok.

    • Na všech nalezených pojistkách vykoná konverze DPH účto skupiny stejným způsobem jako v hlavičce smlouvy:

      • VAT Prod. Posting Group (915, Code[20])=same value as stejná hodnota jako pole Code From field

      It continues to the client calendars of the found insurance policies in the
    • Pokračuje na klientské kalendáře nalezených pojistek v API Ins. Client Payment Cal. (4027105) and on the unposted lines, i.e. the value of the field a na nezaúčtovaných řádcích, tj. hodnota pole Posted (80)=N, it performs an vykoná update:

      • VAT Prod. Posting Group (910) = VAT Prod. Posting Group (915) from the header of the policyz hlavičky dané pojistky

      • VAT % (915) = according to the dle kombinace VAT Bus combination. Posting Group a VAT Prod. Posting Group (standard)

      • VAT Amount (955) = recalculated according to the new VAT rate.

      It continues to the insurance company calendars of the insurance policies found in the
      • přepočte dle nové sazby VAT.

    • Pokračuje na kalendáře pojišťovny nalezených pojistek v API Ins. Company Payment Cal. (4027106) and on the unblocked lines, i.e. the value of the field a na neblokovaných řádcích, tj. hodnota pole Blocked (70)=N, it performs an vykoná update:

      • VAT Prod. Posting Group (915) = VAT Prod. Posting Group (915) from the header of the policyz hlavičky dané pojistky

      • VAT % (950) = according to the dle kombinace VAT Bus combination. Posting Group a VAT Prod. Posting Group (standard)

      • VAT Amount (955) = recalculated according to the new VAT rate.

    • Once all fuses have been processed, proceed to the next step

    if there is a Paym flag in the
      • přepočte dle nové sazby VAT.

    • po dokončení zpracování všech pojistek, pokračuje na další krok

  • pokud je v hlavičce smlouvy API Financing Contract Header (4026397) headerpříznak Paym. Calendar Is Tax Document (19032, Boolean)=Y, sets the value of the new nastaví hodnotu nového pole Prn. Queue VAT queue field to na Y.

  • At the end of the contract processing, the task is performed:

    deactivates existing contract variants by toggling their

    na závěr zpracování dané smlouvy úloha vykoná:

    • deaktivuje existující varianty smlouvy přepnutím jejich Calc. Variant Status on na Inactive

    • Contract Payment Calendar Updateupdate splátkového kalendáře smlouvy:

      • if pokud APICZ VAT Special Mode (4047500, Boolean)=Y in the contract header, it will recalculate the contract payment calendar (so-called recalculation branch). Note: these contracts have to be recalculated, the special VAT regime cannot be resolved in any other way.if N, it will update the fields in the contract payment calendar without starting the financial calculator and setting the payment calendar (note: the reason is contracts with v hlavičce smlouvy, vykoná přepočet splátkového kalendáře smlouvy (tzv. rekalkulační větev). Pozn. tyto smlouvy musíme rekalkulovat, spec. DPH režim nelze jinak vyřešit.

      • pokud N, vykoná update polí v splátkovém kalendáři smlouvy bez spouštění finanční kalkulačky a nasazení splátkového kalendáře (pozn. důvodem jsou smlouvy s Contract Extension=Y):

        • VAT Posting Group Principal (310, Code[20]) - take from contract header if not empty in headerpřevzít z hlavičky smlouvy pokud v hlavičce neprázdné

        • VAT Posting Group Interest (311, Code[20]) - take from contract header if not empty in headerpřevzít z hlavičky smlouvy pokud v hlavičce neprázdné

        • VAT Posting Group Service (315, Code[20]) - take from contract header if not empty in headerpřevzít z hlavičky smlouvy pokud v hlavičce neprázdné

        • VAT Posting Group Simple Ins. (318, Code[20]) - take from contract header if not empty in headerpřevzít z hlavičky smlouvy pokud v hlavičce neprázdné

        • VAT Posting Group Simple Fee (319, Code[20]) - take from contract header if not empty in headerpřevzít z hlavičky smlouvy pokud v hlavičce neprázdné

        • APICZ VAT P.Gr.Sp.Mode Non-Tax (4047560, Code[) - take from contract header if not empty in headerpřevzít z hlavičky smlouvy pokud v hlavičce neprázdné

        • APICZ VAT Pos.Gr.Spec.Mode Tax (4047565, Code[20]) - take from contract header if not empty in headerpřevzít z hlavičky smlouvy pokud v hlavičce neprázdné

        • VAT Principal (12, Decimal)

        • Amount VAT Interest (18, Decimal)

        • Amount VAT Insurance (21, Decimal)

        • Amount VAT Service (24, Decimal)

        • Amount VAT Simple Fee (422, Decimal)

        • Amount VAT Selling Price (3010, Decimal)

        • Amount Excl. VAT Aliquot (3020, Decimal)

        • APICZ VAT Base Special Mode (4047550, Decimal)

        • APICZ VAT Amount Special Mode (4047555, Decimal)

        • Amount (34)

        • Amount VAT Deposit (40, Decimal)

    • in the contract header updates the field values based on the values from the first non-posted regular payment in the contract GACv hlavičce smlouvy zaktualizuje hodnoty polí na základě hodnot z první neúčtované řádné splátky v SPK smlouvy:

      • Annuity Excl.VAT

      • Services Excl. VAT

      • Insurance Excl. VAT

      • Simple Fee Excl. VAT

      • Payment Excl.VAT

      • Payment Incl.VAT

      • Deposit Including VAT (42, Decimal)

    • in these fields, sets the flags to v těchto polích nastaví příznaky na Y:

      • Service - Updated (150, Boolean)

      • Insurance - Updated (151, Boolean)

      • Payments - Updated (152, Boolean)

      • Calculation Lines - Updated (153, Boolean)

      • Calc. Inputs - Updated (154, Boolean)

      • Annuity Updated (4047070, Boolean)

      • Insurance Input Updated (4047075, Boolean).

Entry in the history of contract changes

...

Zápis do historie změn smlouvy

Pro vytvoření zápisu do API Contract Change History (4046858) , it uses the following valuespoužije následující hodnoty:

  • Change Type Code = Contract Change Type z request formformu

  • Approved By = ID of the user who runs the taskuživatele, který úlohu spouští

  • Approval Date = System Work Datework date systému

  • Change Reason Code = Contract Change Reason z request formformu

  • Change Valid From = system work date systému

  • Change Date = Date To from the last posted payment z posledné zaúčtované splátky (Posted=Y, Canceled=N, Aliqout Payment=N, Recalculation Settlement=N, Partial Payment Credit=N)

  • Comment = Comment from z request formformu

  • Closed (15)=Y (so that approval is required for the transfer)Upon completion, it creates an entry in the aby při přenosu již nabyla vyžadováno schválení)

  • po dokončení vytvoří zápis do Contract Change Log with s Recalculation Result=Success.

Starting a task via the job queue, the Schedule... button, the Contract Change Queue and the Contract Change Log are described in Spuštění úlohy přes frontu úloh, tlačítkem Schedule…, Fronta změn smlouvy a Log změn smlouvy jsou popsány v PD https://iao.atlassian.net/wiki/x/jADVAQhttps://iao.atlassian.net/wiki/x/nADVAQ https://iao.atlassian.net/wiki/x/wADWAQ.

Example of logs for this taskUkázka logů k této úloze:

...