![]() |
![]() |
![]() |
|
Проблема с ВнешнимИсточникомДанных (СУБД Firebird) | ☑ | ||
---|---|---|---|---|
0
Alex_MA
04.10.11
✎
10:00
|
Всем доброго дня уважаемые коллеги!
Формирую запрос: ПараметрыСоединения = Новый ПараметрыСоединенияВнешнегоИсточникаДанных; ПараметрыСоединения.СтрокаСоединения = "DRIVER={Firebird/InterBase(r) driver};UID=User;PWD=Password;DBNAME=15.189.145.177:/var/Firebird/db/MyDB.fdb"; ВнешниеИсточникиДанных.ВнешнийИсточникДанных1.УстановитьОбщиеПараметрыСоединения(ПараметрыСоединения); ВнешниеИсточникиДанных.ВнешнийИсточникДанных1.УстановитьСоединение(); fYear = Год(ДатаНачала); fMonth1 = Месяц(ДатаНачала); fMonth2 = Месяц(ДатаОкончания); Запрос = Новый Запрос("ВЫБРАТЬ | СУММА(n.KOLR) КАК k, | СУММА(n.SMB) КАК s, | СУММА(ВЫБОР | КОГДА n.KUN В (1) | ТОГДА n.KOLR | ИНАЧЕ 0 | КОНЕЦ) КАК k_vn, | СУММА(ВЫБОР | КОГДА n.KUN В (1) | ТОГДА ВЫРАЗИТЬ(n.SMB КАК ЧИСЛО(15, 2)) | ИНАЧЕ 0 | КОНЕЦ) КАК s_vn, | СУММА(ВЫБОР | КОГДА n.KUN В (2) | ТОГДА n.KOLR | ИНАЧЕ 0 | КОНЕЦ) КАК k_sn1, | СУММА(ВЫБОР | КОГДА n.KUN В (2) | ТОГДА ВЫРАЗИТЬ(n.SMB КАК ЧИСЛО(15, 2)) | ИНАЧЕ 0 | КОНЕЦ) КАК s_sn1, | СУММА(ВЫБОР | КОГДА n.KUN В (3) | ТОГДА n.KOLR | ИНАЧЕ 0 | КОНЕЦ) КАК k_sn2, | СУММА(ВЫБОР | КОГДА n.KUN В (3) | ТОГДА ВЫРАЗИТЬ(n.SMB КАК ЧИСЛО(15, 2)) | ИНАЧЕ 0 | КОНЕЦ) КАК s_sn2, | СУММА(ВЫБОР | КОГДА n.KUN В (4) | ТОГДА n.KOLR | ИНАЧЕ 0 | КОНЕЦ) КАК k_nn, | СУММА(ВЫБОР | КОГДА n.KUN В (4) | ТОГДА ВЫРАЗИТЬ(n.SMB КАК ЧИСЛО(15, 2)) | ИНАЧЕ 0 | КОНЕЦ) КАК s_nn |ИЗ | ВнешнийИсточникДанных.ВнешнийИсточникДанных1.Таблица.ELNACHN КАК n | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.ВнешнийИсточникДанных1.Таблица.ELTARIF КАК t | ПО n.KT = t.UID"); ТаблицаДанных = Запрос.Выполнить().Выгрузить(); При выполнении запроса вылетает ошибка: по причине: Ошибка выполнения запроса по причине: Ошибка внешней базы данных: ошибка при выполнении запроса по причине: Ошибка ODBC. SQLSTATE: HY000 Номер ошибки: -842 Описание: [ODBC Firebird Driver][Firebird]Dynamic SQL Error SQL error code = -842 Precision must be from 1 to 18 Выяснилось то, что не отрабатывает агрегатная ф-я СУММА. Ждать нового релиза или есть какой нибудь вариант ? Спасибо за внимание. |
|||
1
Kerk
04.10.11
✎
10:36
|
А если на английское словозаменить?
|
|||
2
Alex_MA
04.10.11
✎
10:37
|
(1)без разницы
|
|||
3
Kerk
04.10.11
✎
10:40
|
А зачем тебе внутренне соединение к "ELTARIF КАК t", если ты t не выводишь в резльтате, замени условием
|
|||
4
Alex_MA
04.10.11
✎
10:58
|
(3)это можно и нужно, однако, проблему не меняет
|
|||
5
Alex_MA
04.10.11
✎
10:59
|
если запрос будет даже таким:
Запрос = Новый Запрос("ВЫБРАТЬ | СУММА(n.KOLR) КАК k |ИЗ | ВнешнийИсточникДанных.ВнешнийИсточникДанных1.Таблица.ELNACHN КАК n"); то проблема все равно не решается |
|||
6
Alex_MA
04.10.11
✎
11:06
|
Вообщем ждем релиза 1С, где может быть когда-нибудь они исправят этот "косяк".
|
|||
7
Fragster
гуру
04.10.11
✎
11:07
|
СУММА(Выразить(n.KOLR как Число (15,2)))
|
|||
8
Alex_MA
04.10.11
✎
11:09
|
(7)уже пробовал
|
|||
9
Fragster
гуру
04.10.11
✎
11:19
|
мне кажется, дело не в 1с, а в драйвере. попробуй из экселя какого-нибудь это выполнить... поищи свежий драйвер
|
|||
10
Kerk
04.10.11
✎
11:33
|
Выполняй без суммы, выгружай в ТЗ и суммируй, коли ODBC Firebird Driver глючит.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |