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

  1  2   
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Надо слепить выгрузку складов из 77 в XML

v7: Надо слепить выгрузку складов из 77 в XML
Я
   raykom
 
23.12.12 - 12:21
Такая вот задачка нарисовалась. Это самая простая.
Прошу подсказать алгоритм, как пилить.

Ну как бы по части сбора данных из 1с все понятно, а вот во что собирать и как потом формировать файл заданной структуры ?

Ну, определить поля какие, шапки там мапки и выгрузить собранные данные в файл и записать.

Намекните как или почитать чего пните. В райкоме сегодня ликбез.
Сапасибо.

ПС. Оффтоп. А шо, цукины дети, белый свет то пропили как положено ?? КОнца то небыло, процта в глазах потемнело ? А то я все пропустил, тока на мисте и узнал, что тут такое ... Ну думаю вы не прозевали.
 
 
   Aleksey
 
1 - 23.12.12 - 12:32
ЗагрузитьВнешнююКомпоненту("v7plus.dll");
Анализатор = СоздатьОбъект("AddIn.XMLParser"); 
xml_Корень=Анализатор.СоздатьДокумент(); 
xml_Данные =xml_Корень.СоздатьПодчиненныйЭлемент("Данные"); 
xml_Данные.УстановитьАтрибут("Фирма",стрФирма); 
xml_Документы=xml_Данные.СоздатьПодчиненныйЭлемент("Документы"); 
xml_ТекДок=xml_Документы.СоздатьПодчиненныйЭлемент("Поступление"); 
xml_ТекДок.Значение="ПоступлениеТоваровУслуг";
xml_ТекДок.УстановитьАтрибут("Дата",""+ТекДок.ДатаДок);
...
xml_Корень.Записать(ИмяНачКаталога+ИмяФайла);
   Aleksey
 
2 - 23.12.12 - 12:35
   raykom
 
3 - 23.12.12 - 12:44
Ага. Спасибо. Оказывается я и на половину неправильно представлял. Хы хы.
   raykom
 
4 - 23.12.12 - 12:47
(2)Ну пока вроде все понятно. Спасибо.
   raykom
 
5 - 25.12.12 - 13:55
Серия вторая.

Вопщем слепил вот такое

Процедура Выполнить()
    Если ЗагрузитьВнешнююКомпоненту(КаталогПрограммы()+"v7plus.dll")<>1 Тогда
        Предупреждение("Компонента не обнаружена");
        Возврат;
    КонецЕсли;
    Анализатор=СоздатьОбъект("AddIn.XMLParser");
    Корень=Анализатор.СоздатьДокумент();
    ДанныеXML = Корень.СоздатьПодчиненныйЭлемент("root"); 
    Для Сч1 = 1 По 3 Цикл
        Ветка = ДанныеXML.СоздатьПодчиненныйЭлемент("Данные" + Сч1);
        Ветка.УстановитьАтрибут("Дата", ТекущаяДата());
        Ветка.УстановитьАтрибут("Время", ТекущееВремя());
        Для Сч2 = 1 По 5 Цикл
            Элемент = Ветка.СоздатьПодчиненныйЭлемент("Элемент" + Сч2);
            Элемент.Значение = "Значение" + Сч2;
        КонецЦикла;
    КонецЦикла;  
    
    Корень.Записать(КаталогПрограммы()+"L.xml");
    Сообщить(КаталогПрограммы());
    Предупреждение("ОК"); 
КонецПроцедуры

Но оно не создает файл.
Собщать сообщает, подверждать "ОК" просит, но нифига не создает.

Наведите на мысль ?
   povar
 
6 - 25.12.12 - 13:56
\
   Скользящий
 
7 - 25.12.12 - 13:56
Освой лучше КД2, там все на порядок проще будет.
   Злопчинский
 
8 - 25.12.12 - 14:02
(7) ээээ.... и как в КД2 в имеющийся файл XML (например, заявка покупателя) впихнуть дополнительные тэги-подтверждения отгрузки для исходных строк заявки...?
   raykom
 
9 - 25.12.12 - 14:04
(6)Сижу втыкаю, в сие краткое послание. Пока не постиг. Но чую смысл есть.
(7)КД2 сильно отличается от КД ? Я в какой то ваял выгрузки и переносы, только не помню, КД2 иои просто КД

Но ифайл ХМЛ структура нужа заданная
(8)Ну вот примерно да, как
   raykom
 
10 - 25.12.12 - 14:05
(6):DD Ага щас попробую. Доперло
 
 Рекламное место пустует
   Злопчинский
 
11 - 25.12.12 - 14:07
(5) если работа с файлом - последовательная, я не заморачиваюсь а тупо пишу текстовый файл
.
//******************************************************************************
 
Процедура Выгрузить()
    
    ТекстВыгрузкиДанных = СоздатьОбъект("Текст");
    стр = "<?xml version=""1.0"" encoding=""utf-8""?>";
    стр = глПреобразоватьСтрокуВUTF8(стр);
    ТекстВыгрузкиДанных.ДобавитьСтроку(стр);

    стр = "<!-- типакоммент, nonew@money.net -->";
    стр = глПреобразоватьСтрокуВUTF8(стр);
    ТекстВыгрузкиДанных.ДобавитьСтроку(стр);

    стр = "<!-- офис (495) **-**-*** -->";
    стр = глПреобразоватьСтрокуВUTF8(стр);
    ТекстВыгрузкиДанных.ДобавитьСтроку(стр);

    стр = "<!-- выгружено "+ТекущаяДата()+" "+ТекущееВремя()+" -->";
    стр = глПреобразоватьСтрокуВUTF8(стр);
    ТекстВыгрузкиДанных.ДобавитьСтроку(стр);
    
    стр = "<Root>";
    стр = глПреобразоватьСтрокуВUTF8(стр);
    ТекстВыгрузкиДанных.ДобавитьСтроку(стр);
    
    ТЗ = СоздатьОбъект("ТаблицаЗначений");
    ВыбДокумент.ВыгрузитьТабличнуюЧасть(ТЗ,"Номенклатура");
    ТЗ.Свернуть("Номенклатура",);

    стр = "  <GoodsList>";
    стр = глПреобразоватьСтрокуВUTF8(стр);
    ТекстВыгрузкиДанных.ДобавитьСтроку(стр);
    
    ТЗ.ВыбратьСтроки();
    Пока ТЗ.ПолучитьСтроку() = 1
    Цикл
        
        Наименование         = глБВК_НормализоватьСтроку(СокрЛП(ТЗ.Номенклатура.Наименование),"/\""'<>&","");
        ПолноеНаименование     = глБВК_НормализоватьСтроку(СокрЛП(ТЗ.Номенклатура.ПолнНаименование),"/\""'<>&","");
        ШтрихКод = СокрЛП(ТЗ.Номенклатура.БазоваяЕдиница.ШтрихКод);
        
        стр = "    <GoodsItem Article="""+Артикул+""" Name="""+Наименование+""" FullName="""+ПолноеНаименование+""" Status="""+Статус+""" BarCode="""+ШтрихКод+""" />";
        стр = глПреобразоватьСтрокуВUTF8(стр);
        ТекстВыгрузкиДанных.ДобавитьСтроку(стр);
        
    КонецЦикла;
    
    стр = "  </GoodsList>";
    стр = глПреобразоватьСтрокуВUTF8(стр);
    ТекстВыгрузкиДанных.ДобавитьСтроку(стр);
/
ну и т.д.
   Aleksey
 
12 - 25.12.12 - 14:07
(8) Легко
   raykom
 
13 - 25.12.12 - 14:08
(6)
Так надо было ?
Корень.Записать(КаталогПрограммы()+"/L.xml");

попробовал, результат тот же.
   Злопчинский
 
14 - 25.12.12 - 14:09
(12) Коакое красивое и ёмкое слово.. ;-0
   Злопчинский
 
15 - 25.12.12 - 14:09
(13) функция уже возвращает со слешем
   Aleksey
 
16 - 25.12.12 - 14:10
(13) в другую сторону слэш
   raykom
 
17 - 25.12.12 - 14:18
(15)Да, к стати. Сообщение показывает путь со слешем.
   Автор
 
18 - 25.12.12 - 14:35
Попробуй заменить
Корень.Записать(КаталогПрограммы()+"L.xml");
на 
Корень.Записать(КаталогИБ()+"L.xml");
   Злопчинский
 
19 - 25.12.12 - 14:37
(18) возможно..
ФС в 1ске никаких сообщенйи при отсутсвии прав не дает.. успешно выполянется, а вместе назначения - нуль...
   raykom
 
20 - 25.12.12 - 14:47
(18)(19):DDD
Получилось.
Пока спасибо. Но думаю ненадолго )
   raykom
 
21 - 26.12.12 - 11:50
Серия третья. Подскажите, какие методы использованиы при организации вот такой конструкции ?

<?xml version="1.0" encoding="UTF-8"?>
-<request>-<entities>-<entity>-<attributes><attribute name="distribId">DT0000024</attribute><attribute <attribute name="dateLoad">23.08.2012</attribute></attributes></entity></entities></request>
   raykom
 
22 - 26.12.12 - 14:05
Апну.

Тут вот получьше код видно наверно будет.
Какие методы использованиы ?
<?xml version="1.0" encoding="UTF-8"?>
-<request>
 -<entities>
  -<entity>
   -<attributes>
      <attribute name="distribId">DT0000024</attribute>
    </attributes>
   </entity>
  </entities>
 </request>
   aka AMIGO
 
23 - 26.12.12 - 14:16
(0) у тебя ТиС? там есть выгрузка в формате CommerceML, как раз то, что надо.. по крайней мере, как пример.

я её переделывал, чтобы выгружать на сайт, вполне адекватная.
   raykom
 
24 - 26.12.12 - 14:20
Не, у меня БП 2.0
Щас гляну.
   raykom
 
25 - 26.12.12 - 14:22
Вот меня кроет ... ТиС у меня :)
   raykom
 
26 - 26.12.12 - 14:32
(23)Ума не хватает раскурить там вапрой. Вычислил только процедуру которой атрибут устанавливается, но не понятно, как она с другими узлами ветками связана.
   aka AMIGO
 
27 - 26.12.12 - 14:35
(26) ты вот эту обработку смотришь?
XMLВыгрузкаКоммерческихПредложений
   raykom
 
28 - 26.12.12 - 14:36
ага
   aka AMIGO
 
29 - 26.12.12 - 14:38
(26) я вначале анализировал (долго-долго! :) ) то, что выгружается, потом переделывал под себя..
вернее, под директора и веб-программиста.. он тоже с капризами был.
а основную схему не дорабатывал..
жаль, видимо помочь не смогу, в хмл я не силен..
   Zebbar
 
30 - 26.12.12 - 14:57
а там точно
-<request> в исходном xml?
В принципе, тема такая:
    мЗаписьXML.ОткрытьЭлемент("request");
    мЗаписьXML.ОткрытьЭлемент("entities");
    мЗаписьXML.ОткрытьЭлемент("attributes");
    мЗаписьXML.ОткрытьЭлемент("attribute");
    мЗаписьXML.УстановитьАтрибут("name", "distribId");
    мЗаписьXML.ЗакрытьЭлемент();
    мЗаписьXML.ЗакрытьЭлемент();
    мЗаписьXML.ЗакрытьЭлемент();
    мЗаписьXML.ЗакрытьЭлемент();
   Надсмотрщик
 
31 - 26.12.12 - 15:05
Попытка
        XMLАнализатор =    СоздатьОбъект("AddIn.XMLParser");
    Исключение
       ////////////////////////////////////////////////////////////////////////////////////////////////////
 
       //    Поиск внешней компоненты V7Plus.dll
 
        
        СписокВозможныхМест    =    СоздатьОбъект("СписокЗначений");
        СписокВозможныхМест.ДобавитьЗначение(КаталогПрограммы()            + "v7plus.dll");
        СписокВозможныхМест.ДобавитьЗначение(КаталогИБ()                + "v7plus.dll");
        СписокВозможныхМест.ДобавитьЗначение(КаталогИБ() + "ExtForms\"    + "v7plus.dll");
        
        КомпонентаV7plus =    НайтиПервыйСуществующийФайл(СписокВозможныхМест);
        
        Если ЗагрузитьВнешнююКомпоненту(КомпонентаV7plus) <> 1    Тогда
            Предупреждение("Компонента v7plus.dll не найдена!");
            СтатусВозврата(0);    Возврат;
        КонецЕсли;
        
        XMLАнализатор =    СоздатьОбъект("AddIn.XMLParser");
        
    КонецПопытки;    
    
    Если Число(XMLАнализатор.ВерсияАнализатора) < 2 Тогда
        Предупреждение("Для работы с программой необходимо обновить внешнюю компоненту v7plus.dll!");
        Возврат;
    КонецЕсли;
    
    
    Если ОтправитьНоменклатуру = 1 Тогда
        НоменклатураXML = XMLАнализатор.СоздатьДокумент();
        НоменклатураXML.ЗагрузитьИзСтроки("<?xml version=""1.0"" encoding=""windows-1251"" ?> 
                        |<Файл Отправитель= ""1С"" Получатель=""ВЭБ Регистратор"" ВерсФорм=""1.01"">
                        |</Файл>");
        ЭлДок = НоменклатураXML.ЭлементДокумента;
   raykom
 
32 - 26.12.12 - 15:06
(30)Да. Один в один. А как кодировку устанавливать ? А то одинестина по умолчанию WINDOWS-1251 ставит в заголовке.

И еще, в исходном файле есть вот такая штука - <attribute name="dist...

Дак вот у меня метод УстановитьАтрибут ругается на такую строку имени, только на целую строку не ругается
attributes.УстановитьАтрибут("attribute name", ТекущаяДата());
{E:\BASE1C\BASE1C77\TRD974\L_XML.ERT(56)}: : Ошибка исполнения метода
   aka AMIGO
 
33 - 26.12.12 - 15:08
attributes.УстановитьАтрибут("attribute name", Строка(ТекущаяДата())); // не так? :)
 
 
   ДенисЧ
 
34 - 26.12.12 - 15:08
(32)  мЗаписьXML.ОткрытьЭлемент("attribute");
    мЗаписьXML.УстановитьАтрибут("name", Формат(ТекущаяДата(), "ДФ=yyyyMMdd"));
    мЗаписьXML.ЗакрытьЭлемент();
а така?
   raykom
 
35 - 26.12.12 - 15:10
(33)Ругается на аттрибут наме. Ставишь подчеркивание вместо пробела - все ОК.
(34)Кстати может да. Щас попытаю
   raykom
 
36 - 26.12.12 - 15:12
Извиняюсь. Отойду. Посона кормить.
   aka AMIGO
 
37 - 26.12.12 - 15:12
всё это гадание на кофейной..
надо еще-бы узнать, в каком формате приемник кушает дату..
но "ДФ=yyyyMMdd" - кажется правильным
   raykom
 
38 - 26.12.12 - 15:21
(37)Да не на дату он ругается, емае. А на ("attribute name", с пробелом. Пробел убираешь - все норм.
   aka AMIGO
 
39 - 26.12.12 - 15:27
(38) глянь в (34) там нет пробела вообще
   Zebbar
 
40 - 26.12.12 - 15:28
(38) attribute - это элемент
а name - его атрибут
в моем коде написано же:
    мЗаписьXML.ОткрытьЭлемент("attribute");
    мЗаписьXML.УстановитьАтрибут("name", "distribId");
    мЗаписьXML.ЗакрытьЭлемент();
   Надсмотрщик
 
41 - 26.12.12 - 16:00
(32) В (31) Самый элементарный и понятный код
   Надсмотрщик
 
42 - 26.12.12 - 16:01
+ (41) Работаешь с объектом, а не с текстом
   raykom
 
43 - 26.12.12 - 16:40
(34)>мЗаписьXML.ОткрытьЭлемент("attribute");

А что перед этим ?
СоздатьПодчиненныйЭлемент ?

А то ошибка >Поле агрегатного объекта не обнаружено (ОткрытьЭлемент
   raykom
 
44 - 26.12.12 - 16:41
(40)аГА, ЭТО ПОНЯЛ
   Kreont
 
45 - 26.12.12 - 16:46
в 7-ка насколько помню v7plus.dll + работа с ХМЛ глючит где то там :)
Поэтому лучше пиши просто в текст.xml, по времени написания думаю и понятней и попроще будет.
   raykom
 
46 - 26.12.12 - 17:10
(40)нО НЕ СОВСЕМ ПОНЯЛ.
мЗаписьXML - ЭТО ЧТО ТАКОЕ ? Документ ?

У меня метод ОткрытьЭлемент("attribute"); Не работает. Говорить не найдено поле агрегатного объекта "ОткрытьЭлемент"
Перепробовал все объекты от корня. Ни в какую.
Давай червонец еще, начальник. Керасинка нужна ...
   raykom
 
47 - 26.12.12 - 17:39
Алле, граждане, кто нибудь подскажет в какой конструкции корректно применять метод "ОткрытьЭлемент" ?

Что перед этим то надо ? Документ создать или последовательнозаписываемыйдокумент ?

Или подчиненный элемент сздать ??

Сам никак додуматься не могу.
   Надсмотрщик
 
48 - 26.12.12 - 18:00
(47) См (31)
   raykom
 
49 - 26.12.12 - 18:00
Прпытка 33я. ПАцледняя.

Уточняю вопрос. Как получить ы ХМЛ файл запись такого вида ?

<attribute name="distribId">DT0000024</attribute>

Жоть у когонибудь искра божья, а ?
 
 Рекламное место пустует
   raykom
 
50 - 26.12.12 - 18:03
(48)Ну при всем уважении ... Я там (31) ничег не понял. Предисловие с открытием и проверками у меня есть.

А вот по сути в (31) только это
>   Если ОтправитьНоменклатуру = 1 Тогда
        НоменклатураXML = XMLАнализатор.СоздатьДокумент();
        НоменклатураXML.ЗагрузитьИзСтроки("<?xml version=""1.0"" encoding=""windows-1251"" ?> 
                        |<Файл Отправитель= ""1С"" Получатель=""ВЭБ Регистратор"" ВерсФорм=""1.01"">
                        |</Файл>");
        ЭлДок = НоменклатураXML.ЭлементДокумента;

Но что тут про мой случай - ума не приложу.
   aka AMIGO
 
51 - 26.12.12 - 18:31
а вдруг тебе поможет:
http://www.comprog.ru/XML/article_2757.htm#up
руководство
file:///C:/Users/%D0%92%D0%B0%D0%BB%D0%B5%D1%80%D0%B0/AppData/Local/Temp/xml_009.html
   aka AMIGO
 
52 - 26.12.12 - 18:32
виноват, вот руководство
http://www.comprog.ru/XML/Downloads/
   Надсмотрщик
 
53 - 26.12.12 - 19:34
(50)
ДокXML = XMLАнализатор.СоздатьДокумент();
ДокXML.ЗагрузитьИзСтроки("<?xml version=""1.0"" encoding=""UTF-8"" ?> <request></request>");
ДокXML.Записать(<ИмяФайла>);
   raykom
 
54 - 26.12.12 - 19:47
(53) А когда номенклатуру буду грузить, тоже сначала строку формировать на 1000 позиций и со всеми реквестами и энтитиесами для создания структуры ? Это ж кукнуца можно
   Надсмотрщик
 
55 - 26.12.12 - 19:50
(54) Ты с XML Работал?
   raykom
 
56 - 26.12.12 - 20:06
Нет.
   Надсмотрщик
 
57 - 26.12.12 - 20:08
Сейчас что нить придумаю
   raykom
 
58 - 26.12.12 - 20:12
Ммм ну можешь схематично сказать, методы и порядок их применеия именно для случая 
<attribute name="distribId">DT0000024</attribute> 

Но надо иметь в виду, что этих attribute name будет несколько в каждом элементе. И их значения - это значения реквизитов справочника 1с.

И самих элементов - произвольное количество.

Вродее не по ж.пу деревянный, должон понять.
   Надсмотрщик
 
59 - 26.12.12 - 20:15
Функция ДобавитьПодчиненныйЭлемент(ЭлВладелец, ИмяТега, Значение="", ФлЕслиПустоеНеДобавлять=0)
    
    Если (ФлЕслиПустоеНеДобавлять = 1) И (ПустоеЗначение(Значение) = 1) Тогда Возврат "" КонецЕсли;
    
    ЭлВозврата = ЭлВладелец.СоздатьПодчиненныйЭлемент(ИмяТега);
    
    Если Значение <> "" Тогда
        ЭлВозврата.Значение = СокрЛП(Значение);
    КонецЕсли;
    
    Возврат ЭлВозврата;
КонецФункции// ДобавитьПодчиненныйЭлемент
 



ДокXML = XMLАнализатор.СоздатьДокумент();
ДокXML.ЗагрузитьИзСтроки("<?xml version=""1.0"" encoding=""UTF-8"" ?> <request></request>");

ЭлЮрЛицо = ДобавитьПодчиненныйЭлемент(ДокXML, "ОфициальноеНаименование", СокрЛП(Константа.ОфициальноеНазваниеОрганизации));

ДокXML.Записать(<ИмяФайла>);

Это как пример
   Надсмотрщик
 
60 - 26.12.12 - 20:17
Работа с атрибутами

ЭлНДС = ДобавитьПодчиненныйЭлемент(ЭлУчетНалогов, "НДС");
        ЭлНДС.УстановитьАтрибут("УчитыватьВСумме", "true");
   raykom
 
61 - 26.12.12 - 20:18
Щас попробую посмотрю какую структуру выдаст.
   raykom
 
62 - 26.12.12 - 20:21
(60)>лНДС = ДобавитьПодчиненныйЭлемент(ЭлУчетНалогов, "НДС");
        ЭлНДС.УстановитьАтрибут("УчитыватьВСумме", "true");

Ну вот это помоему то, на чем у меня застопорилось.
Щас проверю
   raykom
 
63 - 26.12.12 - 20:32
:DDD

Взлетает потахонечку.
Практически все проУстановитьАтрибут("name", "distribId");

писали, ДенисЧ,  Zebbar и даже Aleksey, правда не так явно, ну вот тольуо щас проглючило меня.

Спасибо братцы.

ПС. Пойду таки себя за ж.пу памацаю, помоему деревянный по пояс ... о_О

Благодарю, камрады
   raykom
 
64 - 26.12.12 - 20:33
(60)И тебе стакан :)
   raykom
 
65 - 26.12.12 - 20:52
серия сорок пятая.
(60)Сделал как ты писал
    Если ЗагрузитьВнешнююКомпоненту(КаталогПрограммы()+"v7plus.dll")<>1 Тогда
        Предупреждение("Компонента не обнаружена");
        Возврат;
    КонецЕсли;
    Анализатор=СоздатьОбъект("AddIn.XMLParser");
    Корень=Анализатор.СоздатьДокумент();
    Корень.ЗагрузитьИзСтроки("<?xml version=""1.0"" encoding=""UTF-8"" ?> <request></request>");
    Корень.Записать(КаталогДляВыгрузки);
    Предупреждение("ОК"); 

Выдает вот такое

<?xml version="1.0" encoding="WINDOWS-1251"?>
<request/>
Почему кодировку то виндовую подтянул ?
   raykom
 
66 - 26.12.12 - 20:55
и где  открывающий <request> ?
   Надсмотрщик
 
67 - 26.12.12 - 21:22
(66)
Если ЗагрузитьВнешнююКомпоненту(КаталогПрограммы()+"v7plus.dll")<>1 Тогда
        Предупреждение("Компонента не обнаружена");
        Возврат;
    КонецЕсли;
    Анализатор=СоздатьОбъект("AddIn.XMLParser");
    Корень=Анализатор.СоздатьДокумент();
    Корень.ЗагрузитьИзСтроки("<?xml version=""1.0"" encoding=""UTF-8"" ?> <request></request>");

ЭлДок = Корень.ЭлементДокумента;
ЭлНДС = ДобавитьПодчиненныйЭлемент(ЭлДок, "НДС");
        ЭлНДС.УстановитьАтрибут("УчитыватьВСумме", "true");

    Корень.Записать(КаталогДляВыгрузки);
    Предупреждение("ОК");
   Надсмотрщик
 
68 - 26.12.12 - 21:25
(65) Корень.Кодировка = "UTF-8";
   raykom
 
69 - 26.12.12 - 21:28
(68)Ага уже в СП посмотрел. ДенисЧ что то в этом году спит в оглоблях, СПшками не банчит.
   Надсмотрщик
 
70 - 26.12.12 - 21:31
(69) Могу сам тебе продать СП
   raykom
 
71 - 26.12.12 - 21:48
Получил вот такое
<attributes name="distribId"/>

А надо вот такое

<attribute name="distribId">DT0000024</attribute>

Есть мысли ?
   ДенисЧ
 
72 - 26.12.12 - 21:57
(69) Я думал у тебя свой есть... Уж тебе мне стыдно его предалагать :-(
   ДенисЧ
 
73 - 26.12.12 - 21:59
(66) Если написано <request/>, то это очень даже по стандарту - в элементе нет внутренних данных.
   raykom
 
74 - 26.12.12 - 22:08
Щас вот такой код
Корень=XMLАнализатор.СоздатьДокумент();
Корень.Кодировка = "UTF-8";

request = Корень.СоздатьПодчиненныйЭлемент("request");
entities = request.СоздатьПодчиненныйЭлемент("entities");

СпрСклады      = СоздатьОбъект("Справочник.Склады");

СпрСклады.ВыбратьЭлементы();
Пока СпрСклады.ПолучитьЭлемент() = 1 Цикл
    entiti = entities.СоздатьПодчиненныйЭлемент("entiti");    
    attributes = entiti.СоздатьПодчиненныйЭлемент("attributes");
    attributes1 = attributes.СоздатьПодчиненныйЭлемент("attributes");
    attributes1.УстановитьАтрибут("name", "distribId",>distribId);
КонецЦикла;  

Корень.Записать(КаталогДляВыгрузки);


Выдает вот такое

<?xml version="1.0" encoding="UTF-8"?>
-<request>
 -<entities>
  -<entiti>
   -<attributes>
       <attributes name="distribId"/>
    </attributes>
   </entiti>
  </entities>
</request>

Вся сруктура как надо.

Но строка 
<attributes name="distribId"/>

нужна вот такая
<attribute name="distribId">DT0000024</attribute>

Как это слепить ?
   raykom
 
75 - 26.12.12 - 22:21
Приму в подарок СП можно б/у
   Надсмотрщик
 
76 - 26.12.12 - 22:32
(74) Кинь саму схему
   raykom
 
77 - 26.12.12 - 22:42
А шо это такое ?

У меня только пример файла есть как должны выглядеть выгруженные данные

вот

<?xml version="1.0" encoding="UTF-8"?>
-<request>
 -<entities>
  -<entiti>
   -<attributes>
       <attribute name="distribId">DT0000024</attribute>
       <attribute name="locId">001</attribute>
       <attribute name="locName">Основной</attribute>
    </attributes>
   </entiti>
  </entities>
</request>
   Надсмотрщик
 
78 - 26.12.12 - 23:17
(77) Должен быть еще один файл
   Надсмотрщик
 
79 - 26.12.12 - 23:22
<Элемент distribId="DT0000024 locId="001 locName="Основной" /Элемент>
   raykom
 
80 - 26.12.12 - 23:34
(79) и куда это ?
   raykom
 
81 - 26.12.12 - 23:38
(79)Не это канапля какая то, чтото тут неправильно ...
   Надсмотрщик
 
82 - 26.12.12 - 23:42
(81) Твой пример имеет расширение ESD?

А это твои атрибуты элемента
   Надсмотрщик
 
83 - 26.12.12 - 23:45
+(79) 
<Элемент distribId="DT0000024" locId="001" locName="Основной">
   raykom
 
84 - 26.12.12 - 23:46
.xml

Икак это использовать ?
<Элемент distribId="DT0000024" locId="001" locName="Основной">
   Команданте
 
85 - 26.12.12 - 23:48
уж0снах
примитив обсуждают на мисте
   raykom
 
86 - 26.12.12 - 23:50
(85)Как там ... лучше помогите материально
   Команданте
 
87 - 26.12.12 - 23:52
(86) ты же, вроде, консультант в пиджаке
откуда такие требы по части универсальной выгрузки отсюда туда
или на старости лет жрать стало нечего
   raykom
 
88 - 26.12.12 - 23:57
(87)>консультант в пиджаке
о_О это не про меня, по ходу ...

И почему на старости ? Кроме того - всегда было маловато пожрать ...

А что нить может по теме с барского плеча ? Очень нуждаюсью
   Команданте
 
89 - 27.12.12 - 00:02
(88) судя, по твоему тону, ты сделал вброс, и давно уже знаешь, что и как делать
цель удалась, люди повеселились
во-вторых, явно ощущается нехватка седьмого стопаря
накати
в целом, молодец. пять
   raykom
 
90 - 27.12.12 - 00:04
Не ... Этта явно не канапля. Чото по серьезнее.
   Команданте
 
91 - 27.12.12 - 00:05
(90) ну я те и говорю, ты чо-то принял
щас лучше полежи просто, пусть пройдёт
   raykom
 
92 - 27.12.12 - 00:07
Дак я бы да. Дак мне 
<attribute name="distribId">DT0000024</attribute>
надо, а не знаю как. Беспесды.
   Dolly_EV
 
93 - 27.12.12 - 06:21
(0) ООООО, знакомая XML-лина ))) Выгрузка для to SFIS ВиммБильДан ?))
   Dolly_EV
 
94 - 27.12.12 - 06:22
+(93) и я так понимаю, раз вопрос стоит ТОЛЬКО про склады - ты пытаешься допилить выгрузку, написанную не тобой?
   Dolly_EV
 
95 - 27.12.12 - 06:26
+(93) есть готовая, сделана через AddIn.V7TextFile, т.е. не надо ломать голову с XML, обычный текстовый файл.. и в UTF8 переводится..Надо?
   ЧеловекДуши
 
96 - 27.12.12 - 07:40
Все это баловство, x-romix Рулит!!!
http://x-romix.narod.ru/
http://x-romix.narod.ru/OpenXML.rar
внешняя компонента для работы с XML, позволяет работать с большими файлами последовательно, не нагружая память.
Книга знаний: Чтение и запись текстовых файлов XML средствами 1С:Предприятие 7.7

В архиве пример, как нужно записывать файлы.
Для чтения может и не подойдет, но в качестве записи, скорость впечатляет :)
   raykom
 
97 - 27.12.12 - 07:53
(83)(94)(95)Да. SFIS VBD )
Скока стоить будет ? Делает то, что нужно ?

(96)Читал уже. Пока не те задачи. Как записвапть я и так уже знаю, мне теперь надо записать то, что нужно. А то пока тока всякую херню могу записывать.
   Dolly_EV
 
98 - 27.12.12 - 07:55
(97) делает то, что нужно, но писана под мою конфигу, так что в таком виде нисколько стоить не будет. Давай личку - отправлю
   raykom
 
99 - 27.12.12 - 07:57
Сделай, будь добр через файлообменник какой нибудь. Если не трудно.
   raykom
 
100 - 27.12.12 - 07:59
Ну или щас писану тебе
  1  2   

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