1. 5H1 10.12.21 13:56 Сейчас в теме
Здравствуйте.
В xml-схеме XDTO пакета есть такой тип данных как "DGdecimal2" с образцом который осуществляет проверку числа, чтобы оно было в формате "1.20".

1С всегда обрезает нули для числа, но можно передать строкой отформатировав ее:

Формат(1.20, "ЧДЦ=2; ЧРД=.; ЧРГ=; ЧГ=0")


ЗаписьXML = Новый ЗаписьXML;	
ЗаписьXML.ОткрытьФайл("C:\Users\USER\Desktop\fssu_test_1.xml", "windows-1251");
ЗаписьXML.ЗаписатьОбъявлениеXML();

DeclarXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("TEST_FSSU", "DeclarContent"));

DBodyXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("TEST_FSSU", "DBody"));
DBodyXDTO.TVP_SUM = Формат(1.20, "ЧДЦ=2; ЧРД=.; ЧРГ=; ЧГ=0");
	
DeclarXDTO.DECLARBODY = DBodyXDTO; 

ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, DeclarXDTO);
ЗаписьXML.Закрыть();
Показать


Проверку по типу проходит, ошибку не выдает как когда просто передать число "1.20", а не строкой, но в xml все равно сохраняет как "1.2".

<?xml version="1.0" encoding="windows-1251"?>
<DeclarContent xmlns="TEST_FSSU" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<DECLARBODY>
		<TVP_SUM>1.2</TVP_SUM>
	</DECLARBODY>
</DeclarContent>


Как сохранять в xml с нулями в дробной части?
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. ElGatoGris 15.12.21 13:00 Сейчас в теме
(1) Так делали? (сам не пробовал).
Прикрепленные файлы:
4. 5H1 15.12.21 14:34 Сейчас в теме
2. Drivingblind 228 15.12.21 11:13 Сейчас в теме
Как вариант, можно попробовать писать XML не через XDTO
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот