Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Срочно. Ошибка СУБД! , Неверное условие ON, связанное с операцией JOIN или оператором MERGE 2 страниц V   1 2 >          
vbi Подменю пользователя
сообщение 04.10.11, 9:03
Сообщение #1

Оратор
Иконка группы
Группа: Местный
Сообщений: 373
Из: Украина, Луцк
Спасибо сказали: 72 раз
Рейтинг: 0

Помогите! Очень срочно нужно! База крутится на DB2. На платформе 8.2.12 веб интерфейс работал нормально, за исключением некоторых проблем с выпадающими списками. Мы обнаружили что это из-за платформы. Перешли на платформу 8.2.13.219 - В тонком клиенте и в режиме веб-клиента 1С перестала вообще запускатся. Выдает ошибку и вылетает:
Цитата
Невідновна помилка
Помилка при виконанні запиту POST до ресурсу /e1cib/logForm:
через:
Помилка СУБД:
htype=SQL_HANDLE_STMT hndl=0x20001, line=2622, file=Src\DB2Connection.cpp
SQLSTATE=42972, native=-338, '[IBM][CLI Driver][DB2/NT] SQL0338N Неверное условие ON, связанное с операцией JOIN или оператором MERGE. SQLSTATE=42972
'


Signature
Впроваджую, супроводжую

Batchir Подменю пользователя
сообщение 04.10.11, 9:23
Сообщение #2

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Это ошибка платформы, зарегистрирована ещё в январе 2010 года, но похоже не решаемая (из-за каких-то особенностей), поэтому:
Из документации. Приложение 8. Особенности работы с различными СУБД. 8.3. Сервер IBM DB2:
Цитата
не допускается соединение в запросе, если выполняется соединение двух таблиц, с условием, включающим сравнение полей табличной части.


Попробуйте обновить конфигурацию до последнего релиза (они часто сами переписывают запросы под ДБ2), а если это невозможно, то необходимо пересмотреть запросы самостоятельно.

Спасибо сказали: vbi,

хакерок Подменю пользователя
сообщение 04.10.11, 9:46
Сообщение #3

Оратор
*****
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0

Цитата(vbi @ 04.10.11, 10:03) *
Помогите! Очень срочно нужно! База крутится на DB2. На платформе 8.2.12 веб интерфейс работал нормально, за исключением некоторых проблем с выпадающими списками. Мы обнаружили что это из-за платформы. Перешли на платформу 8.2.13.219 - В тонком клиенте и в режиме веб-клиента 1С перестала вообще запускатся. Выдает ошибку и вылетает:

возможно платформа не воспринимает синтаксис запроса ... наверное нужно найти запрос и попробовать его переделать в новой платформе

Спасибо сказали: vbi,

Vofka Подменю пользователя
сообщение 04.10.11, 9:56
Сообщение #4

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Цитата
возможно платформа не воспринимает синтаксис запроса ...

Ну и причём тут синтаксис запроса? Абы шо.

Batchir Подменю пользователя
сообщение 04.10.11, 10:16
Сообщение #5

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Ну хакерок в общем-то прав (если не придираться к словам, а следовать логике), только считаю что пост не имеет смысла, т.к. тоже самое я написал за 20 минут до этого и указал причину из документации почему так и как это обойти.

Именно то как написан запрос платформа не может выполнить в СУБД ДБ2. Типовые конфы обновляются и запросы переписываются под ДБ2.
Для решения проблемы необходимо обновиться до последнего релиза (хотя 100% дать не могу) или найти проблемный запрос и самому переписать его.

vbi Подменю пользователя
сообщение 04.10.11, 10:35
Сообщение #6

Оратор
Иконка группы
Группа: Местный
Сообщений: 373
Из: Украина, Луцк
Спасибо сказали: 72 раз
Рейтинг: 0

Действительно все из за запроса. Вот он:

ВЫБРАТЬ
    ДокументРеализацияТоваровУслуг.Ссылка КАК Ссылка,
    ДокументРеализацияТоваровУслуг.ПометкаУдаления КАК ПометкаУдаления,
    ДокументРеализацияТоваровУслуг.Номер КАК Номер,
    ДокументРеализацияТоваровУслуг.Дата КАК Дата,
    ДокументРеализацияТоваровУслуг.Проведен КАК Проведен,
    ДокументРеализацияТоваровУслуг.ВидОперации КАК ВидОперации,
    ДокументРеализацияТоваровУслуг.Организация КАК Организация,
    ДокументРеализацияТоваровУслуг.ОтражатьВУправленческомУчете КАК ОтражатьВУправленческомУчете,
    ДокументРеализацияТоваровУслуг.ОтражатьВБухгалтерскомУчете КАК ОтражатьВБухгалтерскомУчете,
    ДокументРеализацияТоваровУслуг.Подразделение КАК Подразделение,
    ДокументРеализацияТоваровУслуг.Сделка КАК Сделка,
    ДокументРеализацияТоваровУслуг.Склад КАК Склад,
    ДокументРеализацияТоваровУслуг.Контрагент КАК Контрагент,
    ДокументРеализацияТоваровУслуг.СуммаДокумента КАК СуммаДокумента,
    ДокументРеализацияТоваровУслуг.Ответственный КАК Ответственный,
    ДокументРеализацияТоваровУслуг.МоментВремени КАК МоментВремени,
    ЧекККМ_Опт.Ссылка КАК Чек,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПриходныйКассовыйОрдер.Ссылка) КАК ПКО,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ СчетНаОплатуПокупателю.Ссылка) КАК Счет
ИЗ
    Документ.РеализацияТоваровУслуг КАК ДокументРеализацияТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ_Опт КАК ЧекККМ_Опт
        ПО (ЧекККМ_Опт.ДокументОснование = ДокументРеализацияТоваровУслуг.Ссылка)
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
        ПО ДокументРеализацияТоваровУслуг.Сделка = СчетНаОплатуПокупателю.ЗаказПокупателя
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
        ПО ДокументРеализацияТоваровУслуг.Сделка = ПриходныйКассовыйОрдер.РасшифровкаПлатежа.Сделка
ГДЕ
    ДокументРеализацияТоваровУслуг.ОплатаЧерезКассу = ИСТИНА
    И (ЕСТЬNULL(ПриходныйКассовыйОрдер.Проведен, ЛОЖЬ) = ЛОЖЬ
            ИЛИ ЕСТЬNULL(ЧекККМ_Опт.Проведен, ЛОЖЬ) = ЛОЖЬ
            ИЛИ ЕСТЬNULL(СчетНаОплатуПокупателю.Проведен, ЛОЖЬ) = ЛОЖЬ)

СГРУППИРОВАТЬ ПО
    ДокументРеализацияТоваровУслуг.Ссылка,
    ЧекККМ_Опт.Ссылка,
    ДокументРеализацияТоваровУслуг.ПометкаУдаления,
    ДокументРеализацияТоваровУслуг.Номер,
    ДокументРеализацияТоваровУслуг.Дата,
    ДокументРеализацияТоваровУслуг.Проведен,
    ДокументРеализацияТоваровУслуг.ВидОперации,
    ДокументРеализацияТоваровУслуг.Организация,
    ДокументРеализацияТоваровУслуг.ОтражатьВУправленческомУчете,
    ДокументРеализацияТоваровУслуг.ОтражатьВБухгалтерскомУчете,
    ДокументРеализацияТоваровУслуг.Подразделение,
    ДокументРеализацияТоваровУслуг.Сделка,
    ДокументРеализацияТоваровУслуг.Склад,
    ДокументРеализацияТоваровУслуг.Контрагент,
    ДокументРеализацияТоваровУслуг.СуммаДокумента,
    ДокументРеализацияТоваровУслуг.Ответственный,
    ДокументРеализацияТоваровУслуг.МоментВремени


Это запрос динамического списка формы списка документа реализации. Использовал ее на рабочем столе.
Пока заменил на стандартный


Signature
Впроваджую, супроводжую

Vofka Подменю пользователя
сообщение 04.10.11, 10:37
Сообщение #7

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Цитата
Ну хакерок в общем-то прав

Это не платформа не воспринимает синтаксис, а именно СУБД DB2

vbi Подменю пользователя
сообщение 04.10.11, 10:42
Сообщение #8

Оратор
Иконка группы
Группа: Местный
Сообщений: 373
Из: Украина, Луцк
Спасибо сказали: 72 раз
Рейтинг: 0

Цитата
...с условием, включающим сравнение полей табличной части.
Немного не понял этой части предложения. сравнение полей табличной части между собой, или проверка равно ли таб. поле какому-то значению, в моем случае
Цитата
ДокументРеализацияТоваровУслуг.ОплатаЧерезКассу = ИСТИНА


?


Signature
Впроваджую, супроводжую

Vofka Подменю пользователя
сообщение 04.10.11, 10:46
Сообщение #9

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Я так понял вот она, проблемная строка:
ПО ДокументРеализацияТоваровУслуг.Сделка = ПриходныйКассовыйОрдер.РасшифровкаПлатежа.Сделка

Спасибо сказали: vbi,

Batchir Подменю пользователя
сообщение 04.10.11, 10:50
Сообщение #10

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Ругается скорее всего на
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ_Опт КАК ЧекККМ_Опт
ПО (ЧекККМ_Опт.ДокументОснование = ДокументРеализацияТоваровУслуг.Ссылка)
ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
ПО ДокументРеализацияТоваровУслуг.Сделка = СчетНаОплатуПокупателю.ЗаказПокупателя
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
ПО ДокументРеализацияТоваровУслуг.Сделка = ПриходныйКассовыйОрдер.РасшифровкаПлатежа.Сделка

т.е. именно в этой части проблема.

vbi Подменю пользователя
сообщение 04.10.11, 11:58
Сообщение #11

Оратор
Иконка группы
Группа: Местный
Сообщений: 373
Из: Украина, Луцк
Спасибо сказали: 72 раз
Рейтинг: 0

Понятно, то есть соединять нельзя в 8.2.13.219. Надо ставть DB2 и тестировать 8.2.14


Signature
Впроваджую, супроводжую

Batchir Подменю пользователя
сообщение 04.10.11, 12:06
Сообщение #12

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Попробуйте, но обязательно отпишитесь по результатам.
Просто мне кажется что в 8.2.14 таже история, хотя может и пофиксили.
Документацию и исправленные ошибки по 8.2.14 не читал.

vbi Подменю пользователя
сообщение 04.10.11, 12:17
Сообщение #13

Оратор
Иконка группы
Группа: Местный
Сообщений: 373
Из: Украина, Луцк
Спасибо сказали: 72 раз
Рейтинг: 0

Цитата(Batchir @ 04.10.11, 13:06) *
Попробуйте, но обязательно отпишитесь по результатам.
Просто мне кажется что в 8.2.14 таже история, хотя может и пофиксили.
Документацию и исправленные ошибки по 8.2.14 не читал.


Там есть фиксы какието по DB2 но судя по описанию это не то. Конечно отпишусь. Его еще поставить, настроить. Скорее всего через дня 2 отпишусь


Signature
Впроваджую, супроводжую

vbi Подменю пользователя
сообщение 05.10.11, 17:11
Сообщение #14

Оратор
Иконка группы
Группа: Местный
Сообщений: 373
Из: Украина, Луцк
Спасибо сказали: 72 раз
Рейтинг: 0

Платформа 8.2.14.533 - проблема не решена! Вот так вот...


Signature
Впроваджую, супроводжую

mister-x Подменю пользователя
сообщение 05.10.11, 17:35
Сообщение #15

...
Иконка группы
Модератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 3477
Из: Тернопіль
Спасибо сказали: 1417 раз
Рейтинг: 0

а якщо так [необходимо зарегистрироваться для просмотра ссылки], але потрібно знати добре структури таблиць

Batchir Подменю пользователя
сообщение 05.10.11, 18:06
Сообщение #16

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

Цитата(vbi @ 05.10.11, 18:11) *
Платформа 8.2.14.533 - проблема не решена! Вот так вот...

Ну что и требовалось ожидать, в общем в документации четко сказано по ДБ2:
Цитата
не допускается соединение в запросе, если выполняется соединение двух таблиц, с условием, включающим сравнение полей табличной части.

и это нужно учитывать при написании запросов.

vbi Подменю пользователя
сообщение 06.10.11, 8:37
Сообщение #17

Оратор
Иконка группы
Группа: Местный
Сообщений: 373
Из: Украина, Луцк
Спасибо сказали: 72 раз
Рейтинг: 0

А вот такой запрос проходит на ура!
ВЫБРАТЬ
    ДокументРеализацияТоваровУслуг.Ссылка КАК Ссылка,
    ДокументРеализацияТоваровУслуг.ПометкаУдаления КАК ПометкаУдаления,
    ДокументРеализацияТоваровУслуг.Номер КАК Номер,
    ДокументРеализацияТоваровУслуг.Дата КАК Дата,
    ДокументРеализацияТоваровУслуг.Проведен КАК Проведен,
    ДокументРеализацияТоваровУслуг.ВидОперации КАК ВидОперации,
    ДокументРеализацияТоваровУслуг.Организация КАК Организация,
    ДокументРеализацияТоваровУслуг.ОтражатьВУправленческомУчете КАК ОтражатьВУправленческомУчете,
    ДокументРеализацияТоваровУслуг.ОтражатьВБухгалтерскомУчете КАК ОтражатьВБухгалтерскомУчете,
    ДокументРеализацияТоваровУслуг.Подразделение КАК Подразделение,
    ДокументРеализацияТоваровУслуг.Сделка КАК Сделка,
    ДокументРеализацияТоваровУслуг.Склад КАК Склад,
    ДокументРеализацияТоваровУслуг.Контрагент КАК Контрагент,
    ДокументРеализацияТоваровУслуг.СуммаДокумента КАК СуммаДокумента,
    ДокументРеализацияТоваровУслуг.Ответственный КАК Ответственный,
    ДокументРеализацияТоваровУслуг.МоментВремени КАК МоментВремени,
    ЧекККМ_Опт.Ссылка КАК Чек,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПриходныйКассовыйОрдер.Ссылка) КАК ПКО,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ СчетНаОплатуПокупателю.Ссылка) КАК Счет
ИЗ
    Документ.РеализацияТоваровУслуг КАК ДокументРеализацияТоваровУслуг
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ_Опт КАК ЧекККМ_Опт
        ПО (ЧекККМ_Опт.ДокументОснование = ДокументРеализацияТоваровУслуг.Ссылка)
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
        ПО ДокументРеализацияТоваровУслуг.Сделка = СчетНаОплатуПокупателю.ЗаказПокупателя
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
        ПО Истина
//        ПО ДокументРеализацияТоваровУслуг.Сделка = ПриходныйКассовыйОрдер.РасшифровкаПлатежа.Сделка
ГДЕ
    ДокументРеализацияТоваровУслуг.ОплатаЧерезКассу = ИСТИНА
    И (ЕСТЬNULL(ПриходныйКассовыйОрдер.Проведен, ЛОЖЬ) = ЛОЖЬ
            ИЛИ ЕСТЬNULL(ЧекККМ_Опт.Проведен, ЛОЖЬ) = ЛОЖЬ
            ИЛИ ЕСТЬNULL(СчетНаОплатуПокупателю.Проведен, ЛОЖЬ) = ЛОЖЬ)
СГРУППИРОВАТЬ ПО
    ДокументРеализацияТоваровУслуг.Ссылка,
    ЧекККМ_Опт.Ссылка,
    ДокументРеализацияТоваровУслуг.ПометкаУдаления,
    ДокументРеализацияТоваровУслуг.Номер,
    ДокументРеализацияТоваровУслуг.Дата,
    ДокументРеализацияТоваровУслуг.Проведен,
    ДокументРеализацияТоваровУслуг.ВидОперации,
    ДокументРеализацияТоваровУслуг.Организация,
    ДокументРеализацияТоваровУслуг.ОтражатьВУправленческомУчете,
    ДокументРеализацияТоваровУслуг.ОтражатьВБухгалтерскомУчете,
    ДокументРеализацияТоваровУслуг.Подразделение,
    ДокументРеализацияТоваровУслуг.Сделка,
    ДокументРеализацияТоваровУслуг.Склад,
    ДокументРеализацияТоваровУслуг.Контрагент,
    ДокументРеализацияТоваровУслуг.СуммаДокумента,
    ДокументРеализацияТоваровУслуг.Ответственный,
    ДокументРеализацияТоваровУслуг.МоментВремени


Оказывается все из-за этого соединения:
ПО ДокументРеализацияТоваровУслуг.Сделка = ПриходныйКассовыйОрдер.РасшифровкаПлатежа.Сделка

Что в нем не так?


Signature
Впроваджую, супроводжую

Vofka Подменю пользователя
сообщение 06.10.11, 8:39
Сообщение #18

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Цитата
Оказывается все из-за этого соединения:
ПО ДокументРеализацияТоваровУслуг.Сделка = ПриходныйКассовыйОрдер.РасшифровкаПлатежа.Сделка

А я про это выше не говорил?

Batchir Подменю пользователя
сообщение 06.10.11, 8:43
Сообщение #19

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1426 раз
Рейтинг: 0

ПриходныйКассовыйОрдер.РасшифровкаПлатежа.Сделка - "Сделка" это реквизит табличной части "РасшифровкаПлатежа"

vbi Подменю пользователя
сообщение 06.10.11, 8:45
Сообщение #20

Оратор
Иконка группы
Группа: Местный
Сообщений: 373
Из: Украина, Луцк
Спасибо сказали: 72 раз
Рейтинг: 0

Цитата(Vofka @ 06.10.11, 9:39) *
А я про это выше не говорил?


Говорил и оказался прав. Но почему сдесь слетает а на остальных соединениях нет? Только потому что соединяю с реквизитом табличной части?

Ну не понял я доконца этой фразы:
Цитата
не допускается соединение в запросе, если выполняется соединение двух таблиц, с условием, включающим сравнение полей табличной части.

Истолкуйте баранам пожалуйста 433.gif


Signature
Впроваджую, супроводжую

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


2 страниц V   1 2 >
Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 23.04.24, 20:59
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!