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