Загрузка XML файла в 1с 8.3.5 #794376


#0 by Лелька23
Добрый день, в 1с недавно и столкнулась с проблемой. В общем выгружает у меня метаданные справочника и данные в XML файлик, вот ниже результат: И нужно загрузить эти данные обратно в конфигурацию, вот код: ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл("F:СтруктураКонфигурации.xml"); Но он асолютно ничего не выгружает, уже и так и сяк, помогите пожалуйста, или хотя бы направьте в нужное русло
#0 by Лелька23
Добрый день, в 1с недавно и столкнулась с проблемой. В общем выгружает у меня метаданные справочника и данные в XML файлик, вот ниже результат: И нужно загрузить эти данные обратно в конфигурацию, вот код: ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл("F:СтруктураКонфигурации.xml"); Но он асолютно ничего не выгружает, уже и так и сяк, помогите пожалуйста, или хотя бы направьте в нужное русло
#1 by DrShad
а где вы взяли такой дурацкий файлик? он вас никак не смущает?
#2 by Лелька23
так это мой файлик, я его при выгрузке данных создаю и в нем хранятся данные)
#3 by Вафель
а зачем список в конце очищается ?
#4 by DrShad
понятно что ваш, но он таки вас совсем не смущает?
#5 by DrShad
СериализаторXDTO вам в помощь
#6 by Лелька23
да и без этого очистить тоже ничего не загружает((
#7 by Лелька23
можно поподробнее
#8 by Лелька23
а почему должен смущать?) я же к нему обращаюсь чтоб из него взять данные
#9 by DrShad
в нем данные непригодны от слова вообще - из них ничего нельзя создать
#10 by Лелька23
в смысле, я в него выгружаю все справочники с данными, а как мне потом тогда загрузить обратно? если вы говорите он непригоден((
#11 by DrShad
вы некорректно выгружаете, так понятнее?
#12 by DrShad
давайте начнем с того, что вы знаете об XML?
#13 by Лелька23
Вот механизм моей выгрузки Для каждого Справочник из Метаданные.Справочники Цикл
#14 by DrShad
этот код не мог дать такой файлик как в
#15 by Вафель
использую лучше выгрузку-загрузку
#16 by Лелька23
этот цикл дает только наименования справочника и код, там дальше так же циклом выгружает реквизит и табличную часть, поэтому такой код
#17 by Лелька23
нужно свое и попроще)
#18 by Вафель
это тестовое задание?
#19 by DrShad
из своего вы ничего не получите ))) уж поверьте
#20 by Лелька23
а как тогда сделать чтоб получить?((
#21 by DrShad
давайте начнем с начала база приемник и источник идентичны?
#22 by Лелька23
да, база одна и та же, абсолютно с такими же данными
#23 by Рэйв
Держи,дарю:-)
#24 by DrShad
для начала вполне пойдет )))
#25 by Рэйв
Да даже не для начала пойдет:-)  у меня на такой основе даже документы с движениями перекидываются между базами
#26 by Лелька23
ошибка вылетает {Обработка.об1.Форма.ФормаУправляемая.Форма(2056)}: Ошибка при вызове метода контекста (Выполнить) тРез=Запрос.Выполнить.Выгрузить; по причине: {(4, 5)}: Таблица не найдена "Справочник.ТвойСпр" <<?>>Справочник.ТвойСпр КАК Спр
#27 by DrShad
и что в этой ошибке вам не понятно?
#28 by Рэйв
Ты не тормоз, ты медленный газ?:-)
#29 by Рэйв
имя СВОЕГО справочника вставь, чукча!:-)
#30 by Лелька23
что это написано для определенного справочника, у меня их более чем много)
#31 by Лелька23
зачем обзываться?:) я понимаю что вставить своего справочника, у меня их много мне не нужно каждый так писать, у меня уже написано что он циклом прокручивает каждый!;)
#32 by Рэйв
у тебя же сделано уже было: >> |    Справочник." + что мешает повторить?
#33 by DrShad
как только у нее в справочниках пойдут ссылочные реквизиты - будет беда )))
#34 by Рэйв
Ну да..Ссылки должны быть в базе, иначе будет <Объект не найден> пока они не появятся
#35 by Лелька23
Есть уже такой обход у меня, я сделала по простому, просто беру реквизиты с типом "Строка", остальные обхожу
#36 by DrShad
либо же при загрузке нужно создавать по имеющейся ссылке пустой элемент и когда до него дойдет очередь его заполнить
#37 by DrShad
так ты ничего путнего не создашь
#38 by Рэйв
да не, не надо пустой. Пусть будет битая. Если правильно пернесет недастающие, то они автоматом встанут туда где был "<Оббъект не найден>"
#39 by DrShad
как? разве сериализатор сам создает "битые" ссылки?
#40 by Лелька23
Вот мой код выгрузки, но там есть косяк единственный, реквизиты когда записывает в файлик, они берут имя первого реквизита.. Сообщить("Ваш файл записан и находится в "+ИмяФайла+" ");   КонецПроцедуры и вот XML файл <Справочники Наименование="Зайцев Анатолий Александрович" Код="003"/> <Справочники Наименование="Синицина Алла Петровна" Код="004"/> <Справочники Наименование="Петрова Ольга Владимировна" Код="005"/> <Справочники Наименование="Иванов Иван Иванович" Код="006"/> <Реквизит Синоним="Дата приема" Имя="ДатаПриема"/> <Реквизит Синоним="Дата увольнения" Имя="ДатаУвольнения"/> <ТабличнаяЧасть Синоним="Трудовая деятельность" Имя="ТрудоваяДеятельность"/> <Реквизит Синоним="Начало работы" Имя="НачалоРаботы"/> <Реквизит Синоним="Окончание работы" Имя="ОкончаниеРаботы"/> <Реквизит Должность="Работник отдела кадров"/> <Реквизит Должность="Работник отдела кадров"/> <Реквизит Должность="Работник отдела кадров"/> <Реквизит Должность="Старший специалист"/> <Реквизит Должность="Старший специалист"/> <Реквизит Должность="Старший специалист"/> <Реквизит Должность="Главный специалист"/> <Реквизит Должность="Главный специалист"/> <Реквизит Должность="Главный специалист"/> <Реквизит Должность="Специалист контроллер"/> <Реквизит Должность="Специалист контроллер"/> <Реквизит Должность="Специалист контроллер"/> </Справочник>
#41 by Рэйв
Он создает объект, считая, что все ссылки в ссылочных реквизитах уже есть в базе и не заморачивается. В результате если их пока нет, то будет <Объект не найден>. но если с таким  УИД перенести объект, то ссылка тут же перестанет быть битой,т.к. объект найдется
#42 by DrShad
и снова, из вашего файлика вы ничего и никогда не загрузите тем более когда Адрес = "Женский"
#43 by DrShad
не думал что он это умеет
#44 by Рэйв
я так думаю просто он не копает вглубь и создает как есть. Ссылочный реквизит - это же просто референс на запись.Практически текст с УИД
#45 by Лелька23
а вот как мне сделать, чтоб он брал реквизит, в данном случае реквизит "Пол", ведь названия формирует он в этом куске кода:
#46 by DrShad
да выбросьте вы свой код и начните с
#47 by Рэйв
Значит как я подсказал делать не хочешь?   Ну удачи тогда в изобретении велосипедов!:-))
#48 by Лелька23
так я попробовала и у меня ошибка выскочила, я же говорю я только начала 1с изучать и мне тяжело.... причем тут велосипед? у меня тоже неплохой код, который выгружает и работает, а ваш код не стал, и как я с вашим кодом буду реквизиты и табличную часть выгружать, мне это трудно очень, я имеющийся код с трудом и поисками делала, а тут заново получается
#49 by Лелька23
а как мне с 23 выгрузить реквизиты?
#50 by Рэйв
Объект выгрузится ВЕСЬ, полностью. Со всеми реквизитами и табличной частью. и загрузится также.
#51 by Рэйв
Попробуй сначала кодом из выгрузить какойнибудь один справочник, потом зайди в кучу реквизитов и поменяй все как хочешь. а затем загрузи обратно. И посмотри что будет
#52 by Лелька23
ну в общем сделала я с вашим, ииии у меня ничего не выгрузилось(( вот что поменяла:
#53 by DrShad
вам же говорят, что то что вы наваяли пусть и с поисками и прочей фигней - мертворожденное, т.е. нерабочее
#54 by Лелька23
блин как жалко((( я месяц потратила((((
#55 by DrShad
нужно было раньше спросить ))) а в справочнике есть хоть что-то?
#56 by Адинэснег
пусть тут полежат
#57 by Лелька23
да конечно, есть и реквизиты и тч и фамилии, ну вот что в файлике xml
#58 by Рэйв
>> меня ничего не выгрузилось(( откуда такие умозаключения? файл F:СтруктураКонфигурации.xml появился?
#59 by Рэйв
+имей в виду что файл будет совсем не xml
#60 by Адинэснег
Откуда-Куда выгружаешь? если конфы идентичные - то ВыгрузкаЗагрузкаДанныхXML82.epf или ВыгрузкаЗагрузкаДанныхXML83.epf с ИТС Если нет - то пиши правила в Конвертация данных Но тут тебе придется вызвать программиста уже
#61 by DrShad
сохранил себе на всякий случай
#62 by DrShad
она учится и ей нужно свое и попроще - для понимания
#63 by Лелька23
да он у меня автоматически создан) я внего зашла и там одна надпись"конфигурация"
#64 by DrShad
его не код из создал
#65 by Рэйв
сделай его не xml, а txt  хотя бы.Тогда откроешь блокнотом и сразу будет видно
#66 by Лелька23
не выгрузил он мне ничего, я удалила этот файл и повторн попробовала выгрузить ии ничего(
#67 by Лелька23
так я с помощью блокнота и открываю и там просто написано конфигурация
#68 by DrShad
скинь свою обработку на файлообменник
#69 by DrShad
и фотку в личку выложи, чем больше будет тема раскрыта - тем качественней буду ответы
#70 by Адинэснег
вообще мужчина пишущий о себе в женском роде, иногда путаясь в ходе обсуждения, в принципе xml осилить не сможет определись с полом, потом с кодом
#71 by Лелька23
ойой ой я тупенькая)) я просто перед запросом цикл не убрала, выше подянлась все удалила и оставила чисто код который советовал умничка выше и у меня выгрузилось, Божечки сколько у меня радости)) ща буду пробовать загрузить!)
#72 by Лелька23
ты намекаешь, что я мужчина?;)
#73 by Лелька23
спасибо тебе огроменнное я тупила просто, твой чудо код работает, блин я прям счастлива, ща буду дальше пробовать))))
#74 by Адинэснег
ни на что не намекаю, ты сам в анкете так указал
#75 by Лелька23
В общем решила я удалить реквизит адрес и у меня вон что получилось {Обработка.об1.Форма.ФормаУправляемая.Форма(1965)}: Ошибка при вызове метода контекста (ПрочитатьXML)     Возврат СериализаторXDTO.ПрочитатьXML(ЧтениеXML); по причине: Ошибка преобразования данных XDTO: НачалоСвойства: {.Сотрудники    Форма: Элемент    Тип: {.Сотрудники по причине: Ошибка преобразования данных XDTO: НачалоСвойства: {}Адрес    Форма: Элемент    Тип: {
#76 by Рэйв
Выгруженное должно обязательно по структуре совпадать с конфигурацией куда загружаешь. Иначе не взлетит.
#77 by Лелька23
Я тебя обожаю, ты просто чудо!!!!! Спасибо тебе огроменное,побольше бы таких как ты, я уже второй месяц бьюсь все форумы облазила, а тут ты мне так помог!!!! Спасибо просто!!!!!! у меня все выгружает и загружает!!!!!!!!!
#78 by Рэйв
Фотку вставь в личку и помогать будут охотнее:-)
#79 by Лелька23
нууу, я не знаю,если поставлю отбоя от ответов не будет;)
#80 by DrShad
Ольга Бугрова )))
#81 by Рэйв
Пока не попробуешь - не узнаешь
#82 by Лелька23
а как вы находите?))
#83 by Лелька23
я вот тут пробую запрос преобразовать, но не очень получается, чтоб он каждый справочник брал и выгружал с данными делаю вот так, не выходит, как подправить?)
#84 by Рэйв
Это тайное колдунство!:-)
#85 by Лелька23
наколдуйте мне умение программировать))
#86 by Рэйв
#87 by Рэйв
Это очень сложное колдунство.Его колдовать надо во франче как минимум год, лучше два:-)
#88 by Лелька23
попробовала, он выгружает только один справочник, у меня их два один сотрудники другой должности и вот с этим запросом выгружает только должности)
#89 by Рэйв
Потому что все пишется в один и тот же файл. Делай имя файла из имени справочника и тогда будут тебе разные файлы
#90 by Лелька23
эм, это как?)
#91 by Лелька23
дааа, вначале и простое кажется очень сложным(
#92 by Рэйв
......... ЗначениеВФайл("F:"+Спр.Имя+".txt",тДанные);
#93 by Лелька23
а при загрузке как сделать, он же не поймет какоц ему нужен файл?
#94 by Лелька23
в ручную прописывать все созданные файлы?))
#95 by Рэйв
сделай выбор файла в ручную. Или сложи их в отдельную папку и перебирай все файлы
#96 by Лелька23
все сделала, с помощью запроса) в общем теперь мне все понятно, спасибо большое еще раз, эх мне бы такую голову умную! желаю продвижения!))
#97 by DrShad
спасибо, но мы уже продвинулись - дальше некуда
#98 by Рэйв
Спасибо в карман не положишь:-)  Фотку выкладывай в личку давай!:-)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С