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

Обмен с использованием этого формата является универсальным, поскольку с ним могут работать большинство приложений. Рассмотрим как можно из 1С:Предприятия выгрузить список документов конфигурации в XML-файл.
Выгрузка в XML
И так, перейдем к главному. Нам нужно обойти список метаданных документов и сформировать список в XML-файле. На следующем скриншоте представлен алгоритм формирования XML-файла:
Функция СоздатьXML() Экспорт // Получаем имя временного файла Путь = ПолучитьИмяВременногоФайла(); // Инициализируем класс "ЗаписьXML" Запись = Новый ЗаписьXML; // Открываем временный файл для записи Запись.ОткрытьФайл(Путь, "UTF-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 файла выгрузки Работников организации с Группировкой по Подразделению


1С 7.x : Как получить курсы валют с сайта НБУ http://www.bank.gov.ua/ за любую дату ? 6
Функция ПолучитьТаблицуКурсовНБУ(ДатаКурса, Ежедневно = 1) // если в качестве второго параметра указать число отличное от 1 — получем валюты, которые котируются на ежемесячной основе Перем Reader, Url, Точки, HtmlTab, Строк, Р, НомСтроки, НомЯче QR код в 1С 21
Столкнулся с интересной задачей реализации генерации QR-кода в 1С 8.2 ( QR-код — матричный код (двухмерный штрихкод) ) Для генерации было использовано api от google (http://chart.apis.google.com/chart). Вот сайт , который работает с ним. После тог SMTP greeting failure: 421 SMTP connection broken (reply) 8
Описание ошибки: С сентября 2014 Яндекс.Почта, Mail.ru перешли на протокол SSL, что сделало их еще более безопасными. Чтобы и дальше работать с письмами через 1С, Вам нужно изменить их настройки и внести доработки в код ZIP-архив Создание 0
Для того чтобы записать файлы в ZIP-архив необходимо выполнить несколько простых действий: * Создать архив с необходимыми параметрами, в который будут помещаться файлы. * Поместить в архив необходимые файлы. * Записать архив. Создание объекта За Автоматизация обмена данных используя обработку «Универсальный обмен данными в формате XML" 10
Автоматизация обмена между базами используя обработку » Универсальный обмен данными в формате XML» В основу данной публикации положены найденные мною материалы по cозданию обмена между двумя базами с использованием обработки » Универсальный обме Посмотреть все результаты поиска похожих
Еще в этой же категории
Парсер XML в дерево значений 8
// Чтение XML НаСервере Функция ЧтениеXMLВДерево(Путь) Дерево = Новый ДеревоЗначений; Дерево.Колонки.Добавить(» Имя» ); Дерево.Колонки.Добавить(» Значение» ); XMLФайл = Новый ЧтениеXML; XMLФайл.ОткрытьФайл(Путь); ПрочитатьXMLПоТегам(XMLФа Импорт в 1С из текстовых файлов (TXT, CSV) 7
Не редко возникает необходимость загрузить в справочники или документы 1С данные из текстового файла. Приведенный пример внешней обработки позволит преобразовать текстовый файл с известным разделителем данных в поле табличного документа для последующ Выгрузка / Загрузка данных посредством текстовых (TXT) файлов 5
Для работы с текстовыми документами существуют три типа данных – ТекстовыйДокумент, ЗаписьТекста и ЧтениеТекста . Разница двух подходов состоит в способе загрузки документа: ТекстовыйДокумент загружает файл целиком и далее построчно обрабатывает е Недопустимые символы XML 4
Ввести недопустимые символы в оболочке 1С Предприятия 8.х весьма затруднительно, но вот загрузить их из внешних источников вполне возможно (напр. файл обмена DBF). Чтобы избежать этого — при загрузке удаляем недопустимые символы из строк: Функция Уд Загрузка данных из CSV файла 4
// выберем CSV файл ДиалогВыбора = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогВыбора.Заголовок = “Выберите файл”; Если ДиалогВыбора.Выбрать() Тогда ИмяФайла = ДиалогВыбора.ПолноеИмяФайла; КонецЕсли; //Обработка данных из Посмотреть все в категории XML, DBF, TXT, CSV
1С 8.x : Создание XML файла выгрузки Работников организации с Группировкой по Подразделению


QR код в 1С 21
Столкнулся с интересной задачей реализации генерации QR-кода в 1С 8.2 ( QR-код — матричный код (двухмерный штрихкод) ) Для генерации было использовано api от google (http://chart.apis.google.com/chart). Вот сайт , который работает с ним. После тог SMTP greeting failure: 421 SMTP connection broken (reply) 8
Описание ошибки: С сентября 2014 Яндекс.Почта, Mail.ru перешли на протокол SSL, что сделало их еще более безопасными. Чтобы и дальше работать с письмами через 1С, Вам нужно изменить их настройки и внести доработки в код ZIP-архив Создание 0
Для того чтобы записать файлы в ZIP-архив необходимо выполнить несколько простых действий: * Создать архив с необходимыми параметрами, в который будут помещаться файлы. * Поместить в архив необходимые файлы. * Записать архив. Создание объекта За Автоматизация обмена данных используя обработку «Универсальный обмен данными в формате XML" 10
Автоматизация обмена между базами используя обработку » Универсальный обмен данными в формате XML» В основу данной публикации положены найденные мною материалы по cозданию обмена между двумя базами с использованием обработки » Универсальный обме Автоматическая архивация баз 1С 8.х для файлового и клиент-серверного варианта 6
Данный способ архивации подходит для файловых и SQL версий баз 1С: И так: 1. Создаем скрипт vbs и сохраняем его в C: