Доброго времени суток, уважаемые эксперты!
Прошу вашей подсказки, так как мои познания в запросах ограничены и я встал в тупик…

Ситуация – есть запрос который выводит:
1. Контрагенты.Родитель.Ссылка - (папка из справочника Контрагента)
2. Ссылка - (ссылка на контрагента)
3. ДопустимаяСуммаЗадолженности - (число из реквизита Справочника Договоры)
4. ДопустимоеЧислоДнейЗадолженности – (число из реквизита Справочника Договоры)
5. ВзаиморасчетыСКонтрагентами.Регистратор.Ссылка – (документ Реализация товаров и услуг)
Необходимо добавить ещё два поля в запрос: 6,7 – ДниДоОплаты и ПросроченноДней.

1) ДНИ ДО ОПЛАТЫ:
Допустим сегодня 12 августа. В реквизите договора ДопустимоеЧислоДнейЗадолженности число 21. Реализация была сделана 11 августа. Значит дней до истечения оплаты осталось 9.
ДниДоОплаты = ТекущаяДата - ДопустимоеЧислоДнейЗадолженности
// Но тогда, будут и отрицательные числа, например если дней отсрочки 21, а сегодня 15, тогда -6
2) ПРОСРОЧЕННО ДНЕЙ:
Если ДниДоОплаты => 0 Тогда ПРОСРОЧЕННОДНЕЙ +1

Возможно ли добавить поля с помощью функций ВЫБОР и условий?

```1c
    ВЫБРАТЬ
    Контрагенты.Родитель.Ссылка КАК РодительСсылка,
    Контрагенты.Ссылка КАК Ссылка,
    ДоговорыКонтрагентов.ДопустимаяСуммаЗадолженности КАК ДопустимаяСуммаЗадолженности,
    ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности,
    ВзаиморасчетыСКонтрагентами.Регистратор.Ссылка КАК РегистраторСсылка,
    ВзаиморасчетыСКонтрагентами.Регистратор.СуммаДокумента КАК РегистраторСуммаДокумента
    ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами КАК ВзаиморасчетыСКонтрагентами
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
    ПО ВзаиморасчетыСКонтрагентами.Контрагент = Контрагенты.Ссылка
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
    ПО ВзаиморасчетыСКонтрагентами.ДоговорКонтрагента = ДоговорыКонтрагентов.Ссылка
    ГДЕ
    ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг

    СГРУППИРОВАТЬ ПО
    Контрагенты.Ссылка,
    ДоговорыКонтрагентов.ДопустимаяСуммаЗадолженности,
    ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности,
    ВзаиморасчетыСКонтрагентами.Регистратор.Ссылка,
    ВзаиморасчетыСКонтрагентами.Регистратор.СуммаДокумента,
    Контрагенты.Родитель.Ссылка
```
---
```1c
    ВЫБРАТЬ
    Контрагенты.Родитель.Ссылка КАК РодительСсылка,
    Контрагенты.Ссылка КАК Ссылка,
    ДоговорыКонтрагентов.ДопустимаяСуммаЗадолженности КАК ДопустимаяСуммаЗадолженности,
    ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности,
    ВзаиморасчетыСКонтрагентами.Регистратор.Ссылка КАК РегистраторСсылка,
    ВзаиморасчетыСКонтрагентами.Регистратор.СуммаДокумента КАК РегистраторСуммаДокумента,
    ВЫБОР
    КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности) > &ТекущаяДата
    ТОГДА РАЗНОСТЬДАТ(&ТекущаяДата, ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ)
    ИНАЧЕ 0
    КОНЕЦ КАК ДниДоОплаты,
    ВЫБОР
    КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности) < &ТекущаяДата
    ТОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), &ТекущаяДата, ДЕНЬ)
    ИНАЧЕ 0
    КОНЕЦ КАК ПросроченоДней
    ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами КАК ВзаиморасчетыСКонтрагентами
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
    ПО ВзаиморасчетыСКонтрагентами.Контрагент = Контрагенты.Ссылка
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
    ПО ВзаиморасчетыСКонтрагентами.ДоговорКонтрагента = ДоговорыКонтрагентов.Ссылка
    ГДЕ
    ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг

    СГРУППИРОВАТЬ ПО
    Контрагенты.Ссылка,
    ДоговорыКонтрагентов.ДопустимаяСуммаЗадолженности,
    ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности,
    ВзаиморасчетыСКонтрагентами.Регистратор.Ссылка,
    ВзаиморасчетыСКонтрагентами.Регистратор.СуммаДокумента,
    Контрагенты.Родитель.Ссылка,
    ВЫБОР
    КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности) > &ТекущаяДата
    ТОГДА РАЗНОСТЬДАТ(&ТекущаяДата, ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ)
    ИНАЧЕ 0
    КОНЕЦ,
    ВЫБОР
    КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности) < &ТекущаяДата
    ТОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), &ТекущаяДата, ДЕНЬ)
    ИНАЧЕ 0
    КОНЕЦ
```
---
Если нигде не ошибся

1.

```1c
    ВЫБОР
    КОГДА ДОБАВИТЬКДАТЕ(ДатаРеализации, ДЕНЬ, ДопустимоеЧислоДнейЗадолженности ) > ТекущаяДата
    ТОГДА РАЗНОСТЬДАТ(ТекущаяДата, ДОБАВИТЬКДАТЕ(ДатаРеализации, ДЕНЬ, ДопустимоеЧислоДнейЗадолженности ), ДЕНЬ)
    ИНАЧЕ 0
    КОНЕЦ
```

2.

```1c
    ВЫБОР
    КОГДА ДОБАВИТЬКДАТЕ(ДатаРеализации, ДЕНЬ, ДопустимоеЧислоДнейЗадолженности ) < ТекущаяДата
    ТОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ДатаРеализации, ДЕНЬ, ДопустимоеЧислоДнейЗадолженности ), ТекущаяДата, ДЕНЬ)
    ИНАЧЕ 0
    КОНЕЦ
```
---
подскажите где ошибся? можно ли обратится к дате реализации через точку?
---
Ну так ДатаРеализации должна быть из документа реализации...
Нужно было весть запрос написать?
---
Есть функция языка выражений "РазностьДат" . В запросе ее использовать нельзя, можно на вкладке "Вычисляемые поля", и 1 и 2 пункт можно решить с ее помощью.

Что вы имеете ввиду под "добавление поля с помощью ВЫБОР"?
Поле - это колонка. В конструкторе скд нельзя с помощью условий выводить/не выводить колонки.
---
, и 1 и 2 пункт можно решить с ее помощью.

В запрос добавить поля.
Ну или в СКД можно задействовать "Вычисляемые поля".
---
можете подсказать на моём примере, выше что то не так я видимо подставил ВЫБОР в запрос... или к Дате Реализации не правильно обратился?
---
) можете подсказать на моём примере, выше что то не так я видимо подставил ВЫБОР в запрос... или к Дате Реализации не правильно обратился?

К дате реализации не правильно.

ВзаиморасчетыСКонтрагентами.Регистратор.Дата
---
А еще запятые между полями выбора должны быть...
---
прошу пожалуйста подскажите где я ошибаюсь?
---
Запятую на строке, предшествующей "ВЫБОР" поставьте...
---
на текущую дату ругается, как исправить ( пожалуйста...
---
> (13)
Ну и в параметрах ее задать надо
---
И "ТекущаяДата" должно быть "&ТекущаяДата" - параметр запроса
---
Дай бог тебе здоровья и счастья! СПАСИБО! Искренни и от души спасибо!
---
```1c
    ВЫБРАТЬ
    Контрагенты.Родитель.Ссылка КАК РодительСсылка,
    Контрагенты.Ссылка КАК Ссылка,
    ДоговорыКонтрагентов.ДопустимаяСуммаЗадолженности КАК ДопустимаяСуммаЗадолженности,
    ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности,
    ВзаиморасчетыСКонтрагентами.Регистратор.Ссылка КАК РегистраторСсылка,
    ВзаиморасчетыСКонтрагентами.Регистратор.СуммаДокумента КАК РегистраторСуммаДокумента,
    ВЫБОР
    КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности) > &ТекущаяДата
    ТОГДА РАЗНОСТЬДАТ(&ТекущаяДата, ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ)
    ИНАЧЕ 0
    КОНЕЦ КАК ДниДоОплаты,
    ВЫБОР
    КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности) < &ТекущаяДата
    ТОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), &ТекущаяДата, ДЕНЬ)
    ИНАЧЕ 0
    КОНЕЦ КАК ПросроченоДней
    ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами КАК ВзаиморасчетыСКонтрагентами
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
    ПО ВзаиморасчетыСКонтрагентами.Контрагент = Контрагенты.Ссылка
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
    ПО ВзаиморасчетыСКонтрагентами.ДоговорКонтрагента = ДоговорыКонтрагентов.Ссылка
    ГДЕ
    ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг

    СГРУППИРОВАТЬ ПО
    Контрагенты.Ссылка,
    ДоговорыКонтрагентов.ДопустимаяСуммаЗадолженности,
    ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности,
    ВзаиморасчетыСКонтрагентами.Регистратор.Ссылка,
    ВзаиморасчетыСКонтрагентами.Регистратор.СуммаДокумента,
    Контрагенты.Родитель.Ссылка,
    ВЫБОР
    КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности) > &ТекущаяДата
    ТОГДА РАЗНОСТЬДАТ(&ТекущаяДата, ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ)
    ИНАЧЕ 0
    КОНЕЦ,
    ВЫБОР
    КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности) < &ТекущаяДата
    ТОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), &ТекущаяДата, ДЕНЬ)
    ИНАЧЕ 0
    КОНЕЦ
```
---
спасибо получилось!
---
Извините Олег, а подскажите - если есть по данному заказу в Структуре подчиненности - платежный документ (допустим ПлатежныйОрдер), как можно устанавливать пустые значения в ДниДоОплаты и ПросроченноДней?
---
Проверяйте, например, значение СуммаВзаиморасчетов регистра накопления "ВзаиморасчетыСКонтрагентами" на равенство 0.