Имя: Пароль:
1C
1C 7.7
v7: Падает 1с на выполнении запроса
0 Pit0n_08
 
05.09.12
15:00
Конфигурация - переписанная ТиС, база SQL (SQL 2000 sp4), лежит на WinServer 2008. Во внешней обработке при выполнении запроса падает с сообщением:
SQL State:4200
Native:107
Message:[Microsoft][ODBS SQL Server Driver][SQL Server]The column prefix'SC156'does not match with a table name ju alias in the guery.

SQL State:4200
Native:16945
Message:[Microsoft][ODBS SQL Server Driver][SQL Server]The cursor was not declared.

Текст запроса:

Перем Запрос, ТекстЗапроса;
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ВыбНачПериода по ВыбКонПериода;
|ОбрабатыватьДокументы НеПроведенные;
|Обрабатывать НеПомеченныеНаУдаление;
|Склад = Документ.РасходнаяНакладная.МестоХранения, Документ.ПродажаВРозницу.МестоХранения;
|Товар = Документ.РасходнаяНакладная.Товар, Документ.ПродажаВРозницу.Товар;
|Колич = Документ.РасходнаяНакладная.Количество, Документ.ПродажаВРозницу.Количество;
|СтавкаНДС = Документ.РасходнаяНакладная.Товар.СтавкаНДС, Документ.ПродажаВРозницу.Товар.СтавкаНДС;
|НДС = Документ.РасходнаяНакладная.НДС, Документ.ПродажаВРозницу.НДС;
|ТекДок = Документ.РасходнаяНакладная.ТекущийДокумент, Документ.ПродажаВРозницу.ТекущийДокумент;
|Функция Количество = Сумма(Колич);
|Функция СуммаНДС = Сумма(НДС);
|Группировка Склад упорядочить по Склад.ТипСклада;
|Группировка Товар упорядочить по Товар.СтавкаНДС;
|Группировка ТекДок;
|Группировка СтавкаНДС;
|"//}}ЗАПРОС
;
   // Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
   Возврат;
КонецЕсли;
   
ТЗ = СоздатьОбъект("ТаблицаЗначений");
Запрос.Выгрузить(ТЗ,0,0);
ТЗ.ВыбратьСтроку();

Где собака порылась???
1 Pit0n_08
 
05.09.12
15:02
+(0) Пардон, конфигурация - почти типовая Бухгалтерия (р. 537)
2 Ёпрст
 
05.09.12
15:05
|Группировка СтавкаНДС; // а оно точно надо ?
как  и упорядочить по Склад.ТипСклада;/упорядочить по Товар.СтавкаНДС; ?
3 Ёпрст
 
05.09.12
15:05
и потом еще и выгрузить в ТЗ..
4 Ёпрст
 
05.09.12
15:06
ЗЫ: выкини группировку по ставке, выкини к едрени фени упорядочивание, в параметрах выгрузки поставь 1 и наслаждайся
5 akaBrr
 
05.09.12
15:08
6 Pit0n_08
 
05.09.12
15:09
(2-4)ТЗ нужна без итогов для дальнейшей обработки. От упорядочиваний откажусь, а группировка по ставкеНДС (или по значению ставки) нужна.
7 Ёпрст
 
05.09.12
15:12
(6) не нужна.
Товар однозначно определяет ставку.
8 akaBrr
 
05.09.12
15:12
разбивай отчет на 2 и будет тебе счастье
9 akaBrr
 
05.09.12
15:13
(8) отчет -> запрос
10 Pit0n_08
 
05.09.12
15:17
(7) То что товар определяет ставку понятно. Значит надо будет в ТЗ добавить колонку "Ставка" и заполнить?
Как я понимаю, проблема в вычислении запросом периодического значения СтавкаНДС?
11 Ёпрст
 
05.09.12
15:18
(10) нет. надо вниматочно читать (4).
12 Ёпрст
 
05.09.12
15:18
>>>проблема в вычислении запросом периодического значения СтавкаНДС

нет
13 Ёпрст
 
05.09.12
15:21
если че,
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)

|Период с ВыбНачПериода по ВыбКонПериода;
|ОбрабатыватьДокументы НеПроведенные;
|Обрабатывать НеПомеченныеНаУдаление;
|Склад = Документ.РасходнаяНакладная.МестоХранения, Документ.ПродажаВРозницу.МестоХранения;
|Товар = Документ.РасходнаяНакладная.Товар, Документ.ПродажаВРозницу.Товар;
|Колич = Документ.РасходнаяНакладная.Количество, Документ.ПродажаВРозницу.Количество;
|СтавкаНДС = Документ.РасходнаяНакладная.Товар.СтавкаНДС, Документ.ПродажаВРозницу.Товар.СтавкаНДС;
|НДС = Документ.РасходнаяНакладная.НДС, Документ.ПродажаВРозницу.НДС;
|ТекДок = Документ.РасходнаяНакладная.ТекущийДокумент, Документ.ПродажаВРозницу.ТекущийДокумент;
|Функция Количество = Сумма(Колич);
|Функция СуммаНДС = Сумма(НДС);
|Группировка Склад Без Групп;
|Группировка Товар Без Групп;
|Группировка ТекДок;

|"//}}ЗАПРОС

;
   // Если ошибка в запросе, то выход из процедуры

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
   Возврат;
КонецЕсли;
   
ТЗ = СоздатьОбъект("ТаблицаЗначений");
Запрос.Выгрузить(ТЗ,1,0);
14 Pit0n_08
 
05.09.12
15:21
Всем и Ёпрст4(особенно), спасибо! Но вниматочно (внематочно)лучше не читать-)