Метод ИмпортДанных (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"
 
Путь = АПСКлиент.ПолучитьКаталогОбменаПоУмолчанию();
Данные.УстановитьПриОкончании(ПриОкончании);
Данные.УстановитьПриСобытииСостояния(ПриПолученииСостояния)