#0
by sereka0908
Я новичок, есть задание, ломаю голову: Имеется регистр сведений «ПроизводственныйКалендарь», который хранит в себе свойства дней (рабочий, выходной, предвыходной), две даты, которые мы выбираем сами, справочник пользователи, который хранит в себе дату начала работы для пользователя, период обеда и дату окончания рабочего дня. Какой алгоритм действий мне необходим?
#6
by Timon1405
самое интересное будет при подсчетах, когда обычный день 10:00-18:00, предвыходной день 10:00-17:00, а обед 16:30 - 17:30
#7
by sereka0908
Обычный день с 8:00 до 17:00, обед с 12:00 до 13:00, есть некоторые люди, которые работают с 9 до 18 и обед с 13 до 14, выхходные суббота и воскресенье, предпраздничные - короткий день, т.е. по 7часов + обед, и это перед красными днями календаря.
#9
by Cube
Ну вот и решай сам. Для новичка задача самое то. Если сам не решишь - не ту профессию ты выбрал...
#11
by Timon1405
>> какой алгоритм действий мне необходим? напомнило — Куда мне отсюда идти? — А куда ты хочешь попасть? — А мне все равно, только бы попасть куда-нибудь. — Тогда все равно куда идти. Куда-нибудь ты обязательно попадешь©
#16
by Иде я?
Автор - из более старшой даты вычти более свежую и получишь время в секундах. Или не получишь...Тут как бит выпадет
#17
by sereka0908
Дата1 – Начальная дата Дата2 – Конечная дата 1. Выбираем даты. 2. Выбираем необходимого пользователя. 3. Выбираем из Справочника Пользователи необходимые поля(Наименование, НачалоРабочегоВремени, КонецРабочегоВремени, НачалоОбеда, КонецОбеда). 4. Если поля НачалоРабочегоВремени, КонецРабочегоВремени, НачалоОбеда, КонецОбеда – пустые, то устанавливаем их 09:00, 18:00, 13:00 и 14:00 соответственно. 5. Задаем Дата3=НачалоДня(Дата1). 8. Если НачРабВр = 8.00 Тогда У=Дата3+8*3600, К=Дата3+18*3600. 9. Делаем выборку из РегистраСведений Производственный Календарь, где Вид «Рабочий» и «Предпраздничный», в интервале Дата3 и Дата1.
#18
by hhhh
в общем тупо берешь сумму всех дней из производственного календаря. а потом вычитаешь за первый и последний день, время, которое не входит в период.
#19
by sereka0908
есть уже дальнейший алгоритм, но испытываю затруднения, с подсчетом, когда обе даты выбраны в один день
#20
by sereka0908
Дата3<>Дата4 3Тогда(4Если (У<=Дата1<П) 4Тогда ОтработаноВремени= ОтработаноВремени+(П-Дата1)+4*3600 4Иначе (5Если О<=Дата1<К 5Тогда ОтработаноВремени= ОтработаноВремени+(К-Дата1) 5Иначе (6Если Дата1<У 6Тогда ОтработаноВремени= ОтработаноВремени+8*3600 6Иначе (7Если П<=Дата1<О 7Тогда ОтработаноВремени= ОтработаноВремени+4*3600 (8Если (У<=Дата1<П и Дата2<П) 8Тогда ОтработаноВремени= Дата2>К) 10Тогда ОтработаноВремени= ОтработаноВремени+8*3600 10Иначе
#21
by ИС-2
начинал когда-то писать подобный запрос. ЧасКонРабДня - время окончания рабочего дня ДатаНач, ДатаКон - интервал за который надо вычислить. Этот запрос надо еще подпилить - учитывать время начала рабочего дня ГДЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ НАЧАЛОПЕРИОДА(&ДатаНач, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаКон, ДЕНЬ) И РегламентированныйПроизводственныйКалендарь.ВидДня В(&РабочиеДни)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как округлить до десяти (напр.168,23 до 170,00 ИЛИ 252,00 до 250,00)
- Как програмно изменять дату с точностью до секунды в 1С 80
- v7: ЗУП: Начисление з/п "по часам" и Ввод табелей учета рабочего времени"
- Подсчет количества часов между двумя значениями времени
- Учет рабочего времени по часам, вплоть до минут
В этой группе 1С
- Неполная ставка в ЗУП 3.0
- Как исправить нумерацию реализаций в УТ
- Настройка проверки контрагентов с помощью веб-сервиса ФНС
- ОМ Модификация Конфигурации Переопределяемый
- Автоматическое заполнение реквизитов контрагента для УТ 10.3
- Где скачать новые ОКВЭД2 и ОКПД2 для загрузки?
- Ошибка при получении значения атрибута контекста (Организация)
- Ошибка доступа к файлу '\Base1Cv8.cdn
- При поступлении товаров создается кривая аналитика затрат в УПП
- Проблемы с обменом УТ 10.3 и БП 3.0
- Проблема с выгрузкой из базы ЗУП 2.5 в БУХ 3.0
- УФ. Условное оформление динамического списка
- пропадает реквизит формы в бухгалтерии 3.0
- скд вычисляемые поля, расчет суммы в пределах строки тч
- Внешняя компонента для работы с FTP для 1С8.х
- excel.application.workbooks.Open() на сервере
- Пересекаются элементы отбора УФ
- Ошибка BEX для 1с 8.2
- Как добавить сортировку в пользовательские поля СКД
- ошибка при выполнении файловой операции