К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Вопрос по запросу 77

Гость
0 - 30.01.2012 - 12:34
Есть запрос в ТИС
|Долг =Регистр.Покупатели.СуммаРуб,Регистр.Поставщики.Су ммаРуб;
|Док = Регистр.Покупатели.КредДокумент,Регистр.Поставщики .КредДокумент;

|Функция ДолгНачОст = НачОст(Долг);
|Функция ДолгПриходОбщ = Приход(Долг) ;
|Функция ДолгРасходОбщ = Расход(Долг) ;
|Функция ДолгКонОст = КонОст(Долг);
|Группировка Контрагент без групп;
|Группировка Док;

Как сделать чтобы в зхапрос попадали записи у котjрых Конечный остаток >0?
если делаю так |Условие (Запрос.ДолгКонОст>0);
ТО выдает чушь...
Спасибо!



Гость
1 - 30.01.2012 - 12:54
|Условие (ДолгКонОст>0);
Гость
2 - 30.01.2012 - 12:58
2-вопрос до конца мой прочли?
если делаю так |Условие (Запрос.ДолгКонОст>0);
ТО выдает чушь...
Если делать так |Условие (ДолгКонОст>0);
ТО переменная ДолгКонОст ему не знакома
Гость
3 - 30.01.2012 - 13:02
3- Если делать так |Условие (ДолгКонОст>0);
ТО переменная ДолгКонОст ему не знакома
Нет в 1
Гость
4 - 30.01.2012 - 13:07
4. и что что нет? Я написал пример запроса. И написал, что если пишу к запросу условие |Условие (Запрос.ДолгКонОст>0);
То он выводит чушь.
я не понимаю вашего совета..
Гость
5 - 30.01.2012 - 13:11
Полный текст запроса надо показывать.
6 - 30.01.2012 - 13:19
Ёпрст, явись!
Гость
7 - 30.01.2012 - 13:19
зачем полный..есть ф-ции..что нужны...вот этого достаточно....
но решения я пока еще не увидел..:(
Гость
8 - 30.01.2012 - 13:23
Где условие хоть написано? И напиши подробно на что ругается.
Гость
9 - 30.01.2012 - 13:31
Долг =Регистр.Покупатели.СуммаРуб,Регистр.Поставщики.Су ммаРуб;
|Док = Регистр.Покупатели.КредДокумент,Регистр.Поставщики .КредДокумент;

|Функция ДолгНачОст = НачОст(Долг);
|Функция ДолгПриходОбщ = Приход(Долг) ;
|Функция ДолгРасходОбщ = Расход(Долг) ;
|Функция ДолгКонОст = КонОст(Долг);
|Группировка Контрагент без групп;
|Группировка Док;
|Условие (Запрос.ДолгКонОст>0);
ТО выдает чушь... в приходах почему то 0 выводится...
Если у условии пишу,
|Условие (ДолгКонОст>0); ТО запрос ругается на переменную ДолгКонОст, что она не определена.
Гость
10 - 30.01.2012 - 13:54
Ну чудес не бывает.
1. Посмотри, точно переменные одинаковые что в условие, что в функции (мож буквы попутаны).
2. Фильтруй данные в переборе запроса, если не взлетит условие в запросе.
Гость
11 - 30.01.2012 - 13:57
тогдк как сотировать резуьтрат запроса по ДолгКонОст? Или или это нереально в запросе?
Гость
12 - 30.01.2012 - 14:02
Он у тебя уже отсортирован по группировкам.
В выборке напишешь.
Пока Запрос.Группировка("Док") = 1 Цикл
Если Запрос.ДолгКонОст <= 0 Тогда
Продолжить;
и т.д.
Гость
13 - 30.01.2012 - 14:40
а может потому, что интервал дат в запросе не указан...?
Гость
14 - 30.01.2012 - 15:15
Да не он просто не хочет полностью запрос показать )
Тогда ему еще и на контрагента поругался бы.
15 - 30.01.2012 - 15:53
(10) если у тебя документ расхода, то приход = 0.
|Условие (Запрос.ДолгКонОст>0);
.
непонятен период запроса - если не задан - все даелаетс яна ТА, тогда приход и расход смысла не имеют..
.
автору много думать.
16 - 30.01.2012 - 15:55
в запросе непонятно что автор хочет. вместо того чтобы спросить как решить задачу - начинает спрашивать "пилю лобзиком рельсу - не получается"...
.
в псотавщиках и покупателях - суммы с разными знаками... - учитывать!
Гость
17 - 30.01.2012 - 16:20
Вообще в запросах значение функции в условии использовать нельзя, возможно использование только значений переменных.
Единственное что можно попробовать это добавить условие в саму функцию:
Функция ДолгКонОст = КонОст(Долг)когда(Долг > 0)
Гость
18 - 30.01.2012 - 16:21
а вообще да, думать надо))
19 - 30.01.2012 - 17:55
(18) кто это тебе такое сказал...????
Гость
20 - 30.01.2012 - 22:45
(20) эмперически выяснил. судя по ошибкам в условии ожидаются переменные коими внутренние функции не являются. попробуйте привести пример синтаксически не вызывающий ошибок при его выполнении
Гость
21 - 31.01.2012 - 08:16
(0) в данном тексте запроса - никак.
Гость
22 - 31.01.2012 - 08:18
ибо если поставишь условие на результат функции то оно кладет болт на вычисление остальных функций, да и вычисляется для каждого"движения" запроса
Гость
23 - 31.01.2012 - 11:18
а вот еще подскажите, пожалуйста
Есть запрос...период тоже есть я просто его не пишу сюда,чтобы полемики не было.
|Контрагент = Регистр.Покупатели.Договор.Владелец,Регистр.Постав щики.Договор.Владелец;
|КонтрольКредит = Регистр.Покупатели.Договор.НеКонтролироватьКредит, Регистр.Поставщики.Договор.НеКонтролироватьКредит;
|Договор = Регистр.Покупатели.Договор,Регистр.Поставщики.Дого вор;
|КодОперации = Регистр.Покупатели.КодОперации,Регистр.Поставщики. КодОперации;
|Долг = Регистр.Покупатели.СуммаРуб,Регистр.Поставщики.Сум маРуб;
|Док = Регистр.Покупатели.КредДокумент,Регистр.Поставщики .КредДокумент;
|Проект = Регистр.Покупатели.КредДокумент.Проект,Регистр.Пос тавщики.КредДокумент.Проект;
|Функция ДолгНачОст = НачОст(Долг);
|Функция ДолгПриходОбщ = Приход(Долг) ;
|Функция ДолгРасходОбщ = Расход(Долг) ;
|Функция ДолгКонОст = КонОст(Долг);
|Группировка Контрагент без групп;
|Группировка Док;

Функция ДолгКонОст = КонОст(Долг);по ней выходят все остатки по документам в разрезе контрагентов...
А мне как бы сделать, чтобы был итоге по контрагенту с суммой отрицательных остатков документов для контрагента

т..е для чего мне все это...
я делаю отчет по долгам...с документами...
и если например общий долг по клиенту >0, т.е. он нам должен, то я вывожу документы
и допустим они идут так.
Док 1 345 остатка
Док 2 -45 переплата
Док 3 104 остаток
Общий долг клиента 404
но т.к. Док 2 с переплатой, то я этой переплатой должен закрыть долг Дока 1, т.е 345 -45=300 долга по Док1 так же?
И в итоге должен в отчет вывести документы в такой виде
Док 1 300 остатка
Док 3 104 остаток

т.е. мне нужно вычислить общую отрицательную сумму переплат по клиенту...., а это те доки, у который конечный остаток меньше 0.
как это реализовать? в запросе или еще как...
Гость
24 - 31.01.2012 - 12:28
(24) дык открой ведомость по клиентосам в типовой тис - там усё это есть
Гость
25 - 31.01.2012 - 12:37
да нет там ничего...
там пишутся только наши долг и долг клиента
И наш долг, почему то не перекрывает долг клиента..а так должно быть
Если я должен 3 рубля и мне должны 5, то в итоге мне должны 2 рубля... и там нет долгов конкретно по докам, в случае переплат. А меня интересуетт именно это, а не общий долг. Тут чтоюбы знали кто по какому доку не оплатил...тут такая система..
Гость
26 - 31.01.2012 - 13:09
И что группировки "Кред. документ" в типовом отчете нет?
Гость
27 - 31.01.2012 - 13:24
27. да открой и посмотри...и скажи мне где ты там видел, что в том отчете выходит ? Праивльно. Отдельно, наши долги и отдельно долги покупателей. мне общие долги не нуджны...еще раз повторяю...там переплаты висят в воздухе...и что я должен говрить покупателЮ вы переплатили мне накладную? И я вам щас денег верну..а вы потом отделбно оплатите мои долги? А зачем покупателю этот гемор? я должен выставит ему реальные долги...и если я ему должен, то этим долгом я перекрою долг покупателя и выставлю реальный его полоджительный долг. Уже не знаю что еще разжевывать..:(
Гость
28 - 31.01.2012 - 13:40
Да все там понятно. Есть колонка Наш долг, Долг клиента. Поставь фильтр по конкретому контрику и посмотри, что получается. Группировки Контрагент, Кредитный документ, документ движения. Выбирай не общие взаиморасчеты, а по покупателям.
Гость
29 - 31.01.2012 - 14:14
29-Значит мне нужно, коли понимаешь только по отчету "Ведомость по контрагенту", вытащить сумму наших долгов...
Чтобы было так
Контрагент - общая сумма переплат(нашего долга) на дату
Как сделать? НО учти..могут быть по нем у и его долги. Можно ли сделать одним запросом?
30 - 31.01.2012 - 14:16
30-Wanderer27 >Можно. ТИС так и делает при фильтре "Общие взаиморасчеты" (а не "По поставщикам" или "По покупателям")
Гость
31 - 31.01.2012 - 14:17
Рисуй запрос отдельно по регистру Покупатели и все получится.
Гость
32 - 31.01.2012 - 14:26
32. а если покупатель одновременно и поставщик..Долг может быть еще и наш как перед потсавщиком...Поэтому увы..одним регистром Покупатели не обойдешься..:(
я вообще то хотел хотя бы уже...
чтобы в итоге запроса была колонка "Контрагент" и вторая колонка "Наши долги", не общий долг, а читсо наши долги. Как сделать?
Гость
33 - 31.01.2012 - 14:33
victuan "Ведомость по контрагенту" при выборе долги 2только наши" выводит только тех клиентов, у кого общий долг равен нашему долгу. Т.е остаток отрицательный. А общий долг, кк известно, состоит из нашего долга и долга клиента. мне нужна сумма только нашего долга, при условии что общий долг клиента >0. Одним запросом...т.е. "Клиент" - "наш долг"
34 - 31.01.2012 - 15:00
34-Wanderer27 >"при выборе долги 2только наши" выводит только тех клиентов, у кого общий долг равен нашему долгу."
Неправда, он выводит долг по обоим регистрам (ВзаимоРасчетыПокупателей и ВзаимоРасчетыПоставщиков), как ты и хотел.
Гость
35 - 31.01.2012 - 15:20
victuan ты вообще не понял меня..
36 - 31.01.2012 - 15:45
36-Wanderer27 >"чтобы в итоге запроса была колонка "Контрагент" и вторая колонка "Наши долги", не общий долг, а читсо наши долги. Как сделать?"
Выбираешь "Общие взаиморасчеты" и "Наши долги".
А теперь ответь, где я тебя не понял?
Гость
37 - 31.01.2012 - 16:40
victuan Зачем мне смотреть на отчет? Я спрагиваю не для того, чтобы данные посомтреть, а для того, чтобы получить таблицу
Котрагент-НашиДолги.
Еще раз. А "Ведомость по контрагенту".. там обходится весь запрос и вытаскиваются только отрицательные долги. Так тупо и я бы сделал. Вопрос был: сразу получить одним запросом, а не перебором выбирать. А где посомтреть долги и наши и ваши я и сам знаю..
38 - 31.01.2012 - 16:52
38-Wanderer27 >"вытаскиваются только отрицательные долги"
Отриц. долги это есть "наши долги". Полож. долги это "долги клиентов".
Гость
39 - 31.01.2012 - 16:58
пока вопросы задавал уже сам всем сделал одним запросом..


К списку вопросов






Copyright ©, Все права защищены