Importowanie poleceń wpłaty zaliczki

W tym artykule opisano instrukcje dotyczące obsługi aplikacji Import danych w odniesieniu do poleceń wpłaty zaliczki. Instrukcje zawierają ogólne kroki postępowania, np. jakie szczególne aspekty należy uwzględnić. Przedstawiono również możliwe warunki wstępne oraz skutki. Opis aplikacji Import danych (m.in. opisy pól i przycisków) znajduje się w artykule Import danych.

Informacje ogólne

Import poleceń wpłaty zaliczki opiera się zasadniczo na aktualnym modelu danych zapisanym w bazie danych repozytorium. Polecenia wpłaty zaliczki obsługują podczas importu podzbiór atrybutów obsługiwanych podczas eksportu. Jeśli planowane jest korzystanie zarówno z importu, jak i eksportu, wówczas – w odróżnieniu od danych podstawowych – zaleca się zdefiniowanie co najmniej jednego osobnego filtra dla eksportu oraz co najmniej jednego osobnego filtra dla importu.

Relacje 1:1 w modelu danych opierają się z reguły na technicznym atrybucie GUID. W zależności od zastosowania podczas importu można użyć technicznego atrybutu GUID albo klucza biznesowego z obiektu docelowego (zwykle code lub number). Dla części obiektów biznesowych do przekształcenia klucza biznesowego na klucz techniczny wymagana jest organizacja (Organisation). Odpowiednia organizacja nie jest zwykle bezpośrednio dostępna w źródle importu, lecz jest określana poprzez kontekst dokumentu. Dodatkowe informacje znajdują się w rozdziale Przegląd: Obsługiwane atrybuty podczas importu.

Polecenie wpłaty zaliczki odwołuje się w bazie do tzw. obiektów biznesowych kodu skrótu. Są to logicznie powiązane grupy atrybutów, które dla wielu dokumentów są identyczne, dzięki czemu ich ponowne wykorzystanie pozwala oszczędzić miejsce w bazie danych i pamięci operacyjnej. Dzięki specjalnej konwersji obiekty biznesowe kodu skrótu są prezentowane dla eksportu i importu jako części.

Niektóre dane polecenia wpłaty zaliczki (np. wartości w walucie krajowej) nie są obsługiwane podczas importu.

Wskazówka

Jeśli nie ma pewności, jaki format pliku importu jest odpowiedni, należy postąpić w następujący sposób:

  • W aplikacji Polecenia wpłaty zaliczki należy utworzyć przykładowe polecenie wpłaty zaliczki.

  • Należy wyeksportować je przy użyciu filtra przeznaczonego do importu, w wymaganym formacie oraz z wymaganymi atrybutami.

  • Powstały plik przykładowy można wykorzystać jako szablon do przygotowania plików importu.

Podczas importu obowiązują te same reguły, co podczas edycji w aplikacji. Wartości atrybutów, których nie można przejąć w bieżącym kontekście, są ignorowane. W ustalaniu wartości domyślnych stosowana jest ta sama logika, dzięki czemu import i aplikacja zachowują się identycznie. Dotyczy to również kontroli poprawności.

Instrukcje: Import danych

  • Należy otworzyć aplikację Import danych.

  • Należy wyświetlić filtr (lub jeden z filtrów) dla obiektu biznesowego cisag.app.sales.prepayment.obj.PrepaymentRequest.

    • Zostaje wyświetlony filtr importu Polecenia wpłaty zaliczki.

    • W razie potrzeby można zdefiniować nowy filtr dla tego obiektu biznesowego.

  • Atrybuty filtra są już wybrane; w razie potrzeby można dostosować wybór.

  • Na standardowym pasku symboli należy nacisnąć przycisk [Importuj dane].

    • Zostaje otwarte okno dialogowe Import danych.

  • W oknie dialogowym Import danych można skonfigurować ustawienia pliku importu. Opis pól znajduje się w artykule Import danych.

  • Należy nacisnąć jeden z przycisków [W tle] lub [Natychmiast]

    • Import zostaje wykonany.

Informacje szczegółowe

Poniżej przedstawiono wskazówki dotyczące następujących tematów:

  • Utworzenie

  • Szczególne aspekty edycji istniejącego polecenia wpłaty zaliczki

  • Automatyczne zwolnienie po imporcie

  • Przejęcie danych historycznych

Utworzenie

Minimalnie wymagane atrybuty dla każdego obiektu polecenia wpłaty zaliczki:

  • Rodzaje poleceń wpłaty zaliczki: code

  • Odniesienie Vertriebsauftrag: orderAssignmentType = SALES_ORDER

  • Rodzaj zamówienia sprzedaży: Type.code

  • Zamówienie sprzedaży: number

Wymagane jest, aby zgodnie z rodzajem poleceń wpłaty zaliczki możliwe było przypisanie zamówienia.

Jeśli odniesienie (orderAssignmentType) z wartością zamówienie sprzedaży (SALES_ORDER) jest zdefiniowane w Rodzaje poleceń wpłaty zaliczki, wówczas podanie tej wartości nie jest wymagane.

Alternatywnie Polecenie wpłaty zaliczki może odnosić się do konkretnej pozycji zamówienia sprzedaży (SalesOrderDetail) – w takim przypadku odniesienie musi mieć wartość SALES_ORDER_DETAIL.

Jeśli nie występuje odniesienie do zamówienia sprzedaży ani do pozycji zamówienia sprzedaży, wówczas dodatkowo wymagana jest organizacja sprzedaży oraz odbiorca faktury, a także co najmniej jeden podział podatku, w którym określono kod podatkowy oraz – zależnie od rejestrowania kwoty zgodnie z rodzajem – podano wartość netto albo brutto.

Jeśli dla atrybutu Usuń wszystkie podziały podatku (removeAllTaxData) zostanie użyta wartość true, wówczas wszystkie ewentualnie automatycznie ustalone podziały podatku zostaną usunięte i można wskazać w imporcie dokładnie dane, które mają zostać użyte.

Opcjonalnie podczas tworzenia w imporcie można przekazać także numer (number). W takim przypadku numer nie jest pobierany ze schematu numeracji zgodnie z rodzajem. Należy przy tym zapewnić, aby numer nadany w imporcie nie kolidował z numerem nadawanym automatycznie.

Przykładowy minimalny plik XML z atrybutami biznesowymi oraz odniesieniem do zamówienia sprzedaży (dla którego organizacja sprzedaży, odbiorca faktury i podziały podatku wynikają z pozycji zamówienia nadal otwartych do dostawy) może mieć następującą zawartość:

<?xml version=”1.0″ encoding=”UTF-8″?><semiramis xmlns=”com.cisag.app.sales.prepayment.obj.PrepaymentRequest” xsi:schemaLocation=”com.cisag.app.sales.prepayment.obj.PrepaymentRequest PrepaymentRequest.xsd” created=”2019-11-15T13:05:35.453Z” locale=”en-US-XMLSchemaCompliant” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” nlsMode=”MULTI_LANGUAGE” dateTimeMode=”NORMALIZED”>

<PrepaymentRequest xmlns=”com.cisag.app.sales.prepayment.obj.PrepaymentRequest”>

<Type>

<code>100</code>

</Type>

<orderAssignmentType>SALES_ORDER</orderAssignmentType>

<SalesOrder>

<number>VA6626</number>

<Type>

<code>100</code>

</Type>

</SalesOrder>

</PrepaymentRequest>

</semiramis>

Pozostałe atrybuty w tym przykładzie otrzymują dane poprzez wartości domyślne zgodnie z podanym zamówieniem oraz danymi podstawowymi itd.

Szczególne aspekty edycji istniejącego polecenia wpłaty zaliczki

Podczas edycji istniejącego polecenia wpłaty zaliczki należy uwzględnić następujące informacje:

  • Podczas importu poleceń wpłaty zaliczki w środowiskach wielofirmowych oraz w środowiskach jednofirmowych z aktywnymi uprawnieniami do treści bezwzględnie wymagana jest organizacja sprzedaży. Podczas edycji istniejącego polecenia wpłaty zaliczki organizacja sprzedaży zawsze wynika z dokumentu zapisanego w bazie danych. Ewentualnie różna organizacja sprzedaży w źródle importu jest w takim przypadku ignorowana.

  • Do odnalezienia polecenia wpłaty zaliczki zapisanego w bazie danych wymagana jest albo identyfikacja techniczna (PrepaymentRequest:guid), albo identyfikacja biznesowa (Type [lub type] oraz number).

  • Dla podziałów podatku można wykorzystywać wszystkie możliwości importu, w tym w szczególności usuwanie. Również w tym przypadku do odnalezienia zapisanego podziału podatku wymagana jest identyfikacja techniczna (TaxData.taxCode) albo identyfikacja biznesowa (TaxData.TaxCode.code) kodu podatkowego.

  • Zmiany poprzez import są możliwe wyłącznie wtedy, gdy nie blokuje ich żadna kontrola.

Automatyczne zwolnienie po imporcie

Jeśli import został wykonany pomyślnie, edytowane polecenie wpłaty zaliczki może zostać automatycznie zwolnione po imporcie. Funkcjonalność jest szczególnie przydatna w połączeniu ze statusem otwarcia W opracowaniu (patrz rodzaj). Pozwala to zapobiec użyciu polecenia wpłaty zaliczki w dokumentach następczych, zanim import zostanie w pełni zakończony. W trakcie zwalniania polecenie wpłaty zaliczki ma status Nieważny, więc również na tym etapie nie może zostać użyte. Aby skorzystać z tej funkcjonalności, dla odpowiedniej instancji należy ustawić wirtualny atrybut bazowy autoRelease na wartość true.

Jeśli funkcja jest aktywna i nie występują inne błędy, w protokole komunikatów pojawia się dodatkowa informacja o automatycznym zwolnieniu polecenia wpłaty zaliczki. Jeśli nie było to możliwe, generowane jest ostrzeżenie.

Przejęcie danych historycznych

Polecenia wpłaty zaliczki nie obsługują przejęcia danych historycznych.

Przegląd: Obsługiwane atrybuty podczas importu

W tym rozdziale zestawiono wszystkie atrybuty poleceń wpłaty zaliczki obsługiwane podczas importu. W przypadku atrybutów kluczy obcych podano również nazwę relacji. Atrybuty mogą podlegać zmianom oraz mogą zostać rozszerzone w wyniku dostosowań. Dla części obiektów biznesowych do przekształcenia klucza biznesowego na klucz techniczny wymagana jest organizacja (Organisation). W listach atrybutów jest to oznaczone odpowiednimi adnotacjami w kolumnie Atrybut.

  • Organizacja sprzedaży (zawsze zgodnie z bazą)

  • Firma (zawsze zgodnie z bazą)

Atrybuty identyfikacyjne (Key Attribute) są dodatkowo oznaczone (K).

Dane podstawowe

Polecenie wpłaty zaliczki (PrepaymentRequest)
  • autoRelease – Automatyczne udostępnianie; wirtualny atrybut; rozdział: Automatyczne zwolnienie po imporcie

  • calculationDate – Data kalkulacji

  • currency (relacja: Currency) – Waluta

  • date – Data rejestracji

  • documentDate – Data dokumentu

  • guid (K) – Techniczny identyfikator

  • invoiceCustomerData – (rozdział Dane klienta) (invoiceCustomerData)

  • invoicingPartyData.careOf (relacja: invoicingPartyData.CareOfPartner) – Organizacja sprzedaży: Osoba kontaktowa

  • invoicingPartyData.careOfName – Organizacja sprzedaży: Osoba kontaktowa – Nazwa.

  • invoicingPartyData.partner (relacja: invoicingPartyData.Partner) – Organizacja sprzedaży

  • number (K) – Numer (identyfikator biznesowy)

  • orderAssignmentType – Odniesienie

  • orderHeader (relacja: SalesOrder) – Zamówienie sprzedaży

  • orderDetail (relacja: SalesOrderDetail) – Pozycja zamówienia sprzedaży

  • outputSettings – (rozdział Ustawienia wydruku) (outputSettings)

  • paymentTerms (Firma) (relacja: PaymentTerms) – Warunki płatności

  • prepaymentPercentage – Wskaźnik procentowy zleceń

  • removeAllTaxData – Usuń wszystkie podziały podatku

  • responsible (relacja: ResponsiblePartner) – Odpowiedzialny pracownik

  • salesRepresentatives[0..2] (relacja: SalesRepresentatives[0..2]) – Przedstawiciel 1 do 3

  • TaxData (relacja: TaxData) – (rozdział Steueraufteilungen) (TaxData)

  • taxRegister (relacja: TaxRegister) – Rejestr podatkowy

  • TextAssignments (relacja: TextAssignments) – (rozdział Teksty) (TextAssignments)

  • type (K) (relacja: Type) – Rodzaj (identyfikator biznesowy)

  • valuationDate – Data waluty

Dane klienta (invoiceCustomerData)

Dane klienta w różnych rolach są zapisane w bazie danych jako obiekt biznesowy kodu skrótu i są prezentowane w eksporcie oraz imporcie jako część. To samo dotyczy danych adresowych. Zgodnie z technicznymi nazwami atrybutów nadano następującą nazwę części:

invoiceCustomerData Odbiorca faktury

Poniższe atrybuty występują dla tej roli po jednym razie:

  • addressData.city – Adres – miejscowość

  • addressData.country (relacja: addressData.Country) – Adres – kraj

  • addressData.district – Adres – dzielnica

  • addressData.poBox – Adres – skrytka pocztowa

  • addressData.poBoxCity – Adres – skrytka pocztowa – miejscowość

  • addressData.poBoxPostalCode – Adres – skrytka pocztowa – kod pocztowy

  • addressData.postalCode – Adres – kod pocztowy

  • addressData.region (relacja: addressData.Region) – Adres – region

  • addressData.street – Adres – ulica

  • customer (relacja: CustomerPartner) – Klient

Wskazówka
W przypadku odniesienia do zamówienia klient (odbiorca faktury) jest jednoznacznie wyznaczany na podstawie tego zamówienia.
Wskazówka

  • name – Nazwa klienta

  • careOf (relacja: CareOfPartner) – Osoba kontaktowa

  • careOfName – Dane osoby kontaktowej

Ustawienia wydruku (outputSettings)

Ustawienia wydruku są zapisane w bazie danych jako obiekt biznesowy kodu skrótu i są prezentowane w eksporcie oraz imporcie jako Part.

  • prepaymentRequest.medium – Sposób wydania polecenia wpłaty zaliczki

  • prepaymentRequest.mediumAddress – Dane kontaktowe

Teksty (TextAssignments)
  • sequence – Numer

  • document – Dokument

  • type – Typ tekstu

  • code – Blok tekstu (opcjonalnie)

  • text – Teksty w zależności od języka (stosowane tylko, jeśli nie podano bloku tekstu; (tabela w rozdziale Tekst))

Tekst

  • language – Język

  • text – Tekst

  • contentType – Rodzaj treści

Poniższy przykład zawiera dwa teksty podstawowe. Tekst nagłówka odwołuje się do bloku tekstu TXT1, a drugi tekst zawiera swobodny tekst stopki dla języków de oraz en:

<?xml version=”1.0″ encoding=”UTF-8″?><semiramis xmlns=”com.cisag.app.sales.prepayment.obj.PrepaymentRequest” xsi:schemaLocation=”com.cisag.app.sales.prepayment.obj.PrepaymentRequest PrepaymentRequest.xsd” created=”2019-11-18T09:41:59.531Z” locale=”en-US-XMLSchemaCompliant” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” nlsMode=”MULTI_LANGUAGE” dateTimeMode=”NORMALIZED”>

<PrepaymentRequest xmlns=”com.cisag.app.sales.prepayment.obj.PrepaymentRequest”>

<orderAssignmentType>SALES_ORDER</orderAssignmentType>

<Type>

<code>100</code>

</Type>

<orderAssignmentType>SALES_ORDER</orderAssignmentType>

<SalesOrder>

<number>VA6626</number>

<Type>

<code>100</code>

</Type>

</SalesOrder>

<TextAssignments>

<sequence>10</sequence>

<document index=”0″>PREPAYMENT_REQUEST</document>

<type>HEADER</type>

<code>TXT1</code>

</TextAssignments>

<TextAssignments>

<sequence>20</sequence>

<document index=”0″>PREPAYMENT_REQUEST</document>

<type>FOOTER</type>

<code/>

<text>

<language>de</language>

<text>Dies ist ein Beispieltext.</text>

<contentType>text/plain</contentType>

</text>

<text>

<language>en</language>

<text>This is an example text.</text>

<contentType>text/plain</contentType>

</text>

</TextAssignments>

</PrepaymentRequest>

</semiramis>

W tekstach można stosować również różne formatowania. Jeśli potrzebne są przykłady konkretnych formatowań, zaleca się utworzenie dokumentu wzorcowego z wymaganymi formatowaniami tekstu i wyeksportowanie go.

Wskazówka
Podczas importu tekstów obowiązuje zwykle zasada: jeśli w pliku importu znajdują się teksty, wówczas ewentualne wartości domyślne z danych podstawowych partnerów itd. są ignorowane. Jeśli właściwość serwera com.cisag.app.general.order.bi.applyAllwaysTextDefaults ma wartość true, wówczas wartości domyślne są zawsze wyznaczane i łączone z ewentualnymi tekstami obecnymi w pliku importu. Należy przy tym uwzględnić, że numery wierszy tekstu muszą zostać dobrane odpowiednio, a w wyniku powinna powstać tylko jedna linia tekstu dla tekstu nagłówka i stopki.

Podział podatku (TaxData)
  • grossValue – Kwota brutto

    Wskazówka
    grossValue jest używane wyłącznie wtedy, gdy rejestrowanie kwoty zgodnie z Rodzaje poleceń wpłaty zaliczki jest ustawione na Brutto.

  • netValue – Kwota netto

    Wskazówka
    netValue jest używane wyłącznie wtedy, gdy rejestrowanie kwoty zgodnie z Rodzaje poleceń wpłaty zaliczki jest ustawione na Netto.

  • taxCode (K) (relacja: TaxCode) – Kod podatkowy

Czy ten artykuł był pomocny?