Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> работа с временем          
4andriy Подменю пользователя
сообщение 31.10.23, 13:10
Сообщение #1

Завсегдатай
****
Группа: Пользователи
Сообщений: 173
Спасибо сказали: 1 раз
Рейтинг: 1

1с 7.7 Предприятие.
Мне нужно определить время между операциями.

время1=ТекущееВремя();
Собщить(время1);
...
время2=ТекущееВремя();
Собщить(время2);
...
время3=время2-время1;
Собщить(время3);


ошибка:
Операция вычитания не определена для строковых величин

mut Подменю пользователя
сообщение 31.10.23, 15:12
Сообщение #2

Завсегдатай
****
Группа: Пользователи
Сообщений: 195
Из: Новая Каховка
Спасибо сказали: 201 раз
Рейтинг: 235.5

4andriy @ Сегодня, 14:10 * ,
Метод ТекущееВремя может возвращать числовые значения часов, минут, секунд. Прочитайте и дальше вычисляйте что нужно)

ТекущееВремя(<Час>,<Мин>,<Сек>);

// например
ТекущийЧас = 0; ТекущиеМинуты = 0;
ТекущееВремя(ТекущийЧас,ТекущиеМинуты);  

Если ТекущийЧас > 18 Тогда  
    Сообщить(ТекущееВремя()+" Конец рабочего дня");
    ЗавершитьРаботуСистемы(0);
КонецЕсли;




volodya1122 Подменю пользователя
сообщение 02.11.23, 9:08
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 333
Из: Тернопіль
Спасибо сказали: 130 раз
Рейтинг: 132.7

Цитата(4andriy @ 31.10.23, 13:10) *
1с 7.7 Предприятие.
Мне нужно определить время между операциями.


Для таких целей есть недокументируемая функция которая возвращает число милисекунд от начала включения компютера

        а1=_GetPerformanceCounter();
    //........................................
        а2=_GetPerformanceCounter();
    а=а2-а1;
    ПрошлоСекунд=а/1000;


Сообщение отредактировал volodya1122 - 02.11.23, 9:10

Sharzem Подменю пользователя
сообщение 02.11.23, 12:36
Сообщение #4

Оратор
Иконка группы
Группа: Местный
Сообщений: 297
Спасибо сказали: 95 раз
Рейтинг: 95.5

4andriy @ 31.10.23, 14:10 * ,
Функция ПолучитьВремяВсекундах() 
    Ч=0; М=0; С=0;
    ТекущееВремя(Ч,М,С);
    лпВремя = Ч*3600+М*60+С;
    Возврат лпВремя;
КонецФункции//ПолучитьВремяВсекундах()
//=================================================================
Процедура Сформировать()
    лпВремяСтарт = ПолучитьВремяВсекундах();
    Предупреждение("Перевіряємо затрачену кількість часу",3);
    лпВремяФиниш = ПолучитьВремяВсекундах();
    
    лпРазницаВремени = лпВремяФиниш-лпВремяСтарт;
    
    лпПрошлоЧасов = Цел(лпРазницаВремени/3600);
    лпПрошлоМинут = Цел((лпРазницаВремени-лпПрошлоЧасов*3600)/60);
    лпПрошлоСек = лпРазницаВремени - лпПрошлоЧасов*3600 - лпПрошлоМинут*60;
    
    Сообщить("Затрачено "+лпПрошлоЧасов+" годин "+лпПрошлоМинут+" хвилин "+лпПрошлоСек+" секунд");
КонецПроцедуры


Signature
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 11.12.23, 0:31
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!