Арифметические операции в условии запроса возможны? #669756


#0 by Shur1cIT
пытаюсь изобразить условие запроса РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаПроверки, МЕСЯЦ) И НАЧАЛОПЕРИОДА(&ДатаПроверки, МЕСЯЦ) + 7-ДЕНЬНЕДЕЛИ(НАЧАЛОПЕРИОДА(&ДатаПроверки, МЕСЯЦ)))*86400 в результате запрос ругается похелпите как сделать?
#1 by Shur1cIT
то есть имеем на входе произвольную дату месяца, необходимо получить первую дату месяца и последнею дату первой недели месяца
#2 by Trainee
1)РАЗНОСТЬДАТ Первая дата месяца - это что?
#3 by Shur1cIT
на входе 19 июня 2013 г с помощью НАЧАЛОПЕРИОДА(&ДатаПроверки, МЕСЯЦ) получаем 1 июня 2013 г с помощью НАЧАЛОПЕРИОДА(&ДатаПроверки, МЕСЯЦ) + 7-ДЕНЬНЕДЕЛИ(НАЧАЛОПЕРИОДА(&ДатаПроверки, МЕСЯЦ)))*86400 получаем 2 июня 2013 г
#4 by Shur1cIT
в мае конец первой недели например 5 мая 2013 г в дальнейшим я определяю рабочая эта неделя или нет
#5 by ale-sarin
ДОБАВИТЬКДАТЕ(<Дата>, <Тип>, <Количество>)
#6 by Trainee
А передать в запрос уже даты никак?
#7 by Wobland
первое мая плюс двадцать - это что за арифтемтика?
#8 by Shur1cIT
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ДатаПроверки, МЕСЯЦ), ДЕНЬ, 7 - ДЕНЬНЕДЕЛИ(НАЧАЛОПЕРИОДА(&ДатаПроверки, МЕСЯЦ)) * 86400) сработало, спасибо но почему с плюсом не захотел?
#9 by Wobland
ответь на - поймёшь
#10 by Shur1cIT
это значит первое мая 00 часов 00 минут 20 секунд
#11 by Aprobator
а нефиг дату с числом в запросе складывать.
#12 by ale-sarin
Че-то я не пойму, а нахрена *86400?
#13 by Shur1cIT
ок понял спасибо не ожидал что в запросе преобразование типов автоматом не работают
#14 by Wobland
почему именно секунд?
#15 by Shur1cIT
секунд в сутках 24*60*60
#16 by acsent
в запросах нельзя разные типы складывать
#17 by ale-sarin
Ого. Америку мне открыл? Я имею ввиду, зачем  этом случае это надо? ДЕНЬНЕДЕЛИ(НАЧАЛОПЕРИОДА(&ДатаПроверки, МЕСЯЦ)) - что вернет?
#18 by Shur1cIT
вот полная картина запроса ВЫБРАТЬ    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря,    РегламентированныйПроизводственныйКалендарь.ВидДня ИЗ    РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь ГДЕ    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ НАЧАЛОПЕРИОДА(ДвиженияДенежныхСредств.Период, МЕСЯЦ) И ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ДвиженияДенежныхСредств.Период, МЕСЯЦ), ДЕНЬ, 7 - ДЕНЬНЕДЕЛИ(НАЧАЛОПЕРИОДА(ДвиженияДенежныхСредств.Период, МЕСЯЦ)) * 86400)
#19 by mikecool
не занимайся ерундой, все уже написано для тебя - сходи в поиск
#20 by ale-sarin
Вот смотри. Ты пишешь: Давай расшифруем. Пусть ДвиженияДенежныхСредств.Период = 01.06.2013. И получается ДОБАВИТЬКДАТЕ(01.06.2013, ДЕНЬ, 7 - 6 * 86400). Интересно, что это? Или я туплю по-черному?
#21 by Aprobator
да конец недели ему нужен имхо. Запутался просто в трех соснах.
#22 by ale-sarin
Это тоже понятно. Нафига *86400?
#23 by Shur1cIT
точно 86400 лишнее
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С