Jak pobrać plik xml z 1c. Generowanie pliku XML

Prosta wymiana danych między różnymi programami księgowymi jest jednym z kluczowych punktów ich rozpowszechnienia, w praktyce wystarczy załadować XML do 1C lub innego produktu. Co więcej, najczęściej można to zrobić bez konwersji: wszystkie bazy danych w pełni obsługują standard formatu. W praktyce istnieje wiele sposobów wykorzystania XML do przesyłania danych, wszystkie są zaimplementowane w 1C i kompatybilnych produktach.

Jak przesłać plik XML do bazy danych 1C?

Przesłane bazy danych i poszczególne dokumenty można przesyłać od użytkowników dowolnymi kanałami komunikacji – na nośnikach wymiennych, pocztą elektroniczną lub poprzez przechowywanie w chmurze. Format dobrze nadaje się do kompresji za pomocą archiwizatorów, co znacznie przyspiesza kopiowanie i oszczędza miejsce na dysku.

Ogólna procedura ładowania danych z pliku XML wygląda następująco:

    Zezwól na wyświetlenie punktu menu „Wszystkie funkcje”. Aby to zrobić, należy zaznaczyć odpowiednie pole w oknie „Opcje” (zakładka znajduje się w sekcji menu „Narzędzia”).

    W menu „Wszystkie funkcje” przyciskiem plus otwieramy listę opcji, w której wybieramy pozycję „Przetwarzanie”.

    Na proponowanej liście otwórz pozycję „Uniwersalna wymiana danych w formacie XML”.

Klikając przycisk „Wczytaj dane” zostaną one odczytane z pliku, zapisane do bazy danych i jednocześnie sprawdzone pod kątem poprawności. Jeżeli w dokumencie zostaną znalezione błędy, procedura zostanie zakończona konkretnym tekstem wskazującym przyczynę.

W jaki sposób pliki XML są używane w 1C?

Korzystając z tego samego przetwarzania, użytkownik może załadować wybraną listę danych lub całą bazę danych do formatu XML, tworząc w ten sposób ich kopię zapasową. Należy to zrobić przed wprowadzeniem poważnych zmian w globalnym module 1C, jeśli z jakiegoś powodu przetwarzanie zewnętrzne nie jest możliwe.

Format jest używany na platformie 1C: Enterprise 8 w następujących obszarach:

    Przesyłanie cenników, zamówień, drukowanych formularzy dokumentów.

    Wymiana danych z bankami, organami podatkowymi, funduszami pozabudżetowymi.

    Przeniesienie obliczeń płac z 1C: ZUP i innych „specjalistycznych” konfiguracji do „ogólnego” 1C: Księgowość 8.

Wszędzie stosowana jest ta sama implementacja przetwarzania uniwersalnego. Jeśli jego funkcje są nieliczne, uciekają się do opracowania własnych wersji tego modułu. Co więcej, nie ma potrzeby zmiany standardowych plików, wystarczy następnie podłączyć niezbędne przetwarzanie i uruchomić je do wyboru - w zależności od konkretnego zadania.

Jeśli firma wybrała odrębną metodę prowadzenia ksiąg rachunkowych i podatkowych, wówczas bardzo popularne stanie się przetwarzanie w celu przesyłania/pobierania danych finansowych w formacie XML. Za jego pomocą dane niezbędne do obliczenia podstawy opodatkowania są przenoszone do programu 1C: Podatnik lub podobnego oprogramowania. Dzięki temu, że pliki w tym formacie można łatwo edytować, korzystając z pakietu Microsoft Office, łatwo jest poprawić ich zawartość przed wysłaniem ich do urzędu skarbowego.

To samo tyczy się KUDiR, dziennika wystawionych lub otrzymanych faktur. Wszystko to przesyłane jest za pośrednictwem systemu VLSI++ i oprócz procesu edycji części tabelarycznej pliku XML, przesłanie w tym formacie jest konieczne w celu późniejszego załadowania do usługi i przekazania danych do Federalnej Służby Podatkowej.

Wymiana z taką konfiguracją jak 1C: Zarządzanie handlem jest często pożądana, ponieważ w biznesie służy do organizacji sprzedaży, rachunkowości zarządczej i księgowości w oparciu o 1C: Księgowość 8 działa autonomicznie, otrzymując jedynie dane podsumowujące o wszystkich przepływach towarów i fundusze pieniężne.

Jeśli łatwo jest ustawić przesyłanie zamówień czy cenników, bo łatwo jest zastosować „dowolny” format danych, to te same wyciągi bankowe trzeba zapisywać w formacie XML (co jest ogólnie przyjętym standardem).

Najczęściej wymiana odbywa się za pomocą programu Klient-Bank. Proces przesyłania wygląda następująco:

    Wyciąg generowany jest na okres wymagany przez użytkownika.

    W zależności od wersji programu kliknij przycisk „Eksportuj” lub „Eksportuj”.

    W oknie, które zostanie otwarte, wybierz żądany folder i nazwę pliku.

Po zakończeniu procedury dokument można przenieść na nośniku wymiennym lub przez Internet (e-mail, magazyn w chmurze z dostępem współdzielonym itp.). Jeśli chcesz załadować wyciąg do konfiguracji 1C, wybierz sekcję „Bank i kasa”, a następnie przejdź do dziennika „Wyciągi bankowe”.

Przed tabelaryczną częścią dokumentu (w prawym rogu) kliknij przycisk „Więcej”, po czym pojawi się lista funkcji, w których należy wybrać pozycję „Wymień z bankiem”. Zakładka „Pobierz wyciąg bankowy” umożliwia zaimportowanie danych dla określonej nazwy firmy lub konkretnego rachunku bankowego.

Po załadowaniu wyciągu do bazy danych 1C nadal będziesz musiał przetwarzać zlecenia płatnicze, dzieje się to ręcznie. Księgowy może zlecić opracowanie przetwarzania, które zautomatyzuje proces, ale tutaj będziesz musiał skontaktować się z kompetentnym programistą.

Format XML służy także do ładowania różnych klasyfikatorów (KLADR, OKOF, ENAOF). Jeśli nie ma ich w programie 1C, należy unikać ich ręcznego wypełniania, ponieważ łatwo jest popełnić błąd przy określaniu kodów. Warto raz skorzystać z pliku XML, pobierając klasyfikator z wiarygodnego źródła.

Może tego dokonać sam użytkownik lub zaproszony specjalista:

    W menu głównym wybierz sekcję „Katalog”.

    Kliknij przycisk „Ustawienia akcji”.

    W oknie, które zostanie otwarte, wskaż pozycję „Załaduj okof klasyfikator”, a następnie kliknij przycisk „Dodaj”.

    W wyświetlonej sekcji „Usługa” wybierz żądane polecenie i kliknij „OK”.

Wystarczy, że klikniesz przycisk „Otwórz i przeczytaj plik”, wybierz ten, którego potrzebujesz na dysku lub nośniku wymiennym i otwórz go odpowiednim kluczem. Standardowe klasyfikatory są automatycznie kopiowane na dysk twardy podczas instalacji platformy i konfiguracji 1C. Ponadto podczas aktualizacji tej lub innej wersji tworzone są foldery z numerem wersji, w których znajduje się bieżący plik spełniający aktualne wymagania. Wersja 7 7 posiada również możliwość przesyłania plików XML, jednak ta przestarzała platforma często wymaga specjalistycznej pomocy.

- dobrze znane strony internetowe, które są również analogiem XML ze słabymi kontrolami.

Obiekty XML Reader/Writer, FastInfoset, HTML rozszerzają możliwości odczytu plików tekstowych dzięki wbudowanemu przetwarzaniu znaczników.

Są one również używane w obiektach DOMBuilder/DOMRecord (patrz poniżej) jako źródła danych.

Pliki XML 1C zawierają informacje tekstowe, to znaczy są plikami tekstowymi. Obiekty 1C XML Reader i 1C Write XML to „dodatek”, który ułatwia pracę ze znacznikami XML w pliku 1C.

Obiekty ReadingFastInfoset 1C i WritingFastInfoset 1C, ReadingHTML 1C i WritingHTML 1C są całkowicie podobne do ReadingXML 1C i WritingXML 1C i służą do pracy w ten sam sposób z innymi formatami.

Plik XML 1C użyty w przykładach

Katalog>

Katalog>

Wartość tekstowaProps>
Katalog>
Konfiguracja>

Przykład 1. Odczyt pliku XML 1C do drzewa wartości przy użyciu Reading XML 1C

//otwórz plik XML 1C do odczytu za pomocą ReadingXML 1C
Plik = Nowy ReadXML();
Plik.OpenFile("D:\ConfigurationStructure.xml");

//przygotuj drzewo wartości
//każda gałąź XML może mieć nazwę, atrybuty i wartość
dzXML = NoweDrzewoWartości();
dzXML.Columns.Add("Nazwa");
dzXML.Columns.Add("Wartość");
dzXML.Columns.Add("Atrybuty");

//ponieważ ciąg XML może mieć kilka atrybutów, zapiszemy je w tabeli wartości
//każdy atrybut ma nazwę i wartość
tAttributes = Nowa tabela wartości();
tAttributes.Columns.Add("Nazwa");
tAttributes.Columns.Add("Wartość");

//poziom zagnieżdżenia pomoże nam zrozumieć, kiedy musimy dodać zagnieżdżoną gałąź, a kiedy musimy wrócić na wyższy poziom
Poziom zagnieżdżenia = 0;
//bieżąca linia jest linią drzewa, zmieni się wraz ze wzrostem zagnieżdżenia
CurrentRow = Niezdefiniowany;
//odczyt pliku XML 1C nie odbywa się linia po linii, ale zgodnie ze strukturą; po zakończeniu pliku odczyt zwróci FALSE
Podczas gdy File.Read() Pętla

// interesują nas trzy typy węzłów - początek elementu, tekst (wartość elementu) i koniec elementu (aby wrócić na najwyższy poziom)
Jeśli File.NodeType = XMLNodeType.ElementStart Wtedy

Poziom zagnieżdżenia = poziom zagnieżdżenia + 1;

//jeśli jest to pierwsza linia, to dodaj ją na samą górę drzewa i zapisz tylko nazwę
Jeśli CurrentRow = Niezdefiniowany, to
CurrentRow = dXML.Rows.Add();
CurrentLine.Name = Nazwa.Pliku;
Kontynuować;
W przeciwnym razie
//zagnieżdżone linie
CurrentRow = CurrentRow.Rows.Add();
CurrentLine.Name = Nazwa.Pliku; //zapisz nazwę

//czy ten element XML ma atrybuty?
Jeśli File.NumberAttributes() > 0 To
//jeśli tak, skopiuj przygotowaną pustą tabelę, aby zapisać atrybuty
tAttributesNode = tAttributes.Copy();
//przeglądaj liczbę atrybutów tego elementu
Dla konta = 0 według pliku.Number of Attributes()-1 Cycle
//dla każdego atrybutu zapamiętaj nazwę i wartość
Wiersz = tNodeAttributes.Add();
Line.Name = File.AttributeName(Sch);
Row.Value = File.AttributeValue(Ac);
Koniec cyklu;
//zapisz tabelę atrybutów elementu w bieżącym wierszu
CurrentRow.Attributes = tNodeAttributes;
koniecJeśli;
koniecJeśli;

ElseIf File.NodeType = XMLNodeType.EndElement Następnie
//na początku elementu zwiększamy poziom zagnieżdżenia, na końcu elementu zmniejszamy
Poziom zagnieżdżenia = Poziom zagnieżdżenia - 1;
//wraca bieżącą linię o jeden poziom wyżej
CurrentRow = CurrentRow.Parent;

ElseIf File.NodeType = XMLNodeType.Text Następnie
//jeśli element ma wartość, po prostu go zapisz
CurrentRow.Value = Plik.Wartość;

koniecJeśli;

Koniec cyklu;

Plik.Zamknij();

Przykład 2. Nagrywanie pliku XML 1C przy użyciu obiektu XML Record 1C

//utwórz plik Record XML 1C
Plik = NewWriteXML();
Plik.OpenFile("D:\ConfigurationStructure.xml", "UTF-8");
File.WriteElementStart("Konfiguracja");

//użyj metadanych do przeglądania wszystkich katalogów (więcej szczegółów znajdziesz w części „Praca z metadanymi”)
Dla każdego katalogu z cyklu Metadata.Directories

//WriteStartofElement - otwiera nową [podrzędną] gałąź
File.WriteElementStart("Katalog");
//WriteAttribute - zapisuje atrybut do wcześniej otwartej gałęzi
File.WriteAttribute("Nazwa", Katalog.Nazwa);
File.WriteAttribute("Synonym", Directory.Synonym);

//używając metadanych przeglądamy wszystkie szczegóły katalogu
Dla każdego Rekwizytu z cyklu Directory.Props




Koniec cyklu;

//użyj metadanych, aby przeglądać wszystkie tabelaryczne części katalogu
Dla każdego PM z Katalogu Części tabelaryczne cyklu
File.WriteElementStart("Część tabelaryczna");
File.WriteAttribute("Nazwa", PM.Name);
File.WriteAttribute("Synonim", PM.Synonym);

Za każde Rekwizyty z cyklu PM.Props
File.WriteElementStart("Rekwizyty");
File.WriteAttribute("Nazwa", Attributes.Name);
File.WriteAttribute("Synonim", Attributes.Synonym);
Plik.WriteEndElement();
Koniec cyklu;

Plik.WriteEndElement();
Koniec cyklu;

//WriteEndElement - „zamyka” gałąź wcześniej otwartą za pomocą WriteBeginElement
Plik.WriteEndElement();
Koniec cyklu;

Plik.WriteEndElement();
Plik.Zamknij();

Tryby pracy

Przetwarzanie UploadLoadDataXML82 realizuje 2 tryby pracy: Upload (tworzenie pliku uploadu z danymi określonymi przez użytkownika) oraz Load (odczyt pliku upload utworzonego przez tryb o tej samej nazwie i zapisanie zawartych w nim danych). Tryb ustawia się poprzez wybranie go w polu Tryb.

Przed uruchomieniem konkretnego trybu (kliknięcie przycisku Uruchom) należy określić nazwę przesyłanego pliku, wpisując ją ręcznie w polu „Nazwa pliku” lub za pomocą przycisku zaznaczając to pole i standardowe okno dialogowe wyboru pliku .

W trybie pobierania możliwa jest edycja wykorzystania sum podczas zapisywania rejestrów, co może mieć wpływ na prędkość pobierania. Przyciski „Wyłącz sumy” i „Włącz sumy” dostępne są po włączeniu flagi „Włącz możliwość edycji wykorzystania sum podczas ładowania danych” i służą do ręcznego sterowania trybem wykorzystania sum podczas ładowania danych. **Warunki stosowania przetwarzania**

Przetwarzania można dokonać jedynie w przypadku, gdy baza informacji, do której wprowadzono dane, i ta, w której dane zostały wczytane, są jednorodne (konfiguracje są identyczne, dane mogą się różnić) lub wszystkie przesłane obiekty są niemal całkowicie identyczne pod względem skład i rodzaje detali i części tabelarycznych, właściwości „wiodącego” obiektu metadanych itp. Należy zaznaczyć, że ze względu na te ograniczenia przetwarzanie ma na celu głównie wymianę pomiędzy jednorodnymi IS.

Format pliku do przesłania różni się od formatu pliku utworzonego podczas przesyłania zgodnie z planem wymiany w części nagłówkowej. Do przesyłania danych (elementów katalogów, zestawów rekordów rejestrów itp.) przetwarzanie wykorzystuje ten sam mechanizm serializacji XML, co przesyłanie zgodnie z planami wymiany, w tej części formaty plików są identyczne.

Określenie składu rozładunku

Przetwarzanie umożliwia zarówno pełne, jak i częściowe przesłanie danych bazy danych do pliku. Skład przesyłanych danych konfiguruje się w oknie dialogowym zaznaczając pola w kolumnie drzewa wyświetlającego obiekty metadanych, dla których można przesłać dane. Dodatkowa kolumna pól wyboru „W razie potrzeby” określa konieczność rozładunku obiektów tego typu „przez odniesienie”. Oznacza to, że jeśli checkbox zostanie zaznaczony tylko w kolumnie „W razie potrzeby”, to dane dla takiego obiektu nie zostaną pobrane w całości, a jedynie w takim zakresie, w jakim jest to konieczne do zachowania integralności referencyjnej w bazie danych, która załaduje pobrany plik plik.

Podczas otwierania formularza przetwarzanie ustawia znak rozładunku w odniesieniu do wszystkich obiektów, co gwarantuje integralność referencyjną rozładowanego fragmentu bazy informacji.

Po kliknięciu przycisku „Wykryj obiekty pobrane przez łącze” przetwarzanie analizuje, które łącza danych mogą znajdować się w obiektach, które mają ustawioną flagę pełnego pobierania i automatycznie wypełnia kolumnę flag wskazujących konieczność pobrania za pomocą łącza. Jeśli obiekt ma już ustawioną flagę pełnego rozładowania, flaga rozładowania przez odwołanie nie jest ustawiona.

Możliwe zastosowania

Wykorzystanie tego przetwarzania możliwe jest np. do tworzenia pełnej lub częściowej kopii zapasowej danych, wymiany danych pomiędzy bazami informacji, a także jako narzędzie pomocnicze przy przywracaniu problematycznych baz informacji.

Transfer danych jest bardzo ważnym procesem w każdym systemie księgowym, platforma 1C 8.3 i 8.2 nie jest wyjątkiem. Poniżej przyjrzymy się instrukcjom jak najprościej przenieść dane z jednego systemu do drugiego o podobnej konfiguracji (dla różnych konfiguracji można skorzystać z narzędzia dla programistów - lub).

Zanim konieczne będzie podjęcie jakichkolwiek działań, zmiany są nieodwracalne!

Najłatwiejszym i najwygodniejszym sposobem przesyłania danych z 1C 8.3 do 1C 8.3 Księgowość 3.0 jest użycie przetwarzania Przesyłanie i ładowanie danych w formacie XML (pobierz - dla 8.2 lub dla 1C 8.3 lub na ITS). Zabieg jest uniwersalny i nadaje się do dowolnej konfiguracji.

Nie będziemy wdawać się w szczegóły, spójrzmy na instrukcję krok po kroku migracji danych przy wykorzystaniu tego przetwarzania na przykładzie najprostszego przekazania towaru.

Przesyłanie danych do formatu XML

Na początek otwórzmy przetwarzanie w bazie źródłowej (skąd będziemy rozładowywać towar) i przyjrzyjmy się interfejsowi:

Uzyskaj 267 lekcji wideo na 1C za darmo:

Należy od razu wypełnić pole „Nazwa pliku” – wzdłuż tej ścieżki zostanie utworzony nowy plik z danymi, który prześlemy do bazy odbiorcy. Tuż poniżej, w sekcji tabelarycznej „Dane do przesłania” należy wybrać dane, które chcemy załadować z bazy.

Po wybraniu obiektu z lewej części tabeli można zastosować selekcję w prawej części tabeli:

W naszym przykładzie chcę wyładować wszystkie produkty o nazwie „Rake”.

Po zakończeniu wszystkich ustawień można przesłać dane. W tym celu należy kliknąć przycisk „Prześlij dane”:

Ładowanie danych z xml do 1s 8.3

Dane zostały wyładowane z bazy źródłowej, teraz należy je przenieść do bazy docelowej.

W tym celu należy rozpocząć przetwarzanie już w bazie danych, do której chcemy załadować dane, przejść do zakładki „Pobierz”, wybrać pobrany plik na dysku i kliknąć przycisk „Wczytaj dane”:

Ten przykład nadaje się tylko do przesyłania danych między identycznymi konfiguracjami na platformie 1C. Aby zrozumieć mechanizm wymiany dla programistów, napisaliśmy artykuł -.

Transfer danych jest bardzo ważnym procesem w każdym systemie księgowym, platforma 1C 8.3 i 8.2 nie jest wyjątkiem. Poniżej przyjrzymy się instrukcjom jak najprościej przenieść dane z jednego systemu do drugiego o podobnej konfiguracji (dla różnych konfiguracji można skorzystać z narzędzia dla programistów - lub).

Zanim konieczne będzie podjęcie jakichkolwiek działań, zmiany są nieodwracalne!

Najłatwiejszym i najwygodniejszym sposobem przesyłania danych z 1C 8.3 do 1C 8.3 Księgowość 3.0 jest użycie przetwarzania Przesyłanie i ładowanie danych w formacie XML (pobierz - dla 8.2 lub dla 1C 8.3 lub na ITS). Zabieg jest uniwersalny i nadaje się do dowolnej konfiguracji.

Nie będziemy wdawać się w szczegóły, spójrzmy na instrukcję krok po kroku migracji danych przy wykorzystaniu tego przetwarzania na przykładzie najprostszego przekazania towaru.

Przesyłanie danych do formatu XML

Na początek otwórzmy przetwarzanie w bazie źródłowej (skąd będziemy rozładowywać towar) i przyjrzyjmy się interfejsowi:

Uzyskaj 267 lekcji wideo na 1C za darmo:

Należy od razu wypełnić pole „Nazwa pliku” – wzdłuż tej ścieżki zostanie utworzony nowy plik z danymi, który prześlemy do bazy odbiorcy. Tuż poniżej, w sekcji tabelarycznej „Dane do przesłania” należy wybrać dane, które chcemy załadować z bazy.

Po wybraniu obiektu z lewej części tabeli można zastosować selekcję w prawej części tabeli:


W naszym przykładzie chcę wyładować wszystkie produkty o nazwie „Rake”.

Po zakończeniu wszystkich ustawień można przesłać dane. W tym celu należy kliknąć przycisk „Prześlij dane”:


Ładowanie danych z xml do 1s 8.3

Dane zostały wyładowane z bazy źródłowej, teraz należy je przenieść do bazy docelowej.

W tym celu należy rozpocząć przetwarzanie już w bazie danych, do której chcemy załadować dane, przejść do zakładki „Pobierz”, wybrać pobrany plik na dysku i kliknąć przycisk „Wczytaj dane”:


Ten przykład nadaje się tylko do przesyłania danych między identycznymi konfiguracjami na platformie 1C. Aby zrozumieć mechanizm wymiany dla programistów, napisaliśmy artykuł -.

Przenoszenie informacji pomiędzy bazami danych jest jednym z zadań ich obsługi i administrowania. W celu skutecznego wdrożenia przetwarzanie jest tworzone w zautomatyzowanych kompleksach 1C. Znacząco ułatwiają rutynową pracę, przyspieszają procesy wysyłania i pobierania informacji, a jednocześnie zapewniają kontrolę nad ich poprawnością. Wgranie z 1c do xml umożliwia utworzenie pliku z zawartością dowolnego skonfigurowanego obiektu konfiguracyjnego i wykorzystanie go w przypadku konieczności wgrania danych do identycznej konfiguracji.

Narzędzia do tworzenia plików do przesłania

Do eksportu informacji zawartych w bazach danych wykorzystuje się głównie format xml. Dla 1C opracowano wiele metod przetwarzania (na przykład UploadLoadDataxml82 epf), za pomocą których można wyprowadzać i ładować dane do pliku. W takim przypadku użytkownik musi otrzymać plik o określonej strukturze, która pozwala na załadowanie przechowywanych w nim informacji do natywnej bazy danych lub przeniesienie ich w inne miejsce. Podczas tworzenia uploadu należy przestrzegać następujących zasad:

  • Zapisz utworzone pliki do czasu całkowitego odzyskania i zakończenia procedur weryfikacji poprawności przesłanych informacji;
  • Jeśli używasz przetwarzania jako narzędzia do tworzenia kopii zapasowych, utwórz osobne podfoldery dla kopii danych i prowadź ich dziennik w celu szybkiego odzyskania.

Uniwersalne przetwarzanie „Ładowanie i ładowanie danych XML” dostarczane w programie obsługi użytkownika 1C, który można znaleźć na stronie internetowej lub dyskach ITS, jest doskonałym narzędziem do eksportowania i importowania informacji. Użytkownik komputera może wgrać zarówno całą bazę danych, jak i jej poszczególne obiekty, a oprócz samego eksportu wykonywane są różne operacje mające na celu sprawdzenie informacji, które pomagają pozbyć się błędów krytycznych w danych.Przetwarzanie przesłania 1c do xml działa w dwóch trybach:

  • Rozładunek. Tworzy plik zawierający obiekty stronicowalne zdefiniowane przez użytkownika;
  • Ładowanie. Odczytuje wcześniej wyeksportowany plik i zapisuje zawarte w nim informacje do bazy informacji.

Przetwarzanie umożliwia sprawdzenie obiektów pod kątem nieprawidłowych znaków, a także zawiera funkcję eksportowania informacji z ograniczeniami.

Przesyłanie można wykorzystać nie tylko podczas wymiany informacji między bazami danych 1C. Za jego pomocą możesz zapewnić integrację różnych kompleksów, na przykład 1C i systemu Parus. Wszechstronność formatu XML pozwala na tworzenie programów do przesyłania informacji dla niemal dowolnych banków informacji. Przetwarzanie, przesyłanie i pobieranie danych XML to najważniejsze narzędzie wymiany informacji.

Proces przesyłania danych doxml

Przyjrzyjmy się, jak przesłać plik 1c do pliku XML w trybie normalnym. Po pobraniu przetwarzającego pliku UploadLoadDataxml.epf i otwarciu go należy wykonać następujące kroki:

  • Wybierz obiekty do eksportu;
  • Skonfiguruj niezbędne filtry, na przykład według okresu;
  • Określ lokalizację pliku z informacjami o podsystemie dysku;
  • Rozpocznij rozładunek obiektów.


Należy pamiętać, że część nagłówkowa formatu przesyłanego pliku różni się od formatu pliku używanego podczas przesyłania zgodnie z planami wymiany.

xml

Plik xml jest ładowany do 1c do odbierającej bazy danych z konfiguracją identyczną z bazą źródłową. Przed załadowaniem XML 1c do 1c musisz otworzyć przetwarzanie w odbierającej bazie danych. Następnie należy podać ścieżkę do wcześniej wgranego pliku i pobrać dane klikając na przycisk „Wczytaj dane”.

W razie potrzeby aktywowane są checkboxy, które ładują dane w trybie wymiany do rozproszonej bazy danych i ignorują błędy pojawiające się podczas ładowania obiektów.


Następnie należy sprawdzić bazy danych i upewnić się, czy wszystkie elementy zostały poprawnie załadowane, aby ich nie zgubić, jeśli np. po załadowaniu obiektu wystąpi błąd w obsłudze zdarzeń.


Przetwarzanie to umożliwia wymianę danych między tymi samymi (identycznymi) konfiguracjami na platformie 1C 8.2 - Bukh, ZUP, UT, UPP i innymi, najważniejsze jest to, że konfiguracje są takie same!

Przetwarzanie zrzutów ekranu

(zdjęcie)

Tryby pracy

Przetwarzanie realizuje 2 tryby pracy: Upload (tworzenie pliku uploadu z danymi określonymi przez użytkownika) oraz Load (odczyt pliku uploadu utworzonego przez tryb o tej samej nazwie i zapisanie zawartych w nim danych). Tryb ustawia się poprzez wybranie go w polu Tryb.

Przed uruchomieniem określonego trybu (kliknięcie przycisku Uruchom) należy określić nazwę przesyłanego pliku, wpisując ją ręcznie w polu „Nazwa pliku” lub za pomocą przycisku zaznaczając to pole i standardowe okno dialogowe wyboru pliku .

W trybie pobierania możliwa jest edycja wykorzystania sum podczas zapisywania rejestrów, co może mieć wpływ na prędkość pobierania.

Przyciski „Wyłącz sumy” i „Włącz sumy” dostępne są po włączeniu flagi „Włącz możliwość edycji wykorzystania sum podczas ładowania danych” i służą do ręcznego sterowania trybem wykorzystania sum podczas ładowania danych.

Warunki możliwości zastosowania przetwarzania

Przetwarzania można dokonać jedynie w przypadku, gdy baza informacji, do której wprowadzono dane, i ta, w której dane zostały wczytane, są jednorodne (konfiguracje są identyczne, dane mogą się różnić) lub wszystkie przesłane obiekty są niemal całkowicie identyczne pod względem skład i rodzaje szczegółów i części tabeli, właściwości „wiodącego” obiektu metadanych itp. Należy zaznaczyć, że ze względu na te ograniczenia przetwarzanie ma na celu głównie wymianę pomiędzy jednorodnymi IS.

Format pliku do przesłania różni się od formatu pliku utworzonego podczas przesyłania zgodnie z planem wymiany w części nagłówkowej. Do przesyłania danych (elementów katalogów, zestawów rekordów rejestrów itp.) przetwarzanie wykorzystuje ten sam mechanizm serializacji XML, co przesyłanie zgodnie z planami wymiany, w tej części formaty plików są identyczne.

Określenie składu rozładunku

Przetwarzanie umożliwia zarówno pełne, jak i częściowe przesłanie danych bazy danych do pliku. Skład przesyłanych danych konfiguruje się w oknie dialogowym zaznaczając pola w kolumnie drzewa wyświetlającego obiekty metadanych, dla których można przesłać dane. Dodatkowa kolumna pól wyboru „W razie potrzeby” określa konieczność rozładunku obiektów tego typu „przez odniesienie”. Oznacza to, że jeśli checkbox zostanie zaznaczony tylko w kolumnie „W razie potrzeby”, to dane dla takiego obiektu nie zostaną pobrane w całości, a jedynie w takim zakresie, w jakim jest to konieczne do zachowania integralności referencyjnej w bazie danych, która załaduje pobrany plik plik.

Podczas otwierania formularza przetwarzanie ustawia znak rozładunku w odniesieniu do wszystkich obiektów, co gwarantuje integralność referencyjną rozładowanego fragmentu bazy informacji.

Po kliknięciu przycisku „Wykryj obiekty, które są zwalniane przez łącze”, przetwarzanie analizuje, jakie łącza danych mogą znajdować się w obiektach, które mają ustawiony atrybut pełnego rozładowania i automatycznie wypełnia kolumnę flag wskazujących konieczność rozładowania przez łącze. Jeśli obiekt ma już ustawioną flagę pełnego rozładowania, flaga rozładowania przez odwołanie nie jest ustawiona.

Możliwe zastosowania

Wykorzystanie tego przetwarzania możliwe jest np. do tworzenia pełnej lub częściowej kopii zapasowej danych, wymiany danych pomiędzy bazami informacji, a także jako narzędzie pomocnicze przy przywracaniu problematycznych baz informacji.

W organizacji księgowość można prowadzić nie tylko w rozwiązaniach na platformie 1C:Enterprise, ale także w innych systemach oprogramowania (Galaktika, Parus, SAP itp.). Rodzi to wyzwanie związane z integracją dwóch aplikacji.

Na przykład pewna aplikacja (nazwijmy ją „X”) musi przeczytać listę dokumentów konfiguracyjnych. Nie będziemy rozmawiać o praktycznych korzyściach rozwiązania takiego problemu, zaznaczę jedynie, że najwygodniejszym i uniwersalnym sposobem w takiej sytuacji byłoby przesłanie listy dokumentów w formacie XML.

Wymiana korzystająca z tego formatu jest uniwersalna, ponieważ większość aplikacji może z nim współpracować. Przyjrzyjmy się, jak przesłać listę dokumentów konfiguracyjnych do pliku XML z 1C:Enterprise.

Prześlij do XML

Przejdźmy więc do najważniejszej rzeczy. Musimy przejrzeć listę metadanych dokumentu i wygenerować listę w pliku XML. Poniższy zrzut ekranu przedstawia algorytm generowania pliku XML:

Funkcja CreateXML() Eksport // Pobierz nazwę pliku tymczasowegoŚcieżka = GetTemporaryFileName() ; // Zainicjuj klasę „Rekord XML”. Wpis = Nowy wpisXML; // Otwórz plik tymczasowy do zapisu - 8 ") ; // Zapisz deklarację pliku XML Nagrywać. ZapiszDeklaracjaXML() ; // Nagrywać. WriteElementStart(" DokumentyKonfiguracje") ; //Pierwszy element // Atrybut pierwszego elementu z datą utworzenia pliku Nagrywać. WriteAttribute(" wygenerowano ", Format(CurrentDate(), " DF = rrrr-MM- ddThh:mm:ss; DLF=DT")) ; // Napisz element dla każdego dokumentu konfiguracyjnego. W tekście umieszczamy nazwę dokumentu. Dla każdego dokumentu z metadanych. Rejestracja cyklu dokumentów. WriteElementStart("Dokument"); Nagrywać. WriteText(Nazwa Dokumentu) ; Nagrywać. WriteEndElement() ; Koniec cyklu; // Zakończ pisanie pierwszego elementu Nagrywać. WriteEndElement() ; Nagrywać. Zamknąć(); // Zamknij plik // Pobierz dane binarne pliku i umieść je w magazynie tymczasowym BinaryData = nowe BinaryData(Ścieżka) ; Adres = PlaceInTemporaryStorage(BinaryData, New UniqueIdentifier) ​​​​; Adres zwrotny; // Zwraca adres pliku do magazynu Funkcja końcowa

Każdy utworzony element musi zostać poprawnie ukończony. Po wykonaniu „WriteStartofElement()” należy wykonać metodę „WriteEndElement()”, w przeciwnym razie struktura pliku XML będzie nieprawidłowa.

Ogólny szablon tworzenia plików XML ma następującą kolejność:

// 1. Zainicjuj klasę „Rekord XML”. Wpis = Nowy wpisXML; // 2. Otwórz plik tymczasowy do nagrania Nagrywać. OpenFile(ścieżka, „UTF-8”); // 3. Napisz deklarację pliku XML Nagrywać. ZapiszDeklaracjaXML() ; // // 4. ++ Zapisz zawartość pliku XML Nagrywać. WriteElementStart("XMLElement"); Nagrywać. WriteEndElement() ; // -- Zapisz zawartość pliku XML // 5. Zamknij plik Nagrywać. Zamknąć();

Te pięć kroków umożliwia utworzenie prawie dowolnego pliku XML.

W naszym przykładzie wygenerowany plik jest konwertowany na dane binarne i zwracany do lokalizacji, w której wywoływana jest funkcja CreateXML. Plik ten można następnie zapisać w systemie plików.

Przykład przesłanego pliku możesz zobaczyć na zrzucie ekranu powyżej.

Aplikacja strony trzeciej

Jako przykład stworzyłem aplikację w .NET Framework, aby zademonstrować czytanie pliku XML w aplikacji innej firmy.

Program odczytuje utworzony plik i wyświetla dokumenty w formie listy:

Możesz spróbować sam, aplikację można pobrać korzystając z linku na końcu artykułu.

Wszechstronność

Format XML jest używany w większości konfiguracji do wymiany danych pomiędzy rozwiązaniami aplikacyjnymi na platformie 1C:Enterprise. Inną powszechnie stosowaną metodą komunikacji jest połączenie COM. XML pozwala na wymianę z niemal każdą aplikacją, dlatego zasługuje na miano uniwersalnego.

Pliki do pobrania:

Aplikacja do odczytu plików XML.

Przetwarzanie generacji pliku XML.

Kiedy przedsiębiorstwo stale wykorzystuje w swojej pracy jakiś pakiet oprogramowania, wówczas oczywiście zawsze pojawia się kwestia jego bieżącego wsparcia i administracji. Nie da się uniknąć zadań związanych z wymianą, przechowywaniem i przywracaniem danych. Przyjrzyjmy się, jak załadować lub rozładować dane z 1C w formacie XML, ponieważ jest to ważna procedura w tym temacie.

Są zbudowane w taki sposób, że podczas wgrywania można otrzymać plik XML, w którym zapisane zostaną niezbędne dla klienta dane. Jednocześnie równolegle z rejestracją monitorowana jest poprawność przesyłanych zapisów pod kątem błędów krytycznych.

Zatem załadowanie do pliku XML (import rekordów) z jednej bazy informacji i późniejsze załadowanie z XML do drugiej oznacza wymianę danych w formacie XML pomiędzy bazami danych.

Procedura ta, zwłaszcza przy dużej ilości informacji, pozwala zaoszczędzić dużo pracy ręcznej.

Import (plik wynikowy) można również wykorzystać jako archiwum do odzyskania w nieoczekiwanych sytuacjach (w przypadku utraty lub uszkodzenia).

Opracowano wiele takich narzędzi do przetwarzania i są one dostępne w Internecie. Odpowiedzialność za ich użycie spada na ramiona (i głowę) klienta.

Ale dla oficjalnych użytkowników Odeneski programiści stworzyli uniwersalny procesor „Prześlij/Załaduj dane XML”.

WAŻNY. Eksport do XML w 1C i dalsze ładowanie do XML z 1C jest dopuszczalne przy identycznych konfiguracjach - w przeciwnym razie zostanie uszkodzony.

Uniwersalny uchwyt

Kluczowe punkty dotyczące korzystania z uniwersalnego programisty:

  • Zapisuj importowane pliki do czasu zakończenia przesyłania rekordów i sprawdzenia ich poprawności;
  • W przypadku stosowania jako kopie zapasowe należy zachować ich zapis w celu uporządkowania wyszukiwania.

Jego działanie odbywa się w dwóch trybach: tworzenie pliku podczas zapisywania informacji oraz odczytywanie/zapisywanie podczas importu.

Dodatkowo użytkownik może ustawić dodatkowe ograniczenia zarówno przy eksporcie, jak i ładowaniu danych.

Wyodrębnianie rekordów

Dane możesz przesyłać zarówno po całej bazie, jak i wybiórczo – obiekt po obiekcie.

Po pobraniu, zainstalowaniu i otwarciu modułu obsługi następuje następująca sytuacja:

Ich wyboru dokonuje się w oknie dialogowym otwieranym po uruchomieniu. W tym celu zaznacz pola na liście wyświetlającej obiekty metadanych do pobrania;

  1. Skonfigurowano niezbędne filtry (na przykład według daty);
  2. Wybrano miejsce na dysku;
  3. Rozpoczyna się sama operacja.

Przesyłanie nagrań do odbiornika

Pierwszym krokiem do przyjęcia danych do bazy odbiorczej jest otwarcie znajdującego się w niej programu procesora.

Po określeniu ścieżki do pliku źródłowego i włączeniu flag ustawień procedury (jeśli jest taka potrzeba) można rozpocząć proces przyciskiem „Wczytaj dane”.


Teraz wiesz, jak ładować lub rozładowywać dane z 1C w formacie XML, aby zapisywać dane i wymieniać je między bazami danych.

Napiszcie w komentarzach o swoich doświadczeniach w tej kwestii.