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
| пока вопросы задавал уже сам всем сделал одним запросом.. | |
| Интернет-форум Краснодарского края и Краснодара |