8.х ОБМЕН Обмен между самописной и БУ 2.0

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем Pavel2009, 25 окт 2012.

  1. TopicStarter Overlay
    Pavel2009
    Offline

    Pavel2009 Опытный в 1С

    Регистрация:
    11 окт 2010
    Сообщения:
    183
    Симпатии:
    0
    Баллы:
    26
    Задача выгрузить документы оплаты из самописной конфы в БУ 2.0. С XML практический не сталкивался. Сделал следующее, запросом выгреб нужные документы, выгрузил в ТЧ, нужные доки отобрал и сохраняю в XML
    Код:
    ФайлXML = Новый ЗаписьXML();
    ФайлXML.ОткрытьФайл("C:\temp\5555.xml");  
    ФайлXML.ЗаписатьОбъявлениеXML();
    ФайлXML.ЗаписатьНачалоЭлемента("Root");
    Для Каждого ОтобранныеДокументы Из ВыбранныеДокументы Цикл
    Если ОтобранныеДокументы.Отобрать Тогда
    ФайлXML.ЗаписатьНачалоЭлемента("Документы");
    ФайлXML.ЗаписатьАтрибут("Ссылка",Строка(ОтобранныеДокументы.Документы));
    ФайлXML.ЗаписатьНачалоЭлемента("Номер");
    ФайлXML.ЗаписатьТекст(Строка(ОтобранныеДокументы.Документы.Номер));
    ФайлXML.ЗаписатьКонецЭлемента();//Номер
    ФайлXML.ЗаписатьНачалоЭлемента("Дата");
    ФайлXML.ЗаписатьТекст(Строка(ОтобранныеДокументы.Документы.Дата));
    ФайлXML.ЗаписатьКонецЭлемента();//Дата
    ФайлXML.ЗаписатьНачалоЭлемента("Фирма");
    ФайлXML.ЗаписатьТекст (Строка(ОтобранныеДокументы.Документы.Фирма));
    ФайлXML.ЗаписатьКонецЭлемента();//Фирма
    ФайлXML.ЗаписатьНачалоЭлемента("ДвижениеДенежныхСредств");
    ФайлXML.ЗаписатьТекст(Строка(ОтобранныеДокументы.Документы.СтатьяРасходов));
    ФайлXML.ЗаписатьКонецЭлемента();
    ФайлXML.ЗаписатьКонецЭлемента();//Документы
    КонецЕсли;
    КонецЦикла;
    ФайлXML.ЗаписатьКонецЭлемента();
    ФайлXML.Закрыть();
    
    Сохранил, получились красивые теги, для каждого документа (ссылки) атрибут и под ним, идет номер, дата и т.д. Но при прочтении читается только значения атрибутов, а вот сохраненный текст ФайлXML.ЗаписатьТекст (Строка(ОтобранныеДокументы.Документы.Фирма)); читается как пустая строка, т.е., все нужно сохранять в атрибутах.
    Код:
    Файл = Новый ЧтениеXML;
    Файл.ОткрытьФайл(ЗагрузитьИз);
    Пока Файл.Прочитать() Цикл
    Если Файл.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
    Пока Файл.ПрочитатьАтрибут() Цикл // читается только значения атрибутов, а вот текст  
    //ФайлXML.ЗаписатьТекст (Строка(ОтобранныеДокументы.Документы.Фирма));
    //читается как пустая строка, т.е., все нужно сохранять в атрибутах?
    Если Файл.Имя= "Ссылка" Тогда
    Если Файл.Значение=Строка.Документы Тогда
    Номер=Файл.Значение; // пустая строка
    
    Заранее спасибо
  2. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Так зачем вручную писать, почему конвертацию данных не используете. Не стоит писать самому если есть уже иснтрумент
  3. TopicStarter Overlay
    Pavel2009
    Offline

    Pavel2009 Опытный в 1С

    Регистрация:
    11 окт 2010
    Сообщения:
    183
    Симпатии:
    0
    Баллы:
    26
    Дело в том, что документы не идентичные их нужно будет создавать и заполнять и КД не знаю.
  4. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Это не проблема для КД
    А вот это проблема
    Проще будет в КД разобраться, чем парсить xml, посмотрите литературу по КД, ну не вижу я смысла городить перед бетонной стеной забор из дерева...
  5. TopicStarter Overlay
    Pavel2009
    Offline

    Pavel2009 Опытный в 1С

    Регистрация:
    11 окт 2010
    Сообщения:
    183
    Симпатии:
    0
    Баллы:
    26
    Приступил к изучение. И сразу столкнулся с такой проблемой, возможно ли, по статьям затрат, документов из базы приемника, сформировать в БУ 2.0 нужную форму, т.е. как в БУ при выборе документа ПКО вываливается окошко с выбором от кого платежь (от поставщика, пототчетника) и зависимости от выбора, появляются определенная формы документа, которуб нужно заполнить, у меня при конвертации конвертируются все в одной форме, возможно ли этот момент как обыграть с помощью КД?
  6. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    БУ 2.0?? - наверное БП 2.0 имеется ввиду.
    Никаких окошек Кд не открывает, да и не нужны они, если нужно параметры передать, то используйте параметры обмена, там могут быть переданы любые параметры
Похожие темы
  1. nomad_irk
    Ответов:
    13
    Просмотров:
    1.684
Загрузка...

Поделиться этой страницей