Загрузка данных из xml в 1с. Формирование файла 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");
Файл.ЗаписатьНачалоЭлемента("Конфигурация");

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

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

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




КонецЦикла;

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

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

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

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

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

Позволит сэкономить время на занесение в 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. Формирование документа «Счет-фактура»

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

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

Как загрузить файл XML в базу 1С?

Выгруженные базы, отдельно взятые документы могут передаваться от пользователей по любым каналам связи – на сменных носителях, по электронной почте или через облачные хранилища. Формат хорошо поддается сжатию с помощью архиваторов, что значительно ускоряет копирование и экономит место на диске.

Процедура загрузки данных из файла формата XML в общих чертах выглядит следующим образом:

    Разрешить показ пункта меню «Все функции». Для этого надо поставить галочку в соответствующем пункте окна «Параметры» (вкладка находится в разделе меню «Сервис»).

    В меню «Все функции» через плюс раскрыть перечень вариантов, где и выбрать пункт «Обработки».

    В предложенном списке открыть пункт «Универсальный обмен данными в формате XML».

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

Как используются файлы XML в 1С?

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

Формат используется на платформе 1С: Предприятие 8 по следующим направлениям:

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

    Обмен данными с банками, налоговой службой, внебюджетными фондами.

    Перенос расчетов по заработной плате из 1С: ЗУП и других «специализированных» конфигураций в «общую» 1С: Бухгалтерия 8.

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

Если в компании выбран раздельный способ ведения бухгалтерского и налогового учета, то обработка по выгрузке/загрузке финансовых данных через формат XML станет весьма востребованной. С ее помощью нужные для расчета налоговой базы цифры переносятся в программу 1С: Налогоплательщик или в подобный программный продукт. За счет того, что файлы этого формата легко редактируются, с помощью пакета Microsoft Office легко подкорректировать их содержимое перед отправкой в налоговую службу.

То же относится к КУДиР (книге учета доходов и расходов), журналу учета выданных или полученных счет-фактур. Все это передается через систему СБИС++ и, помимо процесса редактирования табличной части XML файла, выгрузка в этом формате необходима для последующей загрузки в сервис и передачи данных в ФНС.

Часто востребован обмен и с такой конфигурацией, как 1С: Управление торговлей, т. к. в бизнесе она используется для организации продаж, управленческого учета, а бухгалтерия на базе 1С: Бухгалтерия 8 функционирует автономно, получая лишь сводные данные обо всех движениях товара и денежных средств.

Если выгрузку заказов или прайсов настроить просто, так как здесь легко использовать «любой» формат данных, то те же выписки по банковским счетам приходится сохранять в XML (как общепринятом стандарте).

Чаще всего обмен происходит с программой Клиент-Банк. Процесс выгрузки выглядит здесь следующим образом:

    Формируется выписка за нужный пользователю период.

    В зависимости от версии программы нажимается кнопка либо «Экспортировать», либо «Экспорт».

    В открывшемся окне выбирается нужная папка и имя файла.

После завершения процедуры документ можно переносить на сменных носителях или же через интернет (электронная почта, облачные хранилища с общим доступом и т. д.). Когда нужно загрузить выписку в конфигурацию 1С, то выбирают раздел «Банк и касса», затем переходят в журнал «Банковские выписки».

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

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

Используется формат XML и для загрузки различных классификаторов (КЛАДР, ОКОФ, ЕНАОФ). Если в программе 1С они отсутствуют, надо избегать их ручного заполнения, т. к. легко допустить ошибку при указании кодов. Стоит один раз воспользоваться файлом XML, скачав классификатор из надежного источника.

Сделать это может как сам пользователь, так и приглашенный специалист:

    В основном меню выбирают раздел «Справочники».

    Нажимается кнопка «Настройка действий».

    В открывшемся окне указывают пункт «Загрузить классификатор okof», после чего нажимают на кнопку «Добавить».

    В появившемся разделе «Сервис» выбирают нужную команду и жмут «ОК».

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

Как загрузить в 1С:Бухгалтерия 8.3 (редакция 3.0) данные выгруженные из торговли или зарплаты?

2016-12-01T12:52:06+00:00

Чаще всего в бухгалтерию переносят данные из торговли или зарплаты.

Выгруженные данные представляют из себя файл с расширением ".xml ". Как загрузить его в программу?

  1. Начинаем с создания резервной копии бухгалтерии, чтобы если загрузка испортит базу мы смогли вернуться в исходное состояние. О создании резервных копий написано .
  2. Теперь открываем меню "Все функции " (об этом ).
  3. Находим в открывшемся окне пункт "Обработки " и раскрываем его через плюсик.
  4. Находим и открываем среди его пунктов обработку "Универсальный обмен данными в формате XML ".
  5. ".
  6. Указываем путь к файлу из которого будем загружать данные.
  7. Нажимаем кнопку "Загрузить данные ".

Если всё прошло успешно - отлично! Если есть ошибки, то причина вероятно в том, что для выгрузки из торговли или зарплаты использовались не подходящие (устаревшие) правила - требуется их обновление и повторная выгрузка.

С уважением, (преподаватель и разработчик ).

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

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

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

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

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

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

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

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

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

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

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

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

xml

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

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

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