
Обновим 1С с гарантией сохранности базы

Поможем с 1С 24/7, без выходных

Установим сервисы 1С бесплатно

Оперативно решим любые задачи по 1С
XML – это расширяемый язык разметки, широко применяющийся в 1С для обмена данными между конфигурациями и между другими внешними источниками данных. Предлагаем рассмотреть два варианта работы с xml 1С — средствами внутреннего языка и средствами внутреннего языка с использованием XDTO пакетов.
Создадим новый объект: ЧтениеXML. Он позволяет читать сообщения. Далее привожу простейший код, показывающий принцип чтения и разборки XML файла. Пояснения буду приводить в виде комментариев, чтобы не разрывать код на куски и его можно было скопировать для дальнейшего использования.
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл("d:\Temp\Test.XML"); //Открываем файл
Пока ЧтениеXML.Прочитать() Цикл //Цикл по структуре
Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда //Определяем начало элемента
Пока ЧтениеXML.ПрочитатьАтрибут() Цикл
//Внутри элемента считываем атрибуты
КонецЦикла;
ИначеЕсли ЧтениеXML.ТипУзла=ТипУзлаXML.Текст Тогда
//Если это текст, читаем текст
ИначеЕсли ЧтениеXML.ТипУзла=ТипУзлаXML.КонецЭлемента Тогда
//Определяем дальнейшие действия
КонецЕсли ;
КонецЦикла;
Таким образом, зная структуру файла, можно его разобрать «по полочкам» в программе 1С.
Так же создадим объект ЗаписьXML.
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл("d:\Temp\Test.XML", "UTF-8"); //Открываем файл для записи, указываем кодировку
ЗаписьXML.ЗаписатьОбъявлениеXML(); // Записываем объявление XML
ЗаписьXML.ЗаписатьНачалоЭлемента("Организации"); // Начало элемента Организации
Выборка = Справочники.Организации.Выбрать();
Пока Выборка.Следующий() Цикл // Начинаем выгружать организации
ЗаписьXML.ЗаписатьНачалоЭлемента("Организация"); // Начало элемента Организация
ЗаписьXML.ЗаписатьАтрибут("Код",Строка(Выборка.Код));
ЗаписьXML.ЗаписатьАтрибут("Наименование",Строка(Выборка.Наименование));
ЗаписьXML.ЗаписатьКонецЭлемента(); // Конец элемента Организация
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента(); // Конец элемента Организации
Таким образом мы выгрузим код и наименование всех организаций из справочника 1С «Организации».
В 1С предприятии существует такой объект метаданных, как XDTO-пакеты. Они служат для обмена данными в формате XML.
XDTO-пакет позволяет создать структуру, по которой потом пойдет выгрузка данных.
Теперь, определив структуру (ее, кстати, можно загрузить из файла), мы можем смело сформировать файл:
МойXML = Новый ЗаписьXML;
ПараметрыЗаписиXML = Новый ПараметрыЗаписиXML("UTF-8", "1.0", Ложь);
МойXML.ОткрытьФайл("d:\Temp\Test.XML", ПараметрыЗаписиXML);
МойXML.ЗаписатьОбъявлениеXML();
ТипОбъектаАктивыВСистеме = ФабрикаXDTO.Тип("www.primer.ru/assets", "АктивыВСистеме");
ОбъектАктивыВСистеме = ФабрикаXDTO.Создать(ТипОбъектаАктивыВСистеме);
ОбъектАктивыВСистеме.ДатаВыгрузки = ТекущаяДата();
ТипОбъектаАктивы = ФабрикаXDTO.Тип("www.primer.ru/assets", "Активы");
ОбъектАктивы = ФабрикаXDTO.Создать(ТипОбъектаАктивы);
ОбъектАктивыВСистеме.Добавить(ФормаXML.Элемент, "www.primer.ru/assets", "Активы", ОбъектАктивы);
ТипОбъектаАктив = ФабрикаXDTO.Тип("www.primer.ru/assets", "Актив");
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ОбъектАктив = ФабрикаXDTO.Создать(ТипОбъектаАктив);
ОбъектАктив.Наименование = ВыборкаДетальныеЗаписи.Наименование;
ОбъектАктив.ISIN = ВыборкаДетальныеЗаписи.ISIN;
ОбъектАктивы.Актив.Добавить(ОбъектАктив);
КонецЦикла;
ФабрикаXDTO.ЗаписатьXML(МойXML, ОбъектАктивыВСистеме);
МойXML.Закрыть();
Вот так, определив заранее схему, можно создать файл любой сложности.
Сделать это можно двумя основными способами:
Иметь в штате квалифицированных специалистов, которые имеют достаточную компетенцию для решения основных вопросов.
Обратиться за сопровождением 1С к сторонним специалистам.
Мы предлагаем не только внедрение, настройку и сопровождение, но и разработку под 1С, которая позволит оптимизировать ваши бизнес-процессы.
На вас работает не один человек, а целая команда. Вы не зависите от того, захочет ли специалист пойти в отпуск или взять больничный.
Вам не нужно оплачивать больничные, отпускные и готовить рабочее место для нового сотрудника.
Среди наших сотрудников не только специалисты 1С, но и опытные бухгалтера и юристы, поэтому мы подходим всесторонне к вопросу документооборота и отчетности.
Мы выстраиваем взаимодействие с клиентами так, чтобы вам удобно было оперативно обратиться по любому вопросу.
Позвоните по номеру телефона, указанному на сайте или заполните форму обратной связи, чтобы мы могли сориентировать по стоимости и рассказать, как начать сотрудничество.
Яндекс 360 для бизнеса представляет собой настоящий виртуальный офис, который дарит Вашей команде доступ к корпоративной почте, календарю, облачному хранилищу,…
Согласно последним изменениям в законодательстве, в частности Закону от 04.08.2023 г. № 427-ФЗ, был внесен новый пункт в статью 431…
Плательщики налога на упрощенной системе налогообложения (УСН) обязаны не забыть подать в налоговую инспекцию уведомление о суммах рассчитанных авансов по…