Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

загрузка xml в документ

загрузка xml в документ
Я
   novichok_v_1c
 
27.10.16 - 14:16
Всем добрый день! Есть задача закинуть данные из xml-файла в документ 1с бухгалтерии 3.0 "Отчет о розничных продажах". Я создал по аналогии с загрузкой данных для справочника обработку для данного документа. Но данные у меня не записываются. Может есть у кого пример такой обработки или советы для решения данной проблемы?
P.S. Конфа-8.3.8.2088    база бух - 3.0.43.223
 
 
   DrShad
 
1 - 27.10.16 - 14:34
как именно они не записываются?
   novichok_v_1c
 
2 - 27.10.16 - 14:37
(1) ну нажимаю на кнопку "Записать XML в документ". он пару секунд думает,а при проверке документа "Отчет о розничных продажах" пусто.
   DrShad
 
3 - 27.10.16 - 14:37
и что конкретно ты создал?
   DrShad
 
4 - 27.10.16 - 14:37
под кнопкой Записать XML в документ какой алгоритм?
   novichok_v_1c
 
5 - 27.10.16 - 14:40
(4) &НаСервере
Процедура  ПрочитатьXMLФайлНаСервере(Файлик);
    
    
    ПутьКФайлу = Файлик[0];    
          ЧтениеXML = Новый ЧтениеXML;
     ЧтениеXML.ОткрытьФайл(ПутьКФайлу);
     
     
     СЗ = Новый СписокЗначений;
     
     Пока ЧтениеXML.Прочитать() Цикл
         
         Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента
             Тогда    ЧтениеXML.ПрочитатьАтрибут();
                     Атрибут = ЧтениеXML.Значение;
             КонецЕсли;
         
             Если ЧтениеXML.ТипУзла = ТипУзлаXML.Текст Тогда
                 
                //дата оказания

                 Если Атрибут  =  "visit_date" Тогда
                     СЗ.Добавить(ЧтениеXML.Значение);
                 КонецЕсли;
                //код услуги

                  Если Атрибут  =  "service_code" Тогда
                     СЗ.Добавить(ЧтениеXML.Значение);
                 КонецЕсли;
                        //Услуга

                 Если Атрибут  =  "service_name" Тогда
                     СЗ.Добавить(ЧтениеXML.Значение);
                 КонецЕсли;
                    //Кабинет

                 Если Атрибут  =  "cablab_name" Тогда
                     СЗ.Добавить(ЧтениеXML.Значение);
                     КонецЕсли;

             КонецЕсли;
             
            Если ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента и 
             Атрибут = "status_mnemo"   Тогда
             СоздатьЭлементДокумента(СЗ) ;
             СЗ.Очистить();
             КонецЕсли;
             
                      КонецЦикла;
    
    
КонецПроцедуры

Процедура  СоздатьЭлементДокумента(СЗ) ;
 Если СЗ.Количество() >0 Тогда
 НовыйЭлемент = Документы.ОтчетОРозничныхПродажах.СоздатьДокумент();
 НовыйЭлемент.Дата = СЗ[0].Значение;
 НовыйЭлемент.Код = СЗ[1].Значение;
 НовыйЭлемент.Товары.Номенклатура = СЗ[2].Значение;
 НовыйЭлемент.Склад = СЗ[3].Значение;
 
     
      НовыйЭлемент.Записать();
СЗ.Очистить();
 КонецЕсли;

    

КонецПроцедуры




&НаКлиенте
Процедура ПрочитатьИзФайлаXML(Команда)
    
Режим = РежимДиалогаВыбораФайла.Открытие;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
Фильтр = "xml|*.xml";
ДиалогОткрытияФайла.Фильтр = Фильтр;
Если ДиалогОткрытияФайла.Выбрать() Тогда
    Файлик = ДиалогОткрытияФайла.ВыбранныеФайлы;
    ПрочитатьXMLФайлНаСервере(Файлик);
КонецЕсли;


ОбновитьИнтерфейс();
    
    
КонецПроцедуры
   DrShad
 
6 - 27.10.16 - 14:44
НовыйЭлемент.Товары.Номенклатура = СЗ[2].Значение;

что это!? что по твоему должно произойти?
   novichok_v_1c
 
7 - 27.10.16 - 14:46
(6) значение второго эл-та xml-го файла уйдет в номенклатуру. нет разве?
   DrShad
 
8 - 27.10.16 - 14:50
нет
   arccos6pi
 
9 - 27.10.16 - 14:50
(7) Стаж: 4 года 5 месяцев 25 дней
и так писать...
   novichok_v_1c
 
10 - 27.10.16 - 14:51
(8) а что нужно поменять?
 
 Рекламное место пустует
   DrShad
 
11 - 27.10.16 - 14:52
(10) боюсь озвучивать, но похоже начать нужно с начала
   novichok_v_1c
 
12 - 27.10.16 - 14:56
(11) а если по конкретнее? с нуля все писать что ли?
или можно в этом кода что-то поменять?
   novichok_v_1c
 
13 - 27.10.16 - 15:15
(9) я как бы оч давно не работал в 1с. поэтому тут и спрашиваю. Может у тебя есть конкретные предложения по исправлению кода или доработки его?
   novichok_v_1c
 
14 - 27.10.16 - 15:20
апап
   arccos6pi
 
15 - 27.10.16 - 15:21
(13) тут нечего исправлять
тут нужно писать заново
   novichok_v_1c
 
16 - 27.10.16 - 15:22
(15) хорошо,тогда с чего начать? по подробнее можешь описать?
   arccos6pi
 
17 - 27.10.16 - 16:46
(16) для начала понять,что все что вы прочитали из xml - строки, а нужные реквизиты у документа имею совсем другие типы
потом неплохо бы понять что нужно добавить строку в табличную часть прежде чем ее заполнять

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует