#0
by swallow05
Доброй ночи всем. Возникла необходимость отсчитать от определенной даты назад 5 рабочих дней, т.е. с учетом праздников и выходных. Добавила в конфигурацию производственный календарь (конфа бухгалтерия 1.6), но чую им не получится это сделать. Никто не подскажет, каким образом можно реализовать такой подсчет? Т.е. если у нас 11 января, то 5 рабочих дней будет 26 декабря. Спасибо за ответы :).
#1
by vde69
делал через производственный календарь, делается не сложно но работает медлено. потом оптимизировал, сделал кеш таблицу и ее использовал, экономия примерно 4-5 секунд на запросе
#3
by swallow05
Я сейчас просто выборку делаю из производственного календаря первый 5 дней, по условию рабочих, которые меньше данной даты, вроде получилось, всем спасибо. Вопрос закрыт :)
#7
by Sammo
Вообще-то задача в теме (рабочих дней между датами) и в сообщении (нужно отнять 5 дней от даты) несколько разные. Делаются разными запросами по производственному календарю
#9
by kosts
Это что за запрос такой по которому только экономия 4-5 секунд... Нужно учесть предпразднечные дни, они ведь тоже рабочие. По крайней мере в ЗУПе есть предпразднечные.
#10
by МимохожийОднако
УТ11. Общий модуль.Календарные графики. // Функция определяет количество дней, входящих в календарь, для указанного периода
#12
by vde69
кстати разность дат в SQL работает на порядок медленее чем разность чисел, по этому я и привожу весь календарь к числу дней от самого первого дня, ну а потом просто получаю ю два числа и результатом является простая разница целых чисел
#13
by Fragster
о_О занафига само с собой соединять? ГДЕ ПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &Дата1 И &Дата2
#14
by vde69
по тому как я получаю таблицу для каждой даты, в том числе и для выходных. для единичного запроса годится, для запроса где нужно посчитать 100 000 периодов годится
#18
by vde69
пример - определение просрочки в супермаркете, по остаткам партий товаров. Или расчет количества банковских дней просрочки по договору (от момента платежа) замерял
#21
by dmpl
Когда будет 100 тыс. периодов - сервак просто упадет по нехватке памяти. Левое соединение с условием, отличным от = завалит. Для того, чтобы завалить сервер хватит и 30-40 тыс. записей.
#22
by Axel2009
да я знаю где это применяется. определяю среднюю просрочку (суммарная просрочка на каждый день месяца, и средняя из этого) по каждому клиенту за весь месяц по всем просроченным долгам на 5 рабочих дней. весь запрос 3 секунды
#24
by Axel2009
set nocount on declare table(i int, d datetime) declare int, @d datetime, @d2 datetime, 2 int set = 0 while < 10000 begin set = + 1 insert into values(, dateadd(dd, , '19500101')) end set = 0 set @d = getdate while < 10000 begin set = + 1 select @d2 = datediff(dd, d, getdate) from end print 'разница по дате ' + str(datediff(ss, @d, getdate)) set = 0 set @d = getdate while < 10000 begin set = + 1 select 2 = 11000 - i from end print 'разница по числу ' + str(datediff(ss, @d, getdate)) разница по дате 15 разница по числу 14 где порядки?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v 8.0 Как можно посчитать количество рабочих дней между двумя датами
- Как в 1С 7.7 определить количество рабочих дней между заданными датами?
- Ошибка "Количество субконто превышает макс. возможное количество по счету %s"
- Среднемесячное количество рабочих часов при 40-часовой рабочей неделе
- Торговля 7. Количество по ПартииНаличие <> Количество по Остатки ТМЦ. Это нормально?
- ЗУП. Показатель - количество рабочих дней в месяце - есть такой?
- Количество основных средств превышает количество объектов капитальных вложений.
- Количество рабочих дней, календарных , между двумя датами в запросе
- В одном запросе получить количество рабочих дней по дате заказа
В этой группе 1С
- УТ 11.0. Вывод печатной формы
- VPN подключение с помощью командной строки
- Enumeration в XDTO типе
- Как средствами 1с создать произвольний XML-файл
- УТ 11 Не работает предварительный просмотр документов перед печатью!
- Нужна помощь - доработка типового Плана обмена УТ - БП
- Для выполнения команды требуется разблокировать все объекты
- Создание WS ссылки, проблема с сертификатом
- Неверное отображение данных в СКД
- PostgreSQL объем используемой памяти.
- Выбрать в запросе Пустые Субконто
- v8: Ошибка проверки модели XDTO.
- v7: Ошибка целостности таблицы SC55
- v7: 1с++ Общие.Форма.Привязка.ert
- Outlook. Отправка письма от другой учетной записи.
- Оптимизация регистрации изменений плана обмена
- ПВХ получить назначение свойства
- 8.1 БП + УАТ (нумерация путевых листов)
- v8: Из 1С8 по OLE к 1С7, вызываю функцию (1С7), передаю параметры, ошибка.
- журнал документов 1С 8.0