[1] [2] |
Вопрос по запросу 77 Есть запрос в ТИС |Долг =Регистр.Покупатели.СуммаРуб,Регистр.Поставщики.СуммаРуб; |Док = Регистр.Покупатели.КредДокумент,Регистр.Поставщики.КредДокумент; |Функция ДолгНачОст = НачОст(Долг); |Функция ДолгПриходОбщ = Приход(Долг) ; |Функция ДолгРасходОбщ = Расход(Долг) ; |Функция ДолгКонОст = КонОст(Долг); |Группировка Контрагент без групп; |Группировка Док; Как сделать чтобы в зхапрос попадали записи у котjрых Конечный остаток >0? если делаю так |Условие (Запрос.ДолгКонОст>0); ТО выдает чушь... Спасибо! |
|Условие (ДолгКонОст>0); |
2-вопрос до конца мой прочли? если делаю так |Условие (Запрос.ДолгКонОст>0); ТО выдает чушь... Если делать так |Условие (ДолгКонОст>0); ТО переменная ДолгКонОст ему не знакома |
3- Если делать так |Условие (ДолгКонОст>0); ТО переменная ДолгКонОст ему не знакома Нет в 1 |
4. и что что нет? Я написал пример запроса. И написал, что если пишу к запросу условие |Условие (Запрос.ДолгКонОст>0); То он выводит чушь. я не понимаю вашего совета.. |
Полный текст запроса надо показывать. |
Ёпрст, явись! |
зачем полный..есть ф-ции..что нужны...вот этого достаточно.... но решения я пока еще не увидел..:( |
Где условие хоть написано? И напиши подробно на что ругается. |
Долг =Регистр.Покупатели.СуммаРуб,Регистр.Поставщики.Су ммаРуб; |Док = Регистр.Покупатели.КредДокумент,Регистр.Поставщики .КредДокумент; |Функция ДолгНачОст = НачОст(Долг); |Функция ДолгПриходОбщ = Приход(Долг) ; |Функция ДолгРасходОбщ = Расход(Долг) ; |Функция ДолгКонОст = КонОст(Долг); |Группировка Контрагент без групп; |Группировка Док; |Условие (Запрос.ДолгКонОст>0); ТО выдает чушь... в приходах почему то 0 выводится... Если у условии пишу, |Условие (ДолгКонОст>0); ТО запрос ругается на переменную ДолгКонОст, что она не определена. |
Ну чудес не бывает. 1. Посмотри, точно переменные одинаковые что в условие, что в функции (мож буквы попутаны). 2. Фильтруй данные в переборе запроса, если не взлетит условие в запросе. |
тогдк как сотировать резуьтрат запроса по ДолгКонОст? Или или это нереально в запросе? |
Он у тебя уже отсортирован по группировкам. В выборке напишешь. Пока Запрос.Группировка("Док") = 1 Цикл Если Запрос.ДолгКонОст <= 0 Тогда Продолжить; и т.д. |
а может потому, что интервал дат в запросе не указан...? |
Да не он просто не хочет полностью запрос показать ) Тогда ему еще и на контрагента поругался бы. |
(10) если у тебя документ расхода, то приход = 0. |Условие (Запрос.ДолгКонОст>0); . непонятен период запроса - если не задан - все даелаетс яна ТА, тогда приход и расход смысла не имеют.. . автору много думать. |
в запросе непонятно что автор хочет. вместо того чтобы спросить как решить задачу - начинает спрашивать "пилю лобзиком рельсу - не получается"... . в псотавщиках и покупателях - суммы с разными знаками... - учитывать! |
Вообще в запросах значение функции в условии использовать нельзя, возможно использование только значений переменных. Единственное что можно попробовать это добавить условие в саму функцию: Функция ДолгКонОст = КонОст(Долг)когда(Долг > 0) |
а вообще да, думать надо)) |
(18) кто это тебе такое сказал...???? |
(20) эмперически выяснил. судя по ошибкам в условии ожидаются переменные коими внутренние функции не являются. попробуйте привести пример синтаксически не вызывающий ошибок при его выполнении |
(0) в данном тексте запроса - никак. |
ибо если поставишь условие на результат функции то оно кладет болт на вычисление остальных функций, да и вычисляется для каждого"движения" запроса |
а вот еще подскажите, пожалуйста Есть запрос...период тоже есть я просто его не пишу сюда,чтобы полемики не было. |Контрагент = Регистр.Покупатели.Договор.Владелец,Регистр.Поставщики.Договор.Владелец; |КонтрольКредит = Регистр.Покупатели.Договор.НеКонтролироватьКредит,Регистр.Поставщики.Договор.НеКонтролироватьКредит; |Договор = Регистр.Покупатели.Договор,Регистр.Поставщики.Договор; |КодОперации = Регистр.Покупатели.КодОперации,Регистр.Поставщики.КодОперации; |Долг = Регистр.Покупатели.СуммаРуб,Регистр.Поставщики.СуммаРуб; |Док = Регистр.Покупатели.КредДокумент,Регистр.Поставщики.КредДокумент; |Проект = Регистр.Покупатели.КредДокумент.Проект,Регистр.Поставщики.КредДокумент.Проект; |Функция ДолгНачОст = НачОст(Долг); |Функция ДолгПриходОбщ = Приход(Долг) ; |Функция ДолгРасходОбщ = Расход(Долг) ; |Функция ДолгКонОст = КонОст(Долг); |Группировка Контрагент без групп; |Группировка Док; Функция ДолгКонОст = КонОст(Долг);по ней выходят все остатки по документам в разрезе контрагентов... А мне как бы сделать, чтобы был итоге по контрагенту с суммой отрицательных остатков документов для контрагента т..е для чего мне все это... я делаю отчет по долгам...с документами... и если например общий долг по клиенту >0, т.е. он нам должен, то я вывожу документы и допустим они идут так. Док 1 345 остатка Док 2 -45 переплата Док 3 104 остаток Общий долг клиента 404 но т.к. Док 2 с переплатой, то я этой переплатой должен закрыть долг Дока 1, т.е 345 -45=300 долга по Док1 так же? И в итоге должен в отчет вывести документы в такой виде Док 1 300 остатка Док 3 104 остаток т.е. мне нужно вычислить общую отрицательную сумму переплат по клиенту...., а это те доки, у который конечный остаток меньше 0. как это реализовать? в запросе или еще как... |
(24) дык открой ведомость по клиентосам в типовой тис - там усё это есть |
да нет там ничего... там пишутся только наши долг и долг клиента И наш долг, почему то не перекрывает долг клиента..а так должно быть Если я должен 3 рубля и мне должны 5, то в итоге мне должны 2 рубля... и там нет долгов конкретно по докам, в случае переплат. А меня интересуетт именно это, а не общий долг. Тут чтоюбы знали кто по какому доку не оплатил...тут такая система.. |
И что группировки "Кред. документ" в типовом отчете нет? |
27. да открой и посмотри...и скажи мне где ты там видел, что в том отчете выходит ? Праивльно. Отдельно, наши долги и отдельно долги покупателей. мне общие долги не нуджны...еще раз повторяю...там переплаты висят в воздухе...и что я должен говрить покупателЮ вы переплатили мне накладную? И я вам щас денег верну..а вы потом отделбно оплатите мои долги? А зачем покупателю этот гемор? я должен выставит ему реальные долги...и если я ему должен, то этим долгом я перекрою долг покупателя и выставлю реальный его полоджительный долг. Уже не знаю что еще разжевывать..:( |
Да все там понятно. Есть колонка Наш долг, Долг клиента. Поставь фильтр по конкретому контрику и посмотри, что получается. Группировки Контрагент, Кредитный документ, документ движения. Выбирай не общие взаиморасчеты, а по покупателям. |
29-Значит мне нужно, коли понимаешь только по отчету "Ведомость по контрагенту", вытащить сумму наших долгов... Чтобы было так Контрагент - общая сумма переплат(нашего долга) на дату Как сделать? НО учти..могут быть по нем у и его долги. Можно ли сделать одним запросом? |
30-Wanderer27 >Можно. ТИС так и делает при фильтре "Общие взаиморасчеты" (а не "По поставщикам" или "По покупателям") |
Рисуй запрос отдельно по регистру Покупатели и все получится. |
32. а если покупатель одновременно и поставщик..Долг может быть еще и наш как перед потсавщиком...Поэтому увы..одним регистром Покупатели не обойдешься..:( я вообще то хотел хотя бы уже... чтобы в итоге запроса была колонка "Контрагент" и вторая колонка "Наши долги", не общий долг, а читсо наши долги. Как сделать? |
victuan "Ведомость по контрагенту" при выборе долги 2только наши" выводит только тех клиентов, у кого общий долг равен нашему долгу. Т.е остаток отрицательный. А общий долг, кк известно, состоит из нашего долга и долга клиента. мне нужна сумма только нашего долга, при условии что общий долг клиента >0. Одним запросом...т.е. "Клиент" - "наш долг" |
34-Wanderer27 >"[em]при выборе долги 2только наши" выводит только тех клиентов, у кого общий долг равен нашему долгу.[/em]" Неправда, он выводит долг по обоим регистрам (ВзаимоРасчетыПокупателей и ВзаимоРасчетыПоставщиков), как ты и хотел. |
victuan ты вообще не понял меня.. |
36-Wanderer27 >"[em]чтобы в итоге запроса была колонка "Контрагент" и вторая колонка "Наши долги", не общий долг, а читсо наши долги. Как сделать?[/em]" Выбираешь "Общие взаиморасчеты" и "Наши долги". А теперь ответь, где я тебя не понял? |
victuan Зачем мне смотреть на отчет? Я спрагиваю не для того, чтобы данные посомтреть, а для того, чтобы получить таблицу Котрагент-НашиДолги. Еще раз. А "Ведомость по контрагенту".. там обходится весь запрос и вытаскиваются только отрицательные долги. Так тупо и я бы сделал. Вопрос был: сразу получить одним запросом, а не перебором выбирать. А где посомтреть долги и наши и ваши я и сам знаю.. |
38-Wanderer27 >"[em]вытаскиваются только отрицательные долги"[/em] Отриц. долги это есть "наши долги". Полож. долги это "долги клиентов". |
пока вопросы задавал уже сам всем сделал одним запросом.. |
Текущее время: 07:44. Часовой пояс GMT +3. | [1] [2] |