Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Запрос СКД Итог Время Часы Минуты

Запрос СКД Итог Время Часы Минуты
Я
   sema76
 
27.10.16 - 11:19
Делаю запрос к регистру, там Время. Время измеряется полностью в Часах и Долей часа. 12,33 означает 12 часов и 0,33 часа, т.е. 12 часов 20 минут.

Это поле перевожу в Часы и Минуты, с помощью Формата вместо Запятой ставлю Двоеточие.

(Таблица.Поле - ВЫБОР
    КОГДА (ВЫРАЗИТЬ(Таблица.Поле КАК ЧИСЛО(15, 0))) > Таблица.Поле
        ТОГДА (ВЫРАЗИТЬ(Таблица.Поле КАК ЧИСЛО(15, 0))) - 1
    ИНАЧЕ ВЫРАЗИТЬ(Таблица.Поле КАК ЧИСЛО(15, 0))
КОНЕЦ) * 0.6 + ВЫБОР
    КОГДА (ВЫРАЗИТЬ(Таблица.Поле КАК ЧИСЛО(15, 0))) > Таблица.Поле
        ТОГДА (ВЫРАЗИТЬ(Таблица.Поле КАК ЧИСЛО(15, 0))) - 1
    ИНАЧЕ ВЫРАЗИТЬ(Таблица.Поле КАК ЧИСЛО(15, 0))
КОНЕЦ

В Строке по Полю все отлично.

А как быть с итогами.

Либо складывать сначала и потом Преобразовывать или складывать уже Преобразованное?
 
 
   mehfk
 
1 - 27.10.16 - 11:23
Сделай два поля, одно из которых выводи в итоговых записях, а другое в детальных.
   sema76
 
2 - 27.10.16 - 11:38
(1) А как совместить Столбец Строки со Столбцом Итогов?
   mehfk
 
3 - 27.10.16 - 11:41
А еще лучше выкинуть этот код из запроса и вставить в выражение в ресурсах СКД.
   sema76
 
4 - 27.10.16 - 12:04
(3) Думаю, конечно, можно сделать, но как конкретно. По этому полю есть Промежуточные группировки и Общий Итог.
   mehfk
 
5 - 27.10.16 - 12:04
   sema76
 
6 - 27.10.16 - 12:12
(5) )))
   sema76
 
7 - 27.10.16 - 12:15
Может через Пользовательские поля?
   DrShad
 
8 - 27.10.16 - 12:26
(7) а попробуй )))
   sema76
 
9 - 27.10.16 - 12:33
(8) А ты как бы сделал?
   DrShad
 
10 - 27.10.16 - 12:49
(9) несколько раз уже делал и кроме как в (3) вариантов нет
 
 Рекламное место пустует
   sema76
 
11 - 27.10.16 - 13:34
(10) Все гораздо проще оказалось.
   sema76
 
12 - 27.10.16 - 13:35
(0) Пользовательские поля. Только немного синтаксис другой. Ну и настроить нужный Формат через Условное форматирование.

(Поле - Выбор
    Когда Выразить(Поле, "Число(15,0)") > Поле
        Тогда Выразить(Поле, "Число(15,0)") - 1
    Иначе Выразить(Поле, "Число(15,0)")
Конец) * 0.6 + Выбор
    Когда Выразить(Поле, "Число(15,0)") > Поле
        Тогда Выразить(Поле, "Число(15,0)") - 1
    Иначе Выразить(Поле, "Число(15,0)")
Конец
   sema76
 
13 - 27.10.16 - 15:38
(12) Немного поспешил. Для самой Группировки по Полю работает. Для общих Итогов по Родительским группировкам не работает. Но хоть что-то.
   sema76
 
14 - 27.10.16 - 17:00
(13) В смысле Итог по Строкам Поля правильно считает. А по Строкам Родителя Поля не правильно. Надо подумать как сделать чтобы считалось.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует