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

Подсчет данных из двух полей и помещение результата в другое

Автор DKNY, 15 фев 2024, 14:37

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

DKNY

Всем добрый день!
Прошу помощи, так как только начала работать в области разработки/программирования в 1С.
Пишу конфигурацию для проходной с нуля, есть документ в который вносится дата и время въезда и выезда Нужно, чтобы при определенном времени заезда/выезда количество дней и ночей проведенных на стоянке помещались в соответствующие поля.
Например:
Нахождение на территории в период с 08.00 до 20.00 - считается как 1 день, с 20.01 до 07.59 - считается как 1 ночь. При вводе данных о въезде 15.02.2024 08.00 и выезде 16.02.2024 23.00. в поле количество дней соответственно должно попасть - 2 дня, в поле количество ночей - 1 ночь.
Заранее спасибо!
1C.png

LexaK

DKNY,
Цитироватьв поле количество дней соответственно должно попасть - 2 дня, в поле количество ночей - 1 ночь.
как-то с условием задачи не сходится

При вводе данных о въезде 15.02.2024 08.00 и выезде 16.02.2024 23.00.
разбиваем на интервалы
15.02.2024 08.00 - 15.02.2024 20.00  - 1 день
15.02.2024 20.00 - 16.02.2024 08.00  - 1 ночь
16.02.2024 08.00 - 16.02.2024 20.00  - 1 день
16.02.2024 20.00 - 16.02.2024 23.00  - 1 ночь // кусочек следующей ночи!

и того 2 дня и 2 ночи должно получиться!
если помогло нажмите: Спасибо!

DKNY

LexaK, да, Вы правы, я неправильно посчитала, должно быть 2 и 2

LexaK

DKNY, вот примерно как я в ответе вам считал, так же и программу пожно сделать
1.по исходным датам создаете ночные и дневные интервалы , помещаете каждые в свой массив
(дата начала у вас есть, добавляете часы, пока не превысите дату выезда)
2.в цикле обходите эти интервалы
если дневной интервал пересекается с заданным то +1 день
если ночной, тогда +1 ночь
(вроде ни чего сложного)
если помогло нажмите: Спасибо!

DKNY

LexaK, ну так это сейчас у меня дата начала 15.02.2024, но она же может быть любой.. Как я начну массив заполнять данными, если я не знаю, какие данные будут?  :dfbsdfbsdf:

LexaK

DKNY, попробуйте этот вариант, пример, что на скорую руку пришло, (чувствую что как-то это оптимизировать можно)
если помогло нажмите: Спасибо!

DKNY


LexaK

Цитата: DKNY от 16 фев 2024, 15:35LexaK, мне кажется Вы что то перепутали
Бывает! по крайней мере тестовые расчеты получаются правильными....

(тогда насчет перепутал - по подробнее)
если помогло нажмите: Спасибо!

DKNY

LexaK, мой вопрос и Ваш отчет мне кажется это разные темы ))

LexaK

DKNY, это пример обработки для упр.приложения платформы 1С:Предприятие 8.3 (8.3.22.2143)
она у вас запускается?
если помогло нажмите: Спасибо!

Теги:

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

Рейтинг@Mail.ru

Поиск