helpf.pro
Регистрация

v8: Добавить периодичность в стандартный отчёт по кредитной линии в УТ 10.3.3.3

acherey
15.08.2011 03:58Прочитано: 4696
ВОзникл необходимость добавить группировку колонок по ПериодуНеделя в стандартны йотчёт по кредитной линии, уже 2 дня бьюсь, не могу понять как это сделать, помогите плизз.
Yandex
Возможно, вас также заинтересует
Реклама на портале
acherey
15.08.2011 11:53Ответ № 1
Процедура выглядит вот так, нужно чтобы группировались колонки по ПериодНеделя, как отчёте по продажам. Помогите. Заранее спасибо.
Код 1C v 8.х
 Процедура УстановитьНачальныеНастройки(ДополнительныеПараметры = Неопределено) Экспорт

// Настройка общих параметров универсального отчета
УправлениеОтчетами.ВосстановитьРеквизитыОтчета(ЭтотОбъект, ДополнительныеПараметры);

// Содержит название отчета, которое будет выводиться в шапке.
// Тип: Строка.
// Пример:
// УниверсальныйОтчет.мНазваниеОтчета = "Название отчета";
УниверсальныйОтчет.мНазваниеОтчета = СокрЛП(ЭтотОбъект.Метаданные().Синоним);

// Содержит признак необходимости отображения надписи и поля выбора раздела учета в форме настройки.
// Тип: Булево.
// Значение по умолчанию: Истина.
// Пример:
УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;

// Содержит имя регистра, по метаданным которого будет выполняться заполнение настроек отчета.
// Тип: Строка.
// Пример:
//УниверсальныйОтчет.ИмяРегистра = "ВзаиморасчетыСКонтрагентами";

// Содержит признак необходимости вывода отрицательных значений показателей красным цветом.
// Тип: Булево.
// Значение по умолчанию: Ложь.
// Пример:
// УниверсальныйОтчет.ОтрицательноеКрасным = Истина;

// Содержит признак необходимости вывода в отчет общих итогов.
// Тип: Булево.
// Значение по умолчанию: Ложь.
// Пример:
// УниверсальныйОтчет.ВыводитьОбщиеИтоги = Ложь;

// Содержит признак необходимости вывода детальных записей в отчет.
// Тип: Булево.
// Значение по умолчанию: Ложь.
// Пример:
УниверсальныйОтчет.ВыводитьДетальныеЗаписи = Ложь;

// Содержит признак необходимости отображения флага использования свойств и категорий в форме настройки.
// Тип: Булево.
// Значение по умолчанию: Истина.
// Пример:
УниверсальныйОтчет.мВыбиратьИспользованиеСвойств = истина;

// Содержит признак использования свойств и категорий при заполнении настроек отчета.
// Тип: Булево.
// Значение по умолчанию: Истина.
// Пример:
//УниверсальныйОтчет.ИспользоватьСвойстваИКатегории = Истина;

// Содержит признак использования простой формы настроек отчета без группировок колонок.
// Тип: Булево.
// Значение по умолчанию: Ложь.
// Пример:
УниверсальныйОтчет.мРежимФормыНастройкиБезГруппировокКолонок = Истина;

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

// Описание исходного текста запроса.
// При написании текста запроса рекомендуется следовать правилам, описанным в следующем шаблоне текста запроса:
//
//ВЫБРАТЬ
// <ПсевдонимТаблицы.Поле> КАК <ПсевдонимПоля>,
// ПРЕДСТАВЛЕНИЕ(<ПсевдонимТаблицы>.<Поле>),
// <ПсевдонимТаблицы.Показатель> КАК <ПсевдонимПоказателя>
// //ПОЛЯ_СВОЙСТВА
// //ПОЛЯ_КАТЕГОРИИ
//{ВЫБРАТЬ
// <ПсевдонимПоля>.*,
// <ПсевдонимПоказателя>,
// Регистратор,
// Период,
// ПериодДень,
// ПериодНеделя,
// ПериодДекада,
// ПериодМесяц,
// ПериодКвартал,
// ПериодПолугодие,
// ПериодГод
// //ПОЛЯ_СВОЙСТВА
// //ПОЛЯ_КАТЕГОРИИ
//}
//ИЗ
// <Таблица> КАК <ПсевдонимТаблицы>
// //СОЕДИНЕНИЯ
//{ГДЕ
// <ПсевдонимТаблицы.Поле>.* КАК <ПсевдонимПоля>,
// <ПсевдонимТаблицы.Показатель> КАК <ПсевдонимПоказателя>,
// <ПсевдонимТаблицы>.Регистратор КАК Регистратор,
// <ПсевдонимТаблицы>.Период КАК Период,
// НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, ДЕНЬ) КАК ПериодДень,
// НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, НЕДЕЛЯ) КАК ПериодНеделя,
// НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, ДЕКАДА) КАК ПериодДекада,
// НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, МЕСЯЦ) КАК ПериодМесяц,
// НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, КВАРТАЛ) КАК ПериодКвартал,
// НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
// НАЧАЛОПЕРИОДА(<ПсевдонимТаблицы>.Период, ГОД) КАК ПериодГод
// //ПОЛЯ_СВОЙСТВА
// //ПОЛЯ_КАТЕГОРИИ
//}
//{УПОРЯДОЧИТЬ ПО
// <ПсевдонимПоля>.*,
// <ПсевдонимПоказателя>,
// Регистратор,
// Период,
// ПериодДень,
// ПериодНеделя,
// ПериодДекада,
// ПериодМесяц,
// ПериодКвартал,
// ПериодПолугодие,
// ПериодГод
// //УПОРЯДОЧИТЬ_СВОЙСТВА
// //УПОРЯДОЧИТЬ_КАТЕГОРИИ
//}
//ИТОГИ
// АГРЕГАТНАЯ_ФУНКЦИЯ(<ПсевдонимПоказателя>)
// //ИТОГИ_СВОЙСТВА
// //ИТОГИ_КАТЕГОРИИ
//ПО
// ОБЩИЕ
//{ИТОГИ ПО
// <ПсевдонимПоля>.*,
// Регистратор,
// Период,
// ПериодДень,
// ПериодНеделя,
// ПериодДекада,
// ПериодМесяц,
// ПериодКвартал,
// ПериодПолугодие,
// ПериодГод
// //ПОЛЯ_СВОЙСТВА
// //ПОЛЯ_КАТЕГОРИИ
//}
//АВТОУПОРЯДОЧИВАНИЕ
ТекстЗапроса =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВзаиморасчетыОстаткиИОбороты.Организация КАК Организация,
| ВзаиморасчетыОстаткиИОбороты.Контрагент КАК Контрагент,
| ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента,
| ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом КАК ДокументРасчетовСКонтрагентом,
| ВЫБОР
| КОГДА &Предоставленные = 1
| ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовПриход
| ИНАЧЕ ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовРасход
| КОНЕЦ КАК Отгрузка,
| ВЫБОР
| КОГДА &Предоставленные = 1
| ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовРасход
| ИНАЧЕ ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовПриход
| КОНЕЦ КАК Оплата,
| ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности КАК ЧислоДней,
| &Предоставленные * ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК ОбщаяЗадолженность,
| ВЫБОР
| КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата, &ДатаКонца, ДЕНЬ) < ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности
| ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток
| ИНАЧЕ 0
| КОНЕЦ КАК ТекущаяЗадолженность,
| ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимаяСуммаЗадолженности КАК ГлубинаКредитнойЛинии,
| ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата КАК ДатаОтгрузки,
| ДОБАВИТЬКДАТЕ(ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности) КАК Срок,
| ВЫБОР
| КОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), &ДатаКонца, ДЕНЬ) <= 0
| ИЛИ ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток <= 0
| ТОГДА 0
| ИНАЧЕ РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), &ДатаКонца, ДЕНЬ)
| КОНЕЦ КАК просрочено,
| ВЫБОР
| КОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток < 0
| И ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток <> ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток
| ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток
| ИНАЧЕ 0
| КОНЕЦ КАК Авансы,
| ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ВидВзаиморасчетов КАК ВидВзаиморасчетов,
| ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток КАК НачОстаток,
| ВЫБОР
| КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата, &ДатаКонца, ДЕНЬ) < ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности
| ТОГДА 0
| ИНАЧЕ ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток
| КОНЕЦ КАК ПросроченнаяЗадолженность,
| ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности
|{ВЫБРАТЬ
| Организация.*,
| Контрагент.*,
| ДоговорКонтрагента.*,
| ДокументРасчетовСКонтрагентом.*,
| Отгрузка,
| Оплата,
| ЧислоДней,
| ГлубинаКредитнойЛинии,
| ОбщаяЗадолженность,
| ТекущаяЗадолженность,
| Срок,
| просрочено,
| Авансы,
| ВидВзаиморасчетов,
| НачОстаток,
| ВзаиморасчетыОстаткиИОбороты.Регистратор КАК Регистратор,
| ДатаОтгрузки,
| ПросроченнаяЗадолженность,
| ДопустимоеЧислоДнейЗадолженности}
|ИЗ
| РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ОстаткиИОбороты(
| &ДатаНач,
| &ДатаКон,
| Регистратор {(&Периодичность)},
| ДвиженияИГраницыПериода,
| ДоговорКонтрагента.ВидДоговора В (&МассивВидовДоговоров)
| И ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом = ИСТИНА {(ДоговорКонтрагента).*, (Контрагент).*, (Организация).*, (ДокументРасчетовСКонтрагентом).*}) КАК ВзаиморасчетыОстаткиИОбороты
| {ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(&ДатаНач, &ДатаКон, , ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом = ИСТИНА) КАК РегВзаиморасчеты_БезДокументовОборот
| ПО ВзаиморасчетыОстаткиИОбороты.Организация = РегВзаиморасчеты_БезДокументовОборот.Организация
| И ВзаиморасчетыОстаткиИОбороты.Контрагент = РегВзаиморасчеты_БезДокументовОборот.Контрагент
| И ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента = РегВзаиморасчеты_БезДокументовОборот.ДоговорКонтрагента
| И ВзаиморасчетыОстаткиИОбороты.Сделка = РегВзаиморасчеты_БезДокументовОборот.Сделка}
| {ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ДатаКонца, ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом = ИСТИНА) КАК РегВзаиморасчеты_БезДокументовКонечныйОстаток
| ПО ВзаиморасчетыОстаткиИОбороты.Организация = РегВзаиморасчеты_БезДокументовКонечныйОстаток.Организация
| И ВзаиморасчетыОстаткиИОбороты.Контрагент = РегВзаиморасчеты_БезДокументовКонечныйОстаток.Контрагент
| И ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента = РегВзаиморасчеты_БезДокументовКонечныйОстаток.ДоговорКонтрагента
| И ВзаиморасчетыОстаткиИОбороты.Сделка = РегВзаиморасчеты_БезДокументовКонечныйОстаток.Сделка}
|ГДЕ
| ВзаиморасчетыОстаткиИОбороты.УпрУчет = ИСТИНА
|{ГДЕ
| ВзаиморасчетыОстаткиИОбороты.Период,
| (ВЫБОР
| КОГДА &Предоставленные = 1
| ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовПриход
| ИНАЧЕ ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовРасход
| КОНЕЦ) КАК Отгрузка,
| (ВЫБОР
| КОГДА &Предоставленные = 1
| ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовРасход
| ИНАЧЕ ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовПриход
| КОНЕЦ) КАК Оплата,
| (ВЫБОР
| КОГДА &Предоставленные = 1
| ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовПриход * ВЫБОР
| КОГДА РегВзаиморасчеты_БезДокументовОборот.СуммаВзаиморасчетовПриход = 0
| ТОГДА 0
| ИНАЧЕ РегВзаиморасчеты_БезДокументовОборот.СуммаУпрПриход / РегВзаиморасчеты_БезДокументовОборот.СуммаВзаиморасчетовПриход
| КОНЕЦ
| ИНАЧЕ ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовРасход * ВЫБОР
| КОГДА РегВзаиморасчеты_БезДокументовОборот.СуммаВзаиморасчетовРасход = 0
| ТОГДА 0
| ИНАЧЕ РегВзаиморасчеты_БезДокументовОборот.СуммаУпрРасход / РегВзаиморасчеты_БезДокументовОборот.СуммаВзаиморасчетовРасход
| КОНЕЦ
| КОНЕЦ) КАК ОтгрузкаУпр,
| (ВЫБОР
| КОГДА &Предоставленные = 1
| ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовРасход * ВЫБОР
| КОГДА РегВзаиморасчеты_БезДокументовОборот.СуммаВзаиморасчетовРасход = 0
| ТОГДА 0
| ИНАЧЕ РегВзаиморасчеты_БезДокументовОборот.СуммаУпрРасход / РегВзаиморасчеты_БезДокументовОборот.СуммаВзаиморасчетовРасход
| КОНЕЦ
| ИНАЧЕ ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовПриход * ВЫБОР
| КОГДА РегВзаиморасчеты_БезДокументовОборот.СуммаВзаиморасчетовПриход = 0
| ТОГДА 0
| ИНАЧЕ РегВзаиморасчеты_БезДокументовОборот.СуммаУпрПриход / РегВзаиморасчеты_БезДокументовОборот.СуммаВзаиморасчетовПриход
| КОНЕЦ
| КОНЕЦ) КАК ОплатаУпр,
| (&Предоставленные * ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток) КАК ОбщаяЗадолженность,
| (ВЫБОР
| КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата, &ДатаКонца, ДЕНЬ) < ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности
| ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток
| ИНАЧЕ 0
| КОНЕЦ) КАК ТекущаяЗадолженность,
| (&Предоставленные * ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток * ВЫБОР
| КОГДА РегВзаиморасчеты_БезДокументовКонечныйОстаток.СуммаВзаиморасчетовОстаток = 0
| ТОГДА 0
| ИНАЧЕ РегВзаиморасчеты_БезДокументовКонечныйОстаток.СуммаУпрОстаток / РегВзаиморасчеты_БезДокументовКонечныйОстаток.СуммаВзаиморасчетовОстаток
| КОНЕЦ) КАК ДолгКонтрагентаУпр,
| ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата КАК ДатаОтгрузки,
| (ДОБАВИТЬКДАТЕ(ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности)) КАК Срок,
| (ВЫБОР
| КОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), &ДатаКонца, ДЕНЬ) <= 0
| ИЛИ ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток <= 0
| ТОГДА 0
| ИНАЧЕ РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), &ДатаКонца, ДЕНЬ)
| КОНЕЦ) КАК просрочено,
| (ВЫБОР
| КОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток < 0
| И ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток <> ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток
| ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток
| ИНАЧЕ 0
| КОНЕЦ) КАК Авансы,
| ВзаиморасчетыОстаткиИОбороты.Регистратор КАК регистратор,
| (ВЫБОР
| КОГДА РАЗНОСТЬДАТ(ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата, &ДатаКонца, ДЕНЬ) < ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности
| ТОГДА 0
| ИНАЧЕ ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток
| КОНЕЦ) КАК ПросроченнаяЗадолженность,
| ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности}
|{УПОРЯДОЧИТЬ ПО
| Организация.*,
| Контрагент.*,
| ДоговорКонтрагента.*,
| ДокументРасчетовСКонтрагентом.*,
| ВзаиморасчетыОстаткиИОбороты.Регистратор.*,
| (ВЫБОР
| КОГДА &Предоставленные = 1
| ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовПриход
| ИНАЧЕ ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовРасход
| КОНЕЦ) КАК Отгрузка,
| (ВЫБОР
| КОГДА &Предоставленные = 1
| ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовРасход
| ИНАЧЕ ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовПриход
| КОНЕЦ) КАК Оплата,
| (ВЫБОР
| КОГДА &Предоставленные = 1
| ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовПриход * ВЫБОР
| КОГДА РегВзаиморасчеты_БезДокументовОборот.СуммаВзаиморасчетовПриход = 0
| ТОГДА 0
| ИНАЧЕ РегВзаиморасчеты_БезДокументовОборот.СуммаУпрПриход / РегВзаиморасчеты_БезДокументовОборот.СуммаВзаиморасчетовПриход
| КОНЕЦ
| ИНАЧЕ ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовРасход * ВЫБОР
| КОГДА РегВзаиморасчеты_БезДокументовОборот.СуммаВзаиморасчетовРасход = 0
| ТОГДА 0
| ИНАЧЕ РегВзаиморасчеты_БезДокументовОборот.СуммаУпрРасход / РегВзаиморасчеты_БезДокументовОборот.СуммаВзаиморасчетовРасход
| КОНЕЦ
| КОНЕЦ) КАК ОтгрузкаУпр,
| (ВЫБОР
| КОГДА &Предоставленные = 1
| ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовРасход * ВЫБОР
| КОГДА РегВзаиморасчеты_БезДокументовОборот.СуммаВзаиморасчетовРасход = 0
| ТОГДА 0
| ИНАЧЕ РегВзаиморасчеты_БезДокументовОборот.СуммаУпрРасход / РегВзаиморасчеты_БезДокументовОборот.СуммаВзаиморасчетовРасход
| КОНЕЦ
| ИНАЧЕ ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовПриход * ВЫБОР
| КОГДА РегВзаиморасчеты_БезДокументовОборот.СуммаВзаиморасчетовПриход = 0
| ТОГДА 0
| ИНАЧЕ РегВзаиморасчеты_БезДокументовОборот.СуммаУпрПриход / РегВзаиморасчеты_БезДокументовОборот.СуммаВзаиморасчетовПриход
| КОНЕЦ
| КОНЕЦ) КАК ОплатаУпр,
| ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата КАК ДатаОтгрузки,
| (ДОБАВИТЬКДАТЕ(ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности)) КАК Срок,
| (ВЫБОР
| КОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), &ДатаКонца, ДЕНЬ) <= 0
| ИЛИ ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток <= 0
| ТОГДА 0
| ИНАЧЕ РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности), &ДатаКонца, ДЕНЬ)
| КОНЕЦ) КАК просрочено,
| (ВЫБОР
| КОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток < 0
| И ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток <> ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток
| ТОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток
| ИНАЧЕ 0
| КОНЕЦ) КАК Авансы,
| (&Предоставленные * ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток) КАК ОбщаяЗадолженность,
| ВзаиморасчетыОстаткиИОбороты.Регистратор КАК регистратор,
| (&Предоставленные * ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток * ВЫБОР
| КОГДА РегВзаиморасчеты_БезДокументовКонечныйОстаток.СуммаВзаиморасчетовОстаток = 0
| ТОГДА 0
| ИНАЧЕ РегВзаиморасчеты_БезДокументовКонечныйОстаток.СуммаУпрОстаток / РегВзаиморасчеты_БезДокументовКонечныйОстаток.СуммаВзаиморасчетовОстаток
| КОНЕЦ) КАК ОбщаяЗадоолженностьУпр,
| ТекущаяЗадолженность КАК ТекущаяЗадолженность,
| ПросроченнаяЗадолженность,
| ДопустимоеЧислоДнейЗадолженности}
|ИТОГИ
| СУММА(Отгрузка),
| СУММА(Оплата),
| МИНИМУМ(ЧислоДней),
| СУММА(ОбщаяЗадолженность),
| СУММА(ТекущаяЗадолженность),
| МИНИМУМ(Срок),
| МАКСИМУМ(просрочено),
| СУММА(Авансы),
| СУММА(НачОстаток),
| СУММА(ПросроченнаяЗадолженность),
| МИНИМУМ(ДопустимоеЧислоДнейЗадолженности)
|ПО
| ОБЩИЕ
|{ИТОГИ ПО
| Организация,
| Контрагент,
| ДоговорКонтрагента,
| ДокументРасчетовСКонтрагентом,
| ВзаиморасчетыОстаткиИОбороты.Регистратор}";//,


// В универсальном отчете включен флаг использования свойств и категорий.
Если УниверсальныйОтчет.ИспользоватьСвойстваИКатегории Тогда

// Добавление свойств и категорий поля запроса в таблицу полей.
// Необходимо вызывать для каждого поля запроса, предоставляющего возможность использования свойств и категорий.

// УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля(<ПсевдонимТаблицы>.<Поле> , <ПсевдонимПоля>, <Представление>, <Назначение>);
УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля( "ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента" , "ДоговорКонтрагента", "Договор контрагента", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ДоговорыКонтрагентов);
УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля( "ВзаиморасчетыОстаткиИОбороты.Контрагент" , "Контрагент", "Контрагент", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Контрагенты);
УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля( "ВзаиморасчетыОстаткиИОбороты.Организация" , "Организация", "Организация", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Организации);

// Добавление свойств и категорий в исходный текст запроса.
УниверсальныйОтчет.ДобавитьВТекстЗапросаСвойстваИКатегории(ТекстЗапроса);

КонецЕсли;

// Инициализация текста запроса построителя отчета
УниверсальныйОтчет.ПостроительОтчета.Текст = ТекстЗапроса;

// Представления полей отчета.
// Необходимо вызывать для каждого поля запроса.
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Контрагент", "Контрагент");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ДоговорКонтрагента", "Договор контрагента");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ДокументРасчетовСКонтрагентом", "Документ отгрузки");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Отгрузка", "Сумма отгрузки");
// УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ОтгрузкаУпр", "Сумма отгрузки (упр.)");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Оплата", "Сумма оплаты");
//УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ОплатаУпр", "Сумма оплаты (упр.)");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ЧислоДней", "Длительность кредитной линии");
//УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ДолгКонтрагентаУпр", "Долг контрагента (упр.)");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Регистратор", "Документ оплаты");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ГлубинаКредитнойЛинии", "Глубина кредитной линии");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ДатаОтгрузки", "Дата отгрузки");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Срок", "Срок оплаты");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Просрочено", "Просрочено дней");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Авансы", "Авансы и Возвраты");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ВидВзаиморасчетов", "Вид взаиморасчетов");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("НачОстаток", "Долг на начало периода");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ОбщаяЗадолженность", "Общая задолженность");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ТекущаяЗадолженность", "Текущая задолженность");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ПросроченнаяЗадолженность", "Просроченная задолженность");
УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ДопустимоеЧислоДнейЗадолженности", "Допустимое число дней задолженности");


// Добавление показателей
// Необходимо вызывать для каждого добавляемого показателя.
УниверсальныйОтчет.ДобавитьПоказатель("НачОстаток", "Долг на начало периода", Истина, "ЧЦ=15; ЧДЦ=2");
УниверсальныйОтчет.ДобавитьПоказатель("Отгрузка", "Сумма отгрузки текущий период", Истина, "ЧЦ=15; ЧДЦ=2");
//УниверсальныйОтчет.ДобавитьПоказатель("ОтгрузкаУпр", "Сумма отгрузки (упр.)", Истина, "ЧЦ=15; ЧДЦ=2");
УниверсальныйОтчет.ДобавитьПоказатель("Оплата", "Сумма оплаты текущий период", Истина, "ЧЦ=15; ЧДЦ=2");
УниверсальныйОтчет.ДобавитьПоказатель("Авансы", "Авансы и Возвраты", Истина, "ЧЦ=15; ЧДЦ=2");
//УниверсальныйОтчет.ДобавитьПоказатель("ОплатаУпр", "Сумма оплаты (упр.)", Истина, "ЧЦ=15; ЧДЦ=2");
//УниверсальныйОтчет.ДобавитьПоказатель("ДолгКонтрагентаУпр", "Долг контрагента (упр.)", Истина, "ЧЦ=15; ЧДЦ=2");
УниверсальныйОтчет.ДобавитьПоказатель("ДатаОтгрузки", "Дата отгрузки", Истина, "ДФ=dd.MM.yyyy");
УниверсальныйОтчет.ДобавитьПоказатель("Срок", "Срок оплаты по договору", Истина, "ДФ=dd.MM.yyyy");
УниверсальныйОтчет.ДобавитьПоказатель("просрочено", "Просрочено дней", Истина, "ЧЦ=15; ЧН=-; ЧО=0");
УниверсальныйОтчет.ДобавитьПоказатель("ДопустимоеЧислоДнейЗадолженности", "Допустимое число дней задолженности", Истина, "ЧЦ=15; ЧН=-; ЧО=0");
УниверсальныйОтчет.ДобавитьПоказатель("ОбщаяЗадолженность", "Общая Задолженность", Истина, "ЧЦ=15; ЧДЦ=2");
УниверсальныйОтчет.ДобавитьПоказатель("ТекущаяЗадолженность", "Текущая задолженность", Истина, "ЧЦ=15; ЧН=-; ЧО=0");
УниверсальныйОтчет.ДобавитьПоказатель("ПросроченнаяЗадолженность", "Просроченная задолженность", Истина, "ЧЦ=15; ЧН=-; ЧО=0");

// Добавление предопределенных группировок строк отчета.
// Необходимо вызывать для каждой добавляемой группировки строки.
УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Организация");
УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Контрагент");
УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ДоговорКонтрагента");
УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ДокументРасчетовСКонтрагентом");
//УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Регистратор");

// Добавление предопределенных группировок колонок отчета.
// Необходимо вызывать для каждой добавляемой группировки колонки.
// УниверсальныйОтчет.ДобавитьИзмерениеКолонки(<ПутьКДанным>);

// Добавление предопределенных отборов отчета.
// Необходимо вызывать для каждого добавляемого отбора.
УниверсальныйОтчет.ДобавитьОтбор("Организация");
УниверсальныйОтчет.ДобавитьОтбор("Контрагент");
УниверсальныйОтчет.ДобавитьОтбор("ДоговорКонтрагента");

// Добавление предопределенных полей порядка отчета.
// Необходимо вызывать для каждого добавляемого поля порядка.
// УниверсальныйОтчет.ДобавитьПорядок(<ПутьКДанным>);
УниверсальныйОтчет.ДобавитьПорядок("Организация");
УниверсальныйОтчет.ДобавитьПорядок("Контрагент");
УниверсальныйОтчет.ДобавитьПорядок("ДоговорКонтрагента");
УниверсальныйОтчет.ДобавитьПорядок("ДокументРасчетовСКонтрагентом");
//УниверсальныйОтчет.ДобавитьПорядок("Регистратор");


// Установка связи подчиненных и родительских полей
// УниверсальныйОтчет.УстановитьСвязьПолей("ДоговорКонтрагента", "Контрагент");

// Установка связи полей и измерений
// УниверсальныйОтчет.УстановитьСвязьПоляИИзмерения(<ИмяПоля>, <ИмяИзмерения>);

// Установка представлений полей
УниверсальныйОтчет.УстановитьПредставленияПолей(УниверсальныйОтчет.мСтруктураПредставлениеПолей, УниверсальныйОтчет.ПостроительОтчета);

// Установка типов значений свойств в отборах отчета
УниверсальныйОтчет.УстановитьТипыЗначенийСвойствДляОтбора();

// Заполнение начальных настроек универсального отчета
УниверсальныйОтчет.УстановитьНачальныеНастройки(Ложь);

// Добавление дополнительных полей
// Необходимо вызывать для каждого добавляемого дополнительного поля.
УниверсальныйОтчет.ДобавитьДополнительноеПоле("ЧислоДней");
УниверсальныйОтчет.ДобавитьДополнительноеПоле("ГлубинаКредитнойЛинии");
УниверсальныйОтчет.ДобавитьДополнительноеПоле("ВидВзаиморасчетов");
//УниверсальныйОтчет.ДобавитьДополнительноеПоле("НачОстаток",ТипРазмещенияРеквизитовИзмерений.Отдельно);

КонецПроцедуры // УстановитьНачальныеНастройки()
E_Migachev
16.08.2011 09:56Ответ № 2
В запросе вытащи его как поле и добавь в группировку
acherey
16.08.2011 10:08Ответ № 3
2 E_Migachev , если не трудно, расскажите подробнее как это сделать, не разбирусь никак
Изменено 16.08.11 10:08:53
E_Migachev
16.08.2011 11:34Ответ № 4
(3) acherey, перед запросом у тебя есть комментарий, возьми от туда период неделя и расставь в запрос ниже, также как и в комментарии
acherey
16.08.2011 12:41Ответ № 5
E_Migache? помогите с первыми пункатами, дальше думаю сам разберусь, например как вот это переделать:
Код 1C v 8.х
 //ВЫБРАТЬ
// <ПсевдонимТаблицы.Поле> КАК <ПсевдонимПоля>,
// ПРЕДСТАВЛЕНИЕ(<ПсевдонимТаблицы>.<Поле>),
// <ПсевдонимТаблицы.Показатель> КАК <ПсевдонимПоказателя>
// //ПОЛЯ_СВОЙСТВА
// //ПОЛЯ_КАТЕГОРИИ
//{ВЫБРАТЬ
// <ПсевдонимПоля>.*,
// <ПсевдонимПоказателя>,
// Регистратор,
// Период,
// ПериодДень,
// ПериодНеделя,
// ПериодДекада,
// ПериодМесяц,
// ПериодКвартал,
// ПериодПолугодие,
// ПериодГод
// //ПОЛЯ_СВОЙСТВА
// //ПОЛЯ_КАТЕГОРИИ
E_Migachev
16.08.2011 14:34Ответ № 6
(5) acherey, от сюла берешь ПериодНеделя, и коприруешь в запрос (который черным)
acherey
31.08.2011 10:58Ответ № 7
Благодарю, всё получилось
Подсказка: Щелникни по Имени пользователя напротив ответа, и тем самым покажешь, что сообщение адресовано ему.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.