Период.ДатаНачала невозможно изменить.

1. Aleksey_Abramov 20.08.24 16:15 Сейчас в теме
В отчёте ПриКомпоновкеРезультата получаю период отчета
ПараметрПериод = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Период"));
Период = ПараметрПериод.Значение;

Если в периоде не заполнена дата начала, то пытаюсь его изменить, добавив 1 секунду:
Если Не ЗначениеЗаполнено(Период.ДатаНачала) Тогда
	Период.ДатаНачала = Период.ДатаНачала + 1;
КонецЕсли;

Если после выполнения операции поставить точку останова и вычислить выражение "Период.ДатаНачала", то оно равно 01.01.0001 0:00:00. Если вычислить "Период.ДатаНачала + 1", то оно равно 01.01.0001 0:00:01.
Почему так?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. spacecraft 20.08.24 16:55 Сейчас в теме
(1) стандартный период оперирует датой без времени. Следовательно добавление 1 секунды никак не скажется на результате. Если добавить день, то должно отрабатывать.
user1671936; Aleksey_Abramov; +2 Ответить
7. Aleksey_Abramov 21.08.24 09:09 Сейчас в теме
(3) Спасибо, помогло) Кстати, ваши ответы часто помогают, спасибо👍
4. usershmuser 20.08.24 17:15 Сейчас в теме
(1)
Если в периоде не заполнена дата начала

и название темы не вяжется.
Вопрос в чем заключается? Как работать с датами или почему начало отсчета даты 01.01.0001, или почему +1 прибавляет секунду?
2. starjevschik 20.08.24 16:19 Сейчас в теме
придумай название переменной какое-нибудь более уникальное.
ПериодИзПараметра
5. jmw 61 21.08.24 07:09 Сейчас в теме
Если Период.ДатаНачала = '0001-01-01' Тогда
    Период.ДатаНачала = Период.ДатаНачала + 86400;
КонецЕсли;
6. muskul 21.08.24 07:35 Сейчас в теме
Просто в скд никогда не следует называть параметр период. лучше выбпериод, периодпользователя или еще как нибудь. сам период зарезервирован и работа с ним часто вызывает подобные непонятные ошибки
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот