|
Выбор параметры даты в модуле отчета на СКД | ☑ | ||
---|---|---|---|---|
0
amadeus2010
03.05.12
✎
10:21
|
Доброе утро, имеется отчет на СКД, в форме отчета в процедуре УстановитьПараметрыПериода, имеются 4 параметра даты НачПериод,КонПериод, НачПериодапрошлыйгод и КонПериодапрошлыйгод.На форме отчета есть поле выбора даты НачПериода и КонПериода.При выборе даты в этих полях прошлый период должен рассчитываться как ДобавитьМесяц(КонПериода, -12). Но в результате при заполнении дат в Настройки пишется например следующее:
НачПериод 03.05.2012,а НачПериодпрошлый год 01.01.2011,хотя должно быть так 03.05.2011.Вот код процедуры Процедура УстановитьПараметрыПериода() СхемаКомпоновкиДанных = ПолучитьМакет("СравнительныйАнализПродаж"); КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию); Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("КонПериод"));; Параметр.Значение = КонецДня(КонПериода); Параметр.Использование = Истина; Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("НачПериод"));; Параметр.Значение = НачПериода; Параметр.Использование = Истина; Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("НачПериодпрошлыйгод"));; Параметр.Значение =НачалоГода(ДобавитьМесяц(НачПериода, -12)); Параметр.Использование = Истина; Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("КонПериодпрошлыйгод"));; Параметр.Значение = КонецГода(ДобавитьМесяц(КонПериода, -12)); Параметр.Использование = Истина; КонецПроцедуры Процедура ВыбПериодНажатие(Элемент) НастройкаПериода = Новый НастройкаПериода; НастройкаПериода.УстановитьПериод(НачПериода, ?(КонПериода='0001-01-01', КонПериода, КонецДня(КонПериода))); НастройкаПериода.РедактироватьКакИнтервал = Истина; НастройкаПериода.РедактироватьКакПериод = Истина; НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период; Если НастройкаПериода.Редактировать() Тогда НачПериода = НастройкаПериода.ПолучитьДатуНачала(); КонПериода = НастройкаПериода.ПолучитьДатуОкончания(); КонецЕсли; УстановитьПараметрыПериода() КонецПроцедуры |
|||
1
Cube
03.05.12
✎
10:23
|
(0) Не надоело темы плодить? В одной всё написать нельзя что ли?
v8: как в СКД вычислить год назад от текущей даты v8: как в СКД вычислить год назад от текущей даты |
|||
2
amadeus2010
03.05.12
✎
10:27
|
просто возникают разные вопросы,пишу в одной теме, ответа нет,приходится заводить новые темы.А что по вопросу можно сделать
|
|||
3
Cube
03.05.12
✎
10:30
|
(2) У тебя один и тот же вопрос в трех разных темах, ващета...
А по сабжу: так если ты пишешь НачалоГода(ДобавитьМесяц(НачПериода, -12)), то как ты собираешься получить 03.05.2011, а не начало года? Что написал - то и получил. |
|||
4
amadeus2010
03.05.12
✎
10:43
|
т.е вместо НачалоГода(ДобавитьМесяц(НачПериода, -12)) написать НачалоДня(ДобавитьМесяц(НачПериода, -12)); или просто параметр.значение=ДобавитьМесяц(НачПериода, -12) Верно мыслю?
|
|||
5
Cube
03.05.12
✎
10:45
|
(4) Проверить быстрее, чем пост на мисте написать...
|
|||
6
amadeus2010
03.05.12
✎
10:46
|
проверил отображает даты как надо,спасибо за совет
|
|||
7
amadeus2010
04.05.12
✎
16:51
|
Добрый вечер у меня по вопрос по поводу расчетов процентов по итогам в группе в отчете СКД.В ресурсах есть поля которые рассчитывают процент продаж за период прошлого и текущего года. Если считать как ТоварПроцент=Товартекгод/Товарпрошлыйгод*100 то считает без проблем, по отдельности итоговые поля также считаются нормально,но вот итоги по процентам дают неверный результат.
Сумма(Аквавитапрошлыйгод)-прописал в Ресурсы, а вот такая формула в Ресурсы Выбор Когда ЕстьNull(Аквавитатекгод,0)=0 И ЕстьNull(Аквавитапрошлыйгод,0)=0 тогда 100 Когда ЕстьNull(Аквавитапрошлыйгод,0)=0 тогда 100 Когда ЕстьNull(Аквавитатекгод,0)=0 Тогда 0 иначе (Аквавитатекгод/Аквавитапрошлыйгод)*100 конец считает процент неправильно.Добавлял Сумма(Выбор Когда....конец),тоже не считает правильно. |
|||
8
amadeus2010
04.05.12
✎
16:53
|
т.е мне нужно чтобы считался результ по такой схеме
(ИтогТоварТекгод/ИтогТоварпрошлыйгод)*100 |
|||
9
amadeus2010
04.05.12
✎
17:21
|
нашел такое решение вопроса
Выбор Когда ЕстьNull(сумма(Аквавитатекгод),0)=0 И ЕстьNull(сумма(Аквавитапрошлыйгод),0)=0 тогда 100 Когда ЕстьNull(сумма(Аквавитапрошлыйгод),0)=0 тогда 100 Когда ЕстьNull(сумма(Аквавитатекгод),0)=0 Тогда 0 иначе (сумма(Аквавитатекгод)/сумма(Аквавитапрошлыйгод))*100 конец |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |