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

05.03.10

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

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

Файлы

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

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

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

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

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

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

Код открыт

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

См. также

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

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

30.10.2025    4647    Abysswalker    11    

46

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

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

14.05.2025    8615    DeerCven    15    

62

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

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

21.05.2024    56564    dimanich70    85    

174

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

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

1 стартмани

18.03.2024    7966    7    John_d    13    

59

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

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

12.02.2024    71036    atdonya    31    

72

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

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

30.11.2023    9969    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 месяц.
Для отправки сообщения требуется регистрация/авторизация