<Данные> ИмпортДанных (ImportData)

<< Click to Display Table of Contents >>

Navigation:  Раздел 7 Расширения языка L9 > Объекты работы с данными > Объект Данные (Data) > Методы >

<Данные> ИмпортДанных (ImportData)


Описание:

Начинает загрузку данных в локальную базу данных из XML-файла обмена данными. До завершения процесса загрузки данных вызов любой пользовательской функции или метода объектов учета (вызывающих обращение к локальной БД) запрещен, в противном случае возникает ошибка исполнения модуля.

Синтаксис:

ИмпортДанных(<Имя>)

ImportData(<Name>)

Параметры:

Имя (Name) полный путь к XML-файлу, начиная с корневого каталога. Путь должен начинаться со знака "слэш". Указывается имя XML-файла с загружаемыми данными. Строковое значение.

Возвращаемые значения:

Значение "Истина" ("True"), если загрузка данных началась. Метод возвращает значение "Ложь" ("False"), если загрузка данных не началась.

Пример:

//В примере представлено использование методов ИмпортДанных (ImportData)

//и ЭкспортДанных (ExportData).
//За выгрузку (экспорт) данных из локальной базы отвечает функция ВыгрузитьДанные().
//За загрузку (импорт) данных в локальную БД отвечает функция ЗагрузитьДанные().
//Для обработки событий окончания обмена и события обновления состояния обмена
//устанавливаются обработчики "ПриОкончании" и "ПриПолученииСостояния".
//В процессе загрузки данных многократно вызывается функция "ПриПолученииСостояния"
//для информирования о текущем состоянии процесса загрузки данных.
Перем Путь;
 
Функция Строка(n)
/  
  Возврат Строка(0) _Если n = Неопределено;
  Возврат Строка(n);
\
 
Процедура ВывестиОтчет(Отчет) //Вывод отчета после успешной загрузки данных
/
   кс = "|";
   Сообщение = "";
   Сообщение = Сообщение + слов ImportLoaded + кс;
   Сообщение = Сообщение + слов Constants + ":" + Строка(Отчет.Константы.Количество) + кс;
   Сообщение = Сообщение + слов Goods + ":" + Строка(Отчет.Справочники.Товары.Количество) + кс;
   Сообщение = Сообщение + слов GoodsCategories + ":" + Строка(Отчет.Справочники.Товары.Группировки.Категории.Количество) + кс;
   Сообщение = Сообщение + слов Clients + ":" + Строка(Отчет.Справочники.Клиенты.Количество) + кс;
   Сообщение = Сообщение + слов SalesDocs + ":" + Строка(Отчет.Документы.Продажи.Количество) + кс;
   ОтладочноеСообщение(Сообщение);
\
 
Функция ПриОкончании(Направление, Результат, Статистика) //Функция "ПриОкончании" вызывается
/                                                       //после выгрузки или загрузки данных (проверка результата)
 
   Если Результат <> Неопределено Тогда                 //Если во время обмена произошла ошибка
      СтрокаОшибки = "Ошибка обмена: ";
 
      Если Результат[1] <> "" Тогда                   //Если для нее есть дополнительное описание
          СтрокаОшибки = СтрокаОшибки + Результат[1]);
      КонецЕсли;
 
      Если Результат[2] <> Неопределено и Направление = 2 Тогда
          СтрокаОшибки = СтрокаОшибки + ", в строке " + Результат[2]); //Если есть строка, в которой произошла ошибка
      КонецЕсли;
 
      ОтладочноеСообщение(СтрокаОшибки);
  КонецЕсли;

                                                     

  Если Направление = 1                             //При окончании выгрузки
  /                                               //данных в файл "ExportData.xml"
  \   ОтладочноеСообщение("Выгрузка окончена.");             //выводится сообщение
  Если Направление = 2                             //об успешной выгрузке данных.
  /
  \   ВывестиОтчет(Статистика);                   //В противном случае
                                                  //сформировалось бы сообщение
                                                  //об ошибке обмена.
\   Возврат 0;
 
Функция ПриПолученииСостояния(ТипСостояния, Состояние)
/
   Если ТипСостояния = 3                 //Начало загрузки тэга констант
  /
  \   ОтладочноеСообщение("Загрузка констант");
  ИначеЕсли ТипСостояния = 7                 //Окончание загрузки тэга справочника
  /
  \   ОтладочноеСообщение("Загрузка справочника: "+ Строка(Состояние[0]));
  ИначеЕсли ТипСостояния = 12                 //Окончание загрузки тэга документа
  /
  \   ОтладочноеСообщение("Загрузка документа: "+ Строка(Состояние[0]));
   
\   Возврат 0;
 
Процедура ПриНажатииКнопкиПрервать() //Прерывание процесса
/                                   //загрузки или выгрузки данных
\   Данные.Прервать();
 
Процедура ВыгрузитьДанные()
/  
  Данные.ЭкспортДанных(Путь + "ExportData.xml", Истина, Ложь, Истина); //Данные выгружаются из локальной
\                                                                     //БД в файл "ExportData.xml"
 
Процедура ЗагрузитьДанные()
/  
  Данные.ИмпортДанных(Путь + "ImportData.xml"); //Данные загружаются в
\                                               //локальную БД из файла "ImportData.xml"
 
Путь = АПСКлиент.ПолучитьКаталогОбменаПоУмолчанию();
Данные.УстановитьПриОкончании(ПриОкончании);
Данные.УстановитьПриСобытииСостояния(ПриПолученииСостояния);