|
v7: Запрос к регистру | ☑ | ||
---|---|---|---|---|
0
Aleksandra_19
25.01.13
✎
15:14
|
Добрый день! Подскажите пожалуйста в чем ошибка. Мне нужно сформировать отчет по дебиторской задолженности. В регистре все данные есть. Но почему-то начальный остаток у меня всегда нулевой, какой бы период не выбирался. Вот текст запроса:
ТЗ = " |Период с НачДата по КонДата; |Контрагент = Регистр.Дебиторка.Контрагент; |ВидДока = Регистр.Дебиторка.ВидДока; |ДатаДока = Регистр.Дебиторка.ДатаДока; |Договор = Регистр.Дебиторка.Договор; |СрокОплаты = Регистр.Дебиторка.Договор.СрокОплаты; |Сумма = Регистр.Дебиторка.Сумма; |Функция НачОстаток = НачОст(Сумма); |Функция Приход = Приход(Сумма); |Функция Расход = Расход(Сумма); |Функция КонОстаток = КонОст(Сумма); |Группировка Контрагент Без Групп; |Группировка ВидДока; |Группировка ДатаДока; |Условие (ДатаДока >= НачДата); |Условие (ДатаДока <= КонДата); |"; |
|||
1
Ёпрст
25.01.13
✎
15:15
|
|ВидДока = Регистр.Дебиторка.ВидДока;
|ДатаДока = Регистр.Дебиторка.ДатаДока; зачетные измерения в регистре, и чего туда пишешь ? |
|||
2
Aleksandra_19
25.01.13
✎
15:16
|
ВидДока - это ТТН или Возврат, а ДатаДока - дата этого документа
|
|||
3
Ёпрст
25.01.13
✎
15:17
|
круто.
|
|||
4
Ёпрст
25.01.13
✎
15:17
|
а зачем, если не секрет ?
|
|||
5
Aleksandra_19
25.01.13
✎
15:19
|
Потому что теткам из финансового нужно знать, что это был за документ...
|
|||
6
Ёпрст
25.01.13
✎
15:20
|
(5) документ чего ?
|
|||
7
пипец
25.01.13
✎
15:20
|
текущийдокумент ? не ?
|
|||
8
Mikeware
25.01.13
✎
15:20
|
(5) а что, ТекущийДокумент украли, или по религиозным соображениям?
|
|||
9
Ёпрст
25.01.13
✎
15:20
|
при приходе, туда чего пишешь ?
А при расходе ? А при оплате ? А при выдаче денех ? |
|||
10
Aleksandra_19
25.01.13
✎
15:21
|
Документ, которым пришли деньги, или наоборот списались
|
|||
11
viktor_vv
25.01.13
✎
15:21
|
(1) Есть подозрение, что это реквизиты регистра.
|
|||
12
Aleksandra_19
25.01.13
✎
15:21
|
Пусть будет по религиозным соображениям.. Ошибка-то не в этом
|
|||
13
Mikeware
25.01.13
✎
15:22
|
(10) списание денег производится в связи с их износом? :-)
|
|||
14
Ёпрст
25.01.13
✎
15:22
|
(11) врят ли.
|
|||
15
Aleksandra_19
25.01.13
✎
15:23
|
(13) Списание денег производится при оплате от контрагента
|
|||
16
Irbis
25.01.13
✎
15:23
|
(13) и естественной убылью
|
|||
17
viktor_vv
25.01.13
✎
15:24
|
(15) А без этого условия нормально остатки показывает ?
|Условие (ДатаДока >= НачДата); |Условие (ДатаДока <= КонДата); |
|||
18
viktor_vv
25.01.13
✎
15:25
|
(17) Кстати из-за этого условия и косяк похоже. Оно ж отбирает только документы в периоде за который и запрос делается.
|
|||
19
viktor_vv
25.01.13
✎
15:26
|
(18) Соотвественно и движения по ним начались только в этом периоде.
Ну и остатка поэтому нету. |
|||
20
Aleksandra_19
25.01.13
✎
15:27
|
Без этого условия правильно показывает. Но мне нужно получить отчет за определенный период. Так не получится сделать?
|
|||
21
viktor_vv
25.01.13
✎
15:28
|
(20) А чем тебя не устаривает результат без этого условия ?
Ты ж период задаешь тут. |Период с НачДата по КонДата; |
|||
22
Aleksandra_19
25.01.13
✎
15:29
|
(20) Но мне все равно выдает все документы, в том числе те, которые были раньше НачДата
|
|||
23
viktor_vv
25.01.13
✎
15:31
|
(22) Ну тогда остаток на начало будет равен нулю, в большинстве случаев, в чем вопрос ?
И ответь на (11) . |
|||
24
Aleksandra_19
25.01.13
✎
15:32
|
Да, ВидДока и ДатаДока - это реквизиты регистра
|
|||
25
Ёпрст
25.01.13
✎
15:33
|
да уж..
я хз, что тебе нужно и (за нелепую структуру регистра мы не в ответе) так может ? |Период с НачДата по КонДата; |Контрагент = Регистр.Дебиторка.Контрагент; |ВидДока = Регистр.Дебиторка.ВидДока; |ДатаДока = Регистр.Дебиторка.ДатаДока; |Договор = Регистр.Дебиторка.Договор; |СрокОплаты = Регистр.Дебиторка.Договор.СрокОплаты; |Сумма = Регистр.Дебиторка.Сумма; |Функция НачОстаток = НачОст(Сумма); |Функция Приход = Приход(Сумма) Когда((ДатаДока >= НачДата)И((ДатаДока <= КонДата))); |Функция Расход = Расход(Сумма) Когда((ДатаДока >= НачДата)И((ДатаДока <= КонДата))); |Функция КонОстаток = КонОст(Сумма); |Группировка Контрагент Без Групп; |Группировка ВидДока; |Группировка ДатаДока; |//Условие (ДатаДока >= НачДата); |//Условие (ДатаДока <= КонДата); |
|||
26
Aleksandra_19
25.01.13
✎
15:34
|
Вопрос в том, как сделать так, чтобы выбирались документы за указанный период и в тоже время остаток на начало был реальный, а не нулевой?
|
|||
27
viktor_vv
25.01.13
✎
15:37
|
(26) Вот это поясни.
"чтобы выбирались документы за указанный период" Какие документы ? Документы сформировавшие движения, или документы являющиеся значением измерения , я так понял Договор. |
|||
28
Aleksandra_19
25.01.13
✎
15:37
|
(25) так все равно все документы попадают
|
|||
29
viktor_vv
25.01.13
✎
15:39
|
(25) А смысл, если в реквизит ДатаДока пишется дата документа движения.
Правда это опять телепатия :). Может ТС пояснит, какая дата пишется реквизит ДатаДока. |
|||
30
Aleksandra_19
25.01.13
✎
15:40
|
(27) Документы сформировавшие движения
|
|||
31
Aleksandra_19
25.01.13
✎
15:41
|
(29) В реквизит ДатаДока пишется когда была отгружена ТТН или когда принят Возврат
|
|||
32
viktor_vv
25.01.13
✎
15:42
|
У меня такое чувство, что это очередное "хочу получить начальный конечный остаток по реквизиту регистра, документу движения".
|
|||
33
Aleksandra_19
25.01.13
✎
15:52
|
ДатаДока и ВидДока никак не влияют на движения регистра, они просто реквизиты для информации. Остатки на начало и на конец правильные, но движения берутся не за указанный период, а вообще все
|
|||
34
Ёпрст
25.01.13
✎
15:52
|
Нет, просто автор сам не знает что он хочет и объяснить это не в состоянии
|
|||
35
Ёпрст
25.01.13
✎
15:53
|
(33) да ну ?
в запросе (25) все движения будут отфильтрованы по твоим реквизитам ДатаДока |
|||
36
Aleksandra_19
25.01.13
✎
15:57
|
(35) нет, все равно выводятся все движения
|
|||
37
Ёпрст
25.01.13
✎
16:00
|
(36)что значит все ?!
Как ты это проверяешь ?! |
|||
38
пипец
25.01.13
✎
16:02
|
Группировка ВидДока Оо а виддока текст ?
|
|||
39
Злопчинский
25.01.13
✎
16:03
|
Александра - позволь объяснить как белорус беларусу.
. надо различать "документы движения" - те которые минусуют и плюсуют деньги и "кредитные документы" - т.е. документы по которым образовался долг. . рассмотрим подробнее. . всё по нулям. Первый документ движения Реализация = 1000 Далее оплата 200, оплата 300 Очевидно, что оплаты - это документы движения, которые закрывают КРЕДИТНЫЙ документ реализация - который образовал долг (этот креддок одновременно является и документом движения). . наоборот: всё по нулям. . Предоплата 1000 отгрузка 200, отгрузка 100 - все три дока сами по себе документы движения, первый документ - еще и кредитный док - на сейчас по нему висит наш долг = 700 руб. . так вот, если в регистре в КАЧЕТСВЕ ИЗМЕРЕНИЯ отсутствует КРЕДИТНЫЙ ДОКУЕНТ и весь регистр представляет собой простые движения по + и минус деньги - то на любой момент можно определить текущий долг, но не получится (быстро!) сказать из каких документов (сколдок неоплаченных реализаций например) он складывается. . чтобы определить из чего складываетяс долг и какие сроки долга - придется получить остаток на сейчас и отматывать назад документы приходов.расходов, чтобы получить список доков, составляющих долг. это - бяка, так ОБЫЧНо не делают. |
|||
40
Злопчинский
25.01.13
✎
16:10
|
В твоем случае - утебя есть ВидДока и ДатаДока
например, отгрузили 200 и 150 в регистр записалось СО ЗНАКОМ ПЛЮС что значит долг клиента (Типа Документ движения-ВидДок-ДатаДок-Сумма) Реализация, 10.01.13, +200руб (Типа Документ движения-ВидДок-ДатаДок-Сумма) Реализация, 15.01.13, +150руб . Оплатили 16 числа 420, проводим - в документ пишется со знаком минус (уменьшение долга клиента) - а что пишется - а зависит от "истории" - выбирается итог по регистру - он плюсовой (есть долги ) и плюсы в разрезе дат и видов дока ОДНА пплата "раскладывается" на эти долги НА НЕСКОЛЬКО строк - в нашем случае будет (примерно) так: (Типа Документ движения-ВидДок-ДатаДок-Сумма) ВыпискаПриход, Реализация, 10.01.13, -200руб (Типа Документ движения-ВидДок-ДатаДок-Сумма) ВыпискаПриход, Реализация, 15.01.13, -150руб (все долги кончились!) (Типа Документ движения-ВидДок-ДатаДок-Сумма) ВыпискаПриход, ВыпискаПриход, 16.01.13, -70руб . |
|||
41
Злопчинский
25.01.13
✎
16:11
|
Поправочка к предыдущему
. в регистр записалось СО ЗНАКОМ ПЛЮС что значит долг клиента (Типа Документ движения-ВидДок-ДатаДок-Сумма) Реализация№1, Реализация, 10.01.13, +200руб (Типа Документ движения-ВидДок-ДатаДок-Сумма) Реализация№2, Реализация, 15.01.13, +150руб . |
|||
42
Ёпрст
25.01.13
✎
16:12
|
(39,40) Ну шо за невнимательность а ?
У аутора, ВидДока и ДатаДока - это реквизиты регистра, по ним нема останков :) |
|||
43
Злопчинский
25.01.13
✎
16:13
|
Обычно "дебиторка" понимается как непогашенные долги.
Непогашенные долги (а не история как развивались непогашенные долги) - они всегда НА ДАТУ 9а не за период |
|||
44
Злопчинский
25.01.13
✎
16:16
|
(42) понял ;-)
. если ВидДока и датаДока - реквизиты - то дебиторку можно получить только в виде КУЧИ, то есть например 1000 руб. и Все (как я написал выше) - чтобы получить сроки и из чего они складываются - надо этот отстаток "разматывать назад", выбирая только те доки, которые сведут эту сумму к нулю.. . а выше я написал примерчики - исходя из того, что ВидДок и ДатаДок - ИЗМЕРЕНИЯ РЕГИСТРА 9которые типа кредитный документ) |
|||
45
CaMoJleT
25.01.13
✎
16:18
|
Так а разве ТС не сможет получить еще и историю, как ей и надо?
У неё есть регистр, в регистре есть движения. Надо получить остаток на одно одну дату, все движения с этой даты по вторую и остатки на вторую дату. Я был уверен, что совет из (17) поможет. На крайний случай и (25) тоже. Хз чего у неё выбираются движения и раньше НачДата. |
|||
46
Злопчинский
25.01.13
✎
16:19
|
(45) тут понимаешь в чем вопрос - Епрст написал ей запрос. а ей не нравятся результат. После этого ТС пропал...
|
|||
47
CaMoJleT
25.01.13
✎
16:20
|
(46) походу пытается как-то реализовать всё, что тут написано)
|
|||
48
Aleksandra_19
25.01.13
✎
16:23
|
http://ge.tt/2Ze0kSW/v/0?c
Вот что у меня получается, если переписать запрос как в (25) Мне не понятно, почему сюда попадают ТТН, которые были проведены 11-м месяцем? |
|||
49
Ёпрст
25.01.13
✎
16:25
|
(48) Если ВидДока и ДатаДока - это реквизиты регистра, то по ним нет Останков вообще, вы определитесь, что есть
ВидДока и ДатаДока у вас в регистре - Измерения регистра это или всё же Реквизиты регистра. |
|||
50
Ёпрст
25.01.13
✎
16:25
|
+ нам отсюда не виден ваш вывод результатов запроса в эту форму.
|
|||
51
Злопчинский
25.01.13
✎
16:28
|
(49) не зря я писал ей пояснялку! ;-)
Александра: я все-таки думаю что это а) измерения - по ним и вылазит долг (и это правильно), потому что если долг образовался по документу 11 месяца, то он будет висеть хот 10 лет, пока его не "заминусуют" в текущем периоде. б) если это реквизиты - то как там определяются и выбираются цифры/доки из результатов запроса - нам отсюда не видно.. ;-) |
|||
52
Злопчинский
25.01.13
✎
16:30
|
Проще будет целиком увидет код модуля начиная с формирования текста запроса до Таб.Показать()
. помог бы, но убегаю - надо гифт купить на ДР |
|||
53
Aleksandra_19
25.01.13
✎
16:32
|
Это измерения. Я наверное уже поняла, в чем проблема.. Текст скину позже, рабочий день закончился уже. Спасибо
|
|||
54
Ёпрст
25.01.13
✎
16:34
|
(53) тогда ты тупо видишь ОСТАНКИ по этим измерениям.. а в самих движениях за этот период твоих видДок и датаДок не булдет
|
|||
55
Ёпрст
25.01.13
✎
16:34
|
ну и структуру регистра - в топку.
|
|||
56
Злопчинский
25.01.13
✎
16:34
|
(53) Втыкай. Александра - в пояснялки мои и мысли над текстом Епрста.
|
|||
57
Злопчинский
25.01.13
✎
16:35
|
Хорошо жить в Минске, рабочий день до 16-30...
|
|||
58
Злопчинский
25.01.13
✎
16:35
|
(55) все в топку! ;-)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |