|
Ошибка формата потока. Баг платформы? | ☑ | ||
---|---|---|---|---|
0
mehfk
01.05.13
✎
23:54
|
Просьба проверить, воспроизводится ли ошибка
В серверном общем модуле (назовем его ТестМодуль) объявляем функцию Процедура ТестПроверкаXML() Экспорт ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.ЗаписатьОбъявлениеXML(); ЗаписьXML.ЗаписатьНачалоЭлемента("тест"); ЗаписьXML.ЗаписатьКонецЭлемента(); ИмяВременногоФайла = ПолучитьИмяВременногоФайла("xml"); ЗаписьXML.ОткрытьФайл(ИмяВременногоФайла); ЗаписьXML.Закрыть(); КонецПроцедуры Теперь создаем внешнюю обработку, в модуле формы пишем (обработчик нажатия на кнопку) Процедура КнопкаВыполнитьНажатие(Кнопка) ТестМодуль.ТестПроверкаXML(); КонецПроцедуры Получаем ошибку формата потока c предложением перезапустить или завершить работу (8.2.17.169 клиент-сервер) Переносим код в модуль обработки, получаем сообщение об ошибке формата потока с кнопкой ОК В файловой версии в обоих случаях получаем ошибку "Ошибка при вызове метода контекста (ЗаписатьОбъявлениеXML)": "Не установлен приемник XML" Код кривой, согласен. |
|||
1
Конфигуратор1с
02.05.13
✎
00:01
|
(0) "Код кривой, согласен." - когда я сую два пальца в розетку меня бьет током. Я понимаю что делаю не правильно, но это неисправность розетки ?
|
|||
2
mehfk
02.05.13
✎
00:10
|
(1) Ты на пальцы-то напалечники-то одевай и суй сколько угодно
|
|||
3
mehfk
02.05.13
✎
00:11
|
(2)+ ну а так, 3,14 нах мимо темы, коли сказать по теме нечего
|
|||
4
oleg_prg
02.05.13
✎
00:14
|
Вот рабочий код, от него и отталкивайся
Процедура ТестПроверкаXML() Экспорт Запись = Новый ЗаписьXML; Запись.ОткрытьФайл("D:\test.xml"); Запись.ЗаписатьОбъявлениеXML(); Запись.ЗаписатьНачалоЭлемента("Корневой"); Запись.ЗаписатьАтрибут("Справочник", "Номенклатура"); Запись.ЗаписатьКомментарий("Краткая информация о номенклатуре"); Запись.ЗаписатьНачалоЭлемента("Элемент"); Запись.ЗаписатьАтрибут("Код", "0001"); Запись.ЗаписатьАтрибут("Артикул", "АРТ123"); Запись.ЗаписатьТекст("Мой товар №1"); Запись.ЗаписатьКонецЭлемента(); Запись.ЗаписатьКонецЭлемента(); Запись.Закрыть(); КонецПроцедуры |
|||
5
mehfk
02.05.13
✎
00:20
|
(4) Спасибо за код, но прошу заметить, что вопрос исправления кода не стоял.
|
|||
6
oleg_prg
02.05.13
✎
00:20
|
(0) У тебя не корректно код составлен
вот так надо для тест Процедура КнопкаВыполнитьНажатие(Кнопка) Запись = Новый ЗаписьXML; Запись.ОткрытьФайл("D:\test.xml"); Запись.ЗаписатьОбъявлениеXML(); Запись.ЗаписатьНачалоЭлемента("тест"); Запись.ЗаписатьАтрибут("тест", "тест"); Запись.ЗаписатьНачалоЭлемента("тест №2"); Запись.ЗаписатьКонецЭлемента(); Запись.ЗаписатьКонецЭлемента(); Запись.Закрыть(); КонецПроцедуры |
|||
7
oleg_prg
02.05.13
✎
00:21
|
(5) мне кажется что некорректен код, а так вообще да, выдается ошибка. Моя платформа 1С:Предприятие 8.2 (8.2.18.82)
|
|||
8
Конфигуратор1с
02.05.13
✎
00:25
|
(2) так о чем и речь. Пиши правильный код и ошибок не будет) (3) нах это твоя дорога, судя по всему)
|
|||
9
mehfk
02.05.13
✎
00:26
|
(7) Да, код кривой, именно это и было обозначено в стартовом посте. При этом файловая ругается вполне осмысленно, а серверная - в зависимости от контекста вызова и не совсем осмысленно.
Код был написан с целью проверки: можно ли указать файл после записи данных в объект, к этому также подкупало отсутствие конструктора "по имени файла". |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |