Правильный расчет лет, месяцев, дней между датами

05.03.10

Разработка - Универсальные функции

Форма имеет поля дата, между которыми рассчитывается количество лет, месяцев, дней.
Также можно, имея дату начала и указав количество лет, месяцев, дней, узнать дату окончания.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
РасчетПериодаМеждуДатами
.epf 9,08Kb
211 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Расчет происходит не средствами 1С, т.к. у 1С алгоритм не правильный.

Код открыт

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    3395    Abysswalker    8    

45

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

Порой необходимо временно отключить расширение 1С, не удаляя его, чтобы не потерять данные. Но в этом случае при каждом запуске всем будет лезть уведомление о неактивном расширении, хотя очевидно, это техническая информация, которой не стоит лишний раз пугать пользователей.

14.05.2025    6312    DeerCven    15    

57

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    48635    dimanich70    83    

169

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    7285    6    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    60795    atdonya    31    

69

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    9077    ke.92@mail.ru    17    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ailin 70 05.03.10 16:34 Сейчас в теме
Между 01.02.2010 - 28.02.2010 обработка выдает 27 дней
Между 01.01.2010 - 31.01.2010 - 30 дней
Должно быть 28 и 31 соответственно
raevsky@e1.ru; +1 Ответить
2. wguki@yandex.ru 05.03.10 17:14 Сейчас в теме
4. ailin 70 05.03.10 18:04 Сейчас в теме
(2)
Прикрепленные файлы:
5. wguki@yandex.ru 05.03.10 22:25 Сейчас в теме
(4) А вот здесь http://www.rvsn2.narod.ru/soft30.htm,
здесь http://help1c.com/faq/view/64.html
и здесь http://pers.narod.ru/jscript/datecalc.html считают, что между 1 и 28 февраля 27 дней. Эксель тоже так думает :)
3. pavel_pss 291 05.03.10 18:03 Сейчас в теме
Чуть позже исправлю
6. bashta.aleksey 06.03.10 00:12 Сейчас в теме
Правильно или не правильно - зависит только от ситуации/задачи.
Если считаем между 1 и 28 февраля то да = 27 дней, а если считать количество дней (для нач.зарплаты) = 28 :)
7. Arabo_xv 5 09.03.10 12:03 Сейчас в теме
Можно пример когда разность дат в 1С работает не корректно ?
raevsky@e1.ru; +1 Ответить
8. arithmometr 152 10.03.10 16:13 Сейчас в теме
28.02.2010 - 31.01.2010 = 27 дн (должно быть 1 мес.)
31.01.2010 + 27 дн = 27.02.2010 (правильно)
31.01.2010 + 1 мес. = 28.02.2010 (правильно)
Эту задачу не так просто решить.
9. pavel_pss 291 10.03.10 16:14 Сейчас в теме
Если мне память не изменяет то при получении разности дат (это типовая функция), она не правильно считает количество дней за год. (Могу ошибаться надо проверить) тоесть помоему за период 01.01.09 по 31.12.09 и 01.01.09 по 01.01.10 дает одинаковые данные. (вроде так). Как будет время проверю. :!:
10. arithmometr 152 10.03.10 16:59 Сейчас в теме
Несколько лет назад я писал эту функцию для версии 7.7
http://infostart.ru/public/66955/
11. serg85 30 13.10.11 18:30 Сейчас в теме
Спасибо за обработку, тема актуальна...
12. пользователь 20.02.12 10:34
Сообщение было скрыто модератором.
...
13. alexvbard 21 12.01.18 12:54 Сейчас в теме
И все таки расчет не верный
01.01.16 по 28.02.17 считает как 28 дней и 13 месяцев. А должен считать как 1 год 1 месяц.
Для отправки сообщения требуется регистрация/авторизация