Помогите составить запрос в 1С

Новая тема
"Добрый день!

Конфигурация Торговля+Склад для Украины 7.70.007

Мне необходимо выгрузить в текстовый формат через разделитель код контрагента и дополнительное поле например коментарий. Пытаюсь воспользоватся вот таким запросом. Помогите плиз. Может у кого есть дока по запросам или готовая реализация?

Запрос=СоздатьОбъект("Запрос");

ТекстЗапроса="
|ПЕРИОД С Дата1 По Дата2;
|Фирма=Регистр.ПартииТоваров.Фирма;
|Товар=Регистр.ПартииТоваров.Товар;
|Контрагент=Регистр.ПартииТоваров.ТекущийДокумент.РасходнаяНакладная.Контрагент;
|ОстатокТовара=Регистр.ПартииТоваров.ОстатокТовара;
|Оборот=Регистр.ПартииТоваров.Оборот;
|КодОперации=Регистр.ПартииТоваров.КодОперации;
|Группировка Контрагент без групп;
|Условие (Фирма=ВыбФирма);
|Условие (Товар в ВыбГруппа);
|Условие (Оборот<>0);
|Условие (ПустоеЗначение(Контрагент)=0);
|Условие (КодОперации В КодыОперацийПродажи);
|Функция ОборотТовара=Сумма(Оборот);
|";

СписокТоваров = СоздатьОбъект("СписокЗначений");
СписокКонтрагентов = СоздатьОбъект("СписокЗначений");

Если глФильтрПоСправочнику("Номенклатура",0,0,0,0,0,СписокТоваров,ТекстЗапроса,0,0,"Товар,,,СписокТоваров,,,,,")=0 Тогда
Возврат;
КонецЕсли;

Если глФильтрПоСправочнику("Контрагенты",0,0,ВыбКатегорияКонтрагентов,0,0,СписокКонтрагентов,ТекстЗапроса,0,0,"Контрагент,,,СписокКонтрагентов,,,,,")=0 Тогда
Возврат;
КонецЕсли;

Если Запрос.Выполнить(ТекстЗапроса)=0 тогда
Предупреждение("Запрос по Партиям не выполнился!");
Возврат;
КонецЕсли;

Пока Запрос.Группировка("Контрагент")=1 Цикл
СтрокаТекста=СокрЛП(Строка(Константа.КодДДС))+";";
СтрокаТекста=СтрокаТекста+СокрЛП(Строка(Запрос.Контрагент.Код))+";";
СтрокаТекста=СтрокаТекста+СокрЛП(Строка(Запрос.Контрагент.Комментарий))+";";
ТекстВыгрузки.ДобавитьСтроку(СтрокаТекста);
КонецЦикла;

Если ТекстВыгрузки.КоличествоСтрок()<>0 Тогда

Попытка
ТекстВыгрузки.Записать(ФайлВыгрузки);
Предупреждение("Файл успешно сформирован");
Исключение
Предупреждение("Невозможно сохранить файл! Проверьте путь к файлу выгрузки!");
КонецПопытки;

Иначе
Предупреждение("Нет данных для выгрузки! Файл не сформирован!");
КонецЕсли;
КонецПроцедуры"
У тебя ошибка выскакивает или еще в чем проблема? Что не работает то в твоем запросе?
"Пока с сутью вопроса непонятно. Запрос пуст или ругается или еще что то...?
Пока небольшой комментарий по месту выгрузки в файл.
Я пользуюсь такой конструкцией, может возьмете на вооружение:

СписокВыгрузки=СоздатьОбъект("СписокЗначений");
СписокВыгрузки.ДобавитьЗначение(Запрос.Контрагент.Код);
СписокВыгрузки.ДобавитьЗначение(Запрос.Контрагент.Наименование);
Текст.ДобавитьСтроку(СписокВыгрузки.ВСтрокуСРазделителями());

это позволяет потом при загрузке легко сделать разбор строки:
СписокЗагрузки=СоздатьОбъект("СписокЗначений");
СписокЗагрузки.ИзСтрокиСРазделителями(Текст.ПолучитьСтроку(НомерСтроки));

при выгрузке корректно отрабатываются символы, являющиеся разделителями. То есть, если воспользоваться вашим способом и в наименовании контрангента попадется символ ";", то у вас будет проблема. В подходе, который я описал она не возникнет"
Проблема в том что я никак не могу получить строку коментарий из карточки контрагента в результате запроса. В этом мне нужна помощь.
Проблема в том что я никак не могу получить строку коментарий из карточки контрагента в результате запроса. В этом мне нужна помощь.
Попробуй через Контрагент.ТекущийЭлемент().Коментарий
"Прямо в запросе:
|Комм=Регистр.ПартииТоваров.ТекущийДокумент.РасходнаяНакладная.Контрагент.Комментарий;

вы получите если только комментарий не является строкой неограниченной длины"
">Прямо в запросе:
>|Комм=Регистр.ПартииТоваров.ТекущийДокумент.РасходнаяНакладная.Контрагент.Комментарий;

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

Если это типовая ТиС, то данный реквизит как раз и есть строка неограниченной длины."
"Ну, мне лень было конфигурацию открывать ;)"
проблему решили?
Читают тему
(гостей: 1)

Быстрый переход