1С 8.3 XML
Данные > Примеры кода 1С > 1С 8.3 XML
В 1С XML используется в основном для обмена информацией с WEB, электронными библиотеками, различными внешними системами для экспорта/импорта данных. XML это текстовые файлы с разметками, которые позволяют хранить данные в уникальном структурированном виде. Могут редактироваться в любом текстовом редакторе.
Пример структуры файла XML для 1С 8.3:
<?xml version="1.0" encoding="UTF-8"?>
-<Рестораны>
-<Ресторан Кухня="Азиатская" Счет="3500" Категория="Высшая" Название="Китайская грамота">
-<Меню>
<Блюдо Название="Суши из форели"/>
<Блюдо Название="Лапша фирменная"/>
<Блюдо Название="Суп из малюсков"/>
</Меню>
<Описание>Ресторан азиатской кухни Высшей наценочной категории</Описание>
</Ресторан>
-<Ресторан Кухня="Европейская" Счет="5000" Категория="Люкс" Название="Итальянский Экспресс">
-<Меню>
<Блюдо Название="Мясная нарезка из мраморной говядины"/>
<Блюдо Название="Салат де-люкс Комплимент"/>
<Блюдо Название="Пицца от шеф повара"/>
</Меню>
<Описание>Ресторан европейской кухни категории Люкс</Описание>
</Ресторан>
</Рестораны>
Оглавление:
Чтение файла в формате XML по порядку (способ №1) в 1С 8.3:
//Подходит для файлов более 100Mb
&НаСервере
Процедура ПрочитатьФайлXMLПоПорядкуСпособ1(ПутьКФайлу)
XML = Новый ЧтениеXML;
XML.ОткрытьФайл(ПутьКФайлу);
Пока XML.Прочитать() Цикл
Если XML.ТипУзла = ТипУзлаXML.НачалоЭлемента И XML.Имя = "Ресторан" Тогда
Название = XML.ЗначениеАтрибута("Название");
Если Название <> Неопределено Тогда
Сообщить("Название ресторана:" + Название);
КонецЕсли;
Категория = XML.ЗначениеАтрибута("Категория");
Если Категория <> Неопределено Тогда
Сообщить("...наценочная категория ресторана: " + Категория);
КонецЕсли;
Счет = XML.ЗначениеАтрибута("Счет");
Если Счет <> Неопределено Тогда
Сообщить("...средний счет ресторана: " + Счет);
КонецЕсли;
Кухня = XML.ЗначениеАтрибута("Кухня");
Если Кухня <> Неопределено Тогда
Сообщить("...кухня ресторана: " + Кухня);
КонецЕсли;
Пока XML.Прочитать() Цикл// <Ресторан>
Если XML.ТипУзла = ТипУзлаXML.НачалоЭлемента И XML.Имя = "Меню" Тогда
Сообщить("Меню:");
Пока XML.Прочитать() Цикл// <Меню>
Если XML.ТипУзла = ТипУзлаXML.НачалоЭлемента И XML.Имя = "Блюдо" Тогда
Название = XML.ЗначениеАтрибута("Название");
Если Название <> Неопределено Тогда
Сообщить("...название блюда:" + Название);
КонецЕсли;
ИначеЕсли XML.ТипУзла = ТипУзлаXML.КонецЭлемента И XML.Имя = "Меню" Тогда
Прервать;
КонецЕсли;
КонецЦикла;// Меню>
ИначеЕсли XML.ТипУзла = ТипУзлаXML.НачалоЭлемента И XML.Имя = "Описание" Тогда
XML.Прочитать();
Если XML.ТипУзла = ТипУзлаXML.Текст Тогда
Сообщить("Описание:" + XML.Значение);
КонецЕсли;
ИначеЕсли XML.ТипУзла = ТипУзлаXML.КонецЭлемента И XML.Имя = "Ресторан" Тогда
Прервать;
КонецЕсли;
КонецЦикла;// Ресторан>
КонецЕсли;
КонецЦикла;
XML.Закрыть();
КонецПроцедуры
&НаСервере
Процедура ПрочитатьФайлXMLПоПорядкуСпособ1(ПутьКФайлу)
XML = Новый ЧтениеXML;
XML.ОткрытьФайл(ПутьКФайлу);
Пока XML.Прочитать() Цикл
Если XML.ТипУзла = ТипУзлаXML.НачалоЭлемента И XML.Имя = "Ресторан" Тогда
Название = XML.ЗначениеАтрибута("Название");
Если Название <> Неопределено Тогда
Сообщить("Название ресторана:" + Название);
КонецЕсли;
Категория = XML.ЗначениеАтрибута("Категория");
Если Категория <> Неопределено Тогда
Сообщить("...наценочная категория ресторана: " + Категория);
КонецЕсли;
Счет = XML.ЗначениеАтрибута("Счет");
Если Счет <> Неопределено Тогда
Сообщить("...средний счет ресторана: " + Счет);
КонецЕсли;
Кухня = XML.ЗначениеАтрибута("Кухня");
Если Кухня <> Неопределено Тогда
Сообщить("...кухня ресторана: " + Кухня);
КонецЕсли;
Пока XML.Прочитать() Цикл// <Ресторан>
Если XML.ТипУзла = ТипУзлаXML.НачалоЭлемента И XML.Имя = "Меню" Тогда
Сообщить("Меню:");
Пока XML.Прочитать() Цикл// <Меню>
Если XML.ТипУзла = ТипУзлаXML.НачалоЭлемента И XML.Имя = "Блюдо" Тогда
Название = XML.ЗначениеАтрибута("Название");
Если Название <> Неопределено Тогда
Сообщить("...название блюда:" + Название);
КонецЕсли;
ИначеЕсли XML.ТипУзла = ТипУзлаXML.КонецЭлемента И XML.Имя = "Меню" Тогда
Прервать;
КонецЕсли;
КонецЦикла;// Меню>
ИначеЕсли XML.ТипУзла = ТипУзлаXML.НачалоЭлемента И XML.Имя = "Описание" Тогда
XML.Прочитать();
Если XML.ТипУзла = ТипУзлаXML.Текст Тогда
Сообщить("Описание:" + XML.Значение);
КонецЕсли;
ИначеЕсли XML.ТипУзла = ТипУзлаXML.КонецЭлемента И XML.Имя = "Ресторан" Тогда
Прервать;
КонецЕсли;
КонецЦикла;// Ресторан>
КонецЕсли;
КонецЦикла;
XML.Закрыть();
КонецПроцедуры
Чтение файла в формате XML по порядку (способ №2) в 1С 8.3:
//Подходит для файлов более 100Mb
&НаСервере
Процедура ПрочитатьФайлXMLПоПорядкуСпособ2(ПутьКФайлу)
XML = Новый ЧтениеXML;
XML.ОткрытьФайл(ПутьКФайлу);
СписокИмен = Новый СписокЗначений;
Пока XML.Прочитать() Цикл
Если XML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
СписокИмен.Добавить(XML.Имя);
ПутьXML = СобратьПуть(СписокИмен);
Если ПутьXML = "/Рестораны/Ресторан" Тогда
Название = XML.ЗначениеАтрибута("Название");
Если Название <> Неопределено Тогда
Сообщить("Название ресторана: " + Название);//"Китайская грамота"
КонецЕсли;
Категория = XML.ЗначениеАтрибута("Категория");
Если Категория <> Неопределено Тогда
Сообщить("...наценочная категория ресторана: " + Категория);// Высшая
КонецЕсли;
Счет = XML.ЗначениеАтрибута("Счет");
Если Счет <> Неопределено Тогда
Сообщить("...средний счет ресторана: " + Счет);// 3500
КонецЕсли;
Кухня = XML.ЗначениеАтрибута("Кухня");
Если Кухня <> Неопределено Тогда
Сообщить("...кухня ресторана: " + Кухня);// Азиатская
КонецЕсли;
ИначеЕсли ПутьXML = "/Рестораны/Ресторан/Меню" Тогда
Сообщить("Меню:");
ИначеЕсли ПутьXML = "/Рестораны/Ресторан/Меню/Блюдо" Тогда
Название = XML.ЗначениеАтрибута("Название");
Если Название <> Неопределено Тогда
Сообщить("...название блюда: " + Название);
КонецЕсли;
ИначеЕсли ПутьXML = "/Рестораны/Ресторан/Описание" Тогда
XML.Прочитать();
Если XML.ТипУзла = ТипУзлаXML.Текст Тогда
Сообщить("Описание: " + XML.Значение);
КонецЕсли;
КонецЕсли;
ИначеЕсли XML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
СписокИмен.Удалить(СписокИмен.Количество() - 1);
КонецЕсли;
КонецЦикла;
XML.Закрыть();
КонецПроцедуры
&НаСервере
Функция СобратьПуть(СписокИмен)
НашПуть = "";
Для Каждого Имя Из СписокИмен Цикл
НашПуть = НашПуть + "/" + Имя;
КонецЦикла;
Возврат НашПуть;
КонецФункции
&НаСервере
Процедура ПрочитатьФайлXMLПоПорядкуСпособ2(ПутьКФайлу)
XML = Новый ЧтениеXML;
XML.ОткрытьФайл(ПутьКФайлу);
СписокИмен = Новый СписокЗначений;
Пока XML.Прочитать() Цикл
Если XML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
СписокИмен.Добавить(XML.Имя);
ПутьXML = СобратьПуть(СписокИмен);
Если ПутьXML = "/Рестораны/Ресторан" Тогда
Название = XML.ЗначениеАтрибута("Название");
Если Название <> Неопределено Тогда
Сообщить("Название ресторана: " + Название);//"Китайская грамота"
КонецЕсли;
Категория = XML.ЗначениеАтрибута("Категория");
Если Категория <> Неопределено Тогда
Сообщить("...наценочная категория ресторана: " + Категория);// Высшая
КонецЕсли;
Счет = XML.ЗначениеАтрибута("Счет");
Если Счет <> Неопределено Тогда
Сообщить("...средний счет ресторана: " + Счет);// 3500
КонецЕсли;
Кухня = XML.ЗначениеАтрибута("Кухня");
Если Кухня <> Неопределено Тогда
Сообщить("...кухня ресторана: " + Кухня);// Азиатская
КонецЕсли;
ИначеЕсли ПутьXML = "/Рестораны/Ресторан/Меню" Тогда
Сообщить("Меню:");
ИначеЕсли ПутьXML = "/Рестораны/Ресторан/Меню/Блюдо" Тогда
Название = XML.ЗначениеАтрибута("Название");
Если Название <> Неопределено Тогда
Сообщить("...название блюда: " + Название);
КонецЕсли;
ИначеЕсли ПутьXML = "/Рестораны/Ресторан/Описание" Тогда
XML.Прочитать();
Если XML.ТипУзла = ТипУзлаXML.Текст Тогда
Сообщить("Описание: " + XML.Значение);
КонецЕсли;
КонецЕсли;
ИначеЕсли XML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
СписокИмен.Удалить(СписокИмен.Количество() - 1);
КонецЕсли;
КонецЦикла;
XML.Закрыть();
КонецПроцедуры
&НаСервере
Функция СобратьПуть(СписокИмен)
НашПуть = "";
Для Каждого Имя Из СписокИмен Цикл
НашПуть = НашПуть + "/" + Имя;
КонецЦикла;
Возврат НашПуть;
КонецФункции
Чтение файла в формате XML через document object model (DOM) (способ №3) в 1С 8.3:
//Подходит для файлов менее 100Mb, для больших Не подходит
&НаСервере
Процедура ПрочитатьФайлXMLЧерезDOMСпособ3(ПутьКФайлу)
//Поочередная обработка всех узлов документа, представленных в XML:
//1.Объявление механизмов, с помощью которых происходит чтение XML файла; Цикл для обхода узлов;
//2.Считывание данных и атрибутов в узле;
//3.Вывод информации. Если есть необходимость, на этом этапе может происходить запись в переменные или сразу в нужные таблицы;
//4.Завершение работы механизма
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ПутьКФайлу);
Построитель_DOM = Новый ПостроительDOM;
ДокументXML = Построитель_DOM.Прочитать(ЧтениеXML);
Для Каждого ТекУзел Из ДокументXML.ЭлементДокумента.ДочерниеУзлы Цикл
Если ТекУзел.ИмяУзла = "Ресторан" Тогда
Ресторан = ТекУзел;
Название = Ресторан.Атрибуты.ПолучитьИменованныйЭлемент("Название");
Если Название <> Неопределено Тогда
Сообщить("Название ресторана:" + Название.Значение);//"Китайская грамота"
КонецЕсли;
Категория = Ресторан.Атрибуты.ПолучитьИменованныйЭлемент("Категория");
Если Категория <> Неопределено Тогда
Сообщить("...наценочная категория ресторана: " + Категория.Значение);// Высшая
КонецЕсли;
СрСчет = Ресторан.Атрибуты.ПолучитьИменованныйЭлемент("Счет");
Если СрСчет <> Неопределено Тогда
Сообщить("...средний счет ресторана: " + СрСчет.Значение);// 3500
КонецЕсли;
Кухня = Ресторан.Атрибуты.ПолучитьИменованныйЭлемент("Кухня");
Если Кухня <> Неопределено Тогда
Сообщить("...кухня ресторана: " + Кухня.Значение);// Азиатская
КонецЕсли;
Для Каждого ТекУзел1 Из Ресторан.ДочерниеУзлы Цикл
Если ТекУзел1.ИмяУзла = "Меню" Тогда
Меню = ТекУзел1;
Сообщить("Меню:");
Для Каждого ТекУзел2 Из Меню.ДочерниеУзлы Цикл
Если ТекУзел2.ИмяУзла = "блюдо" Тогда
Блюдо = ТекУзел2;
Название = Блюдо.Атрибуты.ПолучитьИменованныйЭлемент("Название");
Если Название <> Неопределено Тогда
Сообщить("...название блюда:" + Название.Значение);
КонецЕсли;
КонецЕсли;
КонецЦикла;
ИначеЕсли ТекУзел1.ИмяУзла = "Описание" Тогда
Сообщить("Описание :" + ТекУзел1.ТекстовоеСодержимое);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
ЧтениеXML.Закрыть();
КонецПроцедуры
&НаСервере
Процедура ПрочитатьФайлXMLЧерезDOMСпособ3(ПутьКФайлу)
//Поочередная обработка всех узлов документа, представленных в XML:
//1.Объявление механизмов, с помощью которых происходит чтение XML файла; Цикл для обхода узлов;
//2.Считывание данных и атрибутов в узле;
//3.Вывод информации. Если есть необходимость, на этом этапе может происходить запись в переменные или сразу в нужные таблицы;
//4.Завершение работы механизма
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ПутьКФайлу);
Построитель_DOM = Новый ПостроительDOM;
ДокументXML = Построитель_DOM.Прочитать(ЧтениеXML);
Для Каждого ТекУзел Из ДокументXML.ЭлементДокумента.ДочерниеУзлы Цикл
Если ТекУзел.ИмяУзла = "Ресторан" Тогда
Ресторан = ТекУзел;
Название = Ресторан.Атрибуты.ПолучитьИменованныйЭлемент("Название");
Если Название <> Неопределено Тогда
Сообщить("Название ресторана:" + Название.Значение);//"Китайская грамота"
КонецЕсли;
Категория = Ресторан.Атрибуты.ПолучитьИменованныйЭлемент("Категория");
Если Категория <> Неопределено Тогда
Сообщить("...наценочная категория ресторана: " + Категория.Значение);// Высшая
КонецЕсли;
СрСчет = Ресторан.Атрибуты.ПолучитьИменованныйЭлемент("Счет");
Если СрСчет <> Неопределено Тогда
Сообщить("...средний счет ресторана: " + СрСчет.Значение);// 3500
КонецЕсли;
Кухня = Ресторан.Атрибуты.ПолучитьИменованныйЭлемент("Кухня");
Если Кухня <> Неопределено Тогда
Сообщить("...кухня ресторана: " + Кухня.Значение);// Азиатская
КонецЕсли;
Для Каждого ТекУзел1 Из Ресторан.ДочерниеУзлы Цикл
Если ТекУзел1.ИмяУзла = "Меню" Тогда
Меню = ТекУзел1;
Сообщить("Меню:");
Для Каждого ТекУзел2 Из Меню.ДочерниеУзлы Цикл
Если ТекУзел2.ИмяУзла = "блюдо" Тогда
Блюдо = ТекУзел2;
Название = Блюдо.Атрибуты.ПолучитьИменованныйЭлемент("Название");
Если Название <> Неопределено Тогда
Сообщить("...название блюда:" + Название.Значение);
КонецЕсли;
КонецЕсли;
КонецЦикла;
ИначеЕсли ТекУзел1.ИмяУзла = "Описание" Тогда
Сообщить("Описание :" + ТекУзел1.ТекстовоеСодержимое);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
ЧтениеXML.Закрыть();
КонецПроцедуры
Запись данных в файл формата XML в 1С 8.3:
&НаКлиенте
Процедура ЗаписатьДанныеВФорматеXML(ПутьКФайлу)
Рестораны = СоздатьДанныеДляЗаписиВXML();
ПараметрыЗаписи = Новый ПараметрыЗаписиXML("UTF-8", "1.0", Ложь);//необязательно их прописовать
XML = Новый ЗаписьXML;
XML.ОткрытьФайл(ПутьКФайлу,ПараметрыЗаписи);
XML.ЗаписатьОбъявлениеXML();
XML.ЗаписатьНачалоЭлемента("Рестораны");
Для Каждого Ресторан Из Рестораны Цикл
XML.ЗаписатьНачалоЭлемента("Ресторан");
XML.ЗаписатьАтрибут("Название", Ресторан.Значение.Название);
XML.ЗаписатьАтрибут("Категория", Ресторан.Значение.Категория);
XML.ЗаписатьАтрибут("Счет", Ресторан.Значение.Счет);
XML.ЗаписатьАтрибут("Кухня", Ресторан.Значение.Кухня);
XML.ЗаписатьНачалоЭлемента("Меню");
Для Каждого БлюдоИзМеню Из Ресторан.Значение.Меню Цикл
XML.ЗаписатьНачалоЭлемента("Блюдо");
XML.ЗаписатьАтрибут("Название", БлюдоИзМеню.Значение.Название);
XML.ЗаписатьКонецЭлемента(); // Блюдо
КонецЦикла;
XML.ЗаписатьКонецЭлемента(); // Меню
XML.ЗаписатьНачалоЭлемента("Описание");
XML.ЗаписатьТекст(Ресторан.Значение.Описание);
XML.ЗаписатьКонецЭлемента(); // Описание
XML.ЗаписатьКонецЭлемента(); // Ресторан
КонецЦикла;
XML.ЗаписатьКонецЭлемента(); // Рестораны
XML.Закрыть();
КонецПроцедуры
&НаКлиенте
Функция СоздатьДанныеДляЗаписиВXML()
Рестораны = Новый СписокЗначений;
Китайский_ресторан = Новый Структура("Название, Категория, Счет, Кухня, Меню, Описание");
Китайский_ресторан.Название = "Китайская грамота";
Китайский_ресторан.Категория = "Высшая";//наценочная категория
Китайский_ресторан.Счет = "3500";//средний счет
Китайский_ресторан.Кухня = "Азиатская";
Китайский_ресторан.Меню = Новый СписокЗначений;
Китайский_ресторан.Меню.Добавить(Новый Структура("Название", "Суши из форели"));
Китайский_ресторан.Меню.Добавить(Новый Структура("Название", "Лапша фирменная"));
Китайский_ресторан.Меню.Добавить(Новый Структура("Название", "Суп из малюсков"));
Китайский_ресторан.Описание = "Ресторан азиатской кухни Высшей наценочной категории";
Рестораны.Добавить(Китайский_ресторан);
Европейский_ресторан = Новый Структура("Название, Категория, Счет, Кухня, Меню, Описание");
Европейский_ресторан.Название = "Итальянский Экспресс";
Европейский_ресторан.Категория = "Люкс";//наценочная категория
Европейский_ресторан.Счет = "5000";//средний счет
Европейский_ресторан.Кухня = "Европейская";
Европейский_ресторан.Меню = Новый СписокЗначений;
Европейский_ресторан.Меню.Добавить(Новый Структура("Название", "Мясная нарезка из мраморной говядины"));
Европейский_ресторан.Меню.Добавить(Новый Структура("Название", "Салат де-люкс Комплимент"));
Европейский_ресторан.Меню.Добавить(Новый Структура("Название", "Пицца от шеф повара"));
Европейский_ресторан.Описание = "Ресторан европейской кухни категории Люкс";
Рестораны.Добавить(Европейский_ресторан);
Возврат Рестораны;
КонецФункции
Процедура ЗаписатьДанныеВФорматеXML(ПутьКФайлу)
Рестораны = СоздатьДанныеДляЗаписиВXML();
ПараметрыЗаписи = Новый ПараметрыЗаписиXML("UTF-8", "1.0", Ложь);//необязательно их прописовать
XML = Новый ЗаписьXML;
XML.ОткрытьФайл(ПутьКФайлу,ПараметрыЗаписи);
XML.ЗаписатьОбъявлениеXML();
XML.ЗаписатьНачалоЭлемента("Рестораны");
Для Каждого Ресторан Из Рестораны Цикл
XML.ЗаписатьНачалоЭлемента("Ресторан");
XML.ЗаписатьАтрибут("Название", Ресторан.Значение.Название);
XML.ЗаписатьАтрибут("Категория", Ресторан.Значение.Категория);
XML.ЗаписатьАтрибут("Счет", Ресторан.Значение.Счет);
XML.ЗаписатьАтрибут("Кухня", Ресторан.Значение.Кухня);
XML.ЗаписатьНачалоЭлемента("Меню");
Для Каждого БлюдоИзМеню Из Ресторан.Значение.Меню Цикл
XML.ЗаписатьНачалоЭлемента("Блюдо");
XML.ЗаписатьАтрибут("Название", БлюдоИзМеню.Значение.Название);
XML.ЗаписатьКонецЭлемента(); // Блюдо
КонецЦикла;
XML.ЗаписатьКонецЭлемента(); // Меню
XML.ЗаписатьНачалоЭлемента("Описание");
XML.ЗаписатьТекст(Ресторан.Значение.Описание);
XML.ЗаписатьКонецЭлемента(); // Описание
XML.ЗаписатьКонецЭлемента(); // Ресторан
КонецЦикла;
XML.ЗаписатьКонецЭлемента(); // Рестораны
XML.Закрыть();
КонецПроцедуры
&НаКлиенте
Функция СоздатьДанныеДляЗаписиВXML()
Рестораны = Новый СписокЗначений;
Китайский_ресторан = Новый Структура("Название, Категория, Счет, Кухня, Меню, Описание");
Китайский_ресторан.Название = "Китайская грамота";
Китайский_ресторан.Категория = "Высшая";//наценочная категория
Китайский_ресторан.Счет = "3500";//средний счет
Китайский_ресторан.Кухня = "Азиатская";
Китайский_ресторан.Меню = Новый СписокЗначений;
Китайский_ресторан.Меню.Добавить(Новый Структура("Название", "Суши из форели"));
Китайский_ресторан.Меню.Добавить(Новый Структура("Название", "Лапша фирменная"));
Китайский_ресторан.Меню.Добавить(Новый Структура("Название", "Суп из малюсков"));
Китайский_ресторан.Описание = "Ресторан азиатской кухни Высшей наценочной категории";
Рестораны.Добавить(Китайский_ресторан);
Европейский_ресторан = Новый Структура("Название, Категория, Счет, Кухня, Меню, Описание");
Европейский_ресторан.Название = "Итальянский Экспресс";
Европейский_ресторан.Категория = "Люкс";//наценочная категория
Европейский_ресторан.Счет = "5000";//средний счет
Европейский_ресторан.Кухня = "Европейская";
Европейский_ресторан.Меню = Новый СписокЗначений;
Европейский_ресторан.Меню.Добавить(Новый Структура("Название", "Мясная нарезка из мраморной говядины"));
Европейский_ресторан.Меню.Добавить(Новый Структура("Название", "Салат де-люкс Комплимент"));
Европейский_ресторан.Меню.Добавить(Новый Структура("Название", "Пицца от шеф повара"));
Европейский_ресторан.Описание = "Ресторан европейской кухни категории Люкс";
Рестораны.Добавить(Европейский_ресторан);
Возврат Рестораны;
КонецФункции
💡 Шаблоны (готовые модели) кода 1С 8.3 с тегом #XML:
📰 Актуальные новости с тегом #Xml:
- В версии 8.3.21 реализована возможность выгрузки конфигурации в zip-архив xml-файлов. При выгрузке на стороне кластера серверов реализована возможность многопоточной выгрузки конфигурации.Команда Конфигуратора Выгрузить конфигурацию в файлы позволяет указать способ выгрузки (на сервере/на клиенте), количество одновременных потоков выгрузки и необходимость архивировать файл выгрузки. Для выполнения данной задачи реализован специальный параметр для следующих инструментов загрузки:
- Командная строка запуска конфигуратора. Для команды /DumpConfigToFiles реализован параметр -Server, -Archive, -JobsCount.
- Конфигуратор в режиме агента. Для команды config dump-config-to-files реализованы параметры --archive, --server, --threads.
- Утилита управления автономным сервером (ibcmd). Для команды infobase config export реализованы параметры --archive, --server, --threads.
0
отзывы
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник