Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для Kamazov
4 / 3 / 1
Регистрация: 05.01.2022
Сообщений: 389

Как преобразовать число во время?

23.12.2025, 15:17. Показов 738. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть отчёт в СКД, подскажите как сделать так, чтобы вместо чисел, в поле "Всего времени на изделия" было время в формате часы мину, то есть, например 5 часов 20 минут. Я подобное сделал в вычисляемом поле1, как видно из скрина - это работает, но как посчитать итоги, ведь теперь это строка? Мне нужно суммировать время за день и по виду рабочего центра.

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(ЭМИСменноеЗаданиеСостав.Ссылка.Дата, ДЕНЬ) КАК Дата,
    ВЫРАЗИТЬ(ЭМИСменноеЗаданиеСостав.ВидРабочегоЦентра КАК Справочник.ВидыРабочихЦентров).Наименование КАК ВидРабочегоЦентраНаименование,
    ЭМИСменноеЗаданиеСостав.РабочийЦентр КАК РабочийЦентр,
    СУММА(ЭМИСменноеЗаданиеСостав.КоличествоФакт * ВЫБОР
            КОГДА ТехнологическиеОперации.ВремяШтучноеЕдИзм = ЗНАЧЕНИЕ(Перечисление.ЕдиницыИзмеренияВремени.Минута)
                ТОГДА ТехнологическиеОперации.ВремяШтучное / 60
            КОГДА ТехнологическиеОперации.ВремяШтучноеЕдИзм = ЗНАЧЕНИЕ(Перечисление.ЕдиницыИзмеренияВремени.Секунда)
                ТОГДА ТехнологическиеОперации.ВремяШтучное / 3600
            ИНАЧЕ 0
        КОНЕЦ) КАК ВсегоВремениНаИзделия,
    ТехнологическиеОперации.ВремяШтучноеЕдИзм КАК ЕдиницаИзмерения,
    СУММА(ЭМИСменноеЗаданиеСостав.КоличествоФакт) КАК ОбщееКоличество,
    ТехнологическиеОперации.ВремяШтучное КАК ВремяНаЕдиницуИзделия,
    ЭМИСменноеЗаданиеСостав.Назначение КАК Назначение,
    ЭМИСменноеЗаданиеСостав.Этап КАК Этап,
    ЭМИСменноеЗаданиеСостав.Номенклатура КАК Номенклатура
ИЗ
    Документ.ЭМИСменноеЗадание.Состав КАК ЭМИСменноеЗаданиеСостав
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.РесурсныеСпецификации КАК РесурсныеСпецификации
        ПО ЭМИСменноеЗаданиеСостав.Этап.Спецификация = РесурсныеСпецификации.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТехнологическиеОперации КАК ТехнологическиеОперации
        ПО (РесурсныеСпецификации.Ссылка = ТехнологическиеОперации.Спецификация)
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЭМИСменноеЗадание КАК ЭМИСменноеЗадание
        ПО ЭМИСменноеЗаданиеСостав.Ссылка = ЭМИСменноеЗадание.Ссылка
ГДЕ
    ЭМИСменноеЗадание.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
    И ЭМИСменноеЗадание.Проведен = ИСТИНА
    И (ТехнологическиеОперации.ВремяШтучное ЕСТЬ НЕ NULL 
            ИЛИ ТехнологическиеОперации.ВремяПЗ ЕСТЬ НЕ NULL )
    И ЭМИСменноеЗаданиеСостав.ВидРабочегоЦентра.Наименование ПОДОБНО "%ЛП%"
 
СГРУППИРОВАТЬ ПО
    ВЫРАЗИТЬ(ЭМИСменноеЗаданиеСостав.ВидРабочегоЦентра КАК Справочник.ВидыРабочихЦентров).Наименование,
    ТехнологическиеОперации.ВремяШтучноеЕдИзм,
    НАЧАЛОПЕРИОДА(ЭМИСменноеЗаданиеСостав.Ссылка.Дата, ДЕНЬ),
    ЭМИСменноеЗаданиеСостав.РабочийЦентр,
    ТехнологическиеОперации.ВремяШтучное,
    ЭМИСменноеЗаданиеСостав.Назначение,
    ЭМИСменноеЗаданиеСостав.Этап,
    ЭМИСменноеЗаданиеСостав.Номенклатура
Поле1 вычисляемое

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Строка(
    Цел(ВсегоВремениНаИзделия) + 
    ВЫБОР КОГДА Окр((ВсегоВремениНаИзделия - Цел(ВсегоВремениНаИзделия)) * 60, 0) = 60
        ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ
)
+ " ч " +
Строка(
    ВЫБОР КОГДА Окр((ВсегоВремениНаИзделия - Цел(ВсегоВремениНаИзделия)) * 60, 0) = 60
        ТОГДА 0
        ИНАЧЕ Окр((ВсегоВремениНаИзделия - Цел(ВсегоВремениНаИзделия)) * 60, 0)
    КОНЕЦ
)
+ " мин"
Миниатюры
Как преобразовать число во время?   Как преобразовать число во время?  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.12.2025, 15:17
Ответы с готовыми решениями:

ТЗ во временную таблицу. Преобразование значения к типу Дата не может быть выполнено
Здравствуйте! В общем выбрал запросом из таблицы sql дату формата дата/время(ВремяПрихода) и...

(мобильное приложение) Определение координат GPS и получение текущего времени с сервера времени интернет
Стоит задача на мобильном клиенте получить текущее время из интернет, что бы пользователи не...

Можно ли вставить сравнение с графиком работ время первого входа и время начала дневных часов по графику?
Помогите новичку. В док отработанное время заполняет первый вход и последний выход по физлицу, как,...

18
Эксперт 1С
2199 / 245 / 73
Регистрация: 12.11.2015
Сообщений: 1,523
23.12.2025, 15:31
В вычислительном поле пропишите выражение - обращение к экспортной функции общего модуля на сервере, куда вы передаете "ВсегоВремениНаИзделия ", обрабатываете как вам нужно.
Либо это поле ограничивать для групп, а уже у группы писать новое.
0
 Аватар для Kamazov
4 / 3 / 1
Регистрация: 05.01.2022
Сообщений: 389
23.12.2025, 15:40  [ТС]
Цитата Сообщение от slypower Посмотреть сообщение
В вычислительном поле пропишите выражение - обращение к экспортной функции общего модуля на сервере, куда вы передаете "ВсегоВремениНаИзделия ", обрабатываете как вам нужно.
Либо это поле ограничивать для групп, а уже у группы писать новое.
Я не понимать Это внешний отчёт. В модуле можно функцию прописать, но вот про обращение в вычислительном поле я не понял совсем
0
Эксперт 1С
2199 / 245 / 73
Регистрация: 12.11.2015
Сообщений: 1,523
23.12.2025, 16:29
В вычислительных полях есть "Выражение". Так вот, к примеру: Общегоназначения.ПреобразованиеВремениИз Секунд(ВсегоВремениНаИзделия).
Или завести новый модуль, как у нас "СКД", и его вызывать.

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Процедура ПреобразованиеВремениИзСекунд(Знач КоличествоСекунд, Знач ВыводитьПолнуюЗаписьВЛюбомСлучае = Ложь) Экспорт
 
    Секунды = КоличествоСекунд% 60;
    ВсегоМинут = (КоличествоСекунд- Секунды) / 60;
    Минуты = ВсегоМинут % 60;
    ВсегоЧасов = (ВсегоМинут - Минуты) / 60;
    Часы = ВсегоЧасов % 24;
    Дни = (ВсегоЧасов - Часы) / 24;
 
    ПредставлениеДней = ?(ЗначениеЗаполнено(Дни), Строка(Дни) + " дн.", "");
    ПредставлениеЧасов = ?(ЗначениеЗаполнено(Часы), Строка(Часы) + " ч.", "");
    ПредставлениеМинут = ?(ЗначениеЗаполнено(Минуты), Строка(Минуты) + " мин.", "");
    ПредставлениеСекунд = ?(ЗначениеЗаполнено(Секунды), Строка(Секунды) + " с.", "");
    
    Если ВыводитьПолнуюЗаписьВЛюбомСлучае Тогда
        Результат = СтрШаблон("%1 %2 ч. %3 мин. %4 сек.", ПредставлениеДней, Строка(Часы), Строка(Минуты), Строка(Секунды));;
    Иначе
        Результат = СтрШаблон("%1 %2 %3 %4", ПредставлениеДней,ПредставлениеЧасов, ПредставлениеМинут, ПредставлениеСекунд);
    КонецЕсли; 
    
    Возврат Результат;
 
КонецПроцедуры
1
 Аватар для Kamazov
4 / 3 / 1
Регистрация: 05.01.2022
Сообщений: 389
23.12.2025, 19:20  [ТС]
Цитата Сообщение от slypower Посмотреть сообщение
В вычислительных полях есть "Выражение". Так вот, к примеру: Общегоназначения.ПреобразованиеВремениИз Секунд(ВсегоВремениНаИзделия).
Или завести новый модуль, как у нас "СКД", и его вызывать.
Это вот про то, что у меня на скрине? А если у меня внешний отчёт? Обязательно в общем модуле? Из модуля отчёта сработает?
Миниатюры
Как преобразовать число во время?  
0
Эксперт 1С
2199 / 245 / 73
Регистрация: 12.11.2015
Сообщений: 1,523
23.12.2025, 21:53
Да, сюда, где на скрине.
Не знаю, как вы вызовете модуль внешнего отчета отсюда. Я знаю только во внешнем модуле
1
 Аватар для Kamazov
4 / 3 / 1
Регистрация: 05.01.2022
Сообщений: 389
26.12.2025, 07:11  [ТС]
Цитата Сообщение от slypower Посмотреть сообщение
Да, сюда, где на скрине.
Не знаю, как вы вызовете модуль внешнего отчета отсюда. Я знаю только во внешнем модуле
А этот модуль клиентский или серверный? Преобразование вроде на клиенте идёт, значит, наверное, клиентский?
0
Эксперт 1С
 Аватар для OverDozero
924 / 329 / 130
Регистрация: 07.04.2011
Сообщений: 1,751
26.12.2025, 07:50
Например, надо в колонке вывести последние 10 документов, с которыми связана выводимая номенклатура.
Если делать через ОМ, то передаем в ОМ номенклатуру, делаем запрос, получаем результат.

А раз запрос, то модуль серверный. Может можно и клиентские, но не делал никогда.
1
Модератор
Эксперт 1С
 Аватар для Yulunga
4137 / 944 / 265
Регистрация: 22.04.2013
Сообщений: 6,587
Записей в блоге: 1
26.12.2025, 08:35
Цитата Сообщение от Kamazov Посмотреть сообщение
но как посчитать итоги, ведь теперь это строка
может надо в ресурсе написать как это вычисляемое поле, только везде поменять на СУММА(....)
а в колонке "Рассчитывать по..." выбрать "Общий итог" ? я бы с этого попробовал начать
0
 Аватар для Kamazov
4 / 3 / 1
Регистрация: 05.01.2022
Сообщений: 389
26.12.2025, 09:02  [ТС]
Почему-то итог не суммируется. Вроде в ресурсах есть. Если просто число, то считает, а преобразованное в часы нет. Без подсчёта суммы Итого, как-то неинтересно, потому что просто вывести время, у меня и так получилось
Миниатюры
Как преобразовать число во время?   Как преобразовать число во время?   Как преобразовать число во время?  

0
 Аватар для Kamazov
4 / 3 / 1
Регистрация: 05.01.2022
Сообщений: 389
26.12.2025, 09:13  [ТС]
Цитата Сообщение от Yulunga Посмотреть сообщение
может надо в ресурсе написать как это вычисляемое поле, только везде поменять на СУММА(....)
а в колонке "Рассчитывать по..." выбрать "Общий итог" ? я бы с этого попробовал начать
Не получилось
Миниатюры
Как преобразовать число во время?   Как преобразовать число во время?  
0
 Аватар для Kamazov
4 / 3 / 1
Регистрация: 05.01.2022
Сообщений: 389
26.12.2025, 10:03  [ТС]
Короче все варианты попробовал и ничего не изменилось
Миниатюры
Как преобразовать число во время?   Как преобразовать число во время?  
0
Модератор
Эксперт 1С
 Аватар для Yulunga
4137 / 944 / 265
Регистрация: 22.04.2013
Сообщений: 6,587
Записей в блоге: 1
26.12.2025, 10:42
имел в виду чтото наподобие
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Строка(
    Цел(ВсегоВремениНаИзделия) + 
    ВЫБОР КОГДА СУММА(Окр((ВсегоВремениНаИзделия - Цел(ВсегоВремениНаИзделия)) * 60, 0) = 60
        ТОГДА 1
        ИНАЧЕ 0
    КОНЕЦ)
)
+ " ч " +
Строка(
    СУММА(ВЫБОР КОГДА Окр((ВсегоВремениНаИзделия - Цел(ВсегоВремениНаИзделия)) * 60, 0) = 60
        ТОГДА 0
        ИНАЧЕ Окр((ВсегоВремениНаИзделия - Цел(ВсегоВремениНаИзделия)) * 60, 0)
    КОНЕЦ)
)
+ " мин"
0
 Аватар для Kamazov
4 / 3 / 1
Регистрация: 05.01.2022
Сообщений: 389
26.12.2025, 11:18  [ТС]
Цитата Сообщение от Yulunga Посмотреть сообщение
имел в виду чтото наподобие
А как оно в итоги попадёт? В отчёте нет пользовательского поля "Итого". Это системное поле и оно работает только с тем, что можно посчитать, а строки нельзя посчитать
0
Модератор
Эксперт 1С
 Аватар для Yulunga
4137 / 944 / 265
Регистрация: 22.04.2013
Сообщений: 6,587
Записей в блоге: 1
26.12.2025, 13:37
сделал в произвольном отчёте в режиме предприятия
пользовательское поле
наименование такоето
выражение детальных записей - пишете то, что было в первом сообщении
выражение итоговых записей - пишете то, что я написал (со словом "Сумма")
вроде работает
0
Эксперт 1С
2199 / 245 / 73
Регистрация: 12.11.2015
Сообщений: 1,523
29.12.2025, 10:41
У вас же итог идет по полу "Вид рабочего времени", а не по Поле2

Добавлено через 1 час 18 минут
Вы же ВсегоВремениНаИзделие суммируете и ВсегоВремениНаИзделие должны преобразовывать в текстовые. Сумма(Поле2) у вас не будет работать
0
 Аватар для Kamazov
4 / 3 / 1
Регистрация: 05.01.2022
Сообщений: 389
30.12.2025, 11:17  [ТС]
Цитата Сообщение от slypower Посмотреть сообщение
Вы же ВсегоВремениНаИзделие суммируете и ВсегоВремениНаИзделие должны преобразовывать в текстовые. Сумма(Поле2) у вас не будет работать
По-факту ни с каким текстовым не работает. Только если оно числовое. Если поле числовое и потом преобразуется в строку, то всё равно итог не отображается

Добавлено через 6 минут
Цитата Сообщение от Yulunga Посмотреть сообщение
сделал в произвольном отчёте в режиме предприятия
пользовательское поле
наименование такоето
выражение детальных записей - пишете то, что было в первом сообщении
выражение итоговых записей - пишете то, что я написал (со словом "Сумма")
вроде работает
А есть пример? у меня не работает
0
Модератор
Эксперт 1С
 Аватар для Yulunga
4137 / 944 / 265
Регистрация: 22.04.2013
Сообщений: 6,587
Записей в блоге: 1
30.12.2025, 11:32
Лучший ответ Сообщение было отмечено Maks как решение

Решение

Не по теме:

не понимаю, почему надо всё отрицать и не пробовать воспользоваться советом....:wall: :wall: :wall:


пользуясь случаем - всех с новым годом !! ура.
Миниатюры
Как преобразовать число во время?   Как преобразовать число во время?   Как преобразовать число во время?  

Как преобразовать число во время?   Как преобразовать число во время?  
1
 Аватар для Kamazov
4 / 3 / 1
Регистрация: 05.01.2022
Сообщений: 389
30.12.2025, 11:38  [ТС]
Цитата Сообщение от Yulunga Посмотреть сообщение
пользуясь случаем - всех с новым годом !! ура.
Я не в том поле выражение делал. В вычисляемом, а не в пользовательском. Я про пользовательское вообще не знал. Я думал про вычисляемое речь идёт
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.12.2025, 11:38
Помогаю со студенческими работами здесь

Момент времени между моментами времени
задача: имеется датаВремя1, в рамках этого датавремя1 есть моментвремени1 в нем делается приход...

Запись Время Дата вместо Дата Время
Помогите поменять местами дату и время, можно с помощью кода "Формат", требуется в макете

Как преобразовать цену в число без разделителя разрядов (пробел) в csv выгрузке
Здравствуйте! Подскажите пожалуйста, как в выгрузке csv сделать так, чтобы цена, выдергиваемая для...

Как в запросе консоли отчетов преобразовать строку в число?
Приветствую. Делаю выборку в консоли отчетов. Там есть строковое поле, которое содержит только...

Преобразование значения к типу Число не может быть выполнено
помогите новичку ОбластьПоле3.Параметры.Заполнить(Выборка); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru