Przegląd tematu
Niniejsza dokumentacja opisuje procedurę obsługi aplikacji Import danych w odniesieniu do kontraktów zakupu. Procedury te zawierają ogólne kroki i specjalne funkcje, które należy wziąć pod uwagę podczas importowania danych. Dokumentacja zawiera również informacje o możliwych warunkach wstępnych i skutkach.
Opis aplikacji Import danych, który zawiera opisy pól i przycisków, można znaleźć w dokumentacji Import danych.
Informacje ogólne
Import kontraktu zakupu jest zasadniczo oparty na bieżącym modelu danych, który jest przechowywany w bazie danych repozytorium. W przypadku eksportu danych dostępnych jest więcej atrybutów niż w przypadku importu danych. Dlatego sensowne jest zdefiniowanie oddzielnych filtrów dla eksportu i importu.
Relacje 1:1 są zazwyczaj oparte na technicznym atrybucie GUID w modelu danych. W zależności od przypadku użycia, do importu można użyć technicznego atrybutu GUID lub klucza funkcjonalnego z obiektu docelowego (zwykle kodu lub numeru). W przypadku niektórych obiektów biznesowych wymagana jest organizacja do konwersji klucza biznesowego na klucz techniczny. Odpowiednia organizacja zwykle nie znajduje się bezpośrednio w źródle importu, ale jest określana za pośrednictwem kontekstu dokumentu. Więcej informacji na ten temat można znaleźć w rozdziale Przegląd: Atrybuty.
Obiekty biznesowe kodu skrótu są przywoływane zarówno w nagłówku, jak i w pozycji zamówienia zakupu. Są to technicznie powiązane grupy atrybutów, które są zawsze takie same dla wielu umów i których ponowne użycie oszczędza miejsce w bazie danych i pamięci głównej. Korzystając ze specjalnej konwersji, obiekty biznesowe kodu skrótu są reprezentowane jako części do eksportu lub importu.
Niektóre dane kontraktu zakupowego, takie jak wartości waluty lokalnej, status i wewnętrzne atrybuty pomocnicze nie mogą być importowane.
Jeśli nie ma pewności, który format jest odpowiedni dla pliku importu, należy wprowadzić przykład za pośrednictwem aplikacji Kontrakty zakupu i wyeksportować go przy użyciu filtra do importu w żądanym formacie z żądanymi atrybutami. Wynikowy plik przykładowy może zostać użyty jako szablon dla generowanych plików importu.
Podczas importowania obowiązują te same zasady, co podczas edycji za pośrednictwem aplikacji. Przykładowo, artykuł w zapisanym elemencie nie może być później zmieniany. Wartości atrybutów są ignorowane, jeśli nie można ich przyjąć w bieżącym kontekście. Ta sama logika jest stosowana przy określaniu wartości domyślnej, więc import i aplikacja zachowują się identycznie. To samo dotyczy kontroli.
Importowanie kontraktów zakupu
W celu zaimportowania kontraktów zakupowych należy:
- Otworzyć aplikację Import danych.
- Wyświetlić filtr dla obiektu biznesowego: cisag.app.purchasing.obj.PurchaseContract. Wynikiem tego działania jest otwarcie filtra.
- W razie potrzeby zduplikować lub utworzyć nowy filtr dla tego obiektu biznesowego.
- W razie potrzeby zmienić już wybrane atrybuty filtra.
- Nacisnąć przycisk [Importuj dane] na standardowym pasku narzędzi. W wyniku tego działania otworzy się okno dialogowe importu danych.
- W oknie dialogowym Import danych można wprowadzić ustawienia dla importowanego pliku. Opis pól można znaleźć w dokumentacji Import danych.
- Nacisnąć jeden z przycisków [W tle] lub [Natychmiast]. Import zostanie wykonany.
Tworzenie nowego kontraktu zakupu
Poniżej znajdują się atrybuty wymagane do importu bazy i pozycji, a także przykłady.
Wymagane atrybuty nagłówka
Minimalne wymagane atrybuty dla obiektu bazowego:
Opis atrybutu |
Atrybut |
Organizacja zakupowa (w systemach jednostanowiskowych z nieaktywnymi uprawnieniami merytorycznymi jest to automatycznie klient) |
invoiceRecipientData.Partner |
Rodzaj kontraktu zakupu |
Type |
Partner kontraktu zakupu |
supplierData.SupplierPartner |
Wymagane dla kontraktu typu Konsygnacja |
|
Ważne do |
expiryDate |
Typ powiadomienia o wycofaniu przesyłki |
consignmentWithdrawalNoticeType |
Opcjonalnie można również przenieść numer za pomocą importu. W takim przypadku numer określony za pomocą zakresu numerów zgodnie z typem jest ignorowany. Ponadto należy zastosować odpowiednie konwencje, aby upewnić się, że numer przypisany za pomocą importu nie pasuje do numeru, który został już przypisany lub ma zostać przypisany automatycznie w przyszłości.
W razie potrzeby można również określić listę dozwolonych organizacji w kluczu: OrganizationAssignments
Lub organizacja odwołująca kontrakty zakupu: OrganisationalUnit
Wymagane atrybuty pozycji
Minimalne wymagane atrybuty na obiekt pozycji:
Opis atrybutu |
Atrybut |
Artykuł |
Item |
Wymagane dla następujących typów umów:
|
|
Całkowita ilość |
totalQuantity |
Wymagane dla następujących typów umów:
|
|
Całkowita wartość |
values.grossValue.amount |
Wymagane dla następujących typów umów:
|
|
Ważne do |
expiryDate |
Wymagane dla następujących typów umów:
|
|
Obowiązuje od |
beginDate |
Obowiązuje do |
expiryDate |
Cena brutto |
grossPrice |
Opcjonalnie można również wprowadzić liczbę dla nowej pozycji.
Odpowiedni minimalny XML dla kontraktów typu Ilość/termin z atrybutami funkcjonalnymi i dwiema pozycjami ma na przykład następującą zawartość:
<?xml version=”1.0″ encoding=”UTF-8″?>
<semiramis xmlns=”com.cisag.app.purchasing.obj.PurchaseContract” xsi:schemaLocation=”com.cisag.app.purchasing.obj.PurchaseContract PurchaseContract.xsd” created=”2005-12-28T07:36:29.729Z” locale=”en-US-XMLSchemaCompliant” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>
<PurchaseContract xmlns=”com.cisag.app.purchasing.obj.PurchaseContract”>
<invoiceRecipientData>
<partner>00000</partner>
</invoiceRecipientData>
<Type>100</Type>
<supplierData>
<SupplierPartner>10020</SupplierPartner>
</supplierData>
<Details>
<Item>4711</Item>
<totalQuantity>
<amount>10</amount>
<Uom>St.</Uom>
</totalQuantity>
<expiryDate>2006-12-30T23:00:01.000Z</expiryDate>
</Details>
<Details>
<Item>4712</Item>
<totalQuantity>
<amount>20</amount>
<Uom>St.</Uom>
</totalQuantity>
<expiryDate>2006-12-30T23:00:01.000Z</expiryDate>
</Details>
</PurchaseContract>
</semiramis>
Analogiczny przykład dla kontraktów typu Wartość/termin, który zawiera również ceny i szczegóły dotyczące niedostarczenia i przekroczenia dostawy, ma następującą treść:
<?xml version=”1.0″ encoding=”UTF-8″?>
<semiramis xmlns=”com.cisag.app.purchasing.obj.PurchaseContract” xsi:schemaLocation=”com.cisag.app.purchasing.obj.PurchaseContract PurchaseContract.xsd” created=”2005-12-28T07:36:29.729Z” locale=”en-US-XMLSchemaCompliant” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>
<PurchaseContract xmlns=”com.cisag.app.purchasing.obj.PurchaseContract”>
<invoiceRecipientData>
<partner>00000</partner>
</invoiceRecipientData>
<Type>200</Type>
<supplierData>
<SupplierPartner>10020</SupplierPartner>
</supplierData>
<Details>
<Item>4711</Item>
<values>
<grossValue>
<amount>10000.000000</amount>
<Currency>EUR</Currency>
<grossValue>
</values>
<grossPrice>
<amount>10.000000</amount>
<Currency>EUR</Currency>
</grossPrice>
<expiryDate>2006-12-30T23:00:01.000Z</expiryDate>
<underDeliveryLimit>1.0000</underDeliveryLimit>
<overDeliveryLimit>2.0000</overDeliveryLimit>
</Details>
<Szczegóły>
<Item>4712</Item>
<values>
<grossValue>
<amount>20000.000000</amount>
<Currency>EUR</Currency>
<grossValue>
</values>
<grossPrice>
<amount>20.000000</amount>
<Currency>EUR</Currency>
</grossPrice>
<expiryDate>2006-12-30T23:00:01.000Z</expiryDate>
<underDeliveryLimit>3.0000</underDeliveryLimit>
<overDeliveryLimit>4.0000</overDeliveryLimit>
</Details>
</PurchaseContract>
</semiramis>
W przypadku typów Stała ilość i Stała wartość atrybut expiryDate jest ignorowany.
Pozostałe wymagane atrybuty są dodawane w tych przykładach przy użyciu wartości domyślnych zgodnie z danymi podstawowymi.
Można także zaimportować dodatkowe wartości i użyć atrybutów technicznych zamiast atrybutów funkcjonalnych. Listę atrybutów znaleźć można w rozdziale Przegląd: Atrybuty.
Funkcje specjalne podczas edycji kontraktu
Podczas edycji istniejącej umowy należy zwrócić uwagę na następujące kwestie: podczas importowania umów zakupu w systemach wielostanowiskowych i systemach jednostanowiskowych z aktywowanymi uprawnieniami merytorycznymi wymagana jest organizacja zakupu. Podczas edycji istniejącej umowy organizacja zakupu jest zawsze pobierana z dokumentu przechowywanego w bazie danych. Każda inna organizacja zakupu w źródle importu jest w tym przypadku ignorowana.
Aby znaleźć umowę zakupu przechowywaną w bazie danych, wymagana jest jej identyfikacja techniczna (PurchaseContract:guid) lub identyfikacja funkcjonalna (typ [lub typ] i numer).
Wszystkie opcje importu – w tym w szczególności usuwanie – mogą być używane dla organizacji odwoławczych. Do znalezienia zapisanego partnera wymagana jest tylko identyfikacja funkcjonalna (identyfikacja partnera).
Wszystkie opcje importu mogą być używane dla pozycji – w szczególności usuwanie. Również w tym przypadku do znalezienia zapisanej pozycji wymagana jest identyfikacja techniczna (PurchaseContractDetail:guid) lub identyfikacja funkcjonalna (numer).
Zmiany za pomocą importu są możliwe tylko wtedy, gdy żadna kontrola tego nie uniemożliwia.
Automatyczne zwolnienie po imporcie
Jeśli import został przeprowadzony pomyślnie, można automatycznie zwolnić edytowaną umowę zakupu po jej zaimportowaniu. Opcja ta jest szczególnie przydatna w połączeniu ze statusem otwarcia W opracowaniu. Zapobiega to wykorzystaniu w kolejnych dokumentach umowy zakupu, która nie została jeszcze w pełni zaimportowana. Podczas wydania umowa zakupu ma status Nieprawidłowe, więc nie można jej użyć również w tym kroku.
Aby skorzystać z tej funkcji, należy ustawić wirtualny atrybut bazowy autoRelease na true dla odpowiedniej instancji.
Jeśli ta funkcja zostanie aktywowana i nie wystąpią inne błędy, w dzienniku komunikatów pojawi się dodatkowy komunikat informacyjny informujący, że umowa zakupu została automatycznie zwolniona. Jeśli nie było to możliwe, pojawi się ostrzeżenie.
Wskazówki dotyczące importowania starszych danych
Jeśli użytkownik zamierza użyć importu do przeniesienia starszych danych, pomocne jest upewnienie się, że wszystkie dane podstawowe zostały poprawnie przeniesione. Pozwoli to uniknąć niepotrzebnego przetwarzania błędów dla umów.
Przegląd: Atrybuty
Atrybuty poszczególnych obiektów biznesowych, które są dostępne do importu, są wymienione poniżej. Odpowiednia nazwa relacji jest również uwzględniona dla atrybutów klucza obcego. Pola identyfikacyjne i obowiązkowe mogą ulec zmianie i mogą zostać rozszerzone poprzez dostosowanie.
W przypadku niektórych obiektów biznesowych do konwersji kluczy funkcjonalnych na klucze techniczne wymagana jest organizacja. Na listach atrybutów jest to oznaczone następującymi uwagami w kolumnie Atrybut.
- Organizacja zakupu (zawsze zgodnie z nagłówkiem)
- Firma (zawsze zgodnie z nagłówkiem)
Atrybuty identyfikacyjne (atrybuty kluczowe) są również oznaczone literą (K).
Dane podstawowe
Kontrakt zakupu (PurchaseContract)
Atrybut |
Relacja |
Objaśnienie |
autoRelease |
|
Automatyczne zwolnienie (atrybut wirtualny), więcej informacji w rozdziale: Automatyczne zwolnienie po imporcie |
beginDate |
|
Obowiązuje od Uwaga Tylko dla typu umowy Konsygnacja. |
classification1 (organizacja zakupu) |
Classification1 |
Klasyfikacja 1 |
classification2 (organizacja zakupu) |
Classification2 |
Klasyfikacja 2 |
classification3 (organizacja zakupu) |
Classification3 |
Klasyfikacja 3 |
classification4 (organizacja zakupu) |
Classification4 |
Klasyfikacja 4 |
classification5 (organizacja zakupu) |
Classification5 |
Klasyfikacja 5 |
confirmationRequired i confirmationRequiredUsed |
|
Wymagane potwierdzenie |
consignmentOrganisationAssignmentType |
|
Użycie przesyłki Uwaga Tylko dla umów typu Konsygnacja. |
consignmentWithdrawalNoticeType |
ConsignmentWithdrawalNoticeType |
Typ powiadomienia o wycofaniu przesyłki. Uwaga Tylko dla umów typu Konsygnacja. |
consignmentWithdrawalSummaryLevel |
|
Podsumowanie poszczególnych wydań. Uwaga Tylko dla umów typu Konsygnacja. |
date |
|
Data wejścia |
deliveryData |
|
Informacje znajdują się w rozdziale Dane dostawy (deliveryData) |
deliveryRecipientData.careOf |
deliveryRecipientData.CareOfPartner |
Osoba kontaktowa |
deliveryRecipient Data.careOfName |
|
Dane osoby kontaktowej |
deliverySupplierData |
|
Informacje znajdują się w rozdziale Dane dostawcy (supplierData, deliverySupplierData, invoiceSupplierData) |
expiryDate |
|
Ważne do Uwaga Tylko dla umów typu Konsygnacja. |
guid (K) |
|
Identyfikacja techniczna dla zmiany/usunięcia już zapisanych danych – jeśli jest znana. |
invoiceRecipientData.careOf |
invoiceRecipientData.CareOfPartner |
Osoba kontaktowa organizacji zakupu |
invoiceRecipientData.careOfName |
|
Dane osoby kontaktowej organizacji zakupu |
invoiceRecipientData.partner |
invoiceRecipientData.Partner |
Organizacja zakupu |
invoiceSupplierData |
|
Informacje znajdują się w rozdziale: Dane dostawcy (supplierData, deliverySupplierData, invoiceSupplierData) |
invoicingData |
|
Informacje znajdują się w rozdziale: Dane faktury (invoicingData) |
number (K) |
|
Numer (identyfikacja techniczna), opcjonalny w przypadku nowego utworzenia – w przeciwnym razie określany automatycznie. Obowiązkowe, jeśli guid nie został określony podczas zmiany/usuwania. |
orderDeliveryData |
|
Informacje znajdują się w rozdziale: Dane dostawy zamówienia (orderDeliveryData) |
|
OrganisationAssignments |
Informacje znajdują się w rozdziale: Wywoływanie organizacji (PurchaseContractOrganisationAssignment) |
outputSettings
|
|
Ustawienia wyjściowe
Uwaga Podatrybuty mogą być również importowane. |
responsible |
ResponsiblePartner |
Odpowiedzialny pracownik |
status |
|
Status ogólny (tylko Zwolnione, Zablokowane) Uwaga W przypadku istniejących pozycji umowy atrybut ten nie może zostać zmieniony przez import. Dane w pliku importu są ignorowane podczas importu. |
supplierContractData.salesContract |
|
Zewnętrzny numer dokumentu |
supplierContractData.date.value |
|
Data dokumentu zewnętrznego |
supplierData |
|
Informacje znajdują się w rozdziale: Dane dostawcy (supplierData, deliverySupplierData, invoiceSupplierData) |
|
TextAssignments |
Informacje znajdują się w rozdziale: Teksty (TextAssignments) |
type (K) |
Type |
Typ (identyfikacja techniczna) Obowiązkowe, jeśli identyfikator nie został określony podczas zmiany/usuwania. |
Organizacje wywołujące (PurchaseContractOrganisationAssignment)
Atrybut |
Relacja |
Objaśnienie |
organizationalUnit (K) |
OrganisationalUnit |
Organizacja wywołująca umowę zakupu (identyfikator funkcjonalny) |
Dane dostawcy (supplierData, deliverySupplierData, invoiceSupplierData)
Dane dostawcy w poniższych zastosowaniach są przechowywane w bazie danych jako obiekt biznesowy z kodem skrótu i są wyświetlane jako część do eksportu lub importu. To samo dotyczy danych adresowych.
Następujące nazwy części zostały przypisane analogicznie do nazw atrybutów technicznych:
- supplierData (Dostawca)
- deliverySupplierData (Partner dostawy)
- invoiceSupplierData (Wystawca faktury)
Następujące atrybuty istnieją zatem raz na użycie.
Atrybut |
Relacja |
Objaśnienie |
addressData.city |
|
Adres – miasto |
addressData.country |
addressData.Country |
Adres – kraj |
addressData.district |
|
Adres – dzielnica |
addressData.poBox |
|
Adres – skrytka pocztowa |
addressData.poBoxPostalCode |
|
Adres – kod pocztowy skrytki pocztowej |
addressData.postalCode |
|
Adres – kod pocztowy |
addressData.region |
addressData.Region |
Adres – region |
addressData.street |
|
Adres – ulica |
careOf |
CareOfPartner |
Osoba kontaktowa |
careOfName |
|
Dane osoby kontaktowej |
name |
|
Nazwa dostawcy |
supplier |
SupplierPartner |
Dostawca Uwaga W przypadku roli partnera Dostawca (supplierData) atrybut ten nie może zostać zmieniony przez import dla istniejących pozycji. Dane w pliku importu są ignorowane podczas importu. |
Dane dostawy (deliveryData)
Dane dostawy są przechowywane w bazie danych jako obiekt biznesowy z kodem skrótu i są reprezentowane jako część do eksportu lub importu.
Atrybut |
Relacja |
Objaśnienie |
deliveryRestriction |
|
Ograniczenie dostawy |
deliveryTerms |
DeliveryTerm |
Warunek dostawy |
deliveryTermsLocation |
|
Warunek dostawy (odniesienie do lokalizacji) |
shippingTerms |
ShippingTerms |
Termin dostawy |
Dane faktury (invoicingData)
Niektóre dane faktury są przechowywane w bazie danych jako obiekt biznesowy z kodem skrótu i są reprezentowane jako część do eksportu lub importu.
Atrybut |
Relacja |
Objaśnienie |
currency |
Currency |
Waluta Uwaga W przypadku istniejących pozycji, atrybut ten nie może zostać zmieniony przez import. Dane w pliku importu są ignorowane podczas importu. |
paymentMethod (company) |
PaymentMethod |
Metoda płatności |
paymentTerms (company) |
PaymentTerms |
Termin płatności Uwaga Ten atrybut nie może być zmieniony przez import dla istniejących pozycji. Dane w pliku importu są ignorowane podczas importu. |
Dane dostawy zamówienia (orderDeliveryData)
Dane dostawy zamówienia są przechowywane w bazie danych jako obiekt biznesowy z kodem skrótu i są reprezentowane jako część do eksportu lub importu.
Atrybut |
Relacja |
Objaśnienie |
carrier |
Carrier |
Spedytor |
storageArea.warehouse |
|
Miejsce przechowywania (kod) |
Teksty (TextAssignments)
Atrybut |
Relacja |
Objaśnienie |
code |
|
Moduł tekstowy (opcjonalnie) |
document |
|
Dokument |
sequence |
|
Numer |
text |
|
Tekst zdefiniowany dla języka (używany tylko wtedy, gdy nie określono modułu tekstowego) |
type |
|
Rodzaj tekstu |
tekst
Atrybut |
Relacja |
Objaśnienie |
contentType |
|
Typ zawartości |
language |
|
Język |
text |
|
Tekst |
<?xml version=”1.0″ encoding=”UTF-8″?>
<semiramis xmlns=”com.cisag.app.purchasing.obj.PurchaseContract” xsi:schemaLocation=”com.cisag.app.purchasing.obj.PurchaseContract PurchaseContract.xsd” created=”2005-12-28T07:36:29.729Z” locale=”en-US-XMLSchemaCompliant” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>
<PurchaseContract xmlns=”com.cisag.app.purchasing.obj.PurchaseContract”>
<invoiceRecipientData>
<partner>00000</partner>
</invoiceRecipientData>
<Type>100</Type>
<supplierData>
<SupplierPartner>10020</SupplierPartner>
</SupplierData>
<TextAssignments>
<code>TXT1</code>
<sequence>10</sequence>
<document index=”0″>PURCHASE_CONTRACT</document>
<type>HEADER</type>
</TextAssignments>
<TextAssignments>
<code></code>
<sequence>20</sequence>
<document index=”0″>PURCHASE_CONTRACT</document>
<type>FOOTER</type>
<text>
<language>pl</language>
<text>To jest przykładowy tekst</text>.
<contentType>text/plain</contentType>.
</text>
<text>
<language>en</language>
<text>To jest przykładowy tekst</text>.
<contentType>text/plain</contentType>
</text>
</TextAssignments>
</PurchaseContract>
</semiramis>
Możliwe jest także użycie różnych opcji formatowania tekstów. Jeśli potrzebne są przykłady określonego formatowania, najlepiej jest utworzyć przykładowy dokument z żądanym formatowaniem tekstu i wyeksportować go.
Dane artykułu: Pozycje zamówienia (PurchaseContractDetail)
Atrybut |
Relacja |
Objaśnienie |
beginDate |
|
Ważne od Uwaga Tylko dla umów typu Konsygnacja. |
deliveryRecipientData.careOf |
deliveryRecipientData.CareOfPartner |
Osoba kontaktowa odbiorcy dostawy |
deliveryRecipientData.careOfName |
|
Dane osoby kontaktowej odbiorcy dostawy |
ean |
|
Europejski numer artykułu (EAN) Więcej informacji można znaleźć w dokumentacji: Importowanie pozycji dokumentu przy użyciu EAN |
expiryDate |
|
Ważne do Uwaga Dla kontraktów terminowych i typu kontraktu Konsygnacja. |
grossPrice
|
Currency |
Cena brutto:
|
guid (K) |
|
Identyfikacja techniczna do modyfikacji/usunięcia już zapisanych danych – jeśli jest znana. |
item |
Item |
Artykuł |
number (K) |
|
Numer artykułu (identyfikacja techniczna), opcjonalny w przypadku nowego utworzenia – w przeciwnym razie określany automatycznie. Obowiązkowe, jeśli identyfikator nie został określony podczas zmiany/usuwania. |
overDeliveryLimit |
|
Limit dostawy |
priceDimension |
|
Wymiar ceny |
priceUom |
PriceUom |
Jednostka ceny |
reference |
|
Odniesienie |
selfBilling |
|
Procedura noty kredytowej |
status |
|
Status ogólny (tylko Zwolnione, Zablokowane) |
storageArea.warehouse |
|
Miejsce przechowywania (kod) |
supplierItemNumber |
|
Numer pozycji dostawcy. Więcej informacji można znaleźć w dokumentacji: Importowanie pozycji dokumentu przy użyciu EAN |
|
TextAssignments |
Informacje znajdują się w rozdziale Teksty (TextAssignments) |
totalQuantity
|
Uom |
Całkowita ilość (dla umów ilościowych)
|
underDeliveryLimit |
|
Niepełna dostawa |
uomObligation |
|
Zobowiązanie jednostkowe |
uomObligationOrigin |
|
Pochodzenie jednostkowego zobowiązania |
values.grossValue |
|
Wartość całkowita (dla kontraktów wartościowych) |