Помогите! Очень срочно нужно! База крутится на 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 '
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1434 раз
Рейтинг: 0
Это ошибка платформы, зарегистрирована ещё в январе 2010 года, но похоже не решаемая (из-за каких-то особенностей), поэтому: Из документации. Приложение 8. Особенности работы с различными СУБД. 8.3. Сервер IBM DB2:
Цитата
не допускается соединение в запросе, если выполняется соединение двух таблиц, с условием, включающим сравнение полей табличной части.
Попробуйте обновить конфигурацию до последнего релиза (они часто сами переписывают запросы под ДБ2), а если это невозможно, то необходимо пересмотреть запросы самостоятельно.
Группа: Пользователи
Сообщений: 258
Из: Київ
Спасибо сказали: 12 раз
Рейтинг: 0
Цитата(vbi @ 04.10.11, 10:03)
Помогите! Очень срочно нужно! База крутится на DB2. На платформе 8.2.12 веб интерфейс работал нормально, за исключением некоторых проблем с выпадающими списками. Мы обнаружили что это из-за платформы. Перешли на платформу 8.2.13.219 - В тонком клиенте и в режиме веб-клиента 1С перестала вообще запускатся. Выдает ошибку и вылетает:
возможно платформа не воспринимает синтаксис запроса ... наверное нужно найти запрос и попробовать его переделать в новой платформе
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1434 раз
Рейтинг: 0
Ну хакерок в общем-то прав (если не придираться к словам, а следовать логике), только считаю что пост не имеет смысла, т.к. тоже самое я написал за 20 минут до этого и указал причину из документации почему так и как это обойти.
Именно то как написан запрос платформа не может выполнить в СУБД ДБ2. Типовые конфы обновляются и запросы переписываются под ДБ2. Для решения проблемы необходимо обновиться до последнего релиза (хотя 100% дать не могу) или найти проблемный запрос и самому переписать его.
ВЫБРАТЬ ДокументРеализацияТоваровУслуг.Ссылка КАК Ссылка, ДокументРеализацияТоваровУслуг.ПометкаУдаления КАК ПометкаУдаления, ДокументРеализацияТоваровУслуг.Номер КАК Номер, ДокументРеализацияТоваровУслуг.Дата КАК Дата, ДокументРеализацияТоваровУслуг.Проведен КАК Проведен, ДокументРеализацияТоваровУслуг.ВидОперации КАК ВидОперации, ДокументРеализацияТоваровУслуг.Организация КАК Организация, ДокументРеализацияТоваровУслуг.ОтражатьВУправленческомУчете КАК ОтражатьВУправленческомУчете, ДокументРеализацияТоваровУслуг.ОтражатьВБухгалтерскомУчете КАК ОтражатьВБухгалтерскомУчете, ДокументРеализацияТоваровУслуг.Подразделение КАК Подразделение, ДокументРеализацияТоваровУслуг.Сделка КАК Сделка, ДокументРеализацияТоваровУслуг.Склад КАК Склад, ДокументРеализацияТоваровУслуг.Контрагент КАК Контрагент, ДокументРеализацияТоваровУслуг.СуммаДокумента КАК СуммаДокумента, ДокументРеализацияТоваровУслуг.Ответственный КАК Ответственный, ДокументРеализацияТоваровУслуг.МоментВремени КАК МоментВремени, ЧекККМ_Опт.Ссылка КАК Чек, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПриходныйКассовыйОрдер.Ссылка) КАК ПКО, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ СчетНаОплатуПокупателю.Ссылка) КАК Счет ИЗ Документ.РеализацияТоваровУслуг КАК ДокументРеализацияТоваровУслуг ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ_Опт КАК ЧекККМ_Опт ПО (ЧекККМ_Опт.ДокументОснование = ДокументРеализацияТоваровУслуг.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю ПО ДокументРеализацияТоваровУслуг.Сделка = СчетНаОплатуПокупателю.ЗаказПокупателя ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер ПО ДокументРеализацияТоваровУслуг.Сделка = ПриходныйКассовыйОрдер.РасшифровкаПлатежа.Сделка ГДЕ ДокументРеализацияТоваровУслуг.ОплатаЧерезКассу = ИСТИНА И (ЕСТЬNULL(ПриходныйКассовыйОрдер.Проведен, ЛОЖЬ) = ЛОЖЬ ИЛИ ЕСТЬNULL(ЧекККМ_Опт.Проведен, ЛОЖЬ) = ЛОЖЬ ИЛИ ЕСТЬNULL(СчетНаОплатуПокупателю.Проведен, ЛОЖЬ) = ЛОЖЬ)
...с условием, включающим сравнение полей табличной части.
Немного не понял этой части предложения. сравнение полей табличной части между собой, или проверка равно ли таб. поле какому-то значению, в моем случае
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1434 раз
Рейтинг: 0
Ругается скорее всего на
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ_Опт КАК ЧекККМ_Опт ПО (ЧекККМ_Опт.ДокументОснование = ДокументРеализацияТоваровУслуг.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю ПО ДокументРеализацияТоваровУслуг.Сделка = СчетНаОплатуПокупателю.ЗаказПокупателя ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер ПО ДокументРеализацияТоваровУслуг.Сделка = ПриходныйКассовыйОрдер.РасшифровкаПлатежа.Сделка
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1434 раз
Рейтинг: 0
Попробуйте, но обязательно отпишитесь по результатам. Просто мне кажется что в 8.2.14 таже история, хотя может и пофиксили. Документацию и исправленные ошибки по 8.2.14 не читал.
Попробуйте, но обязательно отпишитесь по результатам. Просто мне кажется что в 8.2.14 таже история, хотя может и пофиксили. Документацию и исправленные ошибки по 8.2.14 не читал.
Там есть фиксы какието по DB2 но судя по описанию это не то. Конечно отпишусь. Его еще поставить, настроить. Скорее всего через дня 2 отпишусь
ВЫБРАТЬ ДокументРеализацияТоваровУслуг.Ссылка КАК Ссылка, ДокументРеализацияТоваровУслуг.ПометкаУдаления КАК ПометкаУдаления, ДокументРеализацияТоваровУслуг.Номер КАК Номер, ДокументРеализацияТоваровУслуг.Дата КАК Дата, ДокументРеализацияТоваровУслуг.Проведен КАК Проведен, ДокументРеализацияТоваровУслуг.ВидОперации КАК ВидОперации, ДокументРеализацияТоваровУслуг.Организация КАК Организация, ДокументРеализацияТоваровУслуг.ОтражатьВУправленческомУчете КАК ОтражатьВУправленческомУчете, ДокументРеализацияТоваровУслуг.ОтражатьВБухгалтерскомУчете КАК ОтражатьВБухгалтерскомУчете, ДокументРеализацияТоваровУслуг.Подразделение КАК Подразделение, ДокументРеализацияТоваровУслуг.Сделка КАК Сделка, ДокументРеализацияТоваровУслуг.Склад КАК Склад, ДокументРеализацияТоваровУслуг.Контрагент КАК Контрагент, ДокументРеализацияТоваровУслуг.СуммаДокумента КАК СуммаДокумента, ДокументРеализацияТоваровУслуг.Ответственный КАК Ответственный, ДокументРеализацияТоваровУслуг.МоментВремени КАК МоментВремени, ЧекККМ_Опт.Ссылка КАК Чек, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПриходныйКассовыйОрдер.Ссылка) КАК ПКО, КОЛИЧЕСТВО(РАЗЛИЧНЫЕ СчетНаОплатуПокупателю.Ссылка) КАК Счет ИЗ Документ.РеализацияТоваровУслуг КАК ДокументРеализацияТоваровУслуг ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ_Опт КАК ЧекККМ_Опт ПО (ЧекККМ_Опт.ДокументОснование = ДокументРеализацияТоваровУслуг.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю ПО ДокументРеализацияТоваровУслуг.Сделка = СчетНаОплатуПокупателю.ЗаказПокупателя ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер ПО Истина // ПО ДокументРеализацияТоваровУслуг.Сделка = ПриходныйКассовыйОрдер.РасшифровкаПлатежа.Сделка ГДЕ ДокументРеализацияТоваровУслуг.ОплатаЧерезКассу = ИСТИНА И (ЕСТЬNULL(ПриходныйКассовыйОрдер.Проведен, ЛОЖЬ) = ЛОЖЬ ИЛИ ЕСТЬNULL(ЧекККМ_Опт.Проведен, ЛОЖЬ) = ЛОЖЬ ИЛИ ЕСТЬNULL(СчетНаОплатуПокупателю.Проведен, ЛОЖЬ) = ЛОЖЬ) СГРУППИРОВАТЬ ПО ДокументРеализацияТоваровУслуг.Ссылка, ЧекККМ_Опт.Ссылка, ДокументРеализацияТоваровУслуг.ПометкаУдаления, ДокументРеализацияТоваровУслуг.Номер, ДокументРеализацияТоваровУслуг.Дата, ДокументРеализацияТоваровУслуг.Проведен, ДокументРеализацияТоваровУслуг.ВидОперации, ДокументРеализацияТоваровУслуг.Организация, ДокументРеализацияТоваровУслуг.ОтражатьВУправленческомУчете, ДокументРеализацияТоваровУслуг.ОтражатьВБухгалтерскомУчете, ДокументРеализацияТоваровУслуг.Подразделение, ДокументРеализацияТоваровУслуг.Сделка, ДокументРеализацияТоваровУслуг.Склад, ДокументРеализацияТоваровУслуг.Контрагент, ДокументРеализацияТоваровУслуг.СуммаДокумента, ДокументРеализацияТоваровУслуг.Ответственный, ДокументРеализацияТоваровУслуг.МоментВремени
Оказывается все из-за этого соединения:
ПО ДокументРеализацияТоваровУслуг.Сделка = ПриходныйКассовыйОрдер.РасшифровкаПлатежа.Сделка
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!