Następnie spróbujmy udzielić odpowiedzi na pytanie praktyczne: jak za pomocą mechanizmu XDTO przenieść dane z jednej konfiguracji do innej, przy czym konfiguracje te są różne.
Należy rozumieć, że schemat "http://v8.1c.ru/8.1/data/enterprise/current-config" nadaje się do wymiany danych między identycznymi konfiguracjami i pozwala na wykonywanie konwersji ObiektXDTO<->Obiekt1C. Można z tego skorzystać!
Dalej, mamy różne konfiguracje, więc podczas przenoszenia musimy na jakimś etapie (eksport/import) wykonać konwersję danych. Zazwyczaj odbywa się to na etapie eksportu – nie będziemy odchodzić od tradycji, ponadto zazwyczaj ma to szereg zalet.
1. Do sformowania danych eksportu potrzebujemy schematu konfiguracji odbiorczej. Wyeksportujmy go do pliku: w konfiguracji odbiorczej w drzewie konfiguracji prawym przyciskiem myszy na węźle "Pakiety XDTO"/Eksport XML schematu danych konfiguracji...
2. Przejdźmy do eksportu. Do sformowania danych eksportu tworzymy fabrykę na podstawie schematu, wskazując ścieżkę do pliku schematu konfiguracji odbiorczej:
3. Stwórzmy typ TypObiektuXDTO do umieszczenia w nim danych z konfiguracji źródłowej:
Zwróć uwagę, ten obiekt TypObiektuXDTO odzwierciedla typ dokładnie konfiguracji odbiorczej, ponieważ wystąpienie obiektu fabryki działa według schematu załadowanego z pliku, a nie według danych bieżącej konfiguracji.
4. Stwórzmy ObiektXDTO według typu oraz obiekt 1C konfiguracji źródłowej:
5. Wypełnijmy ObiektXDTO wykonując niezbędne konwersje danych
6. Wykonajmy zapis obiektu do pliku:
Eksport zakończony.
W konfiguracji odbiorczej kod importu okazuje się dość prosty:
Ponadto, jeśli obiekt 1С o takim identyfikatorze będzie istnieć w bazie danych w momencie odczytu go z pliku, zwrócony przez metodę CzytajXML obiekt nie będzie nowy (ToNowy()=Fałsz), ale będzie zawierał dane pobrane z pliku; jeśli obiekt o takim identyfikatorze nie istnieje, obiekt będzie nowy (ToNowy()=Prawda), będzie zawierał dane z pliku i zostanie mu przypisany odnośnik do nowego obiektu.
