Форум программистов, компьютерный форум, киберфорум
1С: Администрирование и интеграция
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 48
1
1C 8.x

Как выгрузить реквизит документа в XML файл

13.07.2018, 17:26. Показов 1584. Ответов 7
Метки нет (Все метки)

Добрый день! Подскажите, как выгрузить реквизит документа в XML файл? Создаю новую команду в документе "Взвешивание". Там добавляю процедуру, но не хватает ума написать правильно код. Нужно, чтоб при нажатии кнопки с этого документа создавался файл XML и туда записан был реквизит документа "НомерТТН" и реквизит "Дата".
В документе, в разделе "Команды" создаю команду:

Документ взвешивание -> формы
-> Команды
-> Макеты

Так вот я добавил Команду и в ней пишу данную процедуру
получилось пока так:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    
Запись=Новый ЗаписьXML;
Запись.ОткрытьФайл("D:\document.xml");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Корневой");
Запись.ЗаписатьАтрибут("Доумент", "Взвешивание");
 
 Запись.ЗаписатьНачалоЭлемента("Номер");
 Запись.ЗаписатьТекст(ПараметрКоманды.Номер);
 Запись.ЗаписатьКонецЭлемента();
      
 Запись.ЗаписатьНачалоЭлемента("Дата");
 Запись.ЗаписатьТекст(ПараметрКоманды.Дата);
 Запись.ЗаписатьКонецЭлемента();
 
 Запись.Закрыть();
КонецПроцедуры

Номер выводит отлично, так как надо, но вот Дату выдает ошибку:
{Документ.Взвешивание.Команда.Меркурий.МодульКоманды(16)}: Ошибка при вызове метода контекста (ЗаписатьТекст)
Запись.ЗаписатьТекст(ПараметрКоманды.Дата);
по причине:
Несоответствие типов (параметр номер '1')

Помогите решить проблему. Может лучше было бы делать с формы документа, тогда бы не было данных ошибок
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.07.2018, 17:26
Ответы с готовыми решениями:

Как выгрузить данные из excel документа в m файл?
как выгрузить данные из excel документа в m файл?

Как выгрузить ТабДок в xml файл
Подскажите пожалуйста, есть обработка в которой присутствует поле Табличный документ, как выгрузить...

Как из одного документа перенести значение из табличной части в реквизит другого документа?
Только начинаю осваивать 1С, учебная задача. Есть два документа "Индивидуальный заказ" и...

Как выгрузить все объекты типа справочник в один xml файл?
как выгрузить все объекты типа справочник в один xml файл? записатьxml() -не подходит для этого....

__________________

Записывайтесь на профессиональные курсы 1C-разработчиков
7
Тест
Эксперт 1С
381 / 162 / 56
Регистрация: 26.02.2010
Сообщений: 1,239
15.07.2018, 19:00 2
EvgenyRus31, думаю ему не нравится тип дата, попробуйте переконвертировать дату в строку.
0
686 / 508 / 134
Регистрация: 22.04.2013
Сообщений: 3,518
Записей в блоге: 1
15.07.2018, 20:39 3
на соседнем сайте написано
1C
1
xmlЗначение(тип("дата"), "2015-08-01T00:00:00")
0
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 48
16.07.2018, 12:40  [ТС] 4
Пробую, как вы написали:

1C
1
2
3
Запись.ЗаписатьНачалоЭлемента("Дата");
 Запись.ЗаписатьТекст (Строка(Формат(ПараметрКоманды.Дата(),"ДФ=""гггг-ММ-дд'T'ЧЧ:мм:сс""")));
 Запись.ЗаписатьКонецЭлемента();

Выдает ошибку:
{Документ.Взвешивание.Команда.Выгрузить.МодульКоманды(20)}: Метод объекта не обнаружен (Дата)
Запись.ЗаписатьТекст (Строка(Формат(ПараметрКоманды.Дата(),"ДФ=""гггг-ММ-дд'T'ЧЧ:мм:сс""")));

Что не так делаю?
0
686 / 508 / 134
Регистрация: 22.04.2013
Сообщений: 3,518
Записей в блоге: 1
16.07.2018, 12:53 5
ну егор же написал - не нравится тип дата.
записать текст означает записать текст, а вы ему суёте дату.
переделайте дату в текст и пишите.
возможно, что подойдёт записать атрибут. хотя хз
0
Тест
Эксперт 1С
381 / 162 / 56
Регистрация: 26.02.2010
Сообщений: 1,239
16.07.2018, 12:58 6
Лучший ответ Сообщение было отмечено EvgenyRus31 как решение

Решение

1C
1
Запись.ЗаписатьТекст(Строка(ПараметрКоманды.Дата));
1
686 / 508 / 134
Регистрация: 22.04.2013
Сообщений: 3,518
Записей в блоге: 1
16.07.2018, 13:23 7
_ЕГОР_, ну там не всегда. надо экспериментить. дата в строку и обратно не всегда симметричные команды.
но смысл такой, да )
0
0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 48
18.07.2018, 12:08  [ТС] 8
_ЕГОР_ большое спасибо, подсказал в точку

Добавлено через 2 часа 12 минут
Подскажите пожалуйста, как теперь вытащить элемент "Адрес" из справочника "Контрагенты", наименование контрагента заполненного в документе. Как тут обратится к Адресу:

1C
1
2
3
Запись.ЗаписатьНачалоЭлемента("Адрес");
 Запись.ЗаписатьТекст(Строка(Формат(ПараметрКоманды.МестоНазначения, "СправочникСсылка.Контрагенты")));
 Запись.ЗаписатьКонецЭлемента();
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.07.2018, 12:08

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Выгрузить данные из БД в XML-файл
Здравствуйте! Есть задача, подскажите направления в какие смотреть чтобы её решить. "Разработать...

Как удалить файл из XML документа?
Есть проект(База данных по книгам) Программа должна выполнять такие операции: -добавить книгу...

Выгрузить данные из бд Mysql в файл XML
Приветствую. Подскажите как можно как можно сделать выгрузку данных из Mysql в файл XML.

Как в реквизит документа поместить данные из Регистра
1) Имеется регистр сведений УчебныйПлан: 2) Документ ЗачетнаяВедомасть с реквизитами :Дисциплина,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.