Имя: Пароль:
1C
1С v8
Как УстановитьПараметр для УниверсальныйОтчет?
0 Mikhail Volkov
 
23.09.12
19:41
Если бы это был обычный отчет, то вписал бы:
Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата());
но этот отчет использует УниверсальныйОтчет УТ10.3.
Как ему УстановитьПараметр?
1 Web00001
 
23.09.12
19:47
а какой надо установить параметр? Этот параметр случаем в реквизитах не указан?
2 Mikhail Volkov
 
23.09.12
19:51
В ОтчетПоКредитнойЛинии попросили добавить "Дата оплаты". А если нет документа оплаты, то она должна быть равна текущей дате. Чтобы считать дни просрочки.
3 Mikhail Volkov
 
23.09.12
19:55
В отчете есть "Срок оплаты" - это когда клиент должен оплатить. Еще понадобилась "Дата оплаты" - по факту.
4 DrShad
 
23.09.12
20:01
имхается что это не параметр
5 Mikhail Volkov
 
23.09.12
20:07
(4) Тогда как в запрос вставить значение ТекущаяДата()?
6 BigShmax
 
23.09.12
20:08
(5) В универсальном отчете есть секция где можно задавать параметры
7 Mikhail Volkov
 
23.09.12
20:09
С пустой датой просто:
ВЫБОР
   КОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовРасход > 0
       ТОГДА ВзаиморасчетыОстаткиИОбороты.Регистратор.Дата
   ИНАЧЕ ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
КОНЕЦ
А как текущую?
8 BigShmax
 
23.09.12
20:09
// Процедура формирования отчета
//
Процедура СформироватьОтчет(ТабличныйДокумент) Экспорт
   
   // Перед формирование отчета можно установить необходимые параметры универсального отчета.
   УниверсальныйОтчет.ПостроительОтчета.Параметры.Вставить("Приход", ВидДвиженияНакопления.Приход);
   УниверсальныйОтчет.ПостроительОтчета.Параметры.Вставить("Расход", ВидДвиженияНакопления.Расход);
   
   УниверсальныйОтчет.СформироватьОтчет(ТабличныйДокумент,,, ЭтотОбъект);

КонецПроцедуры // СформироватьОтчет()
9 Mikhail Volkov
 
23.09.12
20:11
(6) Можно носом ткнуть, где это?
10 BigShmax
 
23.09.12
20:13
(9)   дык в (8) ткнул  ткнутее некуда :-)
11 cosmo_pro
 
23.09.12
20:15
В модуле отчета процедура УстановитьНачальныеНастройки
12 Mikhail Volkov
 
23.09.12
20:15
(10) Ок! Спс
13 Mikhail Volkov
 
25.09.12
06:53
А еще вопросик. "Дата оплаты" по факту в отчет добавил:
   |    ВЫБОР    КОГДА &Предоставленные = 1
   |            ТОГДА ВЫБОР    КОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовРасход > 0
   |                        ТОГДА ВзаиморасчетыОстаткиИОбороты.Регистратор.Дата
   |                       ИНАЧЕ &ТекущаяДата
   |                  КОНЕЦ
   |            ИНАЧЕ ВЫБОР    КОГДА ВзаиморасчетыОстаткиИОбороты.СуммаВзаиморасчетовПриход > 0
   |                        ТОГДА ВзаиморасчетыОстаткиИОбороты.Регистратор.Дата
   |                       ИНАЧЕ &ТекущаяДата
   |                  КОНЕЦ
   |    КОНЕЦ                                                            КАК ДатаОплаты  

"Срок оплаты" по договору уже был в запросе:
   |    ВЫБОР    КОГДА &СпособКонтроляДнейЗадолженности = ЗНАЧЕНИЕ(Перечисление.СпособыКонтроляДнейЗадолженности.ПоРабочимДням)
   |            ТОГДА ЕСТЬNULL(РабочаяДатаВзаиморасчетыОстаткиИОбороты.ДатаКалендаря, ДАТАВРЕМЯ(0001,01,01,00,00,00))
   |            ИНАЧЕ ДОБАВИТЬКДАТЕ(ВзаиморасчетыОстаткиИОбороты.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыОстаткиИОбороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности)
   |    КОНЕЦ                                                            КАК Срок  

Теперь попросили добавить разницу этих дат - типа на сколько дней просрочена оплата поставки. Функция просто в виде
РАЗНОСТЬДАТ(ДатаОплаты, Срок, ДЕНЬ)
катит... вроде как в нее надо вставлять 2 предыдущие конструкции... или исходный запрос делать вложенным. А как-то проще нельзя?
14 echo77
 
25.09.12
06:59
Или вложенный или ВТ или еще разписать эту длинную хрень
15 Mikhail Volkov
 
25.09.12
08:20
(14) Что проще для переделки конструктором вложенный или ВТ?
16 Mikhail Volkov
 
26.09.12
01:42
В отчет Продажи надо вывести количество наименований номенклатуры. Это можно настройкой отчета сделать, не внося изменений в конфигурацию?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.