|
Вычитание дат | ☑ | ||
|---|---|---|---|---|
|
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)
|
| Форум | Правила | Описание | Секции | Поиск |