Перейти к содержимому

Как сохранить файл в формате xml из 1с

  • автор:

Как выгрузить данные из 1С в файл XML с помощью XDTO

Продолжаем вместе с изучать 1С программирование. Сегодня речь пойдет про обмен данными между 1С и другими программами и сервисами. Вариантов реализовать подобный обмен очень много, но чаще всего прибегают к обмену с помощью выгрузки и загрузки данных из файла XML. Если Вы только начинаете изучать 1С то разобраться с выгрузкой и загрузкой данных из разных файлов очень важно. Как минимум вы должны уметь работать с файлами CSV, Excel, txt, XML, DBF. Для начала научимся выгружать данный в файл XML из 1С, например из справочника.

Выгрузка справочника в файл XML

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

1C выгрузка в XML

Теперь создадим команду «Выгрузка в XML» и размести её в командной панели.

Как выгрузить данный в файл XML с помощью XDTO

Создадим обработчик команды с процедурой на клиенте и на сервере, и напишем следующий код. Если кратко то открываем файл XML, выбираем справочник, в цикле обходим его записи и записываем в файл, выводим сообщение. Если что-то в коде не понятно спрашивайте!

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

Выгрузка справочника в файл XML

Остается только проверить его работоспособность, запускаем 1С открываем справочник и нажимаем кнопку «Выгрузить в XML», если код отработал появиться сообщение.

1С Как сделать выгрузку данных в файл XML

Далее смотрим что у нас записалось в сам файл XML.

1С выгрузка данных в файл XML

Видим что все данные справочника успешно записались в файл. Теперь из него можно загружать их в другую система или в конфигурацию 1С в которой есть аналогичный справочник номенклатуры.

Кстати файл «Номенклатура.xml» должен быть создан и располагаться по указному пути в коде «C:\Номенклатура.xml». Если его там не будет или он будет иметь другое имя вы увидите ошибку «Ошибка доступа к файлу».

Как выгрузить счет из 1С в xml

Выгрузить счет из 1С в формате xml можно при помощи специальной обработки «Выгрузка и загрузка данных XML», которая расположена в 1С: Предприятии версии 8.3 и находится в каталоге EXE/EXTREPS/UNIREPS83/UploadToXML. Так же ее можно скачать здесь .

После скачивания обработки ее необходимо запустить. Для этого воспользуемся командой Открыть

как выгрузить счет из 1с в xml (1).png

Указываем место, куда была сохранена обработка и нажимаем Открыть

как выгрузить счет из 1с в xml (2).png

В окне обработки во вкладке Выгрузка указываем:

Данные для выгрузки

Куда будут выгружены данные

как выгрузить счет из 1с в xml (3).png

Если не выбран период выгрузки, то будут выгружены все данные указанного типа.

На вкладке Дополнительные объекты для выгрузки можно отобрать один или несколько объектов для выгрузки

как выгрузить счет из 1с в xml (4).png

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

как выгрузить счет из 1с в xml (5).png

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

Формирование файла XML. Простая выгрузка для стороннего приложения

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

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

Изображение

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

Выгрузка в XML

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

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

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

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

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

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

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

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

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

Изображение

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

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

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

Как сохранить файл в формате xml из 1с

Ниже приведена инструкция по выгрузке базы данных из стационарной (установленной на компьютер пользователя) программы 1С конфигурации Бухгалтерия, Розница, Управление торговлей в xml-файл в формате EnterpriseData.

Данная инструкция подготовлена на примере платформы 1С:Предприятие версии 8.3 (8.3.11.2867) и конфигурации Розница (базовая) редакции 2.2 (2.2.7.42). В зависимости от версий конфигурации и платформы 1С конкретного пользователя, а также прав его учётной записи в программе, наличие и расположение пунктов меню может отличаться от приведённого здесь.

2. Требования

После выгрузки данных из 1С выходной xml-файл будет сохранён на жёстком диске компьютера. В зависимости от размера базы данных этот файл может быть весьма большим (200 МБ и более), поэтому перед выгрузкой данных из 1С рекомендуется проверить объём свободного места на жёстком диске, выбранном для сохранения файла выгрузки. В качестве места для записи файла обмена можно также использовать непосредственно внешний диск или флешку.

Обращаем внимание, что в зависимости от используемого вами почтового сервиса (Яндекс, Mail, Google и др.) имеется ограничение на максимальный размер электронного сообщения, у каждого почтового сервиса он свой. Например, на момент написания статьи, у Яндекс почты он составляет 30 МБ, у Google почты — 25 МБ. Если размер отправляемой базы данных превышает этот лимит, то файл базы данных при отправке автоматически разделяется на части, которые отправляются отдельными сообщениями. В этом случае после получения всех частей пользователю нужно будет сохранить их все вместе на компьютере в отдельном каталоге и вручную собрать в единый файл. Для объединения частей файлов в один файл можно воспользоваться, например, соответствующей командой "Собрать файл" в программе Total Commander. При этом собираемый из частей файл необходимо сохранить в другом каталоге, вне каталога, в котором были сохранены части файла.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *