|
Как убрать выходные дни из даты в запросе (Дебеторка)? | ☑ | ||
---|---|---|---|---|
0
Vladius
24.03.14
✎
12:27
|
Есть отчет по дебеторке. Считает сколько дней просрочено следующим образом.
РАЗНОСТЬДАТ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата, ДОБАВИТЬКДАТЕ(&ДатаКонца, ДЕНЬ, 1), ДЕНЬ) - ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности Он берет дату документа и дату отчета и считает кол-во дней между этими датами, затем берется допустимое количество дней просрочки с договора и считает разницу. Допустим просрочено 7 дней с понедельника по воскресенье. А надо что бы было просрочено 5 дней так как суб. и воскр. выходные. Это вообще реально в запросе сделать? |
|||
1
cw014
24.03.14
✎
12:28
|
Можешь заюзать регламентированный производственный календарь, если УПП
|
|||
2
Vladius
24.03.14
✎
12:31
|
(1) А каким образом? Я уже думал о календаря но понятия не имею как в запросе это реализовать. Там же просто разница дней считается и все.
|
|||
3
France
24.03.14
✎
12:32
|
(0) что за конфа?? в типовых вроде как указывается рабочие дни или календарные..
|
|||
4
cw014
24.03.14
✎
12:32
|
Не считай разницу, а выбери количество дней из календаря без выходных по вхождению от даты начала по дату окончания
|
|||
5
Vladius
24.03.14
✎
12:38
|
(3) УТП для Украины.
|
|||
6
France
24.03.14
✎
12:53
|
(5) для ут 10.3 (Россия) в настройках параметров учета есть "Способ контроля дней задолженности": по рабочим дням; по календарным дням. Поищи, скорее всего и в УТП есть - он же потомок УТ??
|
|||
7
МихаилМ
24.03.14
✎
12:53
|
напишите формулу
вычисления кол-ва раб дней без учета праздников подсказка http://habrahabr.ru/post/67092/ |
|||
8
МихаилМ
24.03.14
✎
13:12
|
||||
9
Vladius
24.03.14
✎
13:15
|
(8) Формула не прокатит так как пилю универсальный отчет а там все в запросе надо сделать.
Пытаюсь через регл. календарь получить рабочие дни. |
|||
10
Ненавижу 1С
гуру
24.03.14
✎
13:16
|
(9) будь мужиком, сделай в запросе
|
|||
11
Vladius
24.03.14
✎
13:17
|
(6) У нашей дебеторки изначально была 1 формула расчета просрочки.
Такую настройку нашел, сейчас гляну типовой отчет как там реализовано. |
|||
12
Ненавижу 1С
гуру
24.03.14
✎
13:18
|
соедини с календарем по условию
ДатаКалендаря МЕЖДУ НачалоПериода и КонецПериода И ВидДНЯ В ... |
|||
13
Vladius
24.03.14
✎
13:20
|
(12) Уже так сделал.
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата И &ДатаКонца РегламентированныйПроизводственныйКалендарь.ВидДня = &ВидДня Почему то нашел количество дней - 1 |
|||
14
Ненавижу 1С
гуру
24.03.14
✎
13:22
|
(13) возможно забыл про вид "предпраздничный"
|
|||
15
Vladius
24.03.14
✎
13:25
|
(14)
УниверсальныйОтчет.ПостроительОтчета.Параметры.Вставить("ВидДня", Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий); |
|||
16
Ненавижу 1С
гуру
24.03.14
✎
13:28
|
(15) плять, ну так сделай уже
РегламентированныйПроизводственныйКалендарь.ВидДня В (ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Рабочий),ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Предпраздничный)) |
|||
17
Vladius
24.03.14
✎
13:31
|
(16) Ты не понял, даже если БЕЗ условия ВидДня он подтягивает кол-во дней - 1
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата И &ДатаКонца |
|||
18
Vladius
24.03.14
✎
13:31
|
Хотя разница в 8 дней с датой документа и отчета.
|
|||
19
Vladius
24.03.14
✎
13:34
|
Забыл поменять МАКСИМУМ на СУММА.
Вопрос решен. |
|||
20
Ненавижу 1С
гуру
24.03.14
✎
13:35
|
(17) на конкрентных числах давай, какой период и какой результат
|
|||
21
Cube
24.03.14
✎
13:45
|
Слабаки! Вот, вроде работает, если что, допилить напильником:
ВЫБРАТЬ ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&Дата1, ДЕНЬ) >= НАЧАЛОПЕРИОДА(&Дата2, ДЕНЬ) ТОГДА 0 ИНАЧЕ ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(&Дата1) < 6 ТОГДА 5 - ДЕНЬНЕДЕЛИ(&Дата1) ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Дата1, ДЕНЬ, 7), НЕДЕЛЯ), КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&Дата2, ДЕНЬ, -7), НЕДЕЛЯ), ДЕНЬ) > 0 ТОГДА РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Дата1, ДЕНЬ, 7), НЕДЕЛЯ), КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&Дата2, ДЕНЬ, -7), НЕДЕЛЯ), ДЕНЬ) - (ВЫРАЗИТЬ(РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Дата1, ДЕНЬ, 7), НЕДЕЛЯ), КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&Дата2, ДЕНЬ, -7), НЕДЕЛЯ), ДЕНЬ) / 7 КАК ЧИСЛО(15, 0))) * 2 + 1 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(&Дата2) > 5 ТОГДА ВЫБОР КОГДА НАЧАЛОПЕРИОДА(&Дата1, НЕДЕЛЯ) = НАЧАЛОПЕРИОДА(&Дата2, НЕДЕЛЯ) ТОГДА 0 ИНАЧЕ 5 КОНЕЦ ИНАЧЕ ДЕНЬНЕДЕЛИ(&Дата2) КОНЕЦ КОНЕЦ КАК Поле3 |
|||
22
Cube
24.03.14
✎
13:46
|
(0) "Дебеторка" пишется через "и" - дебиторка...
|
|||
23
Vladius
24.03.14
✎
13:47
|
(21) Чё слабаки? Уже все решил).
ДатаКалендаря МЕЖДУ НачалоПериода и КонецПериода И ВидДНЯ В ... |
|||
24
Cube
24.03.14
✎
13:50
|
(23) А я решил без производственного календаря...
Правда, на счет боевого применения, скорее всего с календарем лучше. Но задача стояла выкинуть субботу и воскресение - сделано. |
|||
25
France
24.03.14
✎
14:09
|
(11) все же решил продолжить строгание костыля?
|
|||
26
Ненавижу 1С
гуру
24.03.14
✎
14:17
|
(24) это псевдорешение
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |