|
запись файле xml через СериализаторXDTO | ☑ | ||
---|---|---|---|---|
0
04347
16.06.16
✎
17:11
|
Внешняя обработка, выгружает данные XML в безопасном режиме. В модуле объекта не могу правильно использовать СериализаторXDTO, в файле xml получаются лишние строки. Как правильно записать7
(отрывок кода) ЗаписьXML.ЗаписатьНачалоЭлемента("customer"); //Краткое наименование отправителя ЗаписьXML.ЗаписатьТекст(Строка(ВыборкаДетальныеЗаписиТТН.Организация)); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("loadpoint"); //Адрес пункта погрузки ЗаписьXML.ЗаписатьТекст(СведенияООрганизации.ЮридическийАдрес); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("unloadpoint"); //Адрес пункта разгрузки ЗаписьXML.ЗаписатьТекст(ВыборкаДетальныеЗаписиТТН.АдресДоставки); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьНачалоЭлемента("forwarder"); //ФИО водителя-экспедитора. ЗаписьXML.ЗаписатьТекст(Строка(ВыборкаДетальныеЗаписиТТН.Водитель)); ЗаписьXML.ЗаписатьКонецЭлемента(); ЗаписьXML.ЗаписатьКонецЭлемента(); //конец transport //заполняем табличную часть ЗаполнитьТабличнуюЧастьТовары(ВыборкаДетальныеЗаписиТТН.Ссылка, ЗаписьXML, ДатаДокумента); ЗаписьXML.ЗаписатьКонецЭлемента(); КоличествоДокументов = КоличествоДокументов + 1; //СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Неопределено); // !проблема, при записи появляются лишние строки СериализаторXDTO.ЗаписатьXML(ЗаписьXML, ); // !проблема, при записи появляются лишние строки |
|||
1
ovrfox
16.06.16
✎
17:15
|
Какие лишние строки? Можно пример?
|
|||
2
04347
16.06.16
✎
17:34
|
(1)
вот эта строка <Undefined xsi:nil="true" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns=""/> у меня выгружаются в цикле данные по 11 документам и 11 раз выходит эта строка |
|||
3
ovrfox
16.06.16
✎
17:58
|
Честно говоря не знаю, но скорее всего зависит от параметров.
Но зачем вообще писать через сериализатор? У тебя нет объектов 1С, которые нужно сериализовать Используй метод "ОткрытьФайл" объекта ЗаписьXML и метод "Закрыть" того же объекта (или только закрыть, если просто нужна строка XML) |
|||
4
Fragster
гуру
16.06.16
✎
17:59
|
СериализаторXDTO.ЗаписатьXML(ЗаписьXML, Неопределено); - это и есть твои "лишние строки"
СериализаторXDTO.ЗаписатьXML(ЗаписьXML, ЭтотОбъект); |
|||
5
ovrfox
16.06.16
✎
18:03
|
(4) Нет, сериализация выполняется в некотором простарнстве имен. Его нужно указать или будет использовано умолчание.
Возможно проблема в том что в один файл несколько раз сериализовуют? ТОгда каждая сериализация записывает свой заголовок. |
|||
6
Fragster
гуру
16.06.16
✎
18:03
|
(5) пробовал сделать СериализаторXDTO.ЗаписатьXML(ЗаписьXML, ДокументОбъект) когда-нибудь?
|
|||
7
ovrfox
16.06.16
✎
18:06
|
Нет и я вообще не вижу параметра "ДокументОбъект" в примере кода. Может это параметр "ЭтотОбъект"?
|
|||
8
04347
16.06.16
✎
18:22
|
(4) вы правы, убрала СериализаторXDTO и все правильно записалось
|
|||
9
04347
16.06.16
✎
18:30
|
у меня нет ДокументОбъект , использовать "ОткрытьФайл" я не могу, в безопасном режиме не пропускает
|
|||
10
Карупян
16.06.16
✎
18:31
|
только не понятно причем здесь сериализатор, когда мы руками хмл формируем?
|
|||
11
Fragster
гуру
16.06.16
✎
19:06
|
(7) я про "абстрактный" объект типа ДокументОбъект.хххх, например
|
|||
12
ovrfox
17.06.16
✎
09:17
|
Проблема решена?
Или остался вопрос как в безопасном режиме записать файл? Ответ - никак |
|||
13
Fragster
гуру
17.06.16
✎
11:45
|
(12) для этого предназначены общие модули "ДополнительныеОтчетыИОбработкиВБезопасномРежиме*"
|
|||
14
Fragster
гуру
17.06.16
✎
11:47
|
||||
15
ovrfox
17.06.16
✎
12:17
|
Можно еще раз как для обработки, которая загружена в качестве дополнительной и для которой установлен безопасный режим (потому как понятно, что если режим не безопасный , то ограничений нет) сохранить что либо в файл?
|
|||
16
Fragster
гуру
17.06.16
✎
12:19
|
(15)
"В демонстрационной базе БСП возможность расширения безопасного режима представлена в обработке Демо: Загрузка номенклатуры из прайс-листа (сценарное выполнение) в справочнике Дополнительные отчеты и обработки. Эта обработка является аналогом обработки Демо: Загрузка номенклатуры из прайс-листа (профили безопасности) и адаптирована к выполнению в безопасном режиме." |
|||
17
ovrfox
17.06.16
✎
12:25
|
Я правильно понимаю, что в БСП реализованы функции, которые фактически выполняются при отключенном безопасном режиме, но их вызов можно осуществлять из безопасного режима?
Т.е. фактически ответ никак - правильный? |
|||
18
Fragster
гуру
17.06.16
✎
12:44
|
(17) рассматривая сферический безопасный режим в вакууме - мы видим, что если в конфигурации реализован интерфейс для реализации функций, запрещенных безопасным режимом, то эти функции выполнить можно.
В конфигурациях на основе БСП такие функции есть. Значит, из безопасного режима в конфигурациях на основе БСП можно выполнять функции типа сохранения файлов, если выполнить правильную настройку подключаемой внешней обработки. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |