Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

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

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

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

  • *****
  • Сообщений: 1246
  • РЕПУТАЦИЯ: 344
  • КПД: 28%
  • Регистрация: 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
Просмотров: 3491
Последний ответ 09 Окт 2014, 15:58
от дфтын
Выгрузка Бух учет из "Зарплаты и управления персоналом 8" в "1С:Бухгалтерию 8"

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

oleg-x
93 Сообщений
alex0402
93 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
64 Сообщений
Golickoff Golickoff
49 Сообщений
ilyay ilyay
44 Сообщений
AIFrame
40 Сообщений
wise wise
31 Сообщений
Амал
30 Сообщений
ab30ru
24 Сообщений
lansy
22 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal