Нашел и скачал вот такой интересный отчет: [необходимо зарегистрироваться для просмотра ссылки] (бесплатно) Просроченные долги по срокам и документам для 1С УТ10
ТекстЗапроса =
"ВЫБРАТЬ
| Календарь.ДатаКалендаря КАК ДатаКалендаря,
| КОЛИЧЕСТВО(*) КАК Ранг
|ПОМЕСТИТЬ Календарь
|ИЗ
| РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК Календарь
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК КалендарьКопия
| ПО Календарь.ДатаКалендаря >= КалендарьКопия.ДатаКалендаря
|ГДЕ
| Календарь.ДатаКалендаря >= &МинимальнаяДата
| И (Календарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)
| ИЛИ Календарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный))
| И КалендарьКопия.ДатаКалендаря >= &МинимальнаяДата
| И (КалендарьКопия.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий)
| ИЛИ КалендарьКопия.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный))
|
|СГРУППИРОВАТЬ ПО
| Календарь.ДатаКалендаря
|
|ИНДЕКСИРОВАТЬ ПО
| ДатаКалендаря
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КалендарьРанг.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом,
| Календарь.ДатаКалендаря КАК ДатаКалендаря
|ПОМЕСТИТЬ РабочаяДатаВзаиморасчетыОстаткиИОбороты
|ИЗ
| Календарь КАК Календарь
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом,
| МИНИМУМ(Календарь.Ранг) + МИНИМУМ(ВзаиморасчетыОстаткиИОбороты.ДопустимоеЧислоДнейЗадолженности) КАК РангСоединения,
| МИНИМУМ(Календарь.Ранг) КАК Ранг
| ИЗ
| (ВЫБРАТЬ
| ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом,
| МИНИМУМ(ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности) КАК ДопустимоеЧислоДнейЗадолженности,
| НАЧАЛОПЕРИОДА(МИНИМУМ(ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата), ДЕНЬ) КАК Дата
| ИЗ
| РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ОстаткиИОбороты(
| &ДатаНач,
| &ДатаКон,
| Регистратор {(&Периодичность)},
| ,
| ДоговорКонтрагента.ВидДоговора В (&МассивВидовДоговоров)
| И ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности > 0
| И ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом = ИСТИНА) КАК ВзаиморасчетыОстаткиИОбороты
| ГДЕ
| ВзаиморасчетыОстаткиИОбороты.УпрУчет
|
| СГРУППИРОВАТЬ ПО
| ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом) КАК ВзаиморасчетыОстаткиИОбороты
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Календарь КАК Календарь
| ПО ВзаиморасчетыОстаткиИОбороты.Дата <= Календарь.ДатаКалендаря
|
| СГРУППИРОВАТЬ ПО
| ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом) КАК КалендарьРанг
| ПО (КалендарьРанг.РангСоединения = Календарь.Ранг)
|
|ИНДЕКСИРОВАТЬ ПО
| ДокументРасчетовСКонтрагентом
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ИтогиВзаиморасчетов.Организация КАК Организация,
| ИтогиВзаиморасчетов.Контрагент КАК Контрагент,
| ИтогиВзаиморасчетов.ДоговорКонтрагента КАК ДоговорКонтрагента,
| ИтогиВзаиморасчетов.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ИтогиВзаиморасчетов.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом,
| ИтогиВзаиморасчетов.ДокументРасчетовСКонтрагентом.Дата КАК ДатаДокумента,
| ИтогиВзаиморасчетов.КоличествоДнейОтсрочки КАК КоличествоДнейОтсрочки,
| ВЫБОР
| КОГДА РАЗНОСТЬДАТ(&ПолучитьНаДату, ИтогиВзаиморасчетов.Срок, ДЕНЬ) > 0
| ТОГДА 0
| ИНАЧЕ РАЗНОСТЬДАТ(&ПолучитьНаДату, ИтогиВзаиморасчетов.Срок, ДЕНЬ)
| КОНЕЦ КАК ПросроченоДней,
| ИтогиВзаиморасчетов.СуммаОбщегоДолга КАК СуммаОбщегоДолга,
| ИтогиВзаиморасчетов.Срок КАК Срок,
| ВЫБОР
| КОГДА ИтогиВзаиморасчетов.СуммаОбщегоДолга < 0
| ТОГДА ИтогиВзаиморасчетов.СуммаОбщегоДолга
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаАвансов,
| ВЫБОР
| КОГДА ИтогиВзаиморасчетов.СуммаОбщегоДолга > 0
| И ИтогиВзаиморасчетов.Срок <= &ПолучитьНаДату
| ТОГДА ИтогиВзаиморасчетов.СуммаОбщегоДолга
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаПросроченныйДолг,
| ВЫБОР
| КОГДА ИтогиВзаиморасчетов.СуммаОбщегоДолга > 0
| И НЕ ИтогиВзаиморасчетов.Срок <= &ПолучитьНаДату
| ТОГДА ИтогиВзаиморасчетов.СуммаОбщегоДолга
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаНепросроченныйДолг,
| ИтогиВзаиморасчетов.ДокументРасчетовСКонтрагентом.СуммаДокумента КАК СуммаДокумента
|{ВЫБРАТЬ
| ВалютаВзаиморасчетов.*,
| Контрагент.*,
| Организация.*,
| ДоговорКонтрагента.*,
| ДокументРасчетовСКонтрагентом.*,
| ДатаДокумента,
| СуммаДокумента,
| КоличествоДнейОтсрочки,
| Срок,
| ПросроченоДней,
| СуммаОбщегоДолга,
| СуммаАвансов,
| СуммаПросроченныйДолг,
| СуммаНепросроченныйДолг}
|ИЗ
| (ВЫБРАТЬ
| ОстаткиПоПериодам.Организация КАК Организация,
| ОстаткиПоПериодам.Контрагент КАК Контрагент,
| ОстаткиПоПериодам.ДоговорКонтрагента КАК ДоговорКонтрагента,
| ОстаткиПоПериодам.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
| ОстаткиПоПериодам.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом,
| ОстаткиПоПериодам.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности КАК КоличествоДнейОтсрочки,
| ОстаткиПоПериодам.СуммаВзаиморасчетовОстаток КАК СуммаОбщегоДолга,
| ВЫБОР
| КОГДА &СпособКонтроляДнейЗадолженности = ЗНАЧЕНИЕ(Перечисление.СпособыКонтроляДнейЗадолженности.ПоРабочимДням)
| ТОГДА ЕСТЬNULL(РабочаяДатаВзаиморасчетыОстаткиИОбороты.ДатаКалендаря, ОстаткиПоПериодам.ДокументРасчетовСКонтрагентом.Дата)
| ИНАЧЕ ДОБАВИТЬКДАТЕ(ОстаткиПоПериодам.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ОстаткиПоПериодам.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности)
| КОНЕЦ КАК Срок
| ИЗ
| РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(&ПолучитьНаДату, ДоговорКонтрагента.ВидДоговора В (&МассивВидовДоговоров) {(Организация).*, (Контрагент).*, (ДоговорКонтрагента).*}) КАК ОстаткиПоПериодам
| ЛЕВОЕ СОЕДИНЕНИЕ РабочаяДатаВзаиморасчетыОстаткиИОбороты КАК РабочаяДатаВзаиморасчетыОстаткиИОбороты
| ПО (РабочаяДатаВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом = ОстаткиПоПериодам.ДокументРасчетовСКонтрагентом)) КАК ИтогиВзаиморасчетов
|{ГДЕ
| ИтогиВзаиморасчетов.Контрагент.*,
| ИтогиВзаиморасчетов.Организация.*,
| (РАЗНОСТЬДАТ(&ПолучитьНаДату, ИтогиВзаиморасчетов.Срок, ДЕНЬ)) КАК ПросроченоДней,
| ИтогиВзаиморасчетов.ДокументРасчетовСКонтрагентом.Агент.* КАК Агент}
|{УПОРЯДОЧИТЬ ПО
| Контрагент.*,
| ДокументРасчетовСКонтрагентом.*,
| ПросроченоДней}
|ИТОГИ
| МАКСИМУМ(ДатаДокумента),
| МАКСИМУМ(КоличествоДнейОтсрочки),
| МИНИМУМ(ПросроченоДней),
| СУММА(СуммаОбщегоДолга),
| МИНИМУМ(Срок),
| СУММА(СуммаАвансов),
| СУММА(СуммаПросроченныйДолг),
| СУММА(СуммаНепросроченныйДолг),
| СУММА(СуммаДокумента)
|ПО
| ОБЩИЕ
|{ИТОГИ ПО
| ВалютаВзаиморасчетов.*,
| Контрагент.*,
| Организация.*,
| ДоговорКонтрагента.*,
| ДокументРасчетовСКонтрагентом.*}";
Если УниверсальныйОтчет.ИспользоватьСвойстваИКатегории Тогда
УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("ОстаткиПоПериодам.Контрагент", "Контрагент", "Контрагент", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Контрагенты);
УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("ОстаткиПоПериодам.Организация", "Организация", "Организация", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Организации);
УниверсальныйОтчет.ДобавитьВТекстЗапросаСвойстваИКатегории(ТекстЗапроса);
КонецЕсли;
УниверсальныйОтчет.ПостроительОтчета.Текст = ТекстЗапроса;
ПараметрыПостроителя = УниверсальныйОтчет.ПостроительОтчета.Параметры;
Воот... Теперь встал вопрос. Как можно провести отбор по Договорам контрагентов. Дело в том, что мы для удобства стандартизировали названия договоров. У всех Контрагентов имеются договора "Основной", "Перечисление", "Кредит", "Аванс"...
Как можно в этом отчете (обработку могу выслать, или скачайте с указанного сайта) провести отбор по "Наименованию" договоров?
Я вставил туда отбор по Договору, но он при начале отбора требует выбрать конкретного Контрагента, а уж потом Договор, в результате получается отбор по Договору конкретного Контрагента, а нужно отобрать только по Наименованию (возможно что-то типа содержит, но с возможностью выбора текста Наименования), чтобы , например, при выборе "Кредит" вышли все Контрагенты с этим договором.
Ветеран
Группа: Местный
Сообщений: 859
Из: Місто щасливих людей
Спасибо сказали: 336 раз
Рейтинг: 261
Constantus @ Сегодня, 12:20
, Сделайте Перечисление "ТипыДоговоров" со значениями: - Основной; - Перечисление; - Кредит; - Аванс. Добавьте реквизит "Тип договора" в справочник "ДоговораКонтрагентов" В отчете делайте отбор по этому реквизиту "ТипДоговора"
Дописываю конфигурации на платформе 8.х. - Управление торговым предприятием для Украины - Управление производственным предприятием для Украины - Управление небольшой фирмой для Украины - Бухгалтерия для Украины; - Общепит для Украины - Ресторан (Рарус) - Розница
Старейшина
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 193 раз
Рейтинг: 0
Цитата(Constantus @ 24.07.17, 12:29)
как попытаться в поле "Значение" получить некий список текстовых значений, взятых из справочника?
Одновременно - никак. Или у вас могут быть договора с наименованием Основной Аванс?
Советую добавить поле | ИтогиВзаиморасчетов.ДоговорКонтрагента.Наименование КАК ВидДоговораКонтрагента,
и его включить в отбор.
Тогда пользователь сможет устанавливать отбору по новому полю. Если же вы хотите стандартизовать варианты значений в поле отбора - то делайте так, как Bernet посоветовал.
Сообщение отредактировал pablo - 25.07.17, 15:42
Правильно поставленный вопрос содержит до 90% ответа.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!