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

Проверьте задачку ( кому не сложно) Курс - [Иван Гордынец] Программирование в 1С для начинающих, 20

Автор User342, 07 апр 2026, 21:25

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

User342

Всем привет .Кому не сложно проверьте задачку. На сколько оптимально выполнена задача (заранее спасибо).
(свои варианты приветствуются)
 
Условие задачи из курса - [Иван Гордынец]  Программирование в 1С для начинающих, 2021.
 
Календарные и рабочие дни
Необходимо вычислить количество календарных и рабочих дней между двумя заранее известными
датами (значения дат можно определить непосредственно в коде). Вывести результат на экран в
виде сообщения следующего вида:

"Период: [ДатаНачала] - [ДатаОкончания]
Количество календарных дней: [X]
Количество рабочих дней: [Y]"

Рабочими считаются дни с понедельника по пятницу.
---------------------------

Мой вариант решения задачи :

ыва.png



 

Максим75


sali

результат верный выводился? ии вам сказали , не использовать готовые методы 1с, а сделать расчет самому? кстати, интересная конструкция , вы определяете начало месяца текущей даты, потом ее запихиваете в другую переменную и к этой переменной потом добавляете (60*60*24)= день , прибавляете день в цикле... то бишь пропускаете один день  и получаете считаете через день, так? а зачем?)
почитайте про РАЗНОСТЬДАТ()

Максим75

sali, да все там правильно сделано. вопрос может быть только в последнем дне периода.
вот почему и спросил, считает хоть что-то и если считает, правильно или нет.

sali

Цитата: Максим75 от 10 апр 2026, 10:39все там правильно сделано
зачем брать начало месяца? потом у него идет началодаты1 = 0 и дальше началодаты1 = началодаты , это как?

antoneus

Цитата: sali от 10 апр 2026, 11:27зачем брать начало месяца?

Затем, что

Цитата: User342 от 07 апр 2026, 21:25значения дат можно определить непосредственно в коде

Ему захотелось, чтобы это было начало месяца.

Цитата: sali от 10 апр 2026, 11:27потом у него идет началодаты1 = 0 и дальше началодаты1 = началодаты , это как?

Ну, бывает.

С последним днём вроде ок должно быть, конец месяца - это последний день 23:59:59.

sali

antoneus, а если это будут даты к примеру середина этого месяца и конец следующего? то там как?

antoneus


sali

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

Максим75

sali, да надо не сколько дней считать, а сколько рабочих и календарных. а рабочие - это по условию задачи дни с понедельника по пятницу, потому и необходимо использовать ДеньНедели. и использовать за каждый день в периоде.

Теги:

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

Рейтинг@Mail.ru

Поиск