![]() |
![]() |
![]() |
|
v7: Получить остаток запросом | ☑ | ||
---|---|---|---|---|
0
curys
17.01.12
✎
01:44
|
Доброе время суток. Подскажите, что я в запросе делаю не так? Мне необходимо получить остаток в рублях по выбранной партии...
Запрос2 = СоздатьОбъект("Запрос"); ТекстЗапроса2 = "//{{ЗАПРОС(Сформировать) |Период с ДатаНачала по ДатаКонца; |Фирма = Регистр.ПартииНаличие.Фирма; |УпрАналитика = Регистр.ПартииНаличие.Фирма.УпрАналитика; |ЮрЛицо = Регистр.ПартииНаличие.Фирма.ЮрЛицо; |Партия = Регистр.ПартииНаличие.Партия; |Контрагент = Регистр.ПартииНаличие.Партия.Поставщик; |Количество = Регистр.ПартииНаличие.Количество; |Сумма = Регистр.ПартииНаличие.СуммаРуб; |Функция КонОстС = КонОст(Сумма);"; Если Ном = 3 Тогда ТекстЗапроса2 = ТекстЗапроса2 + "Условие (Партия = ПартияОт);"; КонецЕсли; |
|||
1
Aleksey
17.01.12
✎
01:46
|
Группировка по чем?
|
|||
2
curys
17.01.12
✎
01:57
|
прошу прощения за вопрос: а за чем она здесь? До этого я делал без группировки просто условие ставил контрагент и все, а вот с партией не получается...
|
|||
3
Азат
17.01.12
✎
03:23
|
(2) проблема не в партии, а в том, что группировок нет, а функция есть... по кому будет рассчитываться сия функция?
|
|||
4
fgaabbb
17.01.12
✎
04:51
|
добавь |Группировка Партия;
и будет тебе счастье |
|||
5
curys
17.01.12
✎
11:37
|
спасибо
|
|||
6
curys
17.01.12
✎
13:40
|
установил группировку, но все равно выдает 0, хотя по данному поступлению есть остаток
В отладчике текПАрт равен: ТекПарт = Поступление ТМЦ 0000000044 (09.05.11) Запрос2 = СоздатьОбъект("Запрос"); ТекстЗапроса2 = "//{{ЗАПРОС(Сформировать) |Период с ДатаНачала по ДатаКонца; |Фирма = Регистр.ПартииНаличие.Фирма; |УпрАналитика = Регистр.ПартииНаличие.Фирма.УпрАналитика; |ЮрЛицо = Регистр.ПартииНаличие.Фирма.ЮрЛицо; |Партия = Регистр.ПартииНаличие.Партия; |Контрагент = Регистр.ПартииНаличие.Партия.Поставщик; |Количество = Регистр.ПартииНаличие.Количество; |Сумма = Регистр.ПартииНаличие.СуммаРуб; |Функция КонОстС = КонОст(Сумма);"; Если Ном = 3 Тогда ТекстЗапроса2 = ТекстЗапроса2 + "Условие (Партия = ТекПарт); |Группировка Партия;"; КонецЕсли; |
|||
7
PuhUfa
17.01.12
✎
13:44
|
(6) код прям вот так как есть? и не ругается?
|
|||
8
curys
17.01.12
✎
13:49
|
в том то и дело что нет
|
|||
9
PuhUfa
17.01.12
✎
13:51
|
(8) а измерение регистра Партия - справочник.партии?
|
|||
10
curys
17.01.12
✎
13:55
|
да, пробывал сначала найти элемент справочника партии, а потом уже этот элемент подставлять в запрос, результат тот же.
|
|||
11
PuhUfa
17.01.12
✎
13:57
|
(10) значит не так искал или не так подставлял потом.
Но сравнивать Справочник.Партии с Документы.ПоступлениеТМЦ как ты делаешь в(6) точно нельзя |
|||
12
PuhUfa
17.01.12
✎
13:58
|
вообще посмотри стандартный отчет ВедомостьПоПартиямТМЦ
|
|||
13
curys
17.01.12
✎
14:08
|
изначально перед запросом я сделал следующее:
//получить номер партии из справочника Парт = СоздатьОбъект("Справочник.Партии"); Парт1 = ТекРасшифровка; Парт.Выбрать(ПАрт1); Парт.ПолучитьЭлемент(); ТекПарт = ПАрт.ТекущийЭлемент(); |
|||
14
PuhUfa
17.01.12
✎
14:19
|
(13) это что такое?
|
|||
15
curys
17.01.12
✎
15:34
|
все разобрался, надо было так:
Запрос2 = СоздатьОбъект("Запрос"); ТекстЗапроса2 = "//{{ЗАПРОС(Сформировать) // |Период с ДатаНачала по ДатаКонца; |Фирма = Регистр.ПартииНаличие.Фирма; |УпрАналитика = Регистр.ПартииНаличие.Фирма.УпрАналитика; |ЮрЛицо = Регистр.ПартииНаличие.Фирма.ЮрЛицо; |Партия = Регистр.ПартииНаличие.Партия; |Контрагент = Регистр.ПартииНаличие.Партия.Поставщик; |Количество = Регистр.ПартииНаличие.Количество; |Сумма = Регистр.ПартииНаличие.СуммаРуб; |Функция КонОстС = КонОст(Сумма);"; Если Ном = 3 Тогда ТекстЗапроса2 = ТекстЗапроса2 + "Условие (Партия.ПриходныйДокумент = ТекПарт); |Группировка Партия;"; КонецЕсли; Спасибо за ответы. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |