Форум программистов, компьютерный форум, киберфорум
Наши страницы

1С: Собственные программы

Войти
Регистрация
Восстановить пароль
 
jediAlex
0 / 0 / 2
Регистрация: 12.07.2011
Сообщений: 343
#1

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

27.09.2017, 11:37. Просмотров 427. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Расчет количества рабочих дней между датами (1С):

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

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

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

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

Расчет количества рабочих дней - MS Access
Уважаемые форумчане, подскажите что надо исправить: создал форму для расчета количества рабочих дней за произвольный период, если по...

Сколько рабочих дней между двумя датами? - VBA
С НОВЫМ ГОДОМ И РОЖДЕСТВОМ!!! Есть сделки по покупке/продаже валюты. Допустим, купили EUR продали USD дата заключения сделки 28.12.2006...

8
GreenkA
(◉‿◉)
Эксперт 1С
1964 / 1501 / 474
Регистрация: 25.06.2009
Сообщений: 5,387
27.09.2017, 12:58 #2
jediAlex, думаю, как вариант - вы используете зарезервированное имя переменной - День. Это тоже функция в 1С, попробуйте изменить имя.
0
Volexovich
192 / 169 / 29
Регистрация: 24.10.2011
Сообщений: 667
27.09.2017, 13:00 #3
1C
1
Для День=НачалоПериода По КонецПериода Цикл
КонецПериода скорее всего дата, а цикл инкриментирует на 1(число), думаю он тупо не может инкрементировать разные типы дата и число.
0
Yulunga
285 / 188 / 47
Регистрация: 22.04.2013
Сообщений: 1,090
Завершенные тесты: 1
27.09.2017, 13:20 #4
... и количество рабочих дней лучше брать из регистра, там они все как раз пронумерованы. а так получится, что 02 января - рабочий день.
0
jediAlex
0 / 0 / 2
Регистрация: 12.07.2011
Сообщений: 343
27.09.2017, 13:48  [ТС] #5
регистра нет - конфигурация собственная. Я добавил регистр для учета праздников, чтобы исключать их из расчета

Добавлено через 2 минуты
имя переменной поменял результат тот же
0
GreenkA
(◉‿◉)
Эксперт 1С
1964 / 1501 / 474
Регистрация: 25.06.2009
Сообщений: 5,387
27.09.2017, 13:53 #6
jediAlex,
1C
1
2
3
4
5
6
7
ПеремДень=НачалоПериода;
Пока ПеремДень <= КонецПериода Цикл
    Если ДеньНедели(ПеремДень )<6 Тогда 
    КолРабДней=КолРабДней+1;    
    КонецЕсли; 
    ПеремДень = ПеремДень +24*3600; 
КонецЦикла;
0
jediAlex
0 / 0 / 2
Регистрация: 12.07.2011
Сообщений: 343
27.09.2017, 14:01  [ТС] #7
Цитата Сообщение от GreenkA Посмотреть сообщение
ПеремДень=НачалоПериода;
Пока ПеремДень <= КонецПериода Цикл
* * Если ДеньНедели(ПеремДень )<6 Тогда
* * КолРабДней=КолРабДней+1; * *
* * КонецЕсли;
* * ПеремДень = ПеремДень +24*3600;
КонецЦикла;
то же самое, та же ошибка
0
GreenkA
(◉‿◉)
Эксперт 1С
1964 / 1501 / 474
Регистрация: 25.06.2009
Сообщений: 5,387
27.09.2017, 14:03 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
jediAlex, ну тогда смотрите отладкой, что у вас в переменной НачалоПериода и КонецПериода. Вероятно, это валится на функции - ДеньНедели(ПеремДень).

Добавлено через 40 секунд
jediAlex, если совсем никак +
Цитата Сообщение от jediAlex Посмотреть сообщение
конфигурация собственная
Тогда может выложите, посмотрим?
0
jediAlex
0 / 0 / 2
Регистрация: 12.07.2011
Сообщений: 343
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
Привет! Вот еще темы с ответами:

Узнать количество рабочих дней между двумя датами - MySQL
Приведите пример пожалуйста

Функции вычисления количества дней заданного месяца и количества месяцев между двумя датами - C++
Область first - положительное целое число , год; second - положительное целое число от 1 до 12 - номер месяца. Реализовать методы daysCount...

Вычисление количества дней между датами - C++
Всем доброго времени суток!=) Я только начала изучать С++ и не могу придумать алгоритм вычисления количества дней между датами. Пыталась...

Вычисление количества дней между датами - MS Access
Добрый день! Не могу решить вполне себе понятную задачу: Есть таблица в Access, в которой хранятся графики платежей по кредитный...


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

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

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