Доброго времени суток, уважаемые эксперты!
Прошу вашей подсказки, так как мои познания в запросах ограничены и я встал в тупик…
Ситуация – есть запрос который выводит:
1. Контрагенты.Родитель.Ссылка - (папка из справочника Контрагента)
2. Ссылка - (ссылка на контрагента)
3. ДопустимаяСуммаЗадолженности - (число из реквизита Справочника Договоры)
4. ДопустимоеЧислоДнейЗадолженности – (число из реквизита Справочника Договоры)
5. ВзаиморасчетыСКонтрагентами.Регистратор.Ссылка – (документ Реализация товаров и услуг)
Необходимо добавить ещё два поля в запрос: 6,7 – ДниДоОплаты и ПросроченноДней.
1) ДНИ ДО ОПЛАТЫ:
Допустим сегодня 12 августа. В реквизите договора ДопустимоеЧислоДнейЗадолженности число 21. Реализация была сделана 11 августа. Значит дней до истечения оплаты осталось 9.
ДниДоОплаты = ТекущаяДата - ДопустимоеЧислоДнейЗадолженности
// Но тогда, будут и отрицательные числа, например если дней отсрочки 21, а сегодня 15, тогда -6
2) ПРОСРОЧЕННО ДНЕЙ:
Если ДниДоОплаты => 0 Тогда ПРОСРОЧЕННОДНЕЙ +1
Возможно ли добавить поля с помощью функций ВЫБОР и условий?
Прошу вашей подсказки, так как мои познания в запросах ограничены и я встал в тупик…
Ситуация – есть запрос который выводит:
1. Контрагенты.Родитель.Ссылка - (папка из справочника Контрагента)
2. Ссылка - (ссылка на контрагента)
3. ДопустимаяСуммаЗадолженности - (число из реквизита Справочника Договоры)
4. ДопустимоеЧислоДнейЗадолженности – (число из реквизита Справочника Договоры)
5. ВзаиморасчетыСКонтрагентами.Регистратор.Ссылка – (документ Реализация товаров и услуг)
Необходимо добавить ещё два поля в запрос: 6,7 – ДниДоОплаты и ПросроченноДней.
1) ДНИ ДО ОПЛАТЫ:
Допустим сегодня 12 августа. В реквизите договора ДопустимоеЧислоДнейЗадолженности число 21. Реализация была сделана 11 августа. Значит дней до истечения оплаты осталось 9.
ДниДоОплаты = ТекущаяДата - ДопустимоеЧислоДнейЗадолженности
// Но тогда, будут и отрицательные числа, например если дней отсрочки 21, а сегодня 15, тогда -6
2) ПРОСРОЧЕННО ДНЕЙ:
Если ДниДоОплаты => 0 Тогда ПРОСРОЧЕННОДНЕЙ +1
Возможно ли добавить поля с помощью функций ВЫБОР и условий?
ВЫБРАТЬ
Контрагенты.Родитель.Ссылка КАК РодительСсылка,
Контрагенты.Ссылка КАК Ссылка,
ДоговорыКонтрагентов.ДопустимаяСуммаЗадолженности КАК ДопустимаяСуммаЗадолженности,
ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности,
ВзаиморасчетыСКонтрагентами.Регистратор.Ссылка КАК РегистраторСсылка,
ВзаиморасчетыСКонтрагентами.Регистратор.СуммаДокумента КАК РегистраторСуммаДокумента
ИЗ
РегистрНакопления.ВзаиморасчетыСКонтрагентами КАК ВзаиморасчетыСКонтрагентами
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
ПО ВзаиморасчетыСКонтрагентами.Контрагент = Контрагенты.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ПО ВзаиморасчетыСКонтрагентами.ДоговорКонтрагента = ДоговорыКонтрагентов.Ссылка
ГДЕ
ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
СГРУППИРОВАТЬ ПО
Контрагенты.Ссылка,
ДоговорыКонтрагентов.ДопустимаяСуммаЗадолженности,
ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности,
ВзаиморасчетыСКонтрагентами.Регистратор.Ссылка,
ВзаиморасчетыСКонтрагентами.Регистратор.СуммаДокумента,
Контрагенты.Родитель.Ссылка
ПоказатьПрикрепленные файлы:
Найденные решения
ВЫБРАТЬ
Контрагенты.Родитель.Ссылка КАК РодительСсылка,
Контрагенты.Ссылка КАК Ссылка,
ДоговорыКонтрагентов.ДопустимаяСуммаЗадолженности КАК ДопустимаяСуммаЗадолженности,
ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности,
ВзаиморасчетыСКонтрагентами.Регистратор.Ссылка КАК РегистраторСсылка,
ВзаиморасчетыСКонтрагентами.Регистратор.СуммаДокумента КАК РегистраторСуммаДокумента,
ВЫБОР
КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности) > &ТекущаяДата
ТОГДА РАЗНОСТЬДАТ(&ТекущаяДата, ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ)
ИНАЧЕ 0
КОНЕЦ КАК ДниДоОплаты,
ВЫБОР
КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности) < &ТекущаяДата
ТОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), &ТекущаяДата, ДЕНЬ)
ИНАЧЕ 0
КОНЕЦ КАК ПросроченоДней
ИЗ
РегистрНакопления.ВзаиморасчетыСКонтрагентами КАК ВзаиморасчетыСКонтрагентами
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
ПО ВзаиморасчетыСКонтрагентами.Контрагент = Контрагенты.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ПО ВзаиморасчетыСКонтрагентами.ДоговорКонтрагента = ДоговорыКонтрагентов.Ссылка
ГДЕ
ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
СГРУППИРОВАТЬ ПО
Контрагенты.Ссылка,
ДоговорыКонтрагентов.ДопустимаяСуммаЗадолженности,
ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности,
ВзаиморасчетыСКонтрагентами.Регистратор.Ссылка,
ВзаиморасчетыСКонтрагентами.Регистратор.СуммаДокумента,
Контрагенты.Родитель.Ссылка,
ВЫБОР
КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности) > &ТекущаяДата
ТОГДА РАЗНОСТЬДАТ(&ТекущаяДата, ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ)
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности) < &ТекущаяДата
ТОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), &ТекущаяДата, ДЕНЬ)
ИНАЧЕ 0
КОНЕЦ
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Если нигде не ошибся
1.
2.
1.
ВЫБОР
КОГДА ДОБАВИТЬКДАТЕ(ДатаРеализации, ДЕНЬ, ДопустимоеЧислоДнейЗадолженности ) > ТекущаяДата
ТОГДА РАЗНОСТЬДАТ(ТекущаяДата, ДОБАВИТЬКДАТЕ(ДатаРеализации, ДЕНЬ, ДопустимоеЧислоДнейЗадолженности ), ДЕНЬ)
ИНАЧЕ 0
КОНЕЦ
2.
ВЫБОР
КОГДА ДОБАВИТЬКДАТЕ(ДатаРеализации, ДЕНЬ, ДопустимоеЧислоДнейЗадолженности ) < ТекущаяДата
ТОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ДатаРеализации, ДЕНЬ, ДопустимоеЧислоДнейЗадолженности ), ТекущаяДата, ДЕНЬ)
ИНАЧЕ 0
КОНЕЦ
Есть функция языка выражений "РазностьДат" . В запросе ее использовать нельзя, можно на вкладке "Вычисляемые поля", и 1 и 2 пункт можно решить с ее помощью.
Что вы имеете ввиду под "добавление поля с помощью ВЫБОР"?
Поле - это колонка. В конструкторе скд нельзя с помощью условий выводить/не выводить колонки.
Что вы имеете ввиду под "добавление поля с помощью ВЫБОР"?
Поле - это колонка. В конструкторе скд нельзя с помощью условий выводить/не выводить колонки.
ВЫБРАТЬ
Контрагенты.Родитель.Ссылка КАК РодительСсылка,
Контрагенты.Ссылка КАК Ссылка,
ДоговорыКонтрагентов.ДопустимаяСуммаЗадолженности КАК ДопустимаяСуммаЗадолженности,
ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности,
ВзаиморасчетыСКонтрагентами.Регистратор.Ссылка КАК РегистраторСсылка,
ВзаиморасчетыСКонтрагентами.Регистратор.СуммаДокумента КАК РегистраторСуммаДокумента,
ВЫБОР
КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности) > &ТекущаяДата
ТОГДА РАЗНОСТЬДАТ(&ТекущаяДата, ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ)
ИНАЧЕ 0
КОНЕЦ КАК ДниДоОплаты,
ВЫБОР
КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности) < &ТекущаяДата
ТОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), &ТекущаяДата, ДЕНЬ)
ИНАЧЕ 0
КОНЕЦ КАК ПросроченоДней
ИЗ
РегистрНакопления.ВзаиморасчетыСКонтрагентами КАК ВзаиморасчетыСКонтрагентами
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
ПО ВзаиморасчетыСКонтрагентами.Контрагент = Контрагенты.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ПО ВзаиморасчетыСКонтрагентами.ДоговорКонтрагента = ДоговорыКонтрагентов.Ссылка
ГДЕ
ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
СГРУППИРОВАТЬ ПО
Контрагенты.Ссылка,
ДоговорыКонтрагентов.ДопустимаяСуммаЗадолженности,
ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности,
ВзаиморасчетыСКонтрагентами.Регистратор.Ссылка,
ВзаиморасчетыСКонтрагентами.Регистратор.СуммаДокумента,
Контрагенты.Родитель.Ссылка,
ВЫБОР
КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности) > &ТекущаяДата
ТОГДА РАЗНОСТЬДАТ(&ТекущаяДата, ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), ДЕНЬ)
ИНАЧЕ 0
КОНЕЦ,
ВЫБОР
КОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности) < &ТекущаяДата
ТОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентами.Регистратор.Дата, ДЕНЬ, ДоговорыКонтрагентов.ДопустимоеЧислоДнейЗадолженности), &ТекущаяДата, ДЕНЬ)
ИНАЧЕ 0
КОНЕЦ
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот