• Авторизация


Ошибка SDBL 24-05-2007 11:09 к комментариям - к полной версии - понравилось!


Вот такая ошибка возникла изза конвертации такого запроса в SDBL.

ПОДСТРОКА(ВЫБОР
КОГДА ДвижениеДСДС.ПлатежноеПоручение <> NULL
ИЛИ ВЫБОР
КОГДА ДвижениеДСДС.ПлатежноеПоручение ССЫЛКА Документ.ПлатежноеПоручение
ТОГДА ДвижениеДСДС.ПлатежноеПоручение <> &ПустоеППИсх
КОГДА ДвижениеДСДС.ПлатежноеПоручение ССЫЛКА Документ.ПлатежноеПоручениеВходящее
ТОГДА ДвижениеДСДС.ПлатежноеПоручение <> &ПустоеППВх
ИНАЧЕ ЛОЖЬ
КОНЕЦ
ТОГДА ДвижениеДСДС.ПлатежноеПоручение.Содержание
ИНАЧЕ ВЫБОР
КОГДА ДвижениеДСДС.Договор <> &ПустаяСпец
ТОГДА "Оплата по договору"
ИНАЧЕ ""
КОНЕЦ
КОНЕЦ, 1, 4096) КАК НазначениеПлатежа
В колонках играет: 063 ТЕЩУ В ЧОБОТИ ВЗУВАЮ {063 ТЕЩУ В ЧОБОТИ ВЗУВАЮ}

LI 5.09.15
[527x518]
вверх^ к полной версии понравилось! в evernote
Комментарии (16):
Рейган 24-05-2007-11:12 удалить
сося, а у тебя на работе знают, что тебя с предыдущей работы поперли за "слишком много ошибок"??? гыгыгы.
fixin 24-05-2007-11:36 удалить
Исходное сообщение Рейган: сося, а у тебя на работе знают, что тебя с предыдущей работы поперли за "слишком много ошибок"??? гыгыгы.


Как ты думаешь, при трудоустройстве сложно открыть яндекс и набрать ФИО, или не будем расстраивать димзона, а то он так красиво воюет с мельницами?
В колонках играет: 070 ЧАРИ {070 ЧАРИ}

LI 5.09.15
District_Hate 24-05-2007-11:54 удалить
фикса,ты придурок убей себя пока это не сделали другие
prog1c 24-05-2007-12:23 удалить
ХАХАХА!!!

"Гений 1с" ...

Вычисление функции ПОДСТРОКА() на SQL сервере

В клиент-серверном варианте работы функция ПОДСТРОКА() реализуется при помощи функции SUBSTRING()
соответствующего оператора SQL, передаваемого серверу баз данных SQL Server, который вычисляет тип
результата функции SUBSTRING() по сложным правилам в зависимости от типа и значений ее параметров,
а так же в зависимости от контекста, в котором она используется.

В большинстве случаев эти правила не оказывают влияния на выполнение запроса 1С:Предприятия,
однако есть случаи, когда для исполнения запроса существенна максимальная длина строки результата,
вычисленная SQL Server. Важно иметь в виду, что в некоторых контекстах использования функции
ПОДСТРОКА() максимальная длина ее результата может оказаться равной максимальной длине
строки ограниченной длины, которая в SQL Server равна 4000 символам. Это может привести к
неожиданному аварийному завершению выполнения запроса.

Например, запрос:

ВЫБРАТЬ
ВЫБОР
КОГДА Вид = &ЮрАдресФизЛица
ТОГДА ПОДСТРОКА(Представление, 0, 200)
ИНАЧЕ NULL
КОНЕЦ КАК Представление,
ВЫБОР
КОГДА Вид = &ЮрАдресФизЛица
ТОГДА ПОДСТРОКА(Представление, 0, 200)
ИНАЧЕ NULL
КОНЕЦ КАК Представление1
ИЗ
РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
УПОРЯДОЧИТЬ ПО
Представление,
Представление1

завершается аварийно с сообщением:

Ошибка СУБД:
Microsoft OLE DB Provider for SQL Server: Warning: The query processor could not produce a query plan
from the optimizer because the total length of all the columns in the GROUP BY or ORDER BY clause
exceeds 8000 bytes.
HRESULT=80040E14, SQLSTATE=42000, native=8618

Это происходит потому, что вычисленная Microsoft SQL Server максимальная длина строки, которая является
результатом выражения:

ВЫБОР
КОГДА Вид = &ЮрАдресФизЛица
ТОГДА ПОДСТРОКА(Представление, 0, 200)
ИНАЧЕ NULL
КОНЕЦ КАК Представление,

равна 4000 символов. Поэтому длина записи, состоящей из двух таких полей превышает 8000 байт,
разрешенные для выполнения операции сортировки.

В связи с описанной особенностью исполнения функции SUBSTRING() на SQL Server использование функции
ПОДСТРОКА() с целью приведения строк неограниченной длины к строкам ограниченной длины не рекомендуется.
Вместо нее лучше использовать операцию приведения типа ВЫРАЗИТЬ(). В частности, приведенный пример
можно переписать в виде:

ВЫБРАТЬ
ВЫБОР
КОГДА Вид = &ЮрАдресФизЛица
ТОГДА ВЫРАЗИТЬ(Представление КАК Строка(200))
ИНАЧЕ NULL
КОНЕЦ КАК Представление,
ВЫБОР
КОГДА Вид = &ЮрАдресФизЛица
ТОГДА ВЫРАЗИТЬ(Представление КАК Строка(200))
ИНАЧЕ NULL
КОНЕЦ КАК Представление1
ИЗ
РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
УПОРЯДОЧИТЬ ПО
Представление,
Представление1
Eternity-Helena 24-05-2007-12:26 удалить
звездец...чем дальше читаю твой днев тем больше АХУЕВАЮ!!!
24-05-2007-12:29 удалить
Никак БДДС настраиваешь ?
fixin 24-05-2007-12:51 удалить
Исходное сообщение prog1c: ХАХАХА!!!
"Гений 1с" ...
Вычисление функции ПОДСТРОКА() на SQL сервере
В клиент-серверном варианте работы функция ПОДСТРОКА() реализуется при помощи функции SUBSTRING()
соответствующего оператора SQL, передаваемого серверу баз данных SQL Server, который вычисляет тип
результата функции SUBSTRING() по сложным правилам в зависимости от типа и значений ее параметров,
а так же в зависимости от контекста, в котором она используется.
В большинстве случаев эти правила не оказывают влияния на выполнение запроса 1С:Предприятия,
однако есть случаи, когда для исполнения запроса существенна максимальная длина строки результата,
вычисленная SQL Server. Важно иметь в виду, что в некоторых контекстах использования функции
ПОДСТРОКА() максимальная длина ее результата может оказаться равной максимальной длине
строки ограниченной длины, которая в SQL Server равна 4000 символам. Это может привести к
неожиданному аварийному завершению выполнения запроса.
Например, запрос:
ВЫБРАТЬ
ВЫБОР
КОГДА Вид = &ЮрАдресФизЛица
ТОГДА ПОДСТРОКА(Представление, 0, 200)
ИНАЧЕ NULL
КОНЕЦ КАК Представление,
ВЫБОР
КОГДА Вид = &ЮрАдресФизЛица
ТОГДА ПОДСТРОКА(Представление, 0, 200)
ИНАЧЕ NULL
КОНЕЦ КАК Представление1
ИЗ
РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
УПОРЯДОЧИТЬ ПО
Представление,
Представление1
завершается аварийно с сообщением:
Ошибка СУБД:
Microsoft OLE DB Provider for SQL Server: Warning: The query processor could not produce a query plan
from the optimizer because the total length of all the columns in the GROUP BY or ORDER BY clause
exceeds 8000 bytes.
HRESULT=80040E14, SQLSTATE=42000, native=8618
Это происходит потому, что вычисленная Microsoft SQL Server максимальная длина строки, которая является
результатом выражения:
ВЫБОР
КОГДА Вид = &ЮрАдресФизЛица
ТОГДА ПОДСТРОКА(Представление, 0, 200)
ИНАЧЕ NULL
КОНЕЦ КАК Представление,
равна 4000 символов. Поэтому длина записи, состоящей из двух таких полей превышает 8000 байт,
разрешенные для выполнения операции сортировки.
В связи с описанной особенностью исполнения функции SUBSTRING() на SQL Server использование функции
ПОДСТРОКА() с целью приведения строк неограниченной длины к строкам ограниченной длины не рекомендуется.
Вместо нее лучше использовать операцию приведения типа ВЫРАЗИТЬ(). В частности, приведенный пример
можно переписать в виде:
ВЫБРАТЬ
ВЫБОР
КОГДА Вид = &ЮрАдресФизЛица
ТОГДА ВЫРАЗИТЬ(Представление КАК Строка(200))
ИНАЧЕ NULL
КОНЕЦ КАК Представление,
ВЫБОР
КОГДА Вид = &ЮрАдресФизЛица
ТОГДА ВЫРАЗИТЬ(Представление КАК Строка(200))
ИНАЧЕ NULL
КОНЕЦ КАК Представление1
ИЗ
РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
УПОРЯДОЧИТЬ ПО
Представление,
Представление1


Спасибо, уже разобрался. ;-)
В колонках играет: 094 ХАЙ ГУЛЯЄ ВСЕ СЕЛО {094 ХАЙ ГУЛЯЄ ВСЕ СЕЛО}

LI 5.09.15
fixin 24-05-2007-12:51 удалить
Исходное сообщение ПрИнЦеСсА_ПсИхОв: фикса,ты придурок убей себя пока это не сделали другие


Зачем, мне нравится жизнь.
В колонках играет: 095 НИЖЧЕ НІЖКИ {095 НИЖЧЕ НІЖКИ}

LI 5.09.15
dimzon541 24-05-2007-13:59 удалить
кстати, fixin, несколько квалифицированных и сертифицированных IT-специалистов утверждают, что твой профессиональный уровень крайне невысок, но понтов при этом выше крыши. Твои невежественные высказывания, сопровождаемые гыгыканьем породили несколько прямых несложных вопросов. Потрудитесь ответить, сделайте милость...
_________________________________________
кстати, всем новым посетителям данного дневника категорически рекомендуется прочитать этот пост для получения достаточно целостного представления о fixin-е
Кстати, Фиксин, ты знаешь что уже вышла новая версия лирушного клиента?

Она намного лучше старой, что стоит у тебя LI 5.09.15!

Сама пользуюсь и не нарадуюсь. Столько багов исправили! :)

LI 7.05.22
fixin 24-05-2007-16:41 удалить
Исходное сообщение Лучиэнь_ищущая_Тень: Кстати, Фиксин, ты знаешь что уже вышла новая версия лирушного клиента?
Она намного лучше старой, что стоит у тебя LI 5.09.15!
Сама пользуюсь и не нарадуюсь. Столько багов исправили! :)


Неа.. а где ее можно скачать?
В колонках играет: 151 ВУСА {151 ВУСА}

LI 5.09.15
24-05-2007-16:42 удалить
Это он так пытается понтануться переводом запросов :) Гы-гы-гы.
Исходное сообщение fixin:
Исходное сообщение Лучиэнь_ищущая_Тень: Кстати, Фиксин, ты знаешь что уже вышла новая версия лирушного клиента?
Она намного лучше старой, что стоит у тебя LI 5.09.15!
Сама пользуюсь и не нарадуюсь. Столько багов исправили! :)

Неа.. а где ее можно скачать?
В колонках играет: 151 ВУСА {151 ВУСА}


Видишь, внизу моего сообщения ссылку?.. Это ссылка на новый клиент.

LI 7.05.22
fixin 24-05-2007-16:59 удалить
Исходное сообщение Лучиэнь_ищущая_Тень:
Исходное сообщение fixin:
Исходное сообщение Лучиэнь_ищущая_Тень: Кстати, Фиксин, ты знаешь что уже вышла новая версия лирушного клиента?
Она намного лучше старой, что стоит у тебя LI 5.09.15!
Сама пользуюсь и не нарадуюсь. Столько багов исправили! :)

Неа.. а где ее можно скачать?
В колонках играет: 151 ВУСА {151 ВУСА}

Видишь, внизу моего сообщения ссылку?.. Это ссылка на новый клиент.


Гонишь, эта ссылка http://www.liveinternet.ru/download/ ведет на старую версию!
В колонках играет: 156 ОЙ, НЕ БУЛО Б ЛИХА {156 ОЙ, НЕ БУЛО Б ЛИХА}

LI 5.09.15
Исходное сообщение fixin:
Исходное сообщение Лучиэнь_ищущая_Тень:
Исходное сообщение fixin: [QUOTE]Исходное сообщение Лучиэнь_ищущая_Тень: [B]Кстати, Фиксин, ты знаешь что уже вышла новая версия лирушного клиента?
Она намного лучше старой, что стоит у тебя LI 5.09.15!
Сама пользуюсь и не нарадуюсь. Столько багов исправили! :)

Неа.. а где ее можно скачать?
В колонках играет: 151 ВУСА {151 ВУСА}

Видишь, внизу моего сообщения ссылку?.. Это ссылка на новый клиент.

Гонишь, эта ссылка http://www.liveinternet.ru/download/ ведет на старую версию!
В колонках играет: 156 ОЙ, НЕ БУЛО Б ЛИХА {156 ОЙ, НЕ БУЛО Б ЛИХА}
[/B][/QUOTE]

Странно... Тогда так: http://www.liveinternet.ru/download/li_classic_230507.exe

LI 7.05.22
shaltai-boltai 25-05-2007-00:11 удалить
Исходное сообщение fixin
Исходное сообщение ПрИнЦеСсА_ПсИхОв: фикса,ты придурок убей себя пока это не сделали другие


Зачем, мне нравится жизнь.
В колонках играет: 095 НИЖЧЕ НІЖКИ {095 НИЖЧЕ НІЖКИ}

LI 5.09.15


нет уёбисча убивать не надо... пускай поживет... чем развлекаца то будем...
да, я знаю я добрая...


Комментарии (16): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Ошибка SDBL | fixin - Дневник fixin | Лента друзей fixin / Полная версия Добавить в друзья Страницы: раньше»