Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
20 Окт 2017, 02:33
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Выгрузка в XML формат  (Прочитано 470 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн xdto

  • ***
  • Сообщений: 101
  • РЕПУТАЦИЯ: 7
  • КПД: 7%
  • Регистрация: 2015-10-01
  • Сайт: 
  • Профессия: Программист 1С
Друзья подскажите как выгрузить в XML формат данные
есть справочник с ревизитами код, наименование, пол, форме списка
и в нижней части формы списка есть динамический список с таблицей
регистра сведений с полями тип,вид, представление увидите на скрине ниже
так вот как мне выгрузить данные этих полей а именно код, наименование,пол тип, вид представление
Списибо


Вот та я выгружаю Код ,Наименование, Пол    -- поля справочника
 
 
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл("Z:\client.xml");
ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписьXML.ЗаписатьНачалоЭлемента("Корневой");
ЗаписьXML.ЗаписатьАтрибут("ИмяСправочника", "Клиенты");
ЗаписьXML.ЗаписатьКомментарий("Выгрузка элементов справочника");
СтрокиКлиенты = ПолучитьСтрокиКлиенты();
Для Каждого Строка Из СтрокиКлиенты Цикл      Значение = РазобратьСтроку(Строка);
ЗаписьXML.ЗаписатьНачалоЭлемента("ЭлементСправочника");

ЗаписьXML.ЗаписатьНачалоЭлемента("Наименование");
ЗаписьXML.ЗаписатьТекст(Значение.Наименование);
ЗаписьXML.ЗаписатьКонецЭлемента();

ЗаписьXML.ЗаписатьНачалоЭлемента("Код");
ЗаписьXML.ЗаписатьТекст(Значение.Код);
ЗаписьXML.ЗаписатьКонецЭлемента();

ЗаписьXML.ЗаписатьНачалоЭлемента("Пол");
ЗаписьXML.ЗаписатьТекст(Значение.Пол);
ЗаписьXML.ЗаписатьКонецЭлемента();

КонецЦикла;     
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.Закрыть()
;
 
 
А как остальные поля выгрузить не знаю поля из регистра сведений


Оффлайн LexaK

  • *****
  • Сообщений: 1259
  • РЕПУТАЦИЯ: 345
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 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.ЗаписатьКонецЭлемента();


Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн xdto

  • ***
  • Сообщений: 101
  • РЕПУТАЦИЯ: 7
  • КПД: 7%
  • Регистрация: 2015-10-01
  • Сайт: 
  • Профессия: Программист 1С
Вот Обработка моя со всеми функциями
Добавлено: 13 Июл 2016, 15:48

Выгружает одинаковые позиции и слишком большой файл формирует
Добавлено: 14 Июл 2016, 08:40

Ваш код не сработывает
Добавлено: 14 Июл 2016, 08:41

Нет идеи у когго нибудь еще?

Последний раз редактировалось: xdto; 14 Июл 2016, 08:41. Причина: Объединение сообщений


Теги:
 

выгрузка из "Платежные документы" выборочно в "Бухгалтерию предприятия"

Автор hkvРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 6
Просмотров: 3859
Последний ответ 09 Окт 2014, 15:58
от дфтын
Выгрузка Бух учет из "Зарплаты и управления персоналом 8" в "1С:Бухгалтерию 8"

Автор KazakOFFРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 2274
Последний ответ 10 Ноя 2015, 16:20
от vitasw
Ошибка при загрузке данных через (Обработка "Выгрузка и загрузка данных XML")

Автор Сергей_87Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 8328
Последний ответ 26 Апр 2012, 23:08
от Dethmontt
Модуль "выгрузка в банк"

Автор Dima IgnatovРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 875
Последний ответ 11 Май 2016, 13:23
от Rasty
Выгрузка из "Зарплата и кажпы" платеж за три месяца

Автор vlasssov71Раздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 1156
Последний ответ 07 Июл 2015, 15:19
от vlasssov71

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

oleg-x
89 Сообщений
alex0402
53 Сообщений
AIFrame
43 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
37 Сообщений
Oldman06
31 Сообщений
Golickoff Golickoff
30 Сообщений
vitasw
29 Сообщений
MuI_I_Ika MuI_I_Ika
19 Сообщений
DmitriyF DmitriyF
14 Сообщений
Св Ч Св Ч
12 Сообщений

* Кто онлайн

  • Точка Гостей: 158
  • Точка Скрытых: 0
  • Точка Пользователей: 5
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal