|
Вычитание дат |
☑ |
0
bas28000
02.07.13
✎
12:44
|
Есть код:
ПрошлоВремениСНачалаЗапуска = ТекущаяДата() - НачалоДня(ТекущаяДата()) - сл_НачалоРаботы;
Где сл_НачалоРаботы = это реквизит на форме, формата Дата. На данной строке вываливается такая ошибка:
{ВнешняяОбработка.ШедулерFTP.МодульОбъекта(11)}: Преобразование значения к типу Число не может быть выполнено
ПрошлоВремениСНачалаЗапуска = ПрошлоВремениСНачалаЗапуска - сл_НачалоРаботы;
Хотя при проверке в Табло всех трех вычитаемых друг из друга выражений все они типа Дата, все вроде бы записаны верно. При этом если убрать третий член выражения:
ПрошлоВремениСНачалаЗапуска = ТекущаяДата() - НачалоДня(ТекущаяДата()) - сл_НачалоРаботы;
то все работает нормально, вычитание происходит без запинки. В чем проблема, не подскажете?
|
|
1
Fragster
гуру
02.07.13
✎
12:45
|
от числа нельзя дату отнимать
|
|
2
Fragster
гуру
02.07.13
✎
12:45
|
а от даты число - можно
|
|
3
zak555
02.07.13
✎
12:45
|
а так ?
ПрошлоВремениСНачалаЗапуска = ТекущаяДата() - (НачалоДня(ТекущаяДата()) - сл_НачалоРаботы);
|
|
4
bas28000
02.07.13
✎
12:45
|
А, в смысле что при вычитании первого члена из второго получается уже не дата а число? Точно.
|
|
5
zak555
02.07.13
✎
12:46
|
хотя результат будет не тот
|
|
6
anddro
02.07.13
✎
12:50
|
ПрошлоВремениСНачалаЗапуска = ('00010101' + (ТекущаяДата() - НачалоДня(ТекущаяДата()))) - сл_НачалоРаботы;
1. Вычитаешь из даты дату - получаешь число.
2. Складываешь число с пустой датой - получаешь дату.
3. Вычитаешь из даты дату.
|
|
7
Fragster
гуру
02.07.13
✎
12:54
|
а просто ПрошлоВремениСНачалаЗапуска = ТекущаяДата() - сл_НачалоРаботы; не модно?
|
|
8
Godofsin
02.07.13
✎
12:59
|
(7) +1. тоже не понял формулы из (0)
|
|