Автор темы
AI-выжимка обсуждения
скоро
Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.
Обзор обсужденияскоро
Разбор ответов скоро
Ключевые ответы обсуждения и их оценка появятся здесь.
Эксперты в тредескоро
Рейтинг участников скоро
Участники с сильными ответами в этой теме появятся здесь.
Codeby Academy
Практика и мастерство
От основ до продвинутого — программы для практиков Codeby.
К курсу →
Сортировка
Обсуждаемые
Лучшие
Эксперты
скоро
Автор темы
В типовой УТ есть выгрузка в формате CommerceML.
Вот код для выгрузки всей номенклатуры:
[codebox] Каталог="C:\Temp";
ИмяФайла=Каталог+?(Прав(Каталог,1)="\","","\")+"sklad.xml";
ЗаписьХМЛ=Новый ЗаписьXML;
ЗаписьХМЛ.ОткрытьФайл(ИмяФайла);
ЗаписьХМЛ.ЗаписатьОбъявлениеXML();
Выборка = Справочники.Номенклатура.Выбрать();
ЗаписьХМЛ.ЗаписатьНачалоЭлемента("Root");
Пока Выборка.Следующий() Цикл
ЗаписатьXML(ЗаписьХМЛ,Выборка.ПолучитьОбъект());
КонецЦикла;
ЗаписьХМЛ.ЗаписатьКонецЭлемента();
ЗаписьХМЛ.Закрыть();
[/codebox]
Вам же, наверное, нужно выгружать отдельные реквизиты.
Вот код для выгрузки всей номенклатуры:
[codebox] Каталог="C:\Temp";
ИмяФайла=Каталог+?(Прав(Каталог,1)="\","","\")+"sklad.xml";
ЗаписьХМЛ=Новый ЗаписьXML;
ЗаписьХМЛ.ОткрытьФайл(ИмяФайла);
ЗаписьХМЛ.ЗаписатьОбъявлениеXML();
Выборка = Справочники.Номенклатура.Выбрать();
ЗаписьХМЛ.ЗаписатьНачалоЭлемента("Root");
Пока Выборка.Следующий() Цикл
ЗаписатьXML(ЗаписьХМЛ,Выборка.ПолучитьОбъект());
КонецЦикла;
ЗаписьХМЛ.ЗаписатьКонецЭлемента();
ЗаписьХМЛ.Закрыть();
[/codebox]
Вам же, наверное, нужно выгружать отдельные реквизиты.
Спасибо! Но как мне сделать чтобы выгружались отдельные реквизиты, например, меня интересует
Наименование
Категория
Производитель
колво на складе
цена
Наименование
Категория
Производитель
колво на складе
цена
Пока Выборка.Следующий() Цикл
Объект = Выборка.ПолучитьОбъект();
ЗаписьХМЛ.ЗаписатьНачалоЭлемента("item");
ЗаписьХМЛ.ЗаписатьНачалоЭлемента("id");
ЗаписьХМЛ.ЗаписатьТекст(Объект.Наименование);
ЗаписьХМЛ.ЗаписатьКонецЭлемента();
ЗаписьХМЛ.ЗаписатьНачалоЭлемента("category");
ЗаписьХМЛ.ЗаписатьТекст(Объект.Артикул);
ЗаписьХМЛ.ЗаписатьКонецЭлемента();
ЗаписьХМЛ.ЗаписатьНачалоЭлемента("vendor");
ЗаписьХМЛ.ЗаписатьТекст(Объект.СтранаПроисхождения);
ЗаписьХМЛ.ЗаписатьКонецЭлемента();
КонецЦикла;
Сделал так, на "Объект.Наименование" не ругаеться, а на Артикул и СтрануПроисхождения ошибка
{Форма.Форма(68)}: Ошибка при вызове метода контекста (ЗаписатьТекст): Несоответствие типов (параметр номер '1')
ЗаписьХМЛ.ЗаписатьТекст(Объект.Артикул);
Объект = Выборка.ПолучитьОбъект();
ЗаписьХМЛ.ЗаписатьНачалоЭлемента("item");
ЗаписьХМЛ.ЗаписатьНачалоЭлемента("id");
ЗаписьХМЛ.ЗаписатьТекст(Объект.Наименование);
ЗаписьХМЛ.ЗаписатьКонецЭлемента();
ЗаписьХМЛ.ЗаписатьНачалоЭлемента("category");
ЗаписьХМЛ.ЗаписатьТекст(Объект.Артикул);
ЗаписьХМЛ.ЗаписатьКонецЭлемента();
ЗаписьХМЛ.ЗаписатьНачалоЭлемента("vendor");
ЗаписьХМЛ.ЗаписатьТекст(Объект.СтранаПроисхождения);
ЗаписьХМЛ.ЗаписатьКонецЭлемента();
КонецЦикла;
Сделал так, на "Объект.Наименование" не ругаеться, а на Артикул и СтрануПроисхождения ошибка
{Форма.Форма(68)}: Ошибка при вызове метода контекста (ЗаписатьТекст): Несоответствие типов (параметр номер '1')
ЗаписьХМЛ.ЗаписатьТекст(Объект.Артикул);
Каталог="C:\Temp";
ИмяФайла=Каталог+?(Прав(Каталог,1)="\","","\")+"sklad.xml";
ЗаписьХМЛ=Новый ЗаписьXML;
ЗаписьХМЛ.ОткрытьФайл(ИмяФайла);
ЗаписьХМЛ.ЗаписатьОбъявлениеXML();
Выборка = Справочники.Номенклатура.Выбрать();
ЗаписьХМЛ.ЗаписатьНачалоЭлемента("Root");
Пока Выборка.Следующий() Цикл
если выборка.ЭтоГруппа Тогда
продолжить;
КонецЕсли;
Объект = Выборка.ПолучитьОбъект();
ЗаписьХМЛ.ЗаписатьНачалоЭлемента("item");
ЗаписьХМЛ.ЗаписатьНачалоЭлемента("id");
ЗаписьХМЛ.ЗаписатьТекст(Объект.Наименование);
ЗаписьХМЛ.ЗаписатьКонецЭлемента();
ЗаписьХМЛ.ЗаписатьНачалоЭлемента("category");
ЗаписьХМЛ.ЗаписатьТекст(Объект.Артикул);
ЗаписьХМЛ.ЗаписатьКонецЭлемента();
ЗаписьХМЛ.ЗаписатьНачалоЭлемента("vendor");
ЗаписьХМЛ.ЗаписатьТекст(Объект.СтранаПроисхождения.Наименование);
ЗаписьХМЛ.ЗаписатьКонецЭлемента();
ЗаписьХМЛ.ЗаписатьКонецЭлемента();
КонецЦикла;
ЗаписьХМЛ.ЗаписатьКонецЭлемента();
ЗаписьХМЛ.Закрыть();
Точно дело в группе)). А не подскажите, как получить остаток по товару и его цену розничную??
Запускаем конструктор запроса, выбираем нужные таблицы... левое соедиенение.... Но... это стандартная задача, которая гораздо луше описана в любой книжке.
Регистр сведений "ЦеныНоменклатуры" с отбором по измерению "ТипЦен".
извиняюсь за тупые вопросы, но остаток я получаю из Регистра накопления ТоварыОрганизацийОстатки, а ТипЦен из ЦеныНоменклатуры.
Как мне все это можно совместить, чтобы вывести одним отчетом?? Спасибо!
Сначала определитесь, нужно ли вам выводить в отчет позиции, по которым нет остатков или цен.
Затем выбираете соответственные таблицы.
Например:
Справочник.Номенклатура
РегистрНакопления.ТоварыОрганизацииОстатки
РегистрСведений.ЦеныНоменклатуры
Соединения
Левое спровочника с остатками по номенклатура
Левое спровочника с ценами по номенклатура
Затем выбираете соответственные таблицы.
Например:
Справочник.Номенклатура
РегистрНакопления.ТоварыОрганизацииОстатки
РегистрСведений.ЦеныНоменклатуры
Соединения
Левое спровочника с остатками по номенклатура
Левое спровочника с ценами по номенклатура
А типы цен одинаковые выводятся?
Возможно остатки с разных складов... но так вроде не должно быть...
Возможно остатки с разных складов... но так вроде не должно быть...
А типы цен одинаковые выводятся?
Возможно остатки с разных складов... но так вроде не должно быть...
Да фильтранул по рознице, выводит только розничные. Дело в том , что запустил стандартную ПечатьПрайса и остатки не сходяться
Мда...виноват, все таки в разрезе склада необходимо, спасибо!
Поиск в обсуждении
Ещё по теме
4
Поделиться: