1с 8 открыть файл xml из макета. Формирование файла XML

Позволит сэкономить время на занесение в 1С сведений о покупке услуг компании Peterhost.
Для этого необходимо загрузить в 1С XML -файл и из него сформируется документ «Поступление товаров и услуг», содержащий сведения о приобретенных услугах. Счет-фактуру можно сформировать на основании этого документа.

Подробная инструкция представлена ниже.

1. Подключение внешней обработки

1.1. В случае, если используется информационная база 1С:Предприятие 8.X c конфигурацией «Бухгалтерия предприятия 2.0», для загрузки документа в формате CommerceML необходимо подключить внешнюю обработку ()
Это можно сделать двумя способами:
1. Сохранить файл внешней обработки локально на диск и открывать через меню «Файл» → «Открыть» перед каждой загрузкой данных в формате CML .
2. Подключить обработку к информационной базе (ИБ) постоянно. Тогда она будет доступна всем (в случае работы по сети) из меню «Сервис» → «Дополнительные отчеты и обработки» → «Дополнительные внешние обработки».

  • В меню «Сервис» необходимо выбрать «Дополнительные отчеты и обработки» – «Дополнительные внешние обработки».
  • Нажать кнопку «Добавить». Откроется форма добавления нового элемента справочника:
  • В поле «Наименование» указать название обработки, например «Загрузка данных в формате CommerceML (RU-CENTER Group)».
  • Нажать кнопку выбора файла и указать путь к файлу обработки загрузки ().
  • Нажать кнопку «ОК» Теперь обработка подключена к информационной базе и находится в справочнике «Дополнительные внешние обработки», и её можно открыть двойным щелчком мыши.

1.2. В случае использования конфигурации «Управление производственным предприятием» (версии 10.3 и выше) и «Управление торговлей» (версии 1.3 и выше) эта обработка уже включена и можно перейти к п.2.

2. Формирование документа «Поступление товаров и услуг»

В результате выполненных ниже действий в 1С будет занесена информация об услугах, приобретенных в компании Peterhost.
1. Далее необходимо сохранить на свой компьютер XML -файл с данными документа «Поступление товаров и услуг» за нужный период. Файл в формате XML находится в разделе Личного кабинета под ссылкой «XML для «1С»».
Нажать кнопку выбора справа от поля «Имя файла данных» и выбрать этот файл (см. рисунок 1). На вопрос «Прочитать данные из файла?» ответьте «ОК». Файл с данными будет прочитан обработкой.
2. Если обработке удастся определить все соответствия элементов данных файла с данными информационной базы, то будет задан вопрос «Сохранить данные в информационную базу?». Если ответить «Да», то будет создан новый документ «Поступление товаров и услуг». Перейдите к пункту 3.
3. Если не все соответствия данных будут определены, то будет выведено сообщение: «При загрузке данных программе не удалось автоматически найти объекты ИБ, соответствующие элементам, переданным в файле обмена…» и предложит выполнить сопоставление вручную. В этом случае необходимо выполнить следующее:

  • Нажать «ОК». Откроется форма сопоставления объектов файла и ИБ. В ней имеется несколько закладок, которые соответствуют различным типам объектов (организации, контрагенты, номенклатура и т.д.). Если данные какого-то типа не были сопоставлены, то на соответствующих закладках будут красные восклицательные знаки (см. рисунок 2).
  • Зайти на соответствующие закладки и вручную выставить соответствия элементов. Следует учесть, что соответствия контрагентов и организаций ищутся по ИНН, а соответствия номенклатуры – сначала по артикулу, затем по наименованию. Если элемента, который соответствует данным файла, нет в ИБ, то его можно создать автоматически по данным файла, нажав кнопку «Создать по данным из файла».
  • При добавлении номенклатуры необходимо отметить галочкой свойство «Услуга» (см. рисунок 3). Так же можно изменить полное и краткое наименования элемента номенклатуры.
  • На закладке «Счета учёта» желательно добавить счета учета номенклатуры, чтобы при создании документа «Поступление товаров и услуг» эти номера проставлялись автоматически. Например, для услуг могут быть установлены следующие значения: «Счет учёта» – 25 (Общепроизводственные расходы) и «Счет учёта предъявленного НДС» – 19.04 (НДС по приобретённым услугам) (см. рисунок 4).
  • После сопоставления всех элементов и нажатия кнопки «ОК» программа запросит подтверждение на загрузку документа в ИБ, после чего создаст новый документ «Поступление товаров и услуг» (см. рисунок 5).

3. Проводка документа «Поступление товаров и услуг»

Чтобы провести документ «Поступление товаров и услуг», необходимо открыть его двойным нажатием и заполнить недостающие поля, такие как «Зачет авансов» (например, «Автоматический») и поля на закладке «Счета расчетов» (см. рисунок 6). Значения этих полей определяются учётной политикой вашей организации. Для проведения документа необходимо нажать кнопку «ОК».

4. Формирование документа «Счет-фактура»

После успешного создания и проведения документа «Поступление товаров и услуг» можно на основании него создать документ «Счет-фактура полученный». Для этого необходимо нажать на соответствующую ссылку в левой нижней части формы документа.

В организации учет может вестить не только в решениях на платформе 1С:Предприятие, но и в других программным комплексах (Галактика, Парус, SAP и прочее). При этом появляются задачи интеграции двух приложений.

Напрмер, в некотором приложении (назовем его "X") требуется прочитать список документов конфигурации. О практической пользе решения подобной задачи говорить не будем, отмечу лишь, что наиболее удобным и универсальным способом в такой ситуации будет выгрузка списка документов в формате XML .

Обмен с использованием этого формата является универсальным, поскольку с ним могут работать большинство приложений. Рассмотрим как можно из 1С:Предприятия выгрузить список документов конфигурации в XML-файл.

Выгрузка в XML

И так, перейдем к главному. Нам нужно обойти список метаданных документов и сформировать список в XML-файле. На следующем скриншоте представлен алгоритм формирования XML-файла:

Функция СоздатьXML() Экспорт // Получаем имя временного файла Путь = ПолучитьИмяВременногоФайла() ; // Инициализируем класс "ЗаписьXML" Запись = Новый ЗаписьXML; // Открываем временный файл для записи - 8 " ) ; // Записываем объявление XML-файла Запись. ЗаписатьОбъявлениеXML() ; // Запись. ЗаписатьНачалоЭлемента(" ДокументыКонфигурации " ) ; // Первый элемент // Атрибут первого элемента с датой формирования файла Запись. ЗаписатьАтрибут(" generated " , Формат(ТекущаяДата() , " ДФ= гггг- ММ- ddThh:mm:ss; ДЛФ= DT " ) ) ; // Записываем элемент для каждого документа конфигурации. В текст помещаем имя документа. Для Каждого Док Из Метаданные. Документы Цикл Запись. ЗаписатьНачалоЭлемента(" Документ " ) ; Запись. ЗаписатьТекст(Док. Имя) ; Запись. ЗаписатьКонецЭлемента() ; КонецЦикла ; // Завершаем запись первого элемента Запись. ЗаписатьКонецЭлемента() ; Запись. Закрыть() ; // Закрываем файл // Получаем двоичные данные файла и помещаем их во временное хранилище ДвоичныеДанные = Новый ДвоичныеДанные(Путь) ; Адрес = ПоместитьВоВременноеХранилище(ДвоичныеДанные, Новый УникальныйИдентификатор) ; Возврат Адрес; // Возвращаем адрес файла в хранилище КонецФункции

Каждый созданный элемент должен быть правильно завершен. После выполнения "ЗаписатьНачалоЭлемента()" обязательно должен быть выполнен метод "ЗаписатьКонецЭлемента", иначе структура XML-файла будет некорректной.

Общий шаблон создания XML-файлов предсавляет собой следующую последовательность:

// 1. Инициализируем класс "ЗаписьXML" Запись = Новый ЗаписьXML; // 2. Открываем временный файл для записи Запись. ОткрытьФайл(Путь, " UTF- 8 " ) ; // 3. Записываем объявление XML-файла Запись. ЗаписатьОбъявлениеXML() ; // // 4. ++ Записываем содержимое XML-файла Запись. ЗаписатьНачалоЭлемента(" ЭлементXML " ) ; Запись. ЗаписатьКонецЭлемента() ; // -- Записываем содержимое XML-файла // 5. Закрываем файл Запись. Закрыть() ;

С помощью этих пяти шагов создается практически любой XML-файл.

В нашем примере созданный файл переводится в двоичные данные и возвращается в место вызова функции "СоздатьXML". Далее этот файл может быть записан в файловую систему.

Пример выгруженного файла Вы могли видеть на скриншоте выше.

Стороннее приложение

Для примере создал приложение на.NET Framework, чтобы продемонстрировать чтенеие XML-файла в стороннем приложении.

Програма читает созданный файл и выводит документы в виде списка:

Можете попробовать сами, приложение доступно для загрузки по ссылке в конце статьи.

Универсальность

Формат XML используется в большинстве конфигурации обмена данными между прикладными решениями на платформе 1С:Предприятие. Другим часто используемым способом обмена является подключение через COM-соединение. XML-позволяет выполнять обмен практически с любыми приложениями, чем и заслужил называться универсальным.

Файлы для загрузки:

Приложение чтения XML-файла.

Обработка формирования XML-файла.

— всем известные веб-страницы, которые также представляют из себя аналог XML с нестрогими проверками.

Объекты чтения/записи XML, FastInfoset, HTML расширяют возможности чтения текстового файла встроенной обработкой тегов разметки.

Также они используются для объектов ПостроительDOM/ЗаписьDOM (см. далее) как источники данных.

Файлы XML 1С содержат текстовую информацию, то есть являются текстовыми файлами. Объекты ЧтениеXML 1С и ЗаписьXML 1С являются «надстройкой», позволяющей упростить работу с тегами XML файла 1С.

Объекты ЧтениеFastInfoset 1С и ЗаписьFastInfoset 1С, ЧтениеHTML 1С и ЗаписьHTML 1С полностью аналогичны ЧтениеXML 1С и ЗаписьXML 1С и служат для работы таким же способом с другими форматами.

Файл XML 1С, который использовался в примерах

Справочник>

Справочник>

Текстовое значениеРеквизит>
Справочник>
Конфигурация>

Пример 1. Считывание файла XML 1С в дерево значений с помощью ЧтениеXML 1С

//открываем файл XML 1С на чтение с помощью ЧтениеXML 1С
Файл = Новый ЧтениеXML();
Файл.ОткрытьФайл("D:\СтруктураКонфигурации.xml");

//подготовим дерево значений
//у каждой ветки XML может быть наименование, атрибуты и значение
дзXML = Новый ДеревоЗначений();
дзXML.Колонки.Добавить("Наименование");
дзXML.Колонки.Добавить("Значение");
дзXML.Колонки.Добавить("Атрибуты");

//так как атрибутов у строки XML может быть несколько - будем записывать их в таблицу значений
//каждый атрибут имеет имя и значение
тАтрибутов = Новый ТаблицаЗначений();
тАтрибутов.Колонки.Добавить("Имя");
тАтрибутов.Колонки.Добавить("Значение");

//уровень вложенности поможет нам понимать когда требуется добавить вложенную ветку, а когда нужно вернуться на уровень вверх
УровеньВложенности = 0;
//текущая строка - строка дерева, будет меняться при увеличении вложенности
ТекущаяСтрока = Неопределено;
//чтение файла XML 1С производится не построчно, а по структуре, при окончании файла чтение вернет ЛОЖЬ
Пока Файл.Прочитать() Цикл

//нас интересуют три вида узлов - начало элемента, текст (значение элемента) и конец элемента (чтобы вернуться на уровень вверх)
Если Файл.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда

УровеньВложенности = УровеньВложенности + 1;

//если это первая строка, то добавим ее в самый верх дерева и сохраним только наименование
Если ТекущаяСтрока = Неопределено Тогда
ТекущаяСтрока = дзXML.Строки.Добавить();
ТекущаяСтрока.Наименование = Файл.Имя;
Продолжить;
Иначе
//вложенные строки
ТекущаяСтрока = ТекущаяСтрока.Строки.Добавить();
ТекущаяСтрока.Наименование = Файл.Имя; //сохраним наименование

//есть ли у этого элемента XML атрибуты?
Если Файл.КоличествоАтрибутов() > 0 Тогда
//если да - скопируем подготовленную пустую таблицу для сохранения атрибутов
тАтрибутыУзла = тАтрибутов.Скопировать();
//цикл по количеству атрибутов у этого элемента
Для Сч = 0 по Файл.КоличествоАтрибутов()-1 Цикл
//для каждого атрибута запомним имя и значение
Строка = тАтрибутыУзла.Добавить();
Строка.Имя = Файл.ИмяАтрибута(Сч);
Строка.Значение = Файл.ЗначениеАтрибута(Сч);
КонецЦикла;
//сохраним таблицу атрибутов элемента в текущую строку
ТекущаяСтрока.Атрибуты = тАтрибутыУзла;
КонецЕсли;
КонецЕсли;

ИначеЕсли Файл.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
//в начале элемента увеличиваем уровень вложенности, в конце элемента уменьшаем
УровеньВложенности = УровеньВложенности - 1;
//возвращаем текущую строку на уровень вверх
ТекущаяСтрока = ТекущаяСтрока.Родитель;

ИначеЕсли Файл.ТипУзла = ТипУзлаXML.Текст Тогда
//если у элемента есть значение - просто сохраним его
ТекущаяСтрока.Значение = Файл.Значение;

КонецЕсли;

КонецЦикла;

Файл.Закрыть();

Пример 2. Запись файла 1С XML с помощью объекта ЗаписьXML 1С

//создаем файл ЗаписьXML 1С
Файл = Новый ЗаписьXML();
Файл.ОткрытьФайл("D:\СтруктураКонфигурации.xml", "UTF-8");
Файл.ЗаписатьНачалоЭлемента("Конфигурация");

//по метаданным обходим все справочники (подробнее см. "Работа с метаданными")
Для каждого Справочник из Метаданные.Справочники Цикл

//ЗаписатьНачалоЭлемента - открывает новую [подчиненную] ветку
Файл.ЗаписатьНачалоЭлемента("Справочник");
//ЗаписатьАтрибут - записывает атрибут в открытую ранее ветку
Файл.ЗаписатьАтрибут("Имя", Справочник.Имя);
Файл.ЗаписатьАтрибут("Синоним", Справочник.Синоним);

//по метаданным обходим все реквизиты справочника
Для каждого Реквизит из Справочник.Реквизиты Цикл




КонецЦикла;

//по метаданным обходим все табличные части справочника
Для каждого ТЧ из Справочник.ТабличныеЧасти Цикл
Файл.ЗаписатьНачалоЭлемента("ТабличнаяЧасть");
Файл.ЗаписатьАтрибут("Имя", ТЧ.Имя);
Файл.ЗаписатьАтрибут("Синоним", ТЧ.Синоним);

Для каждого Реквизит из ТЧ.Реквизиты Цикл
Файл.ЗаписатьНачалоЭлемента("Реквизит");
Файл.ЗаписатьАтрибут("Имя", Реквизит.Имя);
Файл.ЗаписатьАтрибут("Синоним", Реквизит.Синоним);
Файл.ЗаписатьКонецЭлемента();
КонецЦикла;

Файл.ЗаписатьКонецЭлемента();
КонецЦикла;

//ЗаписатьКонецЭлемента - "закрывает" открытую ранее с помощью ЗаписатьНачалоЭлемента ветку
Файл.ЗаписатьКонецЭлемента();
КонецЦикла;

Файл.ЗаписатьКонецЭлемента();
Файл.Закрыть();

Работа с XML-документами доступна непосредственно из встроенного языка системы 1С:Предприятие 8.

Имеется возможность:

  • последовательно читать и записывать xml-документы:
    • преобразовывать из строки, полученной из текста элемента или значения атрибута XML, в значение в соответствии с указанным типом;
    • получать строковое представление значения для помещения в текст элемента или значение атрибута XML;
    • получить тип данных XML, соответствующий переданному в качестве параметра типу;
    • производить проверку возможности чтения из XML значения указанного типа;
    • производить проверку соответствия схеме XML при чтении XML
    • производить запись значения в формате XML;
    • возвращать тип, соответствующий типу данных XML.
  • использовать модель объектного доступа к данным xml-документов (ДокументDOM), соответствующую следующим стандартам:
    • DOM Level 2;
    • XPath (DOM Level 3);
    • DOM Load and Save (DOM Level 3).
  • использовать объектную модель схемы XML (СхемаXML);
  • использовать канонический XML стандарт 1.1 (Canonical XML 1.1).

Используя внешнее соединение и механизмы работы с XML можно организовывать интеграцию с прикладными системами по принятым в этих системах форматам. Для этого применяются механизмы XSL-преобразования. Например, для такой интеграции можно использовать BizTalk сервер компании Microsoft:

Fast Infoset

Платформа предоставляет средства для работы с XML-документами в бинарном формате Fast Infoset. Технология Fast Infoset использует альтернативный синтаксис отображения XML-данных. Это обеспечивает меньший объем файлов и более высокую скорость обработки, чем скорость обработки данных, записанных в обычном XML-формате. Файл, записанный в формате Fast Infoset, имеет расширение.fi или.finf.

Перенос данных - очень важный процесс в любой учетной системе, платформа 1С 8.3 и 8.2 не исключение. Ниже мы рассмотрим инструкцию, как проще всего перенести данные из одной системы в другую, имеющую аналогичную конфигурацию (для различных конфигураций можно использовать инструмент для программистов - или).

Перед любыми действиями необходимо, изменения являются невозвратимыми!

Самый простой и удобный способ переноса данных из 1С 8.3 в 1С 8.3 бухгалтерия 3.0 - использование обработки Выгрузка и загрузка данных в формате XML (скачать - для 8.2 или для 1С 8.3 или на ИТС). Обработка универсальная и подходит для любых конфигураций.

Не будем вдаваться в подробности, рассмотрим пошаговую инструкцию по миграции данных с помощью данной обработки на примере простейшего переноса товаров.

Выгрузка данных в XML

Первым делом откроем обработку в базе источнике (откуда будем выгружать товары) и посмотрим на интерфейс:

Получите 267 видеоуроков по 1С бесплатно:

Сразу необходимо заполнить поле «Имя файла» - по этому пути будет создан новый файл данных, который мы будем загружать в базу приемник. Чуть ниже, в табличной части «Данные для выгрузки» необходимо выбрать те данные, которые мы хотим выгрузить из базы данных.

После выделения объекта из левой табличной части можно наложить отбор в правой табличной части:


В нашем примере я хочу выгрузить все товары с наименованием «Грабли».

После того как все настройке заполнены, данные можно выгружать. Для этого необходимо нажать на кнопку «Выгрузить данные»:


Загрузка данных из xml в 1с 8.3

Данные выгружены из базы источника, теперь их необходимо перенести в базу-приемник.

Для этого необходимо запустить обработку уже в той базе, в которую необходимо загрузить данные, и зайти на вкладку «Загрузка», выбрать выгруженный файл на диске и нажать на кнопку «Загрузить данные»:


Данный пример подходит только для переноса данных между идентичными конфигурациями на платформе 1С. Для понимания механизма обменов, для программистов, мы написали статью - .

Перенос информации между базами данных является одной из задач их поддержки и администрирования. Для его эффективного выполнения в автоматизированных комплексах 1С создаются обработки. Они значительно облегчают рутинную работу, ускоряют процессы выгрузки-загрузки информации и одновременно реализуют контроль ее корректности. Выгрузка из 1с в xml позволяет создавать файл с содержимым любого объекта настроенной конфигурации, и использовать его, когда необходима выгрузка данных в идентичную конфигурацию.

Инструменты для создания выгрузки

Для экспорта информации, содержащейся в базах данных, главным образом используется формат xml. Для 1С разработано множество обработок (например, ВыгрузкаЗагрузкаДанныхxml82 epf), при помощи которых возможно выводить в файл и загружать данные. При этом пользователь должен получать файл определенной структуры, который позволяет загружать хранящуюся в нем информацию в родную базу данных или переносить ее в другое место. При создании выгрузки следует соблюдать следующие правила:

  • Сохранить созданные файлы до момента полного восстановления и окончания процедур проверки корректности перенесенной информации;
  • В случае использования обработки как инструмента резервного копирования создавать для копий данных отдельные подпапки и вести журнал их учета для быстрого поиска.

Поставляемая в программе поддержки пользователей 1С универсальная обработка «Выгрузка и загрузка данных XML», которую можно найти на сайте или дисках ИТС, является великолепным средством для экспорта и импорта информации. Пользователь компьютера может выгрузить как всю базу, так и ее отдельные объекты, при этом кроме собственно экспорта производятся различные операции по проверке информации, помогающие избавиться от критических ошибок в данных.Обработка 1с выгрузка в xml работает в двух режимах:

  • Выгрузка. Создает файл, содержащий выгружаемые объекты, определяемые пользователем;
  • Загрузка. Производит чтение экспортируемого ранее файла и записывает находящиеся в нем сведения в информационную базу.

Обработка позволяет произвести контроль объектов на недопустимые символы, а также включает в себя функцию экспорта информации с ограничениями.

Выгрузка может использоваться не только при обмене информацией между базами 1С. С ее помощью можно обеспечить интеграцию различных комплексов, например, 1С и системы Парус. Универсальность формата XML позволяет создавать программы для переноса информации практически для любых информационных банков. Обработка выгрузка и загрузка данных xml – важнейший инструмент обмена информацией.

Процесс выгрузки данных в xml

Рассмотрим, как выгрузить из 1с в xml в обычном режиме. После закачки обработки ВыгрузкаЗагрузкаДанныхxml.epf и ее открытия необходимо выполнить следующие шаги:

  • Отобрать объекты для экспорта;
  • Настроить необходимые фильтры, например, по периоду;
  • Определить месторасположение файла с информацией на дисковой подсистеме;
  • Запустить выгрузку объектов.


Необходимо помнить, что заголовочная часть формата файла выгрузки отличается от формата файла, используемого при выгрузке по планам обмена.

xml

Загрузка xml в 1с производится в базу-приемник с конфигурацией, идентичной базе-источнику. До того, как загрузить в 1с xml 1с необходимо открыть обработку в базе-приемнике. Затем нужно указать путь до выгруженного ранее файла и осуществить загрузку данных нажатием на кнопку «Загрузить данные».

При необходимости активируются флажки для загрузки данных в режиме обмена в распределенной информационной базе и игнорирования возникающих ошибок при загрузке объектов.


После этого необходимо проверить базы и убедиться, что все элементы загружены корректно, чтобы не получить их потери, например, если произошла ошибка в обработчике события после загрузки объекта.


Данная обработка позволяет производить обмен данными между одинаковыми (идентичными) конфигурациями на платформе 1С 8.2 - Бух, ЗУП, УТ, УПП и другие, главное чтобы конфигурации были одинаковыми!

Скриншоты обработки

{foto}

Режимы работы

Обработка реализует 2 режима работы: Выгрузки (создание файла выгрузки указанных пользователем данных) и Загрузки (чтение файла выгрузки, созданного одноименным режимом, и запись имеющихся в нем данных). Установка режима осуществляется выбором в поле Режим.

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

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

Кнопки "Отключить итоги" и "Включить итоги" доступны при установленном флаге "Включить возможность редактирования использования итогов во время загрузки данных" и используются для ручного управления режимом использования итогов при загрузке данных.

Условия применимости обработки

Обработка может использоваться только в тех случаях, когда информационная база, в которой осуществлялась выгрузка данных, и та, в которой данные загружаются, являются однородными (конфигурации идентичны, данные могут различаться), либо все выгружаемые объекты практически полностью идентичны по составу и типам реквизитов и табличных частей, свойствам "ведущего" объекта метаданных и т.д. Следует отметить, что, в связи с указанными ограничениями, обработка главным образом предназначена для обмена между однородными ИБ.

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

Определение состава выгрузки

Обработка позволяет осуществить как полную, так и частичную выгрузку данных информационной базы в файл. Настройка состава выгружаемых данных производится в диалоге путем установки флажков в колонке дерева, отображающего объекты метаданных, данные по которым могут быть выгружены. Дополнительная колонка флажков, "При необходимости", устанавливает необходимость выгрузки объектов данного типа "по ссылке". То есть, если флажок установлен только в колонке "При необходимости", то данные по такому объекту будут выгружаться не полностью, а только в том объеме, который необходим для поддержания ссылочной целостности в информационной базе, которая будет загружать файл выгрузки.

При открытии формы обработка устанавливает признак выгрузки по ссылке всем объектам, что гарантирует ссылочную целостность выгруженного фрагмента информационной базы.

При нажатии на кнопку "Определить объекты, выгружаемые по ссылке" обработка анализирует, ссылки на какие данные могут содержаться в объектах, у которых установлен признак полной выгрузки, и автоматически заполняет колонку флажков, индицирующих необходимость выгрузки по ссылке. Если объект уже имеет установленный флажок полной выгрузки, в таком случае флажок выгрузки по ссылке не устанавливается.

Возможные применения

Использование этой обработки возможно, например, для создания полной или частичной резервной копии данных, осуществления обмена данными между информационными базами, а также как вспомогательный инструмент при восстановлении проблемных информационных баз.

В организации учет может вестить не только в решениях на платформе 1С:Предприятие, но и в других программным комплексах (Галактика, Парус, SAP и прочее). При этом появляются задачи интеграции двух приложений.

Напрмер, в некотором приложении (назовем его "X") требуется прочитать список документов конфигурации. О практической пользе решения подобной задачи говорить не будем, отмечу лишь, что наиболее удобным и универсальным способом в такой ситуации будет выгрузка списка документов в формате XML .

Обмен с использованием этого формата является универсальным, поскольку с ним могут работать большинство приложений. Рассмотрим как можно из 1С:Предприятия выгрузить список документов конфигурации в XML-файл.

Выгрузка в XML

И так, перейдем к главному. Нам нужно обойти список метаданных документов и сформировать список в XML-файле. На следующем скриншоте представлен алгоритм формирования XML-файла:

Функция СоздатьXML() Экспорт // Получаем имя временного файла Путь = ПолучитьИмяВременногоФайла() ; // Инициализируем класс "ЗаписьXML" Запись = Новый ЗаписьXML; // Открываем временный файл для записи - 8 ") ; // Записываем объявление XML-файла Запись. ЗаписатьОбъявлениеXML() ; // Запись. ЗаписатьНачалоЭлемента(" ДокументыКонфигурации ") ; // Первый элемент // Атрибут первого элемента с датой формирования файла Запись. ЗаписатьАтрибут(" generated " , Формат(ТекущаяДата() , " ДФ= гггг- ММ- ddThh:mm:ss; ДЛФ= DT ")) ; // Записываем элемент для каждого документа конфигурации. В текст помещаем имя документа. Для Каждого Док Из Метаданные. Документы Цикл Запись. ЗаписатьНачалоЭлемента(" Документ ") ; Запись. ЗаписатьТекст(Док. Имя) ; Запись. ЗаписатьКонецЭлемента() ; КонецЦикла; // Завершаем запись первого элемента Запись. ЗаписатьКонецЭлемента() ; Запись. Закрыть() ; // Закрываем файл // Получаем двоичные данные файла и помещаем их во временное хранилище ДвоичныеДанные = Новый ДвоичныеДанные(Путь) ; Адрес = ПоместитьВоВременноеХранилище(ДвоичныеДанные, Новый УникальныйИдентификатор) ; Возврат Адрес; // Возвращаем адрес файла в хранилище КонецФункции

Каждый созданный элемент должен быть правильно завершен. После выполнения "ЗаписатьНачалоЭлемента()" обязательно должен быть выполнен метод "ЗаписатьКонецЭлемента", иначе структура XML-файла будет некорректной.

Общий шаблон создания XML-файлов предсавляет собой следующую последовательность:

// 1. Инициализируем класс "ЗаписьXML" Запись = Новый ЗаписьXML; // 2. Открываем временный файл для записи Запись. ОткрытьФайл(Путь, " UTF- 8 ") ; // 3. Записываем объявление XML-файла Запись. ЗаписатьОбъявлениеXML() ; // // 4. ++ Записываем содержимое XML-файла Запись. ЗаписатьНачалоЭлемента(" ЭлементXML ") ; Запись. ЗаписатьКонецЭлемента() ; // -- Записываем содержимое XML-файла // 5. Закрываем файл Запись. Закрыть() ;

С помощью этих пяти шагов создается практически любой XML-файл.

В нашем примере созданный файл переводится в двоичные данные и возвращается в место вызова функции "СоздатьXML". Далее этот файл может быть записан в файловую систему.

Пример выгруженного файла Вы могли видеть на скриншоте выше.

Стороннее приложение

Для примере создал приложение на.NET Framework, чтобы продемонстрировать чтенеие XML-файла в стороннем приложении.

Програма читает созданный файл и выводит документы в виде списка:

Можете попробовать сами, приложение доступно для загрузки по ссылке в конце статьи.

Универсальность

Формат XML используется в большинстве конфигурации обмена данными между прикладными решениями на платформе 1С:Предприятие. Другим часто используемым способом обмена является подключение через COM-соединение. XML-позволяет выполнять обмен практически с любыми приложениями, чем и заслужил называться универсальным.

Файлы для загрузки:

Приложение чтения XML-файла.

Обработка формирования XML-файла.

Когда предприятие постоянно пользуется в своей работе каким-то программным комплексом, то, естественно, всегда возникает вопрос его постоянной поддержки и администрирования. Никак не обойтись при этом с задачами обмена, хранения и восстановления данных. Рассмотрим, как загрузить или выгрузить данные из 1С в формате XML, так как это является важной процедурой этой темы.

Строятся они так, чтобы при выгрузке можно было получить файл формата XML, в котором будут записаны необходимые клиенту данные. При этом одновременно с записью происходит и контроль корректности переносимых записей на предмет критических ошибок.

Таким образом, выгрузка в XML-файл (импорт записей) из одной информационной базы и последующая загрузка из XML в другую- представляют собой обмен данными в формате XML между базами.

Такая процедура, особенно при больших массивах информации, экономит большое количество ручной работы.

Импорт (полученный файл) может быть использован также как архив для восстановления в непредвиденных ситуациях(при потере или повреждении).

Таких инструментов-обработок разработано очень много, и они доступны в интернете. Ответственность за их использование ложится на плечи (и голову) клиента.

Но для официальных пользователей одинэски разработчиками создан универсальный обработчик «Выгрузка/загрузка данных XML».

ВАЖНО. Экспорт в XML в 1С и дальнейшая загрузка в XML из 1С допустима для идентичных конфигураций - в противном случае произойдёт её повреждение.

Универсальный обработчик

Основные моменты для использования универсального разработчика:

  • Импорт файлов сохранять до окончания переноса записей и проверки их корректности;
  • При использовании как резервных копий следует вести их учёт для сортировки поиска.

В его работе предусмотрены два режима: создание файла при сохранении информации и его чтение/запись - когда происходит импорт.

Кроме того, пользователь может устанавливать как при экспорте, так и загрузке данных дополнительные ограничения.

Извлекаем записи

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

После скачивания, установки и открытия обработчика выполняется следующее:

Их отбор производят в открывшемся после запуска диалоговом окне. Для этого устанавливают галочки в перечне, который отображает объекты метаданных для извлечения;

  1. Настраиваются необходимые фильтры (например, по дате);
  2. Выбирается место на дисковом пространстве;
  3. Запускается сама операция.

Заливаем записи в приёмник

Первым шагом для принятия данных в базу-приёмник нужно открыть в ней программу-обработчик.

После того как будет указан путь к файлу-источнику и активированы (при необходимости) флажки настроек процедуры - можно запускать процесс кнопкой «Загрузить данные».


Теперь вам известно, как загрузить или выгрузить данные из 1С в формате XML для сохранения данных и обмена между базами.

Пишите в комментариях о своём опыте в этом вопросе.