Нашел и скачал вот такой интересный отчет: [необходимо зарегистрироваться для просмотра ссылки] (бесплатно) Просроченные долги по срокам и документам для 1С УТ10
ТекстЗапроса = "ВЫБРАТЬ | Календарь.ДатаКалендаря КАК ДатаКалендаря, | КОЛИЧЕСТВО(*) КАК Ранг |ПОМЕСТИТЬ Календарь |ИЗ | РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК Календарь | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК КалендарьКопия | ПО Календарь.ДатаКалендаря >= КалендарьКопия.ДатаКалендаря |ГДЕ | Календарь.ДатаКалендаря >= &МинимальнаяДата | И (Календарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий) | ИЛИ Календарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный)) | И КалендарьКопия.ДатаКалендаря >= &МинимальнаяДата | И (КалендарьКопия.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий) | ИЛИ КалендарьКопия.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный)) | |СГРУППИРОВАТЬ ПО | Календарь.ДатаКалендаря | |ИНДЕКСИРОВАТЬ ПО | ДатаКалендаря |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | КалендарьРанг.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом, | Календарь.ДатаКалендаря КАК ДатаКалендаря |ПОМЕСТИТЬ РабочаяДатаВзаиморасчетыОстаткиИОбороты |ИЗ | Календарь КАК Календарь | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом, | МИНИМУМ(Календарь.Ранг) + МИНИМУМ(ВзаиморасчетыОстаткиИОбороты.ДопустимоеЧислоДнейЗадолженности) КАК РангСоединения, | МИНИМУМ(Календарь.Ранг) КАК Ранг | ИЗ | (ВЫБРАТЬ | ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом, | МИНИМУМ(ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности) КАК ДопустимоеЧислоДнейЗадолженности, | НАЧАЛОПЕРИОДА(МИНИМУМ(ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата), ДЕНЬ) КАК Дата | ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ОстаткиИОбороты( | &ДатаНач, | &ДатаКон, | Регистратор {(&Периодичность)}, | , | ДоговорКонтрагента.ВидДоговора В (&МассивВидовДоговоров) | И ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности > 0 | И ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом = ИСТИНА) КАК ВзаиморасчетыОстаткиИОбороты | ГДЕ | ВзаиморасчетыОстаткиИОбороты.УпрУчет | | СГРУППИРОВАТЬ ПО | ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом) КАК ВзаиморасчетыОстаткиИОбороты | ВНУТРЕННЕЕ СОЕДИНЕНИЕ Календарь КАК Календарь | ПО ВзаиморасчетыОстаткиИОбороты.Дата <= Календарь.ДатаКалендаря | | СГРУППИРОВАТЬ ПО | ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом) КАК КалендарьРанг | ПО (КалендарьРанг.РангСоединения = Календарь.Ранг) | |ИНДЕКСИРОВАТЬ ПО | ДокументРасчетовСКонтрагентом |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ИтогиВзаиморасчетов.Организация КАК Организация, | ИтогиВзаиморасчетов.Контрагент КАК Контрагент, | ИтогиВзаиморасчетов.ДоговорКонтрагента КАК ДоговорКонтрагента, | ИтогиВзаиморасчетов.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов, | ИтогиВзаиморасчетов.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом, | ИтогиВзаиморасчетов.ДокументРасчетовСКонтрагентом.Дата КАК ДатаДокумента, | ИтогиВзаиморасчетов.КоличествоДнейОтсрочки КАК КоличествоДнейОтсрочки, | ВЫБОР | КОГДА РАЗНОСТЬДАТ(&ПолучитьНаДату, ИтогиВзаиморасчетов.Срок, ДЕНЬ) > 0 | ТОГДА 0 | ИНАЧЕ РАЗНОСТЬДАТ(&ПолучитьНаДату, ИтогиВзаиморасчетов.Срок, ДЕНЬ) | КОНЕЦ КАК ПросроченоДней, | ИтогиВзаиморасчетов.СуммаОбщегоДолга КАК СуммаОбщегоДолга, | ИтогиВзаиморасчетов.Срок КАК Срок, | ВЫБОР | КОГДА ИтогиВзаиморасчетов.СуммаОбщегоДолга < 0 | ТОГДА ИтогиВзаиморасчетов.СуммаОбщегоДолга | ИНАЧЕ 0 | КОНЕЦ КАК СуммаАвансов, | ВЫБОР | КОГДА ИтогиВзаиморасчетов.СуммаОбщегоДолга > 0 | И ИтогиВзаиморасчетов.Срок <= &ПолучитьНаДату | ТОГДА ИтогиВзаиморасчетов.СуммаОбщегоДолга | ИНАЧЕ 0 | КОНЕЦ КАК СуммаПросроченныйДолг, | ВЫБОР | КОГДА ИтогиВзаиморасчетов.СуммаОбщегоДолга > 0 | И НЕ ИтогиВзаиморасчетов.Срок <= &ПолучитьНаДату | ТОГДА ИтогиВзаиморасчетов.СуммаОбщегоДолга | ИНАЧЕ 0 | КОНЕЦ КАК СуммаНепросроченныйДолг, | ИтогиВзаиморасчетов.ДокументРасчетовСКонтрагентом.СуммаДокумента КАК СуммаДокумента |{ВЫБРАТЬ | ВалютаВзаиморасчетов.*, | Контрагент.*, | Организация.*, | ДоговорКонтрагента.*, | ДокументРасчетовСКонтрагентом.*, | ДатаДокумента, | СуммаДокумента, | КоличествоДнейОтсрочки, | Срок, | ПросроченоДней, | СуммаОбщегоДолга, | СуммаАвансов, | СуммаПросроченныйДолг, | СуммаНепросроченныйДолг} |ИЗ | (ВЫБРАТЬ | ОстаткиПоПериодам.Организация КАК Организация, | ОстаткиПоПериодам.Контрагент КАК Контрагент, | ОстаткиПоПериодам.ДоговорКонтрагента КАК ДоговорКонтрагента, | ОстаткиПоПериодам.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов, | ОстаткиПоПериодам.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом, | ОстаткиПоПериодам.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности КАК КоличествоДнейОтсрочки, | ОстаткиПоПериодам.СуммаВзаиморасчетовОстаток КАК СуммаОбщегоДолга, | ВЫБОР | КОГДА &СпособКонтроляДнейЗадолженности = ЗНАЧЕНИЕ(Перечисление.СпособыКонтроляДнейЗадолженности.ПоРабочимДням) | ТОГДА ЕСТЬNULL(РабочаяДатаВзаиморасчетыОстаткиИОбороты.ДатаКалендаря, ОстаткиПоПериодам.ДокументРасчетовСКонтрагентом.Дата) | ИНАЧЕ ДОБАВИТЬКДАТЕ(ОстаткиПоПериодам.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ОстаткиПоПериодам.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности) | КОНЕЦ КАК Срок | ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(&ПолучитьНаДату, ДоговорКонтрагента.ВидДоговора В (&МассивВидовДоговоров) {(Организация).*, (Контрагент).*, (ДоговорКонтрагента).*}) КАК ОстаткиПоПериодам | ЛЕВОЕ СОЕДИНЕНИЕ РабочаяДатаВзаиморасчетыОстаткиИОбороты КАК РабочаяДатаВзаиморасчетыОстаткиИОбороты | ПО (РабочаяДатаВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом = ОстаткиПоПериодам.ДокументРасчетовСКонтрагентом)) КАК ИтогиВзаиморасчетов |{ГДЕ | ИтогиВзаиморасчетов.Контрагент.*, | ИтогиВзаиморасчетов.Организация.*, | (РАЗНОСТЬДАТ(&ПолучитьНаДату, ИтогиВзаиморасчетов.Срок, ДЕНЬ)) КАК ПросроченоДней, | ИтогиВзаиморасчетов.ДокументРасчетовСКонтрагентом.Агент.* КАК Агент} |{УПОРЯДОЧИТЬ ПО | Контрагент.*, | ДокументРасчетовСКонтрагентом.*, | ПросроченоДней} |ИТОГИ | МАКСИМУМ(ДатаДокумента), | МАКСИМУМ(КоличествоДнейОтсрочки), | МИНИМУМ(ПросроченоДней), | СУММА(СуммаОбщегоДолга), | МИНИМУМ(Срок), | СУММА(СуммаАвансов), | СУММА(СуммаПросроченныйДолг), | СУММА(СуммаНепросроченныйДолг), | СУММА(СуммаДокумента) |ПО | ОБЩИЕ |{ИТОГИ ПО | ВалютаВзаиморасчетов.*, | Контрагент.*, | Организация.*, | ДоговорКонтрагента.*, | ДокументРасчетовСКонтрагентом.*}";
Если УниверсальныйОтчет.ИспользоватьСвойстваИКатегории Тогда УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("ОстаткиПоПериодам.Контрагент", "Контрагент", "Контрагент", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Контрагенты); УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("ОстаткиПоПериодам.Организация", "Организация", "Организация", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Организации);
Воот... Теперь встал вопрос. Как можно провести отбор по Договорам контрагентов. Дело в том, что мы для удобства стандартизировали названия договоров. У всех Контрагентов имеются договора "Основной", "Перечисление", "Кредит", "Аванс"...
Как можно в этом отчете (обработку могу выслать, или скачайте с указанного сайта) провести отбор по "Наименованию" договоров?
Я вставил туда отбор по Договору, но он при начале отбора требует выбрать конкретного Контрагента, а уж потом Договор, в результате получается отбор по Договору конкретного Контрагента, а нужно отобрать только по Наименованию (возможно что-то типа содержит, но с возможностью выбора текста Наименования), чтобы , например, при выборе "Кредит" вышли все Контрагенты с этим договором.
Группа: Местный
Сообщений: 858
Из: Місто щасливих людей
Спасибо сказали: 319 раз
Рейтинг: 0
Constantus @ Сегодня, 12:20
, Сделайте Перечисление "ТипыДоговоров" со значениями: - Основной; - Перечисление; - Кредит; - Аванс. Добавьте реквизит "Тип договора" в справочник "ДоговораКонтрагентов" В отчете делайте отбор по этому реквизиту "ТипДоговора"
Дописываю конфигурации на платформе 8.х. - Управление торговым предприятием для Украины - Управление производственным предприятием для Украины - Управление небольшой фирмой для Украины - Бухгалтерия для Украины; - Общепит для Украины - Ресторан (Рарус) - Розница
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 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С форуме!