Інструкція з вивантаження і завантаження даних

Інструкція з вивантаження і завантаження даних


Припустимо, стоїть завдання передати документ «Прибутковий касовий ордер» (ПКО) з однієї базу в іншу. Для вирішення завдання спочатку треба вивантажити документ з вихідної бази, а потім завантажити його в цільову базу.

вивантажити документ


  1. Спочатку необхідно створити пункт контекстного меню «вивантажити» в розділі ПКО. При виборі цього меню будуть формуватися файли import, які потім будуть завантажуватися в цільову базу. Для створення пункту меню:

    1. Відкрити розділ Адміністрування / Розділи системи

    2. Для розділу «Прибуткові касові ордери» у вкладці «Приєднані розділи» пункт меню «Додати зв'язок».

    3. Заповнити зв'язок розділів як показано на зображенні:



    1. Перезапустити клієнтську програму.

  1. Після виконання описаних вище операцій в розділі «Прибуткові касові ордери» з'явиться пункт меню «вивантажити». Скористаємося їм для генерації файлів.



    1. Створіть нову папку на диску. У прикладі папка називається C: \ work2 \ Import.

    2. Вибрати пункт «вивантажити».



    1. У генераторі вікні параметрів генерації файлів імпорту задати папку, в яку буде проводитися вивантаження.

    2. Натиснути «Виконати».

    3. Помістити всі файли, створені в папці, в zip архів.

Примітка: файли повинні знаходитися безпосередньо в zip архіві. Паки, поміщені в архів, не обробляються механізмом імпорту.

Імпортувати документ на іншій базі


  1. В результаті попередніх кроків у нас є архів, що містить вивантажені з вихідної бази даних. Завантажимо ці дані в цільову базу.

    1. Відкрити розділ Адміністрування / Імпорт даних.



    1. Натиснути «Обзор»

    2. У діалозі вибору файлів вибрати розширення ZippedImportFiles (* .zip)



    1. Вибрати створений zip архів

    2. Натиснути «Запустити»

  1. Перейти в розділ ПКО і переконатися, що з'явився імпортований документ

Налаштування генератора файлів імпорту



Оновлювати існуючі файли


Функція використовується для того, щоб можна було в один набір файлів вивантажити кілька різних об'єктів (документів, словників і т.д.).

Приклад. Потрібно вивантажити один прибутковий касовий ордер (ПКО) і один видатковий касовий ордер (ВКО) в один zip архів.

  1. Приєднати генератор до розділу ПКО і до розділу РКО

  2. Створити нову папку для вивантаження або очистити існуючу

  3. Вибрати пункт контекстного меню «вивантажити» в розділі ПКО. Виконати дії з першого прикладу, в результаті яких отримуємо кілька файлів з розширенням import в папці вивантаження.

  4. Вибрати пункт контекстного меню «вивантажити» в розділі РКО. У вікні параметрів генерації файлів:

    1. Вибрати ту ж папку, в яку вивантажували ПКО.

    2. Встановити параметр «Використовувати існуючі файли».

В результаті дані під час вивантаження будуть додані в існуючі файли, які були створені під час вивантаження ПКО.

  1. Всі файли з папки вивантаження помістити в zip архів. Тепер при імпорті отриманого архіву в іншій базі з'являться документи ПКО та ВКО.

Використовувати інструкцію insert-or-update [опція для розробників]


За замовчуванням, якщо опція не вибрана, то кожен запис вивантажується з інструкцією insert. Якщо обрана, то кожен запис вивантажуватиметься з інструкцією insert-or-update.

Порівняння файлів вивантаження для словника «Довідник валют» при відключеній опції і при включеній:


Відключити сортування файлів [опція для розробників]


При імпорті потрібно, щоб файли йшли в певному порядку. Наприклад, є файл імпорту для документа і файл імпорту словника. Відомо, що документ посилається на записи словника. Тоді першим в списку файлів повинен бути файл для словника, а другим - файл для документа.

Генератор файлів імпорту автоматично виконується сортування згенерованих файлів: ім'я файлу починається з індексу, який і визначає порядок файлу.

Якщо поставити галку в опції «Відключити сортування файлів» - то файли автоматично сортуватися не будуть. Ця опція застосовується в особливих випадках, коли розробник сам визначає порядок проходження файлів.

Результат при вимкненому опції (зліва) і при включеній (праворуч):


Чи не вивантажувати stream і blob поля


Опція управляє вивантаженням файлів з бази даних. Наприклад, фотографія для фізичних осіб або прикріплений файл. За замовчуванням всі файли, які використовують Вивантажувані об'єкти (все поля з типами stream і blob), вивантажуються.

Об'єднувати специфікацію з майстром [опція для розробників]


За замовчуванням (якщо опція не вибрана) записи специфікації поміщаються в окремий файл.

Приклад для класу «Фізична особа» і специфікації «Персональний документ» (в окремих файлах):

Якщо опція вибрана - то записи специфікації поміщаються в один файл із записами майстра.

Увага! При включеній опції можливе виникнення циклічних посилань. Наприклад, коли вивантажили два файли імпорту: file1.import і file2.import. Але file1.import використовує записи file2.import, а file2.import використовує записи file1.import. У такій ситуації при імпорті архіву будуть виникати помилки виду:

[18:37:16] Виконання призвело до помилки:

Can not insert the value NULL into column 'Person_tid',

column does not allow nulls. INSERT fails.

The statement has been terminated.

Значить, в даній ситуації опцію потрібно зняти або перенести записи специфікацій в новий файл вручну.

Посилатися з специфікації на майстра за значенням [опція для розробників]

Пакет [опція для розробників]


Якщо в цьому полі обрана запис, то в папці вивантаження з'являється файл проекту пакета Торнадо. У цей проект вже включені всі файли з даними.

Приклад. Створити пакет з даними для Торнадо з наповненням словника «Довідник валют».

  1. У розділі «Налаштування пакета файлів імпорту» створити запис і заповнити необхідні поля.



  1. У генераторі вказати створену в пункті 1 запис.



  1. В папці вивантаження з'явиться файл проекту. Його можна додати до існуючого рішення в Visual Studio як існуючий проект. Також з бази вивантажити все залежні пакети (* .pkg).


Створити файл конфігурації за замовчуванням [опція для розробників]


При натисканні на кнопку в папці вивантаження буде створений файл generator.config. Це необов'язковий файл, який може бути використаний для настройки імпорту.

За замовчуванням в інструкціях імпорту в ключові поля потраплять обидва поля.

У файлі конфігурації можна вказати для класу Parus.Business.Currency, що в ключові поля потрібно записувати тільки одне поле, наприклад, Code.

Тоді результат вивантаження буде таким:

Класи, у яких кілька обмежень унікальності вказуються в балці роботи генератора, в файлі ImportLog.txt, який з'являється в папці вивантаження. Наприклад, під час вивантаження класу Parus.Business.Currency в балці з'являється таке повідомлення:

Генератор замість посилання по id ставить посилання за значенням в разі, якщо в класі, на який посилаємося, в обмеженні унікальності тільки одне поле. Але якщо самих обмежень кілька, як в класі Currency, то для посилання за значенням за замовчуванням використовується перше з обмежень унікальності.

Якщо потрібно вказати яке унікальне поле використовувати для посилання за значенням для конкретного класу - ім'я поля потрібно вказати в атрибуті rbv-key: