|
Дни до конца месяца
| ☑ |
0
Ната48
19.09.15
✎
00:05
|
Подскажите,пожалуйста, что не так пишу:реализуется путевка в текущем месяце, нужно подсчитать количество дней по этой путевки от даты начала путевки до конца текущего месяца (здесь небольшой нюанс - путевка может закончиться в текущем месяце, а может продлиться в следующем) вот код:
Если
ДатаОкончания >= КонецМесяца (СрокЗаезда) Тогда
КоличествоДнейНС = (КонецМесяца (СрокЗаезда) - НачалоДня (СрокЗаезда))/86400-86400;
Иначе КоличествоДнейНС = КолДней;
КонецЕсли;
ДатаОкончания - это конец срока по путевке,
СрокЗаезда- это начало срока
КоличествоДнейНС - это количество дней в текущем месяце
если путевка закончилась в текущем месяце, то считается все правильно, а если в следующем, то дни до конца месяца считаются неправильно. помогите, запуталась совсем(((
|
|
1
Asmody
19.09.15
✎
00:14
|
скорее всего дело в том, что НачалоДня - это первая секунда этого дня, а КонецМесяца - последняя секунда месяца.
|
|
2
Asmody
19.09.15
✎
00:16
|
и зачем разделить на 86400, а потом еще вычесть 86400?
|
|
3
Asmody
19.09.15
✎
00:19
|
(НачалоДня(КонецМесяца (СрокЗаезда) ) - НачалоДня (СрокЗаезда))/86400
|
|
4
Ната48
19.09.15
✎
00:22
|
Вычитаю потому что иначе дата будет больше на 1. По видимому считаются дни без учета даты заезда
|
|
5
Ната48
19.09.15
✎
00:33
|
Спасибо, получилось!!! И неправильно я вычитала 86400 - надо вычитать 1, конечно))) спасибо еще раз!!!
|
|
6
Asmody
19.09.15
✎
00:33
|
(4) А почему из дней секунды вычитаешь?
|
|
7
Asmody
19.09.15
✎
00:35
|
весело вы начало выходных проводите
|
|
8
Serg_1960
19.09.15
✎
00:35
|
Запрос = Новый Запрос("ВЫБРАТЬ РАЗНОСТЬДАТ(&Дата1, &Дата2, ДЕНЬ) КАК РазностьВДнях");
Запрос.УстановитьПараметр("Дата1", Дата1);
Запрос.УстановитьПараметр("Дата2", Дата2);
Возврат Запрос.Выполнить().Выгрузить()[0].РазностьВДнях;
|
|
9
Serg_1960
19.09.15
✎
00:40
|
ОбщегоНазначения.РазобратьРазностьДат() возвращает дни, месяцы, года...
|
|
10
Ната48
19.09.15
✎
00:54
|
Спасибо всем, кто откликнулся!!! Воистину волшебный форум)))
|
|