|
СКД: создание отчета, добавить новую колонку с вычислением | ☑ | ||
|---|---|---|---|---|
|
0
Arond
12.09.09
✎
12:08
|
создание отчета, добавить новую колонку с вычислением
Доброго времени суток, вопрос, конечно, может для многих показаться элементарным, но прошу уделить немного времени. Цель у меня такая: в отчет добавить колонку, в которую будет выводиться разность дат, в числовом формате (к примеру, 10.10.09 – 03.10.09 = 7). Данные берутся из запроса в СКД. В конструкторе запроса задал &КоличествоДней, но при попытки описать формулу расчета данной переменно, получил ошибку. Может быть, я не в том месте пытаюсь выполнить эту задачу? Заранее благодарен за ответ. p.s. сильно не ругайте, я только учусь.. |
|||
|
1
Vitello
12.09.09
✎
12:15
|
Вычисляй лучше сразу в запросе. См. РазностьДат.
Про параметр КоличествоДней не понял... |
|||
|
2
Arond
15.09.09
✎
08:30
|
to Vitello: по количеству дней, создал данную переменную для того, чтобы, добавить новую пустую колонку в отчет, как я понял это делается так, с условием того, что все делается в схеме компоновки данных. Даты берутся из табличной части с параметрами отчета. собственно эта самая колонка и должна быть заполнена.
|
|||
|
3
Vitello
15.09.09
✎
09:04
|
>Даты берутся из табличной части с параметрами отчета
это как? Показывай как делал. |
|||
|
4
hhhh
15.09.09
✎
09:04
|
(2) ну так и заполняй ее в запросе, чего ты откладываешь на потом. Даты у тебя в запросе есть, функция РАЗНОСТЬДАТ() тоже.
|
|||
|
5
Arond
15.09.09
✎
11:30
|
Выглядит это так,в схеме компановки данных:
ВЫБРАТЬ ДоговорЗайма.Агент, ДоговорЗайма.Договор, ДоговорЗайма.Сумма, ДоговорЗайма.Дата, ДоговорЗайма.ДатаНачала, ДоговорЗайма.ДатаОкончания, &КоличествоДней ИЗ Документ.ДоговорЗайма КАК ДоговорЗайма ГДЕ ДоговорЗайма.Дата < &КонецПериода И ДоговорЗайма.ДатаОкончания > &НачалоПериода &КонецПериода и &НачалоПериода берется из табличного поля в форме отчета. где тип данных КомпоновщикНастроек.Настройки.ПараметрыДанных. Так вот, я не знаю как мне в запросе (компоновщика), рассчитать данные для &КоличествоДней, ещё и условие нужно будет ставить, чтобы в разных ситуациях по разному рассчитывалось, меня терзают сомнения, что в компоновщике это возможно выполнить. да и учитывая мой опыт. Надо ещё понять как именно это делать. |
|||
|
6
IronDemon
15.09.09
✎
11:41
|
РазностьДат(&НачалоПериода,&КонецПериода,"День")+1
|
|||
|
7
Arond
15.09.09
✎
13:18
|
to IronDemon:
поместил ОсновнаяСхемаКопоновкиДанных - Параметры - Выражение. Помогло, спасибо огромное. Но задача, так и не решена. Нужно создать некое условие, как я смог понять, КоличествоДней высчитывается по- разному в зависимости от того в каких границах находится документ. Скажем так, если ДоговорЗайма.ДатаНачала находится в рамках периода, а ДоговорЗайма.ДатаОкончания нет, то расчет будет РазностьДат(ДоговорЗайма.ДатаНачала,&КонецПериода,"День")+1, если ДоговорЗайма.ДатаОкончания в рамках периода, то РазностьДат(ДоговорЗайма.ДатаНачала,ДоговорЗайма.ДатаОкончания,"День")+1, и т.д. получается 4 варианта расчета. И я не знаю, как мне провести эти условия, в Компоновщике. Буду ждать Вашего ответа. Заранее спасибо! |
|||
|
8
IronDemon
15.09.09
✎
13:27
|
(7) Параметры тут не причем. Нужно в запросе проверять эти условия.
|
|||
|
9
Arond
16.09.09
✎
11:27
|
to IronDemon:
РезультатЗапроса = Запрос.Выполнить(); Если не РезультатЗапроса.Пустой() Тогда //тут условия в которых и будет браться та, или иная РазностьДат КонецЕсли; правельно понимаю ? Тогда другой немного вопрос, может я просто запутался, как мне в запросе указать, что &НачалоПериода и КонецПериода берутся из табличного поля? |
|||
|
10
Arond
18.09.09
✎
08:28
|
Попробовал провести в запросе, на что мне было сказано: «Не найдена процедура или функция: РазностьДат», теперь запутался окончательно..
|
|||
|
11
Vitello
18.09.09
✎
09:44
|
(10)Здрасте...
Версия платформы? |
|||
|
12
Arond
18.09.09
✎
14:14
|
to Vitello: 1c8.1
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |