|
v7: 1c++ v3 прямые запросы 1cv77-27 | ☑ | ||
---|---|---|---|---|
0
ssvertov
17.11.16
✎
21:39
|
Припопытке использовать конструкцию "ДЕНЬ,ДвиженияИГраницыПериода" получаю ошибку
Meta name parser error: это метаимя разрешить невозможно "$РегистрОстаткиОбороты.ВзаиморасчетыПокупателей"State 42000, native 137, message [Microsoft][ODBC SQL Server Driver][SQL Server]Необходимо объявить скалярную переменную "@_CP_2". запрос: ТекстЗапроса = " |SELECT | Рег.Контрагент [Контрагент $Справочник.Контрагенты] | , Рег.Период | , Sum(Рег.ДолгНачальныйОстаток) AS НачТов | , Sum(Рег.ДолгПриход) AS ПрихТов | , Sum(Рег.ДолгРасход) AS РасхТов | , Sum(Рег.ДолгКонечныйОстаток) AS КонТов |FROM $РегистрОстаткиОбороты.ВзаиморасчетыПокупателей(:ДатаНачала,:ДатаКонца~,ДЕНЬ,ДвиженияИГраницыПериода,,(Контрагент IN (SELECT val FROM #Klienti)),Контрагент,Долг) AS Рег |GROUP BY Рег.Контрагент,Рег.Период |ORDER BY Рег.Контрагент,Рег.Период |"; RS.SetQueryTimeout(0); RS.УложитьСписокОбъектов(спсКлиенты, "#Klienti","Контрагенты"); RS.SetTextParam("ДатаНачала", Дата1); RS.SetTextParam("ДатаКонца" , Дата2); табЗапрос = CreateObject("ТаблицаЗначений"); табЗапрос = RS.ВыполнитьИнструкцию(ТекстЗапроса); RS.Закрыть(); чем ему не так? |
|||
1
ssvertov
17.11.16
✎
22:17
|
да - вот в отладке увидел это слово: N'@_CP_2
GROUP BY Рег.Контрагент ORDER BY Рег.Контрагент', N'@_CP_2 char(8),@_CP_3 char(23),@_CP_4 smalldatetime' ,'20161116','201611176K30I8 1Q1S 0',{d '2016-11-01'})} |
|||
2
Franchiser
гуру
17.11.16
✎
22:29
|
убери ORDER BY Рег.Контрагент,Рег.Период
|
|||
3
Franchiser
гуру
17.11.16
✎
22:33
|
и если не ошибаюсь нужно писать вместо :ДатаКонца~ :ДатаКонца~~
|
|||
4
PiterPrg
17.11.16
✎
23:24
|
(2) Можно еще попробовать ORDER BY 1, 2
P.S. А для чего вложенный запрос? (Контрагент IN (SELECT val FROM #Klienti)) Если мне не изменяет память, предыдущий параметр там для джойнов можно по-моему что-то такое написать в предыдущем параметре INNER JOIN #Klienti ON #Klienti.Val = Контрагент |
|||
5
ssvertov
18.11.16
✎
00:50
|
рабочий вариант для sql2008 (РежимRPC=0)
SELECT Рег.Фирма AS [Фирма $Справочник.Фирмы] , Рег.Период AS Период , Рег.Контрагент AS [Контрагент $Справочник.Контрагенты] , Sum(Рег.ДолгНачальныйОстаток) AS НачТов , Sum(Рег.ДолгПриход) AS ПрихТов , Sum(Рег.ДолгРасход) AS РасхТов , Sum(Рег.ДолгКонечныйОстаток) AS КонТов FROM $РегистрОстаткиОбороты.ВзаиморасчетыПокупателей(:ДатаНачала,:ДатаКонца~,ДЕНЬ,ДвиженияИГраницыПериода,,,(Фирма,Контрагент),Долг) AS Рег INNER JOIN #Klienti ON #Klienti.Val = Контрагент INNER JOIN #Firma ON #Firma.Val = Фирма GROUP BY Рег.Фирма,Рег.Период,Рег.Контрагент ORDER BY 1,2,3 для sql 7.0 (РежимRPC=0) не пашет (а надо(( ) Meta name parser error: это метаимя разрешить невозможно "$РегистрОстаткиОбороты.ВзаиморасчетыПокупателей"State 42000, native 2750, message [Microsoft][ODBC SQL Server Driver][SQL Server]Column or parameter #4: Specified column precision 38 is greater than the maximum precision of 28. |
|||
6
PiterPrg
18.11.16
✎
09:26
|
(5) http://www.1cpp.ru/forum/YaBB.pl?num=1228003951/15
P.S. Я имел ввиду INNER JOIN #Klienti ON #Klienti.Val = Контрагент INNER JOIN #Firma ON #Firma.Val = Фирма Как 5-й параметр $РегистрОстаткиОбороты.ВзаиморасчетыПокупателей(..... |
|||
7
с2д
18.11.16
✎
09:36
|
(0) Ваш проект "Дохлый мышонок" всё ещё жив?
Однако! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |