Automatyczna wymiana danych za pomocą przetwarzania „Universal XML Data Exchange”, bez zmiany konfiguracji. Uniwersalna wymiana danych w formacie XML

Podczas utrzymywania kilku działających baz danych 1C czasami zachodzi potrzeba wymiany danych między nimi. Istnieją 2 sposoby przesyłania danych:

  1. Przesyłanie danych z wykorzystaniem zasad wymiany i przetwarzania „Wymiana Dane XML" Reguły wymiany są tworzone przy użyciu konfiguracji 1C: Konwersja danych.
  2. Przesyłanie danych pomiędzy podobnymi bazami informacji za pomocą przetwarzania „Przesyłanie i ładowanie danych XML”.

Rozważmy drugą opcję, tj. przesyłanie i ładowanie danych z/do konfiguracji zawierających te same (identyczne) obiekty, których potrzebujemy. W tym celu skorzystamy z zewnętrznego przetwarzania „Przesyłanie i ładowanie danych XML”, z którego można skorzystać.

Warunek skorzystania z tego przetwarzania jest następujący: Baza informacji, z której pobierane są dane, musi zawierać te same obiekty i mieć takie same dane (nazwę i typ danych), jak baza danych, do której dane są ładowane.

Rozważmy przykład przesyłania danych przy użyciu tego przetwarzania. Załóżmy, że musisz przesłać dokumenty „Przychodzące zlecenie płatnicze” i „Wychodzące zlecenie płatnicze”. Rozwiązanie tego problemu będzie następujące.

Otwieramy zewnętrzne przetwarzanie „Przesyłanie i ładowanie danych XML” poprzez menu główne: Plik? Otwórz... W zakładce „Prześlij” wskaż Plik XML, w którym zapiszemy dane.

Następnie musisz określić okres, przez który będziemy usuwać obiekty danych z bazy danych 1C i same obiekty. Dokumenty potrzebne do wgrania zaznaczamy haczykiem w polu struktury obiektu konfiguracyjnego w kolumnie „Dane do wgrania”. Jeśli przesłane dokumenty zawierają linki do elementów katalogu, których nie ma w innej konfiguracji, warto zaznaczyć pola w kolumnie „W razie potrzeby”, aby te elementy również zostały przesłane wraz z dokumentami.

Teraz dalej ten krok Czy musisz zdecydować, czy załadować swoje ruchy wzdłuż rejestrów wraz z dokumentami, czy też przenieść te dokumenty do innej bazy danych? Aby ponownie opublikować przesłane dokumenty w innej bazie danych, możesz skorzystać z przetwarzania „ Przetwarzanie wsadowe podręczniki i dokumenty.” Jeżeli algorytmy przeprowadzane są w data informacyjne bazy danych różnią się w jakiś sposób, to checkbox obok „Prześlij wszystkie swoje ruchy wraz z dokumentem” nie powinien być zaznaczany.

To wszystko, konfiguracja przesyłania została zakończona, tutaj wszystko jest proste! Kliknij przycisk „Prześlij dane” i poczekaj, aż dane zostaną zapisane w pliku XML. W przypadku bardziej skomplikowanych rozładunków można określić wybór dla nieobciążonych obiektów nie tylko według okresu.

Po rozładowaniu przejdź do drugiej bazy danych 1C i otwórz tam to samo przetwarzanie. Przejdź do zakładki „Pobierz” i wskaż tutaj ten sam plik XML, do którego przesłaliśmy dane.

Na tej karcie zaznacz pole „Kontynuuj ładowanie obiektów, jeśli wystąpi błąd” i kliknij przycisk „Wczytaj dane”. Nie bierzemy pod uwagę innych funkcji, np. wykorzystania sum, choć funkcja ta może znacznie przyspieszyć ładowanie obiektów (zapisy według rejestrów).

Do czego jest potrzebne automatyczna wymiana danych, bez dokonywania zmian w konfiguracji:
1) Przetwarzanie „Powszechnej wymiany danych w formacie XML" , który jest zawarty w większości standardowych konfiguracji. Jeśli go tam nie ma, łatwo go znaleźć na dysku ITS lub w Internecie. W konfiguracji nazywa się to „Universal XML Data Exchange”
2) Zasady wymiany danych. Utworzono przy użyciu „konwersji danych”. Praca, którą będziesz musiał opanować. Istnieją również kursy wideo i pomoc naukowa. Na przykład: http://programmist1s.ru/wp-content/uploads/2013/06/Konvertatsiya_dannyih._Metodika_rabotyi_i_primeryi.pdf
3) Przetwarzanie zewnętrzne, zawierający procedury załadunku/rozładunku. Zacznijmy go tworzyć:
W module obiektowym tworzone jest przetwarzanie zewnętrzne, które będzie zawierało poniższy tekst (zastąp swoje dane bazami danych i użytkownikami). Wskazane jest utworzenie osobnego użytkownika z pełne prawa do wymiany danych. Nazwijmy przetwarzanie na przykład „Data Exchange.epf”.

Jeśli LaunchParameter = „Prześlij”, wówczas Processing=Processing.UniversalXMLDataExchange.Create(); //Ustaw parametry niezbędne do przesłania (opcjonalnie do edycji) Processing.ExchangeMode="Upload"; Processing.LoadDataInExchangeMode=True; Processing.WriteRegistersRecordSets = True; Processing.RememberLoadedObjects=True; Processing.UseSelectionByDateForAllObjects=True; Przetwarzanie.UploadOnlyAllowed=True; //!Ustaw parametry niezbędne do przesyłania //Te parametry muszą zostać uzupełnione OBOWIĄZKOWE //Ustaw ograniczenia dotyczące przesyłania według dat obiektów Processing.StartDate = CurrentDate() - 60*60*24*2; Processing.EndDate = "00010101"; //Jeśli chcemy przesłać dane do pliku, ustaw wartość False. Jeśli True, zostaną one przesłane do odbierającej bazy danych. Processing.DirectReadingVIBReceiver=True; //Jeśli bazą danych odbierającą przesłane dane jest serwer, wówczas False. Jeśli plik - True Processing.InformationBaseForConnectionType=True; //! Wymagane parametry uzupełniony //Jeśli przesyłamy dane do pliku If Not Processing.DirectReadingVIBReceiver then Processing.ExchangeFileName = "C:\Inbox\OlegA\Conversion\upload.xml"; //Jeśli przesyłamy dane do bazy danych Inaczej Processing.PasswordInformationBaseForConnection="Admin"; Processing.ConnectionInfoBaseUser="supercool"; Processing.AuthenticationWindowsInformationBaseForConnection=False; //Jeśli odbiorcą danych jest serwer. If Processing.ConnectionInformationBaseType = False then Processing.ConnectionInformationBaseServerName="MainServ"; Processing.InformationBaseNameOnServerForConnection="Buhia"; //Jeśli odbiorcą danych jest plikowa baza danych, w przeciwnym razie Processing.InformationBasePlatformVersionForConnection="V82"; Processing.InformationBaseDirectoryForConnection="C:\Inbox\OlegA\Clients\Zeus BP20\Zeus BP20"; koniecJeśli; koniecJeśli; //Działania przy rejestracji przy rozładunku zgodnie z planami wymiany Processing.RegistrationDeletionTypeofChangesForExchangeNodesAfterUpload=0; // 0 - nie wyrejestrowuj, // 1 - wyrejestruj Processing.LoadExchangeRules(); //JEŚLI POTRZEBUJESZ WGRAĆ ZGODNIE Z PLANAMI WYMIANY, WTEDY WŁĄCZ TEN BLOK I PRZEŚLIJ WŁASNY WĘZEŁ PLANU WYMIANY //Dla każdej strony z Processing.UploadRulesTable.Lines Cycle //Page.Enable=1; // Dla każdej strony 1 z pętli PageLine // Line1.Enable=1; // Page1.LinkToExchangeNode=ExchangePlans.Full.FindByCode("BP20"); //Koniec cyklu; //Koniec cyklu; Przetwarzanie. Wykonaj przesyłanie (); System zamykania (fałsz); ElseIf LaunchParameter = „Załaduj” Następnie ExchangeProcessing = Processing.UniversalXMLDataExchange.Create(); ExchangeProcessing.ExchangeFileName = "C:\Inbox\OlegA\Upload.xml"; ExchangeProcessing.ExchangeMode = "Ładowanie"; ExchangeProcessing.OpenDownloadFile(True); ProcessExchange.ArchiveFile = Fałsz; ProcessExchange.PerformLoad(); ExchangeProcessing = Niezdefiniowany; System zamykania (fałsz); koniecJeśli;

4) Przesyłanie pliku Bat, który uruchomi 1C i przetwarzanie zewnętrzne z parametrem uruchamiania pod użytkownikiem, który jest przeznaczony do wymiany danych. Plik trzeba utworzyć np. w notatniku++ z kodowaniem OEM (MS-Dos), inaczej nie zadziała. Nazwijmy plik na przykład „BatVygruz.bat”. Tekst będzie następujący:

Jeśli baza danych jest plikiem:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /F"C:\Inbox\KBF\1Cv8_Base_8.1\Zeus 83 BP3\Zeus 83 BP3" /N"Robot wymiany danych" /P "pass" /DisableStartupMessages /RunModeManagedApplication /Execute"C:\Inbox\OlegA\DataExchange.epf" /C"Prześlij"
Wyjaśnienia:

b) C:\Inbox\KBF\1Cv8_Base_8.1\Zeus 83 BP3\Zeus 83 BP3 - Twoja ścieżka do bazy plików, z której będziemy przesyłać dane
c) Robot wymiany danych - nazwa użytkownika, pod którą 1C uruchamia się w celu wymiany danych
d) pass - hasło użytkownika
e) /DisableStartupMessages - zamknij wyskakujące okna podczas uruchamiania 1C
e) /RunModeOrdinaryApplication - uruchom w Tryb normalny gruby klient
g) C:\Inbox\OlegA\Data Exchange.epf - ścieżka do naszego przetwarzania, które rozpocznie się przy uruchomieniu
h) Prześlij - przekazujemy parametr uruchomienia 1C, mówi nam, że musimy przesłać dane

Jeśli baza danych jest oparta na serwerze:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /S"Server1C/DataBase" /N"Data Exchange Robot" /P"pass" /DisableStartupMessages /RunModeManagedApplication /Execute"C:\Inbox\ Oleg\ Data Exchange.epf" /C "Prześlij"
Wyjaśnienia:
a) C:\Program Files (x86)\1cv82\common\1cestart.exe - Twoja ścieżka do startera 1C
b) Server1C/DataBase – Twój serwer, na którym znajduje się baza danych oraz nazwa samej bazy danych, z której pobieramy dane.
Pozostałe parametry są podobne do wersji pliku bat

5) Pobieranie pliku Bat (jeśli to konieczne). Jeśli zdecydujesz się na przesłanie danych do pliku, a nie bezpośrednio do bazy danych. Wtedy też będziemy potrzebować tego przedmiotu (zwykle koniecznego).
kreacja plik bata upload jest podobny do uploadu pliku, różni się tylko parametrem launch, zamiast „Upload” wstawiamy „Pobierz”

6) Ustaw harmonogram uruchamianiaładowanie/przesyłanie naszych plików Bat na serwer. W tym celu należy przejść do panelu administracyjnego na serwerze i w harmonogramie zadań utworzyć nowe zadanie polegające na uruchamianiu pobierania pliku codziennie o godzinie 23 oraz zadanie pobierania określające plik pobierania Bat (jeśli konieczne) na przykład o godzinie 04:00.

Dość często w pracy dużych przedsiębiorstw i sieci handlowych istnieje potrzeba wymiany danych pomiędzy bazami danych. Każdy programista i administrator rozwiązuje ten problem inaczej. Niektórzy zapisują przesyłanie i pobieranie za pośrednictwem plików tabeli pośredniej, inni korzystają z tego trybu Połączenia COM aby połączyć się z bazą źródłową. Jednak w Ostatnio Własny mechanizm 1C o nazwie „Uniwersalna wymiana danych w formacie XML” zyskuje coraz większą popularność.

Wygląd przetwarzania

W interfejsie Pełnym możesz otworzyć przetwarzanie w zakładce Usługa->Inne wymiany danych->Uniwersalna wymiana danych w formacie XML.

Formularz przetwarzania (rys. 1) zawiera cztery zakładki:

  • Dodatkowe ustawienia;
  • Usuwanie danych.
  • Interfejs każdej z zakładek jest mocno obciążony elementami i dlatego wymaga osobnego rozważenia.

    Przesyłanie danych

    Na samej górze zakładki znajduje się pole wyboru pliku reguł wymiany. W przypadku niestandardowych baz danych i giełd będziesz musiał samodzielnie utworzyć plik wymiany.

    NA następna linia Formularz zawiera dwa przełączniki:

    1. Przesyłanie do pliku wymiany (ryc. 2);
    2. Podłączanie i przesyłanie danych do bezpieczeństwa informacji (rys. 3).

    Jak widać na powyższych zdjęciach, różni się to w zależności od przełącznika. wygląd formy. Jeżeli wybrana zostanie opcja udostępniania pliku, użytkownik zostanie poproszony o wybranie lokalizacji pliku, do którego zostanie przesłany oraz możliwości jego skompresowania w celu zaoszczędzenia miejsca i zabezpieczenia hasłem.

    Opcja bezpośredniego połączenia z bazą odbiorczą obsługuje zarówno tryb pracy plikowy, jak i klient-serwer. W takim przypadku konieczne będzie podanie adresu bazy danych oraz wypełnienie pól „Użytkownik” i „Hasło”. Przed rozpoczęciem wymiany danych zaleca się przetestowanie połączenia.

    Część tabelaryczna znajdujący się poniżej pozwala skonfigurować selekcje i inne parametry rozładunku.

    Do debugowania algorytmów i poprawiania błędów można wykorzystać mechanizm wbudowany w przetwarzanie wymiany. Aktywuje się go poprzez zaznaczenie odpowiedniego checkboxa na dole formularza. Kliknięcie przycisku „Ustawienia debugowania…” powoduje wyświetlenie okna (rys. 4).

    Ryc.4

    Osobliwość tego formularza znajduje się informacyjny arkusz pomocy po lewej stronie układu, który opisuje każdy z trzech możliwe tryby debugowanie Jako plik przetwarzanie zewnętrzne Z modułem można używać dowolnego pliku w formacie epf.

    Kliknięcie przycisku „Zakończ” powoduje sprawdzenie poprawności i kompletności wprowadzonych danych.

    W odróżnieniu od „Prześlij” zakładka ta (rys. 5) nie posiada części tabelarycznej, lecz znajduje się w niej znacznie więcej pól wyboru, które pozwalają dostosować parametry rejestrowania nowych i zmienionych obiektów.

    Ryc.5

    Przede wszystkim musisz wybrać plik, który będzie służył jako źródło informacji. Można to zrobić w polu wejściowym „Nazwa pliku do przesłania”. Jeżeli dane zostały przesłane do archiwum chronionego hasłem, należy je wpisać w odpowiednim polu.

    Odpowiednie pola wyboru pozwalają skonfigurować:

    • Transakcja podczas zapisywania obiektów (czasami przyspiesza to proces);
    • Ładowanie danych w trybie wymiany (w tym przypadku wszystkie sprawdzenia platformy, za wyjątkiem sprawdzania podczas wysyłania dokumentów, zostaną zignorowane podczas rejestracji);
    • Nadpisywanie zmienionych elementów;
    • Ustawianie znacznika usunięcia dla pobranych elementów;
    • Tryb zapisu nowych danych do rejestru (pojedynczo lub zbiorczo);
    • Przycinanie nieistotnych znaków (spacji i tabulatorów) dla wartości ciągów.

    Dodatkowe ustawienia

    Jak sama nazwa wskazuje, zawiera ona narzędzia, których wykorzystanie pozwala na dokładniejsze dostosowanie procesu wymiany. W szczególności:

    1. Włącza tryb debugowania;
    2. Umożliwia wykorzystanie transakcji podczas procesu rozładunku;
    3. Optymalizuje wymianę między bazami danych wersji 8 1C;
    4. Przesyłaj tylko te obiekty, z których może korzystać bieżący użytkownik;
    5. Włącz rejestrowanie procesu wymiany pomiędzy bazami danych.

    Te i inne funkcje włączamy zaznaczając odpowiednie pola na formularzu (rys. 6).

    Ryc.6

    Usuwanie danych

    Ta karta jest używana tylko przez programistów w trybie debugowania. Umożliwia usunięcie zbędnych obiektów z bazy danych.

    Krótko o ustalaniu zasad wymiany

    Używanie standardowego modułu obsługi znacznie upraszcza życie programistów. Jednocześnie jednym z najtrudniejszych momentów dla kogoś, kto po raz pierwszy zetknął się z „Uniwersalną wymianą danych w formacie XML”, jest pytanie: „Gdzie mogę uzyskać plik reguł wymiany?”

    Przede wszystkim za własnej roboty reguł wymiany, wymagana jest specjalna konfiguracja, która nazywa się „Konwersją danych”. Zawiera kilka ciekawe pliki, które pozwalają skonfigurować prawie dowolną wymianę między różnymi wersjami baz danych 1C 7 i 8:

    1. epf – wymagany do pobrania struktury metadanych dla baz danych 1C 8;
    2. epf – jeśli konfiguracja 1C 8 jest napisana samodzielnie lub nie jest standardowa, może nie mieć przetwarzania „Universal Data Exchange”, ten plik jest tym przetwarzaniem;
    3. ert – plik zawiera kod do pobrania struktury metadanych konfiguracji 1C wersji 7.7;
    4. ert – plik do przetwarzania przesyłania i pobierania danych dla siódemki.

    Po uruchomieniu odpowiedniego przetwarzania należy rozładować struktury metadanych dla baz źródłowych i docelowych. Następnie w konfiguracji „Konwersja” należy wprowadzić informacje o konfiguracji źródłowej i docelowej do katalogu „Konfiguracje”.

    Następnie w katalogu Konwersja tworzony jest element zawierający informację o kierunku wymiany danych. Możesz dla niego skonfigurować reguły Exchange.

    Nazwa parametru Oznaczający
    Temat artykułu: Wymiana danych w formacie XML
    Rubryka (kategoria tematyczna) Technologie

    System DBMS może obsługiwać wymianę danych w formacie XML w bardzo prostej formie - obsługując wyjście wyników zapytania i wprowadzenie danych dla instrukcji INSERT w formacie XML. Wymaga to jednak od użytkownika lub programisty dokładnego zaprojektowania formatu wygenerowanych wyników zapytania, tak aby dokładnie odpowiadał formatowi instrukcji INSERT w odbierającej bazie danych. Wymiana danych XML powinna być naprawdę użyteczna tylko wtedy, gdy jest wyraźniej obsługiwana przez system DBMS.

    Obecnie kilka produktów komercyjnych oferuje możliwość zbiorczego eksportu tabel (lub wyników zapytań). plik zewnętrzny, sformatowany jako dokument XML. Oferują jednak podobną możliwość zbiorczego importu danych z pliku tego samego typu do tabeli DBMS. Ten schemat tworzy XML standardowy format reprezentacja zawartości tabel do wymiany danych.

    Należy pamiętać, że wykorzystanie możliwości oferowanych przez DBMS w zakresie importu/eksportu danych tabelarycznych w formacie XML nie ogranicza ich wykorzystania do wymiany pomiędzy bazami danych.

    Wymiana danych w formacie XML – pojęcie i rodzaje. Klasyfikacja i cechy kategorii „Wymiana danych w formacie XML” 2017, 2018.

  • - Gramatyka XML

    Język znaczników XML Języki znaczników Tekst znaczników pozwala łatwo analizować i przetwarzać tekst. Zawiera: · tekst zawierający informację semantyczną (infoset); · znaczniki wskazujące strukturę tekstu. Język znaczników został zaprojektowany, aby... .


  • - Wersje i rozszerzenia HTML i XML

    Pierwsza wersja języka znaczniki hipertekstowe– HTML (HyperText Markup Language), taki sam jak sam Technologia internetowa, został opracowany przez Tima Bernersa Lee w 1991 roku. Język HTML to zastosowanie SGML dla typu dokumentu, który został nazwany Dokumenty HTML. Język określa stałą strukturę... .


  • - Język XML

    XML (Extensible Markup Language) to język znaczników opisujący klasę obiektów danych zwanych dokumentami XML. Język XML służy do opisu gramatyki innych języków i kontroli poprawności dokumentów /6/. w odróżnieniu Język HTML XML pozwala na 1.... .


  • - Struktura dokumentu XML

    Struktura Dokument XML zawiera nagłówek, sekcję DOCTYPE i treść dokumentu XML. Nagłówek opisuje wersję i kodowanie. Sekcja DOCTYPE opisuje encje. Jednostka to stała używana w treści dokumentu XML w celu skrócenia i ułatwienia konserwacji. W treści XML... .


  • -

    Definiuje procedurę obsługi zdarzeń, która występuje za każdym razem, gdy zmienia się stan obiektu. Imię i nazwisko należy pisać małymi literami. Właściwość ReadyState obiektu XMLHttpRequest. Właściwość ReadyState definiuje Stan aktulany Obiekt XMLHttpRequest. Tabela pokazuje możliwe wartości... .


  • - Właściwość onreadystatechange obiektu XMLHttpRequest.

    Definiuje procedurę obsługi zdarzeń, która występuje za każdym razem, gdy zmienia się stan obiektu. Imię i nazwisko należy pisać małymi literami. Właściwość ReadyState obiektu XMLHttpRequest. Właściwość ReadyState określa bieżący stan obiektu XMLHttpRequest. Tabela pokazuje możliwe wartości...

    W ostatnie lata Konsorcjum W3C (WWW Consorcium) aktywnie pracuje nad radykalną rewizją podstaw technologii internetowych. W rezultacie powstał język znaczników XML (Extensible Markup Language), który służy do opisu i przetwarzania informacji... .