|   |   | 
| 
 | 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) все в топку! ;-)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |