Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

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

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

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

lerik1
читатель
офлайн
Дата регистрации: 30.03.2009
Сообщений: 11
Пост №1
 
02.06.2009 12:27

"Добрый день!<br><br>Конфигурация Торговля+Склад для Украины 7.70.007<br><br>Мне необходимо выгрузить в текстовый формат через разделитель код контрагента и дополнительное поле например коментарий. Пытаюсь воспользоватся вот таким запросом. Помогите плиз. Может у кого есть дока по запросам или готовая реализация?<br><br> Запрос=СоздатьОбъект("Запрос");<br><br> ТекстЗапроса="<br> |ПЕРИОД С Дата1 По Дата2;<br> |Фирма=Регистр.ПартииТоваров.Фирма;<br> |Товар=Регистр.ПартииТоваров.Товар;<br> |Контрагент=Регистр.ПартииТоваров.ТекущийДокумент.РасходнаяНакладная.Контрагент;<br> |ОстатокТовара=Регистр.ПартииТоваров.ОстатокТовара;<br> |Оборот=Регистр.ПартииТоваров.Оборот;<br> |КодОперации=Регистр.ПартииТоваров.КодОперации;<br> |Группировка Контрагент без групп;<br> |Условие (Фирма=ВыбФирма);<br> |Условие (Товар в ВыбГруппа);<br> |Условие (Оборот<>0);<br> |Условие (ПустоеЗначение(Контрагент)=0);<br> |Условие (КодОперации В КодыОперацийПродажи);<br> |Функция ОборотТовара=Сумма(Оборот);<br> |";<br><br> СписокТоваров = СоздатьОбъект("СписокЗначений");<br> СписокКонтрагентов = СоздатьОбъект("СписокЗначений");<br><br> Если глФильтрПоСправочнику("Номенклатура",0,0,0,0,0,СписокТоваров,ТекстЗапроса,0,0,"Товар,,,СписокТоваров,,,,,")=0 Тогда<br> Возврат;<br> КонецЕсли;<br><br> Если глФильтрПоСправочнику("Контрагенты",0,0,ВыбКатегорияКонтрагентов,0,0,СписокКонтрагентов,ТекстЗапроса,0,0,"Контрагент,,,СписокКонтрагентов,,,,,")=0 Тогда<br> Возврат;<br> КонецЕсли;<br><br> Если Запрос.Выполнить(ТекстЗапроса)=0 тогда<br> Предупреждение("Запрос по Партиям не выполнился!");<br> Возврат;<br> КонецЕсли;<br><br> Пока Запрос.Группировка("Контрагент")=1 Цикл<br> СтрокаТекста=СокрЛП(Строка(Константа.КодДДС))+";";<br> СтрокаТекста=СтрокаТекста+СокрЛП(Строка(Запрос.Контрагент.Код))+";";<br> СтрокаТекста=СтрокаТекста+СокрЛП(Строка(Запрос.Контрагент.Комментарий))+";";<br> ТекстВыгрузки.ДобавитьСтроку(СтрокаТекста);<br> КонецЦикла;<br><br> Если ТекстВыгрузки.КоличествоСтрок()<>0 Тогда<br><br> Попытка<br> ТекстВыгрузки.Записать(ФайлВыгрузки);<br> Предупреждение("Файл успешно сформирован");<br> Исключение<br> Предупреждение("Невозможно сохранить файл! Проверьте путь к файлу выгрузки!");<br> КонецПопытки;<br><br> Иначе<br> Предупреждение("Нет данных для выгрузки! Файл не сформирован!");<br> КонецЕсли;<br>КонецПроцедуры"

deniseek
читатель
офлайн
Дата регистрации: 12.08.2008
Сообщений: 17
Пост №2
 
02.06.2009 12:45

У тебя ошибка выскакивает или еще в чем проблема? Что не работает то в твоем запросе?

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №3
 
02.06.2009 12:52

"Пока с сутью вопроса непонятно. Запрос пуст или ругается или еще что то...?<br>Пока небольшой комментарий по месту выгрузки в файл.<br>Я пользуюсь такой конструкцией, может возьмете на вооружение:<br><br>СписокВыгрузки=СоздатьОбъект("СписокЗначений");<br>СписокВыгрузки.ДобавитьЗначение(Запрос.Контрагент.Код);<br>СписокВыгрузки.ДобавитьЗначение(Запрос.Контрагент.Наименование);<br>Текст.ДобавитьСтроку(СписокВыгрузки.ВСтрокуСРазделителями());<br><br>это позволяет потом при загрузке легко сделать разбор строки:<br>СписокЗагрузки=СоздатьОбъект("СписокЗначений");<br>СписокЗагрузки.ИзСтрокиСРазделителями(Текст.ПолучитьСтроку(НомерСтроки));<br><br>при выгрузке корректно отрабатываются символы, являющиеся разделителями. То есть, если воспользоваться вашим способом и в наименовании контрангента попадется символ ";", то у вас будет проблема. В подходе, который я описал она не возникнет"

lerik1
читатель
офлайн
Дата регистрации: 30.03.2009
Сообщений: 11
Пост №4
 
02.06.2009 14:20

Проблема в том что я никак не могу получить строку коментарий из карточки контрагента в результате запроса. В этом мне нужна помощь.

lerik1
читатель
офлайн
Дата регистрации: 30.03.2009
Сообщений: 11
Пост №5
 
02.06.2009 14:42

Проблема в том что я никак не могу получить строку коментарий из карточки контрагента в результате запроса. В этом мне нужна помощь.

deniseek
читатель
офлайн
Дата регистрации: 12.08.2008
Сообщений: 17
Пост №6
 
02.06.2009 15:41

Попробуй через Контрагент.ТекущийЭлемент().Коментарий

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №7
 
02.06.2009 16:54

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

Alizar
читатель
офлайн
Дата регистрации: 23.08.2007
Сообщений: 311
Пост №8
 
03.06.2009 10:06

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

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3082
Пост №9
 
03.06.2009 10:26

"Ну, мне лень было конфигурацию открывать ;)"

leushka
читатель
офлайн
Дата регистрации: 25.08.2009
Сообщений: 1
Пост №10
 
25.08.2009 12:57

проблему решили?

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация