|
Конец периода в СКД | ☑ | ||
---|---|---|---|---|
0
Анцеранана
29.05.14
✎
14:20
|
Уважаемые коллеги. Есть отчет в СКД - получает остатки по регистру сведений взаиморасчеты на дату (30.04.2014). Однако в него попадает остаток, который закрылся в 30.04.2014 23:59:59.В моем отчете Параметр СКД устанавливается при выборе даты:
Процедура ДатаКонПриИзменении(Элемент) // Вставить содержимое обработчика. УстановитьПараметрДаты("КонецПериода",КонецДня(Элемент.Значение)); КонецПроцедуры Процедура УстановитьПараметрДаты(ИмяПараметра,Значение) Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти(ИмяПараметра); Если НЕ Параметр = Неопределено Тогда Параметр.Значение = Значение; Параметр.Использование = Истина; КонецЕсли; КонецПроцедуры За закладке "параметры" указано напротив параметра КонецПериода: КонецПериода(&КонецПериода,"День") Что-то я делаю не так. При формировании отчета за 01.05.2014 (оборотов за этот день не было) контрагент не попадает, но сумма меняется. Почему СКД не видит последнюю секунду? PS Параметр в запросе СКД если что указан в фигурных скобочках |
|||
1
wowik
29.05.14
✎
14:34
|
КонецПериода(&КонецПериода,"День") + 1, мне кажется...
|
|||
2
nufnufcheg
29.05.14
✎
14:37
|
у меня для таких случаев сделано так:
два параметра КонецПериода и КонецПериодаГраница. КонецПериода ты устанавливаешь сам, а в параметре КонецПериодаГраница в СКД устанавливаешь выражение ОбщийМодульСКД.КонецПериода(&КонецПериода, "День") а в общем модуле ОбщийМодульСКД добавляешь процедуру: Функция КонецПериода(Дата, Период) Экспорт Период = ВРег(Период); Если Период = "МИНУТА" Тогда Возврат Новый Граница(КонецМинуты(Дата), ВидГраницы.Включая); ИначеЕсли Период = "ЧАС" Тогда Возврат Новый Граница(КонецЧаса(Дата), ВидГраницы.Включая); ИначеЕсли Период = "ДЕНЬ" Тогда Возврат Новый Граница(КонецДня(Дата), ВидГраницы.Включая); ИначеЕсли Период = "НЕДЕЛЯ" Тогда Возврат Новый Граница(КонецНедели(Дата), ВидГраницы.Включая); ИначеЕсли Период = "МЕСЯЦ" Тогда Возврат Новый Граница(КонецМесяца(Дата), ВидГраницы.Включая); ИначеЕсли Период = "КВАРТАЛ" Тогда Возврат Новый Граница(КонецКвартала(Дата), ВидГраницы.Включая); ИначеЕсли Период = "ГОД" Тогда Возврат Новый Граница(КонецГода(Дата), ВидГраницы.Включая); Иначе Возврат Дата; КонецЕсли; КонецФункции |
|||
3
Franchiser
гуру
29.05.14
✎
23:40
|
(1) потому что используешь регистр остатков или остатков и оборотов. Прибавляй секунду или используй границу. Или еще вариант стандартный период.
|
|||
4
EvgeniuXP
29.05.14
✎
23:42
|
(0) потому что так сделали разработчики платформы 1С - их это устраивает.
|
|||
5
vicof
30.05.14
✎
01:40
|
(3) Стандартный понятнее и эстетичнее
|
|||
6
echo77
30.05.14
✎
07:26
|
Это не СКД, это виртуальная таблица остатков берет остатки на начало секунды
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |