|
XML выгрузка | ☑ | ||
---|---|---|---|---|
0
Стажер_1С
09.06.18
✎
09:28
|
Добрый день всем!
Подскажите какой-нибудь материал,где описана как создать обработку выгрузки в xml файл из 1с, использую xdto пакет |
|||
1
FIXXXL
09.06.18
✎
09:31
|
Лови, стажер!
&НаСервере Процедура ХДТОвФайл(ПолныйПуть, ОбъектХДТО) ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.ОткрытьФайл(ПолныйПуть); ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, ОбъектХДТО); ЗаписьXML.Закрыть(); КонецПроцедуры |
|||
2
igorPetrov
09.06.18
✎
09:33
|
(1) Круто, чо...
|
|||
3
Стажер_1С
09.06.18
✎
09:33
|
Спасибо,то есть тут он открывает файл xml и при загрузки создает схему xml и загружает его в пакет xdto?
|
|||
4
FIXXXL
09.06.18
✎
09:34
|
(3) тут он пишет в файл заранее созданный ОбъектХДТО
|
|||
5
Стажер_1С
09.06.18
✎
09:35
|
Мне надо с нуля создать пакет xdto, со своими типами, и потом создать обработку, которая будет выгружать данные и формировать xml файл, определенной структуры
|
|||
6
igorPetrov
09.06.18
✎
09:36
|
(5) Создавай. Можно.
|
|||
7
FIXXXL
09.06.18
✎
09:36
|
(5) создавай
будут вопросы - пиши тебе для каких целей это надо? |
|||
8
Стажер_1С
09.06.18
✎
09:39
|
Я знаю, что можно)
Нужно написать выгрузку данных из 1с в xml. Там большой набор данных- контрагенты,номенклатура,документы, остатки. Потом данный xml файл будет загружаться на сайт. Пример того как должен выглядит xml файл есть. Поэтому мне надо создать свой пакет xdto, чтобы иметь структуру такую же как в файле. Я просто не знаю с чего начать |
|||
9
RomaH
naïve
09.06.18
✎
09:43
|
(8) начни с пакета - пару атрибутов опиши
потом сделай выгрузку для них |
|||
10
dvva
09.06.18
✎
09:44
|
сначала определись структура хдто пакета будет жесткая или нет (имеет смысл внедрять в конфу или нет)
|
|||
11
Стажер_1С
09.06.18
✎
09:45
|
А можно ее внешней как то сделать?
|
|||
12
quest
09.06.18
✎
09:45
|
Поищи на инфостарте "XDTO это просто"
|
|||
13
quest
09.06.18
✎
09:46
|
(11) да.
|
|||
14
Стажер_1С
09.06.18
✎
09:49
|
Да мне нельзя меня конф,все внешнее, то есть в этой статье описано как это сделать?
|
|||
15
hhhh
09.06.18
✎
09:50
|
(8) в принципе xdto тут у тебя лишнее звено в цепочке. Пиши просто данные в файл, без всяких xdto.
|
|||
16
RomaH
naïve
09.06.18
✎
09:51
|
(15) это грустно и одиноко
|
|||
17
Стажер_1С
09.06.18
✎
09:53
|
Просто выгрузку в xml?Хорошо,а как мне описать какой должен быть файл,в смысле структуру?Мне на работе сказали через пакет делать
|
|||
18
quest
09.06.18
✎
09:54
|
(14) нет в статье не написано как сделать твою выгрузку. там просто дано объяснение что такое xdto, для чего используется, как работать с ним.
Конфу для работы с пакетом не надо менять, пакет можно создать как програмно (кодом), так и на основании описания из файла xsd |
|||
19
RomaH
naïve
09.06.18
✎
10:02
|
(17) правильно сказали
если конфу не менять - рисуй схему в конфигураторе набираешь пакет и экспортируй в xsd или если есть другой конструктор - используй его |
|||
20
RomaH
naïve
09.06.18
✎
10:04
|
но я бы начал с вопроса - назачем вам XML
JSON лучше |
|||
21
RomaH
naïve
09.06.18
✎
10:13
|
||||
22
FIXXXL
09.06.18
✎
10:26
|
(17) у тебя есть уже xsd с необходимой структурой?
если есть, почитай СП на тему СоздатьФабрикуXDTO (CreateXDTOFactory) если нет и нельзя конфу менять, можно в чистой конфе создать XDTO-пакет необходимой структуры, ПКМ - Экспорт ХМЛ-схемы и получившийся xsd-файл использовать в СоздатьФабрикуXDTO(ТвойXSD) далее через получившиесю фабрику набиваешь данными ОбъектХДТО и сохраняешь в ХМЛ-файл весь гемморой - описать xsd и написать алгоритмы выгрузки данных... |
|||
23
Стажер_1С
09.06.18
✎
10:48
|
Спасибо большое,буду читать и делать. Конф буду менять все таки.Добавлю свой пакет xdto,со своими значениями.А там посмотрю как будет.Если что напишу сюда,спасибо большое вам всем!
|
|||
24
Стажер_1С
09.06.18
✎
10:49
|
xml потому что заказчику надо в таком формате
|
|||
25
FIXXXL
09.06.18
✎
11:11
|
(23) выше писал, необязательно конфу менять, пакет описать можно в любой тестовой конфе
можно даже сварганить внешнюю обработку, поместив выгруженный из тестовой конфы xsd в макет обработки |
|||
26
Стажер_1С
09.06.18
✎
12:09
|
Смотрите есть пакет xdro, прописала заполнения,выдает ошибку.
Текст кода: ПараметрыЗаписиXML = Новый ПараметрыЗаписиXML("UTF-8", "1.0", Ложь); ЗаписьXML = Новый ЗаписьXML; ЗаписьXML.ОткрытьФайл(путь, ПараметрыЗаписиXML); ЗаписьXML.ЗаписатьОбъявлениеXML(); ТипЗначенияXDTO = ФабрикаXDTO.Тип("Выгрузка", "Номенклатура"); НоменклатураXDTO = ФабрикаXDTO.Создать(ТипЗначенияXDTO); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Наименование КАК Наименование, | Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.ПометкаУдаления = ЛОЖЬ"; Запрос.УстановитьПараметр("Ссылка",Справочники.Номенклатура.НайтиПоКоду("00-000000001799")); Результат = Запрос.Выполнить().Выбрать(); Пока Результат.Следующий() Цикл НоменклатураXDTO.Наименование = Результат.Наименование; НоменклатураXDTO.ЕдИзмерения = Строка(Результат.ЕдиницаИзмерения); КонецЦикла; ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, НоменклатураXDTO); ЗаписьXML.Закрыть(); Сообщить("Создан файл "); Ругается вот на это: {ВнешняяОбработка.Тест_XML.Форма.Форма.Форма(24)}: Поле объекта недоступно для записи (Наименование) НоменклатураXDTO.Наименование = Результат.Наименование; |
|||
27
Стажер_1С
09.06.18
✎
12:41
|
Разобралась в причине ошибки, надо было указать в свойстве: форма = атрибут
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |