|
Как получить разницу между концом первой и началом последней ? |
☑ |
0
Босечка
29.01.14
✎
13:57
|
В документе в табличной части есть ДатаНачала и ДатаКонца. Необходимо вычислить разницу в датах между концом первой строки и началом второй, концом второй и началом третьей и т.д.
Документы я загнала в таблицу значений.
тз = Новый ТаблицаЗначений;
тз = Запрос.Выполнить().Выгрузить();
тз.ВыбратьСтроку();
Для Каждого ТекущаяСтрока Из ТЗ Цикл
ТехЗадание=ТекущаяСтрока.Документ;
Для Каждого ТекущаяСтрока1 Из ТекущаяСтрока.Работы Цикл
....................................
Конеццикла;
Конеццикла;
|
|
1
Любопытная
29.01.14
✎
14:01
|
Ходить по строкам с использованием индекса строки
|
|
2
Рэйв
29.01.14
✎
14:02
|
Сч=-1;
Для Каждого Стр Из ТекущаяСтрока.Работы Цикл
Сч=Сч+1;
Если Стр>=0 Тогда
Разница=""(Стр.ДатаНач-ТекущаяСтрока.Работы[Сч-1].ДатаКон)/86400 +" дней"
Сообщить("Разница"+Разница)
КонецЕсли;
Конеццикла;л
|
|
3
Enders
29.01.14
✎
14:02
|
Ну и, где вопрос?
В конце второго цикла запоминаете предыдущее значение строки(или конца периода) и сравниваете с текущим.
Ну и и к (1)+
|
|
4
AlexTim03
29.01.14
✎
14:02
|
А можно запросом, соединениние по номеру строки:
леваячасть.номерстроки +1 = праваячасть.номерстроки
|
|
5
Рэйв
29.01.14
✎
14:02
|
Разница=""+...
|
|
6
Ненавижу 1С
гуру
29.01.14
✎
14:02
|
это надо было еще в запросе сделать
|
|
7
Босечка
29.01.14
✎
14:09
|
(6) Понятно, а как?
|
|
8
Тьма
29.01.14
✎
14:21
|
|
|
9
Босечка
29.01.14
✎
15:37
|
(2) На СТр>=0 ругается, что Операции сравнения допустимы только для значений совпадающих примитивных типов(Булево, Число, строка, дата)
|
|
10
catena
29.01.14
✎
15:58
|
(9)Копипастим и не пытаемся понять? Опечатлся человек, должно быть Сч>0
|
|