Procedura-InvClosing_ClearAllDocs

Popis:
Procedura pro uzávěrku fakturace - Vynulování ClosingPeriod_ID na všech dokladech pro období úzávěrky a daného typu.

Parametry:

NázevPopisDatový typ
DocQueue_IDChar(10)
DocumentTypeChar(2)
Period_IDChar(10)

Tělo:

BEGIN
  /* Uzávěrka fakturace - Vynulování ClosingPeriod_ID na všech dokladech pro období úzávěrky a daného typu. */
  /* Provádí se jako první krok uzávěrky. */
  /* Ve druhém kroku se jinou procedurou nastaví ClosingPeriod_ID pro všechny přesně zaplacené doklady, aby se do uzávěrky nezahrnuly.*/
  /* Doklady s nastaveným ClosingPeriod_ID do uzávěrky fakturace nevstupují. */

  /* JCD */
  if (DocumentType = '12') then
    UPDATE CustomsDeclarations A SET A.ClosingPeriod_ID = NULL
      WHERE A.Period_ID = :Period_ID and
            A.DocQueue_ID = :DocQueue_ID;
  /* Ostatní příjmy */
  if (DocumentType = '01') then
    UPDATE OtherIncomes A SET A.ClosingPeriod_ID = NULL
      WHERE A.Period_ID = :Period_ID and
            A.DocQueue_ID = :DocQueue_ID;
  /* Ostatní výdaje */
  if (DocumentType = '02') then
    UPDATE OtherExpenses A SET A.ClosingPeriod_ID = NULL
      WHERE A.Period_ID = :Period_ID and
            A.DocQueue_ID = :DocQueue_ID;
  /* Zálohové listy k faktuře přijaté */
  if (DocumentType = '11') then
    UPDATE ReceivedDInvoices A SET A.ClosingPeriod_ID = NULL
      WHERE A.Period_ID = :Period_ID and
            A.DocQueue_ID = :DocQueue_ID;
  /* Zálohové listy k faktuře vydané */
  if (DocumentType = '10') then
    UPDATE IssuedDInvoices A SET A.ClosingPeriod_ID = NULL
      WHERE A.Period_ID = :Period_ID and
            A.DocQueue_ID = :DocQueue_ID;
  /* Faktury vydané */
  if (DocumentType = '03') then
    UPDATE IssuedInvoices A SET A.ClosingPeriod_ID = Null
      WHERE A.Period_ID = :Period_ID and
            A.DocQueue_ID = :DocQueue_ID;
  /* Faktury přijaté */
  if (DocumentType = '04') then
    UPDATE ReceivedInvoices A SET A.ClosingPeriod_ID = Null
      WHERE A.Period_ID = :Period_ID and
            A.DocQueue_ID = :DocQueue_ID;
  /* Penalizační faktury */
  if (DocumentType = '17') then
    UPDATE PenaltyInvoices A SET A.ClosingPeriod_ID = Null
      WHERE A.Period_ID = :Period_ID and
            A.DocQueue_ID = :DocQueue_ID;
  /* Dobropisy faktur vydaných */
  if (DocumentType = '60') then
    UPDATE IssuedCreditNotes A SET A.ClosingPeriod_ID = Null
      WHERE A.Period_ID = :Period_ID and
            A.DocQueue_ID = :DocQueue_ID;
  /* Dobropisy faktury přijatých */
  if (DocumentType = '61') then
    UPDATE ReceivedCreditNotes A SET A.ClosingPeriod_ID = Null
      WHERE A.Period_ID = :Period_ID and
            A.DocQueue_ID = :DocQueue_ID;
  /* Danove zalohove listy vydane */
  if (DocumentType = '62') then
    UPDATE VATIssuedDInvoices A SET A.ClosingPeriod_ID = Null
      WHERE A.Period_ID = :Period_ID and
            A.DocQueue_ID = :DocQueue_ID;
  /* Dobropisy danovych zalohovych listu vydanych */
  if (DocumentType = '63') then
    UPDATE VATIssuedDCreditNotes A SET A.ClosingPeriod_ID = Null
      WHERE A.Period_ID = :Period_ID and
            A.DocQueue_ID = :DocQueue_ID;
  /* Danove zalohove listy prijate */
  if (DocumentType = '64') then
    UPDATE VATReceivedDInvoices A SET A.ClosingPeriod_ID = Null
      WHERE A.Period_ID = :Period_ID and
            A.DocQueue_ID = :DocQueue_ID;
  /* Dobropisy danovych zalohovych listu prijatych */
  if (DocumentType = '65') then
    UPDATE VATReceivedDCreditNotes A SET A.ClosingPeriod_ID = Null
      WHERE A.Period_ID = :Period_ID and
            A.DocQueue_ID = :DocQueue_ID;
END;

Generated by ABRA Software a.s. 27.10.2021 16:34:16