Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
15 дек 2024, 22:38

Помогите разобраться с задачей

Автор Yudjin723, 20 окт 2022, 18:36

0 Пользователей и 1 гость просматривают эту тему.

Yudjin723

Всем добрый вечер!

В данный момент пытаюсь решить простую задачу по созданию обработки, но никак не понимаю с какой стороны к ней подойти для корректного отражения.

Помогите, пожалуйста.

Нужно написать обработку : по двум задаваемым пользователем реквизитам
Дата1 (тип Дата+Время)
КолвоЧасов (Тип Число 10.1)
Рассчитывается реквизит Дата2 по формуле Дата1 + КолвоЧасов = Дата2 Учитываем только рабочее время (в данном случае считаем, что у нас рабочий день всегда Пн-Пт, с 9-18, остальное время не рабочее). Например, если Дата1 = Пт 25.12 17:00, КолвоЧасов = 2, то Дата2 должна равняться Пн 28.12 10:00

LexaK

алгоритм примерно такой, если разберетесь он вам здорово поможет.
Смена = 9;//количество часов в ден
Дата2 = Дата1;
цикл по КолвоЧасов с шагом Смена
    КолвоЧасов  = КолвоЧасов  - Смена
    Дата2 = Дата2 + 1_день
    Если Дата2 = ВыходнойДень Тогда
        Дата2 = Дата2 + 2_дня
конецикла

Дата2 = Дата2 + КолвоЧасов //прибавляем остаток часов
Переработка = Дата2 - "18:00" //считаем часы переработки
Если Переработка > 0 
    Дата2 = Дата2 + 1_день
    //проверяем выходной
    Если Дата2 = ВыходнойДень Тогда
        Дата2 = Дата2 + 2_дня
    Дата2.Время = "9:00" + Переработка //устанавливаем время с начала смены
КонецЕсли

если помогло нажмите: Спасибо!

Yudjin723

LexaK, огромное вам спасибо за помощь)

Думаю смогу разобраться)

MsUniverse

LexaK, можно пожалуйста добавить комментрий к циклу, не получается разобраться в логике

LexaK

MsUniverse, вот один из вариантов
Смена = 9;//количество часов в день

Пока КолвоЧасов > Смена Цикл
КолвоЧасов = КолвоЧасов - Смена;
...


КонецЦикла;
...

если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск