Выгрузка в XML

  1. 8 г. назад
    23.09.2015 11:34:52 отредактировано Lenka_Boo

    Сразу предупреждаю, "Конвертацию данных" не предлагать.

    Надо перенести физлиц из ЗУП 2.5.

    Пишу:

    	
    Для каждого стр из СпФизЛиц цикл
    		Запись.ЗаписатьНачалоЭлемента("СправочникФизическиеЛица");
    		ЗаписатьXML(Запись, стр.Значение.ПолучитьОбъект(), НазначениеТипаXML.Неявное);
    		Запись.ЗаписатьКонецЭлемента();
    	КонецЦикла;
    

    В XML- файле вижу, что цепляется ТЧ "Образование" (причем, Специальность идет, как "явное"), которая в приемнике не нужна.

    				<Образование>
    					<Row>
    						<ВидОбразования>5a2e6586-4202-47f7-8a2f-c98cf8f91801</ВидОбразования>
    						<УчебноеЗаведение>68a4ef61-1a24-11df-b6af-00195b699aff</УчебноеЗаведение>
    						<Специальность xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CatalogRef.КлассификаторСпециальностейПоОбразованию">87f8f3f6-1ad7-11df-b6af-00195b699aff</Специальность>
    						<Диплом>7684736 Л</Диплом>
    						<ГодОкончания>1986</ГодОкончания>
    						<Квалификация>слесарь-инструментальщик</Квалификация>
    					</Row>
    				</Образование>

    Есть способ не прописывая передачу всех атрибутов, исключить выгрузку этой табличной части?

    Ответы: (32) (36)
  2. Функция ОбработатьВходящийФайлОбменаДОМ(СтрокаФайлаОбмена) Экспорт
    	
    	ЧтениеXML = Новый ЧтениеXML();
    	ЧтениеXML.УстановитьСтроку(СтрокаФайлаОбмена);
    	Построитель = Новый ПостроительDOM;
    	Документ = Построитель.Прочитать(ЧтениеXML);
    	Дочерние = Документ.ДочерниеУзлы;
    	УзелДанных = Документ.ПолучитьЭлементыПоИмени("Body")[0];
    	МассивУзлов = УзелДанных.ДочерниеУзлы;
    		
    	Для каждого Узел Из МассивУзлов Цикл
    		
    		МассивУзловОбласть = Узел.ПолучитьЭлементыПоИмени("ОбластьДанных");
    		
    		Для каждого УзелОбласть Из МассивУзловОбласть Цикл
    		
    			Узел.УдалитьДочерний(УзелОбласть);
    		
    		КонецЦикла; 
    		
    	КонецЦикла; 
    	
    	ЗаписьXML = Новый ЗаписьXML;
    	ЗаписьXML.УстановитьСтроку();
    	Запись = Новый ЗаписьDOM;
    	Запись.Записать(Документ, ЗаписьXML);
    	СтрокаФайлаОбмена = ЗаписьXML.Закрыть();
    	
    	Возврат СтрокаФайлаОбмена;
    	
    КонецФункции
    Ответы: (5) (40)
  3. результирующий файл ХМЛ нужно обработать процедурой типа той что выше. Суть - удалить конкретные узлы из хмл

  4. Ага. Спасибо!
    Еще варианты?

    Ответы: (5) (11) (15)
  5. Сразу предупреждаю, "Конвертацию данных" не предлагать.

    как раз в Кд делал...:(

  6. (3) че, не осилила (1) ?)))

    Ответы: (6)
  7. (5) За 3 минуты? Я не господь бог.

    Ответы: (7) (11)
  8. (6) за 3 минуты ты бы уже этот обмен в КД сделала ;)...

    Ответы: (8) (17)
  9. (7) Приемник в КД не засунуть.

    Ответы: (10)
  10. Как вариант - чистить ТЧ при выгрузке:

    ОбъектДляЗаписи = стр.Значение.ПолучитьОбъект();
    ОбъектДляЗаписи.Образование.Очистить();

    ЗаписатьXML(Запись, ОбъектДляЗаписи, НазначениеТипаXML.Неявное);

    Ответы: (16)
  11. 23.09.2015 11:58:24 отредактировано Леопольд Роскошный

    (8) ну дальше то что ?
    выгружай так...
    если в приемнике был бы какойнить джейсон или расширенный XML я еще понимаю.
    но говорят 3 все уже есть.

  12. (6) как раз 3 минуты достаточно для понимания, что в (3) достаточно заменить "ОбластьДанных" на "Образование"

    Ответы: (12)
  13. (11) Это-то понятно. :)

  14. аха, после того как сказали)

    Ответы: (14)
  15. (13) Думай как хочешь.

  16. а че думать, я и так знал что (3) слишком сложный для твоего понимания будет

  17. (9) Этот вариант не катит. ТЧ выгрузится все равно, хоть и пустая.

  18. (7) предварительно потратив несколько дней на её изучение.
    но оно стоит того

    Ответы: (18)
  19. (17) несколько дней? для ТС? имхо месяц очных курсов, не меньше.

    Ответы: (20)
  20. Мы стали забывать торадиции. Где предложения показать сиське?

    Ответы: (21)
  21. (18) чего вдруг??

  22. (19) так в сабже маленькие вроде

  23. че показывать то...

  24. важен принцип

    Ответы: (25)
  25. животные...)

  26. (23) тану...

  27. Вечером подберу че-нить сногсшибательное.
    Потом не жалуйтесь. [smile=^_^]

  28. Будет традиция 330-го.
    Если вопрос решен выложить порнокартинку в качестве поощрения.

    Ответы: (28)
  29. (27) да нах порно картинки. нужны сиськи автора. но в данном случае они маленькие, и поэтому ни к чему

  30. вы бы так рьяно по теме помогали бы

    Ответы: (34)
  31. в сиськах не размер главное

    Ответы: (31) (35)
  32. (30) А количество молочных продуктов при кормлении ребенка :)

    Ответы: (33)
  33. в помощь (0)
    Работа с xml при помощи DOM в 1С 8
    Работа с xml при помощи ЧтениеXML и ЗаписьXML в 1С 8

  34. (31) а вот количество молочных продуктов точно от размера не зависит...

  35. (29) ответили в самом начале

  36. (30) ну 50% успеха - размер. вторые 50% - форма

  37. Lenka_Boo разу предупреждаю, "Конвертацию данных" не предлагать.

    почему ?

    Ответы: (37)
  38. (36) тяжело ей

    Ответы: (38)
  39. (37) Конвертации?

    Ответы: (39)
  40. (38) в принципе

  41. (1) Тогда уж коли надо удалить конкретные дочерние узлы, то лучше использовать xpath

    Ответы: (46)
  42. мало того, можно исчо вот так извращенно:

    Для каждого стр из СпФизЛиц цикл
            Запись.ЗаписатьНачалоЭлемента("СправочникФизическиеЛица");
            СпрОбъект=стр.Значение.ПолучитьОбъект();
            СпрОбъект.Образование.Очистить();
            ЗаписатьXML(Запись,СпрОбъект, НазначениеТипаXML.Неявное);
            Запись.ЗаписатьКонецЭлемента();
      КонецЦикла;
    
    Ответы: (42) (46)
  43. (41)

    Ответы: (43)
  44. (42) а ну да, ну да не заметил або тегами не обложено, да :)

  45. Ладно. Обещанные сиськи.

    Ответы: (45) (47)
  46. (44) не канает. нужны свои и с надписью "для коллайдера"

  47. (40) тогда давай пример и объясни, чем лучше.
    хотя с учетом (41) врядли стоит ожидать чего-то дельного

  48. (44) пздц там бог фотошопа. не мог нормально сиськи вырезать

или зарегистрируйтесь чтобы ответить!