Xml 1С8

Тема в разделе "1C и всё что с ней связано", создана пользователем ech, 3 авг 2009.

  1. ech

    ech Гость

    помогите с выгрузкой прайс листа в хмл 1С 8.1. УТ.
    Может кто делал уже??
     
  2. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    В типовой УТ есть выгрузка в формате CommerceML.
    Вот код для выгрузки всей номенклатуры:
    [codebox] Каталог="C:\Temp";
    ИмяФайла=Каталог+?(Прав(Каталог,1)="\","","\")+"sklad.xml";
    ЗаписьХМЛ=Новый ЗаписьXML;
    ЗаписьХМЛ.ОткрытьФайл(ИмяФайла);
    ЗаписьХМЛ.ЗаписатьОбъявлениеXML();
    Выборка = Справочники.Номенклатура.Выбрать();
    ЗаписьХМЛ.ЗаписатьНачалоЭлемента("Root");
    Пока Выборка.Следующий() Цикл
    ЗаписатьXML(ЗаписьХМЛ,Выборка.ПолучитьОбъект());
    КонецЦикла;
    ЗаписьХМЛ.ЗаписатьКонецЭлемента();
    ЗаписьХМЛ.Закрыть();
    [/codebox]
    Вам же, наверное, нужно выгружать отдельные реквизиты.
     
  3. ech

    ech Гость

    Спасибо! Но как мне сделать чтобы выгружались отдельные реквизиты, например, меня интересует
    Наименование
    Категория
    Производитель
    колво на складе
    цена
     
  4. ech

    ech Гость

    Пока Выборка.Следующий() Цикл
    Объект = Выборка.ПолучитьОбъект();
    ЗаписьХМЛ.ЗаписатьНачалоЭлемента("item");
    ЗаписьХМЛ.ЗаписатьНачалоЭлемента("id");
    ЗаписьХМЛ.ЗаписатьТекст(Объект.Наименование);
    ЗаписьХМЛ.ЗаписатьКонецЭлемента();
    ЗаписьХМЛ.ЗаписатьНачалоЭлемента("category");
    ЗаписьХМЛ.ЗаписатьТекст(Объект.Артикул);
    ЗаписьХМЛ.ЗаписатьКонецЭлемента();
    ЗаписьХМЛ.ЗаписатьНачалоЭлемента("vendor");
    ЗаписьХМЛ.ЗаписатьТекст(Объект.СтранаПроисхождения);
    ЗаписьХМЛ.ЗаписатьКонецЭлемента();
    КонецЦикла;

    Сделал так, на "Объект.Наименование" не ругаеться, а на Артикул и СтрануПроисхождения ошибка
    {Форма.Форма(68)}: Ошибка при вызове метода контекста (ЗаписатьТекст): Несоответствие типов (параметр номер '1')
    ЗаписьХМЛ.ЗаписатьТекст(Объект.Артикул);
     
  5. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
     
  6. ech

    ech Гость

    Точно дело в группе)). А не подскажите, как получить остаток по товару и его цену розничную??
     
  7. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Запускаем конструктор запроса, выбираем нужные таблицы... левое соедиенение.... Но... это стандартная задача, которая гораздо луше описана в любой книжке.
     
  8. ech

    ech Гость

    Не найду какой регистр хранит ТипЦен (розничный нужен)??
     
  9. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Регистр сведений "ЦеныНоменклатуры" с отбором по измерению "ТипЦен".
     
  10. ech

    ech Гость

    извиняюсь за тупые вопросы, но остаток я получаю из Регистра накопления ТоварыОрганизацийОстатки, а ТипЦен из ЦеныНоменклатуры.
    Как мне все это можно совместить, чтобы вывести одним отчетом?? Спасибо!
     
  11. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Сначала определитесь, нужно ли вам выводить в отчет позиции, по которым нет остатков или цен.
    Затем выбираете соответственные таблицы.
    Например:
    Справочник.Номенклатура
    РегистрНакопления.ТоварыОрганизацииОстатки
    РегистрСведений.ЦеныНоменклатуры

    Соединения
    Левое спровочника с остатками по номенклатура
    Левое спровочника с ценами по номенклатура
     
  12. ech

    ech Гость

  13. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    А типы цен одинаковые выводятся?
    Возможно остатки с разных складов... но так вроде не должно быть...
     
  14. ech

    ech Гость

    Да фильтранул по рознице, выводит только розничные. Дело в том , что запустил стандартную ПечатьПрайса и остатки не сходяться

    Мда...виноват, все таки в разрезе склада необходимо, спасибо!
     
  15. ech

    ech Гость

    тему можно закрывать
     
Загрузка...

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