|
Почему так не работает в запросе? Пишет неверные параметы Дата-время? | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
06.02.23
✎
16:11
|
ПО ТПодсчеты.Дата МЕЖДУ
ДАТАВРЕМЯ(ГОД(&НачалоДня), МЕСЯЦ(&НачалоДня), ДЕНЬ(&НачалоДня), ЧАС(Т.ВремяНачала), МИНУТА(Т.ВремяНачала), СЕКУНДА(Т.ВремяНачала)) И ДАТАВРЕМЯ(ГОД(&НачалоДня), МЕСЯЦ(&НачалоДня), ДЕНЬ(&НачалоДня), ЧАС(Т.ВремяОкончания), МИНУТА(Т.ВремяОкончания), СЕКУНДА(Т.ВремяОкончания)) |
|||
1
Kassern
06.02.23
✎
16:12
|
(0) Гениально!
|
|||
2
Garykom
гуру
06.02.23
✎
16:14
|
(0) ыыы
|
|||
3
Kassern
06.02.23
✎
16:15
|
Дайте угадаю, наверное вы неправильные параметры суете в конструкцию ДатаВремя?)
|
|||
4
Mort
06.02.23
✎
16:16
|
То что ДАТАВРЕМЯ не функция, а литерал разве что на заборах не пишут.
|
|||
5
Kassern
06.02.23
✎
16:19
|
Предлагаю вам гениальное решение))
ДОБАВИТЬКДАТЕ(&НачалоДня, СЕКУНДА, РАЗНОСТЬДАТ(ДАТАВРЕМЯ(1, 1, 1), &Время, СЕКУНДА)) - Как дата с временем) |
|||
6
Garykom
гуру
06.02.23
✎
16:19
|
(0) Два условия сделай
МЕЖДУ НачалоПериода(&НачалоДня, День) И КонецПериода(&НачалоДня, День) и второе на время |
|||
7
Mort
06.02.23
✎
16:21
|
Но гениальность в (0) необходимо развить:
.... МЕЖДУ ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), ГОД, ГОД(&НачалоДня)), МЕСЯЦ, МЕСЯЦ(&НачалоДня))... и т.д. |
|||
8
RomanYS
06.02.23
✎
16:22
|
(5) Не, гениально будет текст запроса кодом изменять)))
|
|||
9
Kassern
06.02.23
✎
16:25
|
(8) Не, ну а что? Работать же будет))
ПО ТПодсчеты.Дата МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоДня, СЕКУНДА, РАЗНОСТЬДАТ(ДАТАВРЕМЯ(1, 1, 1), Т.ВремяНачала, СЕКУНДА)) И ДОБАВИТЬКДАТЕ(&НачалоДня, СЕКУНДА, РАЗНОСТЬДАТ(ДАТАВРЕМЯ(1, 1, 1),Т.ВремяОкончания, СЕКУНДА)) |
|||
10
Гений 1С
гуру
06.02.23
✎
16:58
|
(5) я так и переписал в итоге: https://geniy1s.ru/manipulyaczii-so-vremenem/
|
|||
11
Гений 1С
гуру
06.02.23
✎
16:59
|
(8) не получится, там нужно от другой таблицы считать время, если ДатаВремя - это литерал, не сработает.
|
|||
12
magicSan
06.02.23
✎
19:26
|
(10) какой ужас, он ещё и сайты делает.
|
|||
13
Сергиус
06.02.23
✎
20:34
|
(0)А чего бы просто две даты не передавать на начало и конец дня?
|
|||
14
Гений 1С
гуру
06.02.23
✎
21:04
|
(13) потому что там интервалов много, в регистре сидят
|
|||
15
Said_We
07.02.23
✎
13:17
|
(14) Тогда параметры вообще не нужны, если у вас уже есть готовые даты в регистре.
|
|||
16
Гений 1С
гуру
07.02.23
✎
15:25
|
(15) ну текущий момент времени однозначно надо передать.
|
|||
17
magicSan
07.02.23
✎
15:30
|
(16) "&ТекущееВремя МЕЖДУ Т.ВремяНачала И Т.ВремяОкончания" вот из этого ты такое нагородил - зачем?
у тебя же банально проверка на нахождение в регистре записи |
|||
18
Гений 1С
гуру
07.02.23
✎
15:33
|
(17) мне нужно проверять только те интервалы, которые входят в текущее время
|
|||
19
Конструктор1С
07.02.23
✎
15:53
|
(0) очередное хениальное дно
|
|||
20
magicSan
08.02.23
✎
07:02
|
(18) во первых интервалы не входят во время во вторых
"В регистре _ИнтервалыПодсчетаКассы хранится время начала и окончания, когда надо подсчитывать кассу. В регистре _ПодсчетыКассы хранятся отметки о подсчете кассы. Нужно в запросе понимать, нужно ли в текущий момент напоминать пользователю о том, что кассу нужно посчитать. Если интервал открыт, то нужно, но если в этот интервал пользователь уже посчитал кассу, не нужно" зачем первый регистр вообще нужен? |
|||
21
НафНаф
08.02.23
✎
07:58
|
Если бы автор спроектировал регистры так, чтобы в них хранилось число секунд от начала даты, то проблем было бы меньше. Такой вот архитектор.
Кстати, в 1С нет вычисляемых свойств объектов, что говорит том, что 1С вынуждает либо дублировать код, либо хранить эти вычисляемые данные. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |