Результат = Запрос.Выполнить().Выгрузить(); для чего эта строчка?
если дальше по коду есть выборка: ВыборкаРезультата = Запрос.Выполнить().Выгрузить();
только не понял почему переменная называется Выборка, а Вы делаете выгрузку в ТЗ, будет правильнее использовать метод Выбрать();
2
bolsun #2, 11 июля 2020 12:55
(1) metatron, да эта строчка была лишняя. Также предлагаю вариант через выборку, либо если нужно, то с возможностью обхода через ТаблицуЗначений.
&НаСервере
Процедура КомандаВыполнитьНаСервере()
ИмяФайла = "d:\test.xml";
Запрос = Новый Запрос("ВЫБРАТЬ
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.Ссылка КАК Номенклатура
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ЭтоГруппа = ЛОЖЬ");
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ИмяФайла,"UTF-8");
ЗаписьXML.ЗаписатьНачалоЭлемента("Номенклатура");
ВыборкаРезультата = Запрос.Выполнить().Выбрать();
Пока ВыборкаРезультата.Следующий() Цикл
ЗаписатьXML(ЗаписьXML, ВыборкаРезультата.Номенклатура.ПолучитьОбъект());
КонецЦикла;
//Вариант через ТаблицуЗначений
//ТабРезультаты = Запрос.Выполнить().Выгрузить();
//
//Для каждого СтрокаТаб Из ТабРезультаты Цикл
// ЗаписатьXML(ЗаписьXML, СтрокаТаб.Номенклатура.ПолучитьОбъект());
//КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.Закрыть();
КонецПроцедуры
1
chugindanil #3, 11 июля 2020 12:59
спасибо за совет !
приму к сведению
если у вас будут еще идеи или другие варианты
буду раз услышать )
0
Farovsky #4, 14 июля 2020 10:51
Зачем вам поля Код, наименование, артикул в запросе, если они не используются потом нигде?
Зачем писать ЭтоГруппа = ЛОЖЬ, у нее составной тип?
Тут я не уверен: зачем в ЗаписатьXML писать именно СправочникОбъект, ссылка не пройдет? Это же жрет лишний раз оперативку.
0
chugindanil #5, 14 июля 2020 14:07
(4) Farovsky, данный код в виде примера, а то как дальше вы будете его использовать илм корректировать .... только ваша фантазия)
0
SanchoD #6, 25 августа 2020 11:46
(4) Если использовать только ссылку, то в файл попадут только данные типа:
а из объекта все значения реквизитов. А код, наименование, артикул действительно лишние в данном случае. А вот условие ЭтоГруппа=Ложь нужно, чтобы выгрузились только элементы справочника.
0
Farovsky #7, 11 января 2021 18:15
(6) SanchoD, а чем хуже Не ЭтоГруппа. ЭтоГруппа = ложь пишут в случаях, когда тип составной.
#1, ред. 11 июля 2020 14:33
Результат = Запрос.Выполнить().Выгрузить(); для чего эта строчка?
если дальше по коду есть выборка: ВыборкаРезультата = Запрос.Выполнить().Выгрузить();
только не понял почему переменная называется Выборка, а Вы делаете выгрузку в ТЗ, будет правильнее использовать метод Выбрать();
#2, 11 июля 2020 12:55
(1) metatron, да эта строчка была лишняя. Также предлагаю вариант через выборку, либо если нужно, то с возможностью обхода через ТаблицуЗначений.
#3, 11 июля 2020 12:59
спасибо за совет !
приму к сведению
если у вас будут еще идеи или другие варианты
буду раз услышать )
#4, 14 июля 2020 10:51
Зачем вам поля Код, наименование, артикул в запросе, если они не используются потом нигде?
Зачем писать ЭтоГруппа = ЛОЖЬ, у нее составной тип?
Тут я не уверен: зачем в ЗаписатьXML писать именно СправочникОбъект, ссылка не пройдет? Это же жрет лишний раз оперативку.
#5, 14 июля 2020 14:07
(4) Farovsky, данный код в виде примера, а то как дальше вы будете его использовать илм корректировать .... только ваша фантазия)
#6, 25 августа 2020 11:46
(4) Если использовать только ссылку, то в файл попадут только данные типа:
а из объекта все значения реквизитов. А код, наименование, артикул действительно лишние в данном случае. А вот условие ЭтоГруппа=Ложь нужно, чтобы выгрузились только элементы справочника.
#7, 11 января 2021 18:15
(6) SanchoD, а чем хуже Не ЭтоГруппа. ЭтоГруппа = ложь пишут в случаях, когда тип составной.