Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
jediAlex
2 / 2 / 3
Регистрация: 12.07.2011
Сообщений: 428
1

Расчет количества рабочих дней между датами

27.09.2017, 11:37. Просмотров 1303. Ответов 8
Метки нет (Все метки)

Здравствуйте. Хочу посчитать количествот рабочих дней между датами. Сделал так:
1C
1
2
3
4
5
6
КолРабДней=0;
Для День=НачалоПериода По КонецПериода Цикл
    Если ДеньНедели(День)<6 Тогда 
    КолРабДней=КолРабДней+1;    
    КонецЕсли;  
КонецЦикла;
При выполнении платформа ругается:
{ОбщийМодуль.РасчетРабочихДней.Модуль(22)}: Преобразование значения к типу Число не может быть выполнено
КонецЦикла;

Функция с этим кодом находится в общем модуле, для которого установлены:клиент, сервер, внешнее соединение. Что не так? подскажите пожалуйста.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2017, 11:37
Ответы с готовыми решениями:

Расчет количества дней.
Всем Привет! Ребят выручайте. Надо чтобы высчитывалась количество дней. ПРОШУ...

Разность между датами - количество дней
В документе есть реквизиты ДатаНачала (Тип: Дата), ДатаОкончания (Тип: Дата) и...

Получить количество дней между двумя датами
Как можно получить количество дней между датами, т.е. есть ДатаНачала и...

Создание графика рабочих дней
Пытаюсь в качестве учебной задачи сделать график рабочих дней Всё вроде бы...

вывод количества рабочих часов из регистра сведений в документ
помогите пожалуйста, очень надо как в регистре сведений График работы...

8
GreenkA
Модератор
Эксперт 1С
2317 / 1806 / 513
Регистрация: 25.06.2009
Сообщений: 6,672
27.09.2017, 12:58 2
jediAlex, думаю, как вариант - вы используете зарезервированное имя переменной - День. Это тоже функция в 1С, попробуйте изменить имя.
0
Volexovich
198 / 174 / 29
Регистрация: 24.10.2011
Сообщений: 683
27.09.2017, 13:00 3
1C
1
Для День=НачалоПериода По КонецПериода Цикл
КонецПериода скорее всего дата, а цикл инкриментирует на 1(число), думаю он тупо не может инкрементировать разные типы дата и число.
0
Yulunga
320 / 219 / 63
Регистрация: 22.04.2013
Сообщений: 1,499
Записей в блоге: 1
Завершенные тесты: 1
27.09.2017, 13:20 4
... и количество рабочих дней лучше брать из регистра, там они все как раз пронумерованы. а так получится, что 02 января - рабочий день.
0
jediAlex
2 / 2 / 3
Регистрация: 12.07.2011
Сообщений: 428
27.09.2017, 13:48  [ТС] 5
регистра нет - конфигурация собственная. Я добавил регистр для учета праздников, чтобы исключать их из расчета

Добавлено через 2 минуты
имя переменной поменял результат тот же
0
GreenkA
Модератор
Эксперт 1С
2317 / 1806 / 513
Регистрация: 25.06.2009
Сообщений: 6,672
27.09.2017, 13:53 6
jediAlex,
1C
1
2
3
4
5
6
7
ПеремДень=НачалоПериода;
Пока ПеремДень <= КонецПериода Цикл
    Если ДеньНедели(ПеремДень )<6 Тогда 
    КолРабДней=КолРабДней+1;    
    КонецЕсли; 
    ПеремДень = ПеремДень +24*3600; 
КонецЦикла;
0
jediAlex
2 / 2 / 3
Регистрация: 12.07.2011
Сообщений: 428
27.09.2017, 14:01  [ТС] 7
Цитата Сообщение от GreenkA Посмотреть сообщение
ПеремДень=НачалоПериода;
Пока ПеремДень <= КонецПериода Цикл
* * Если ДеньНедели(ПеремДень )<6 Тогда
* * КолРабДней=КолРабДней+1; * *
* * КонецЕсли;
* * ПеремДень = ПеремДень +24*3600;
КонецЦикла;
то же самое, та же ошибка
0
GreenkA
Модератор
Эксперт 1С
2317 / 1806 / 513
Регистрация: 25.06.2009
Сообщений: 6,672
27.09.2017, 14:03 8
Лучший ответ Сообщение было отмечено GreenkA как решение

Решение

jediAlex, ну тогда смотрите отладкой, что у вас в переменной НачалоПериода и КонецПериода. Вероятно, это валится на функции - ДеньНедели(ПеремДень).

Добавлено через 40 секунд
jediAlex, если совсем никак +
Цитата Сообщение от jediAlex Посмотреть сообщение
конфигурация собственная
Тогда может выложите, посмотрим?
0
jediAlex
2 / 2 / 3
Регистрация: 12.07.2011
Сообщений: 428
27.09.2017, 14:11  [ТС] 9
спасибо, ваш вариант работает. Тупанул сам, сейчас понял, где затупил
0
27.09.2017, 14:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2017, 14:11

разница между датами с учетом выходных
Здраствуйте! Подскажите как можно рассчитать количество рабочих дней между 2мя...

Расчет количества прожитых дней между датами рождения и смерти
Народ подскажите где я ошибся. Есть задача написать программу которая...

Количество рабочих дней между датами
форумчане, все пример подскажите, как в SQL можно оперировать с датами, чтобы...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru