Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 10:05

Запрос получить список документов оснований

Автор ekaterinasslv, 18 фев 2019, 14:55

0 Пользователей и 1 гость просматривают эту тему.

ekaterinasslv

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

ЦитироватьФункция ПолучитьСписокПРД(Док)
   
   Запрос = Новый Запрос;
   
   Запрос.Текст = "
      |ВЫБРАТЬ
      |   СчетФактураДокументыОснования.Документ.НомерПлатежки КАК НомерПлатежки,
      |   СчетФактураДокументыОснования.Документ.ДатаПлатежки КАК ДатаПлатежки
      |ИЗ
      |   РегистрНакопления.ВзаиморасчетыПоСчетамФактурам КАК ВзаиморасчетыПоСчетамФактурам
      |   ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактура.ДокументыОснования КАК СчетФактураДокументыОснования
      |      ПО СчетФактураДокументыОснования.Ссылка = ВзаиморасчетыПоСчетамФактурам.СчетФактура
      |ГДЕ
      |   ВзаиморасчетыПоСчетамФактурам.Регистратор = &Счф
      |   И ВзаиморасчетыПоСчетамФактурам.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
      |   И ВзаиморасчетыПоСчетамФактурам.СчетФактура.Авансовая = ИСТИНА
      |   И СчетФактураДокументыОснования.Документ.НомерПлатежки IS NOT Null
        |
      |ОБЪЕДИНИТЬ ВСЕ
      |
      |ВЫБРАТЬ      
      |   ВзаиморасчетыПоСчетамФактурам.Регистратор.НомерПлатежки,
      |   ВзаиморасчетыПоСчетамФактурам.Регистратор.ДатаПлатежки   
      |ИЗ
      |   РегистрНакопления.ВзаиморасчетыПоСчетамФактурам КАК ВзаиморасчетыПоСчетамФактурам
      |ГДЕ
      |   ВзаиморасчетыПоСчетамФактурам.СчетФактура = &Счф
      |   И ВзаиморасчетыПоСчетамФактурам.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
      |   И ВзаиморасчетыПоСчетамФактурам.Регистратор.Дата <= &СчетФактураДата
      |   И ВзаиморасчетыПоСчетамФактурам.Регистратор.НомерПлатежки IS NOT Null
      |";
   
   Запрос.УстановитьПараметр("СчФ", Док);
   Запрос.УстановитьПараметр("СчетФактураДата", КонецДня(Док.Дата));
   
   Выборка = Запрос.Выполнить().Выбрать();   
   
   Возврат Выборка;
      

Vit1501

Функция ПолучитьСписокПРД(Док)
   
   Запрос = Новый Запрос;
   
   Запрос.Текст = "
      |ВЫБРАТЬ
      |   СчетФактураДокументыОснования.Документ.НомерПлатежки КАК НомерПлатежки,
      |   СчетФактураДокументыОснования.Документ.ДатаПлатежки КАК ДатаПлатежки
       |  ПОМЕСТИТЬ ВТ
      |ИЗ
      |   РегистрНакопления.ВзаиморасчетыПоСчетамФактурам КАК ВзаиморасчетыПоСчетамФактурам
      |   ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактура.ДокументыОснования КАК СчетФактураДокументыОснования
      |      ПО СчетФактураДокументыОснования.Ссылка = ВзаиморасчетыПоСчетамФактурам.СчетФактура
      |ГДЕ
      |   ВзаиморасчетыПоСчетамФактурам.Регистратор = &Счф
      |   И ВзаиморасчетыПоСчетамФактурам.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
      |   И ВзаиморасчетыПоСчетамФактурам.СчетФактура.Авансовая = ИСТИНА
      |   И СчетФактураДокументыОснования.Документ.НомерПлатежки IS NOT Null
        |
      |ОБЪЕДИНИТЬ ВСЕ
      |
      |ВЫБРАТЬ     
      |   ВзаиморасчетыПоСчетамФактурам.Регистратор.НомерПлатежки,
      |   ВзаиморасчетыПоСчетамФактурам.Регистратор.ДатаПлатежки   
      |ИЗ
      |   РегистрНакопления.ВзаиморасчетыПоСчетамФактурам КАК ВзаиморасчетыПоСчетамФактурам
      |ГДЕ
      |   ВзаиморасчетыПоСчетамФактурам.СчетФактура = &Счф
      |   И ВзаиморасчетыПоСчетамФактурам.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
      |   И ВзаиморасчетыПоСчетамФактурам.Регистратор.Дата <= &СчетФактураДата
      |   И ВзаиморасчетыПоСчетамФактурам.Регистратор.НомерПлатежки IS NOT Null;
      | //////////////////////////////////////////////////////////////
        | Выбрать Различные
| Вт.НомерПлатежки,
| ВТ.ДатаПлтежки
| ИЗ ВТ как ВТ
      |";
   
   Запрос.УстановитьПараметр("СчФ", Док);
   Запрос.УстановитьПараметр("СчетФактураДата", КонецДня(Док.Дата));
   
   Выборка = Запрос.Выполнить().Выбрать();   
   
   Возврат Выборка;

ekaterinasslv


Vit1501

хм.... попробуйте поле НомерПлатежки обернуть в конструкцию ВЫРАЗИТЬ(<Выражение> КАК Строка(100)).

ekaterinasslv


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск