Помогите! Очень срочно нужно! База крутится на 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
Из: Киев
Спасибо сказали: 1443 раз
Рейтинг: 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
Из: Киев
Спасибо сказали: 1443 раз
Рейтинг: 0
Ну хакерок в общем-то прав (если не придираться к словам, а следовать логике), только считаю что пост не имеет смысла, т.к. тоже самое я написал за 20 минут до этого и указал причину из документации почему так и как это обойти.
Именно то как написан запрос платформа не может выполнить в СУБД ДБ2. Типовые конфы обновляются и запросы переписываются под ДБ2. Для решения проблемы необходимо обновиться до последнего релиза (хотя 100% дать не могу) или найти проблемный запрос и самому переписать его.
ВЫБРАТЬ
ДокументРеализацияТоваровУслуг.Ссылка КАК Ссылка,
ДокументРеализацияТоваровУслуг.ПометкаУдаления КАК ПометкаУдаления,
ДокументРеализацияТоваровУслуг.Номер КАК Номер,
ДокументРеализацияТоваровУслуг.Дата КАК Дата,
ДокументРеализацияТоваровУслуг.Проведен КАК Проведен,
ДокументРеализацияТоваровУслуг.ВидОперации КАК ВидОперации,
ДокументРеализацияТоваровУслуг.Организация КАК Организация,
ДокументРеализацияТоваровУслуг.ОтражатьВУправленческомУчете КАК ОтражатьВУправленческомУчете,
ДокументРеализацияТоваровУслуг.ОтражатьВБухгалтерскомУчете КАК ОтражатьВБухгалтерскомУчете,
ДокументРеализацияТоваровУслуг.Подразделение КАК Подразделение,
ДокументРеализацияТоваровУслуг.Сделка КАК Сделка,
ДокументРеализацияТоваровУслуг.Склад КАК Склад,
ДокументРеализацияТоваровУслуг.Контрагент КАК Контрагент,
ДокументРеализацияТоваровУслуг.СуммаДокумента КАК СуммаДокумента,
ДокументРеализацияТоваровУслуг.Ответственный КАК Ответственный,
ДокументРеализацияТоваровУслуг.МоментВремени КАК МоментВремени,
ЧекККМ_Опт.Ссылка КАК Чек,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПриходныйКассовыйОрдер.Ссылка) КАК ПКО,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ СчетНаОплатуПокупателю.Ссылка) КАК Счет
ИЗ
Документ.РеализацияТоваровУслуг КАК ДокументРеализацияТоваровУслуг
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ_Опт КАК ЧекККМ_Опт
ПО (ЧекККМ_Опт.ДокументОснование = ДокументРеализацияТоваровУслуг.Ссылка)
ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
ПО ДокументРеализацияТоваровУслуг.Сделка = СчетНаОплатуПокупателю.ЗаказПокупателя
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
ПО ДокументРеализацияТоваровУслуг.Сделка = ПриходныйКассовыйОрдер.РасшифровкаПлатежа.Сделка
ГДЕ
ДокументРеализацияТоваровУслуг.ОплатаЧерезКассу = ИСТИНАИ (ЕСТЬNULL(ПриходныйКассовыйОрдер.Проведен, ЛОЖЬ) = ЛОЖЬИЛИ ЕСТЬNULL(ЧекККМ_Опт.Проведен, ЛОЖЬ) = ЛОЖЬИЛИ ЕСТЬNULL(СчетНаОплатуПокупателю.Проведен, ЛОЖЬ) = ЛОЖЬ)
СГРУППИРОВАТЬ ПО
ДокументРеализацияТоваровУслуг.Ссылка,
ЧекККМ_Опт.Ссылка,
ДокументРеализацияТоваровУслуг.ПометкаУдаления,
ДокументРеализацияТоваровУслуг.Номер,
ДокументРеализацияТоваровУслуг.Дата,
ДокументРеализацияТоваровУслуг.Проведен,
ДокументРеализацияТоваровУслуг.ВидОперации,
ДокументРеализацияТоваровУслуг.Организация,
ДокументРеализацияТоваровУслуг.ОтражатьВУправленческомУчете,
ДокументРеализацияТоваровУслуг.ОтражатьВБухгалтерскомУчете,
ДокументРеализацияТоваровУслуг.Подразделение,
ДокументРеализацияТоваровУслуг.Сделка,
ДокументРеализацияТоваровУслуг.Склад,
ДокументРеализацияТоваровУслуг.Контрагент,
ДокументРеализацияТоваровУслуг.СуммаДокумента,
ДокументРеализацияТоваровУслуг.Ответственный,
ДокументРеализацияТоваровУслуг.МоментВремени
Это запрос динамического списка формы списка документа реализации. Использовал ее на рабочем столе. Пока заменил на стандартный
...с условием, включающим сравнение полей табличной части.
Немного не понял этой части предложения. сравнение полей табличной части между собой, или проверка равно ли таб. поле какому-то значению, в моем случае
Живет на форуме
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1443 раз
Рейтинг: 0
Ругается скорее всего на
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ_Опт КАК ЧекККМ_Опт
ПО (ЧекККМ_Опт.ДокументОснование = ДокументРеализацияТоваровУслуг.Ссылка)
ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
ПО ДокументРеализацияТоваровУслуг.Сделка = СчетНаОплатуПокупателю.ЗаказПокупателя
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
ПО ДокументРеализацияТоваровУслуг.Сделка = ПриходныйКассовыйОрдер.РасшифровкаПлатежа.Сделка
Живет на форуме
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1443 раз
Рейтинг: 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С форуме!