Имя: Пароль:
1C
1С v8
Отчет по кредиторской задолженности
,
0 nadin789
 
13.06.12
15:10
здравствуйте! Не могу разобраться с запросом для отчета по кредиторской задолженности. Оплата в день поступления товара не засчитывается. Подскажите пожалуйста.
"ВЫБРАТЬ
                                   |    Обороты.Организация,
                                   |    Обороты.Контрагент,
                                   |    Обороты.ДоговорКонтрагента КАК ДоговорКонтрагента,
                                   |    Обороты.Регистратор КАК Документ,
                                   |    Остатки.СуммаОстаток КАК СуммаОстаток,
                                   |    РАЗНОСТЬДАТ(Обороты.Период, &ДатаОтчета, ДЕНЬ) КАК ДнейСОтгрузки,
                                   |    Обороты.СуммаВзаиморасчетовРасход КАК СуммаОтгрузки,
                                   |    Обороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности КАК Отсрочка,
                                   |    ВЫРАЗИТЬ(ДОБАВИТЬКДАТЕ(Обороты.Период, ДЕНЬ, Обороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности) КАК ДАТА) КАК ДатаОплаты,
                                   |    РАЗНОСТЬДАТ(Обороты.Период, &ДатаОтчета, ДЕНЬ) - Обороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности КАК СрокДолга,
                                   |    ВЫБОР
                                   |        КОГДА РАЗНОСТЬДАТ(Обороты.Период, &ДатаОтчета, ДЕНЬ) - Обороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности > 60
                                   |            ТОГДА 60
                                   |        КОГДА РАЗНОСТЬДАТ(Обороты.Период, &ДатаОтчета, ДЕНЬ) - Обороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности <= 60
                                   |                И РАЗНОСТЬДАТ(Обороты.Период, &ДатаОтчета, ДЕНЬ) - Обороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности > 45
                                   |            ТОГДА 45
                                   |        КОГДА РАЗНОСТЬДАТ(Обороты.Период, &ДатаОтчета, ДЕНЬ) - Обороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности <= 45
                                   |                И РАЗНОСТЬДАТ(Обороты.Период, &ДатаОтчета, ДЕНЬ) - Обороты.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности > 30
                                   |            ТОГДА 30
                                   |        ИНАЧЕ 0
                                   |    КОНЕЦ КАК ГруппаЗадолженности,
                                   |    Обороты.Период КАК Период,
                                   |    Обороты.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК Валюта
                                   |ИЗ
                                   |    (ВЫБРАТЬ
                                   |        ОстаткиПоВзаиморасчетам.ДоговорКонтрагента КАК ДоговорКонтрагента,
                                   |        ОстаткиПоВзаиморасчетам.СуммаВзаиморасчетовОстаток КАК СуммаОстаток
                                   |    ИЗ
                                   |        РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ДатаОтчета, ДоговорКонтрагента.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СПоставщиком)) КАК ОстаткиПоВзаиморасчетам
                                   |    ГДЕ
                                   |        ОстаткиПоВзаиморасчетам.СуммаВзаиморасчетовОстаток < 0) КАК Остатки
                                   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(, &ДатаОтчета, Регистратор, ) КАК Обороты
                                   |        ПО Остатки.ДоговорКонтрагента = Обороты.ДоговорКонтрагента
                                   |{ГДЕ
                                   |    Остатки.ДоговорКонтрагента.Организация.* КАК Организация,
                                   |    Остатки.ДоговорКонтрагента.Владелец.* КАК Контрагент,
                                   |    Остатки.ДоговорКонтрагента.Владелец.ОсновнойМенеджерПокупателя.* КАК Менеджер,
                                   |    Обороты.Организация.*,
                                   |    Обороты.Контрагент.*,
                                   |    Обороты.Контрагент.ОсновнойМенеджерПокупателя.* КАК Менеджер}
                                   |
                                   |УПОРЯДОЧИТЬ ПО
                                   |    Период УБЫВ
                                   |ИТОГИ ПО
                                   |    ДоговорКонтрагента";
1 Amra
 
13.06.12
15:11
Без фото не взлетит)
2 nadin789
 
13.06.12
15:22
ну если с фоткой взлетит могу выслать на мыло))
3 Amra
 
13.06.12
15:23
(2) НЕа. Вставляй в личку) Таковы традиции)
4 nadin789
 
13.06.12
16:22
а щас взлетит?)
5 mikecool
 
13.06.12
16:23
(4) неа, теперь все смотрят на глаза )))
6 nadin789
 
13.06.12
16:25
ну вот))
7 mikecool
 
13.06.12
16:30
(6) а чего не получается?
8 nadin789
 
13.06.12
16:31
помогите пжлста, 8-ку только начинаю осваивать :-[
9 sanja26
 
13.06.12
16:31
КОнецДня не?
10 nadin789
 
13.06.12
16:32
если оплата в день поступления была, то она не засчитывается
11 sanja26
 
13.06.12
16:34
ИЗ
                                   |        РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ДатаОтчета,
12 Buster007
 
13.06.12
16:35
а что-то я не вижу где она должна засчитываться...
13 nadin789
 
13.06.12
16:36
т.е. если оплата была 12-ого числа и поступление тоже , то выходит задолженность если дата отчета 12, а если сформировать отчет 13 числом, то уже все правильно считает
14 Buster007
 
13.06.12
16:38
покажи как параметр ДатаОтчета устанавливаешь?
15 nadin789
 
13.06.12
16:39
датаОтчета выбирается в диалоге
16 sanja26
 
13.06.12
16:40
ИЗ
                                   |        РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(КонецПериода(&ДатаОтчета, День),
17 nadin789
 
13.06.12
16:46
не помогло
18 Buster007
 
13.06.12
16:48
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(, КонецПериода(&ДатаОтчета, День), Регистратор, )
19 Buster007
 
13.06.12
16:48
в общем в 2х местах менять надо )
20 sanja26
 
13.06.12
16:49
зачем же в 2-х? остатки слева
21 sanja26
 
13.06.12
16:50
видимо оплата поступает 23-59-59
22 sanja26
 
13.06.12
16:51
ИЗ
                                   |        РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(КонецПериода(&ДатаОтчета, День) + 1,
23 nadin789
 
13.06.12
17:03
не получилось опять, оплата поступает в середине дня. и еще +1 пишет неверные параметры
24 mikecool
 
13.06.12
17:03
(22) у тебя так работает параметр даты в ВТ? удивлен
25 mikecool
 
13.06.12
17:04
РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ДатаОтчета,

УстановитьПараметр ("ДатаОтчета", КонецДня(ДатаОтчета))
26 sanja26
 
13.06.12
17:07
ДобавитьКдате(КОНЕЦПЕРИОДА(&ДатаОтчета, ДЕНЬ), секунда, 1)
27 MrStomak
 
13.06.12
17:13
Проверить какие движения делает документ оплаты, по каким измерениям. Вполне возможно, что он распределяет сумму оплаты не на нужный договор, когда день-в-день, оттого отчет показывает неправильные данные - тут отбираются остатки по взаиморасчетам в разрезе договоров.
28 sanja26
 
13.06.12
17:26
(0) сравни с типовым Продажи - задолженность по контрагентам - галка кредиторская задолженность
29 sanja26
 
13.06.12
17:26
хотя галку можно не ставить))
30 Buster007
 
13.06.12
17:29
(24) работает )
31 sanja26
 
13.06.12
17:32
Че-то скрылась ТС...
32 Buster007
 
13.06.12
17:32
(20) потому что обороты тоже должны быть на конец дня. Оплату мы же получили в течении дня.
33 nadin789
 
13.06.12
17:32
Запрос.Параметры.Вставить("ДатаОтчета", КонецДня(ДатаОтчета));
так и стоит.
что касается не того договора, там все в порядке
34 sanja26
 
13.06.12
17:33
так это еще и не СКД??
секунду добавила?
35 nadin789
 
13.06.12
17:37
извиняюсь, но я не понимаю каким образом добавить секунду
36 sanja26
 
13.06.12
17:38
Запрос.Параметры.Вставить("ДатаОтчета", КонецДня(ДатаОтчета) + 1);
37 sanja26
 
13.06.12
17:38
или (26)
38 nadin789
 
13.06.12
17:39
ура!получилось. огромное спасибо всем.
39 nadin789
 
13.06.12
17:41
особое спасибо sanja26.
40 sanja26
 
13.06.12
18:01
кстати не забудь, что из задолженности пропадут поступления, оплаченные на следующий день в 00:00:00
41 nadin789
 
13.06.12
21:31
а как тогда это исправить?
42 MrStomak
 
13.06.12
22:13
(41) Используй вариант из (26) в параметрах виртуальной таблицы у вложенного запроса по остаткам. Используя (36), ты задаешь тот же самый период и для таблицы оборотов, а у неё для второго параметра автоматом ставится ВидГраницы.Включая. В результате в первой таблице будут данные на 00:00:00 не включая эту секунду, а во второй - включая, что создаёт проблему из (40), о которой Саня тебя великодушно предупредил=]