helpf.pro
Регистрация
 +7 
Распечатать

1С 8.3 : Импорт - экспорт данных через XML. Обработка обмена документами

Восстановление документов 1С из архива в рабочую базу (XML обмен)
Не редко требуется восстановить данные испорченного документа 1С из архива базы после не умышленных, а зачастую ошибочных, действий удачливого пользователя. Самым простым способом является выгрузка данных из базы архива 1с в XML, а затем загрузка этого XML файла в рабочую базу. Данное решение целиком и полностью опирается на внутренние XML алгоритмы работы конфигурации 1С. При помощи предлагаемой обработки в рабочую базу загружаются все реквизиты документа и его табличные части в том виде, в котором они существовали в архиве.
Исключение составляют движения документа. Данные о движениях не сохраняются при XML сериализации. Хотя документ и восстанавливается проведенным, но все регистры учета и накопления не трогаются. По этому, после восстановления документа следует его провести, либо воспользоваться обработкой, которая позволяет восстановить утерянный или испорченный документ со всеми его движениями.

Импорт - экспорт данных через XML. Обработка обмена данными.
Начало работы с обработкой по экспорту данных документа 1С в XML начинается с выбора имени XML файла и документа, данные которого необходимо сохранить. Первый этап следует выполнять на архивной копии базы, из которой требуется получить достоверные данные. После указания требуемых данных следует нажать кнопку "Выгрузить". Экспорт данных выбранного документа будет осуществлен в указанный пользователем XML файл.
title
Импорт данных из XML файла следует осуществлять уже в рабочей базе в режиме "1С Предприятие". Для этого откройте обработку, выберите файл данных и нажмите кнопку восстановить. Документ выбирать не обязательно, так как все его данные уже известны и содержаться в XML файле. Важное замечание - движения документа не изменяются, по этому если нужно их тоже восстановить документ следует провести.
Скачать обработку: Скачивать файлы может только зарегистрированный пользователь!

Импорт данных из 1С в XML
Обеспечение возможности импорта данных из 1С в XML осуществляет процедура XML_Импорт. Процедура импорта проверяет пользовательский ввод - имя файла и ссылку на документ, данные которого нужно сохранить в XML файл. Далее создается новый текстовый файл, в который средствами 1С осуществляется выгрузка значений всех реквизитов документа и табличных частей.
Исходный код процедуры:
Код 1C v 8.х
 /////////////////////////////////////////////
// Процедура осуществляет выгрузку данных
// выбранного документа из 1С в XML используя
// запись сообщения обмена (XML Writer)
Процедура XML_Импорт(Кнопка)

/////////////////////////////////////////
// Проверить выбор пользователя.
// Поле Документ ДОЛЖНО быть заполнено
Если НЕ ЗначениеЗаполнено(ДокументОбъект) Тогда
Предупреждение("Нужно выбрать документ.");
Возврат;
КонецЕсли;

/////////////////////////////////////////
// Проверить выбор пользователя.
// Поле Имя файла ДОЛЖНО быть заполнено
Если ПустаяСтрока(ИмяФайла) Тогда
Предупреждение("Укажите файл данных XML для выгрузки.");
Возврат;
КонецЕсли;

// Проверить возможность перезаписи текста
Файл = Новый Файл(ИмяФайла);
Если Файл.Существует() Тогда
Ответ = Вопрос("Файл " + ИмяФайла + " существует. Заменить?",РежимДиалогаВопрос.ДаНет);
Если Ответ = КодВозвратаДиалога.Нет Тогда
Сообщить("Сохранение отменено.");
Возврат;
КонецЕсли;
КонецЕсли;

/////////////////////////////////////////
// Записать данные документа в XML используя
// последовательный доступ к тексту и XML сериализацию
ТекстФайл = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.UTF8);

// Преобразовать данные документа в формат XML
// страндарными средствами платформы 1С
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку();
ЗаписатьXML(ЗаписьXML, ДокументОбъект.ПолучитьОбъект());

// Сохранить полученные XML Данные в текстовый документ
ТекстФайл.Записать(ЗаписьXML.Закрыть());
ТекстФайл.Закрыть();
КонецПроцедуры


Экспорт данных из XML в 1С
Обратная операция - экспорт данных из XML в 1С реализована в процедуре XML_Экспорт. Данные, сохраненные на предыдущем этапе, читаются из XML файл при помощи механизма XML Reader. Для восстановления данных документа достаточно указать только имя XML файла, так все необходимые данные о том, какой именно документ нужно восстанавливать уже имеются в файле. После успешного чтения данных 1С средствами платформы изменит требуем документ и откроет его в новом окне для проверки. Для восстановления движений документа его необходимо провести.
Исходный код процедуры:
Код 1C v 8.х
 Процедура XML_Экспорт(Кнопка)
/////////////////////////////////////////
// Проверить выбор пользователя.
// Поле Имя файла ДОЛЖНО быть заполнено
Если ПустаяСтрока(ИмяФайла) Тогда
Предупреждение("Укажите файл данных XML для загрузки!");
Возврат;
КонецЕсли;

/////////////////////////////////////////
// Проверка возможности чтения XML файла
Файл = Новый Файл(ИмяФайла);
Если НЕ Файл.Существует() Тогда
Предупреждение("Указанный Вами файл " + ИмяФайла + " не найден!");
Возврат;
КонецЕсли;

/////////////////////////////////////////
// Прочитать XML файл используя стандартные
// средства платформы 1С XML Reader
попытка
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ИмяФайла);
НовыйОбъект = ПрочитатьXML(ЧтениеXML);
ДокументОбъект = НовыйОбъект.Ссылка;
Документ = НовыйОбъект.ПолучитьФорму();
Документ.Открыть();
исключение
Сообщить(ОписаниеОшибки());
конецпопытки;
КонецПроцедуры

источник
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 86616
 +7 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 50
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C: Enterprise Development Tools 52
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
Google maps : вывод точек на карту и режим панорамы 9
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора
Microsoft SQL Server Native Client Добавление значения в столбец "datetime" привело к переполнению 2
При формировании отчета на СКД получили ошибку: Microsoft SQL Server Native Client 11.0: Добавление значения в столбец "datetime" привело к переполнению Подробнее текст такой: ... по причине: Ошибка компоновки данных по причине: Ошибка получени
PostgreSQL: установка, настройка, обслуживание 11
PostgreSQL напрямую "из коробки" применяться для использования с 1С Предприятем не может. Необходима именно адаптированная версия от 1С, превращающая PostgreSQL в блокировочник, причем нужно понимать, что блокировки будут накладываться на всю таблиц
Посмотреть все результаты поиска похожих
Комментарии
icer127
22.09.2021 11:55Комментарий: 1
icer127

обработка пустая внутри!

Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.