#0
by ssalikoff
В полностью типовой конфигурации УТ 11.2.3.108 в модуле формы «ФормаВыбораИзДокуменов» справочника «УпаковкиЕдиницыИзмерения» имеется следующий код: И НЕ СпрУпаковки.ПометкаУдаления Попытка выполнить запрос заканчивается неудачей: система сообщает, что происходит деление на 0. При этом СпрУпаковки.Знаменатель не равен нулю, он у меня для любой номенклатурной позиции равен 1. База работает через MSSQL. Интересные моменты: 1. Тот же запрос, выполняемый на файловой базе, отрабатывает безошибочно. 2. Если убрать ИЕРАРХИЯ из запроса, то запрос выполнится без проблем. 3. Выражение в скобках после ПО может принимать три возможных значения, которые возвращает оператор ВЫБОР. Пробую упростить выражение. Меняю выражение в скобках последовательно на При любом варианте запрос выполняется без проблем. Я решил, что проблема, возможно, находится в SQL-сервере. Перенес базу на другую машину, на другой SQL-сервер (другой версии). То же самое: проблема остаётся. Думаю дальше: может быть, платформа (у меня последняя, 8.3.7.2008) как-то неправильно генерирует запрос для SQL? Проверим. Запускаем профайлер, получаем результирующий запрос: Экспериментирую с запросом в SQL Management Studio. «Обнаружена ошибка: деление на ноль.» — говорит система. Проверяю — в T2._Fld7361 находится 1. В секции ORDER BY находятся два поля. Если убрать любое из них, оставив одно, ошибка исчезает. Если их поменять местами, ошибка исчезает. Проведя такое исследование проблемы, я так и не понял её причины. Не хватает знаний. Саму проблему я обошёл, переписав немного код в модуле формы. Но мне очень хочется знать причины подобного поведения и поэтому я обращаю свой вопрос к знатокам SQL: что это всё значит? Почему и отчего? Да, кстати, проблема появилась в релизе 11.2.3.108 (именно в нём разработчики изменили код запроса). Релиз уже недели три как вышел, но на сайте обновлений нет никакой информации о планируемых версиях. Вообще. Ведь, наверное, тысячи людей должны были столкнуться с этой ошибкой, которая просто не позволяет работать и которую нельзя обойти без изменения кода.
#1
by mehfk
Не в курсе устройства УТ 11, но в Справочник.УпаковкиЕдиницыИзмерения у тебя группы есть?
#2
by vvp91
Для отладки замени поле Коэффициент на два поля - Числитель и Знаменатель. Выведи запрос в консоле. Посмотри на выгрузку, увидишь записи с нулевым знаменателем.
#3
by Ёпрст
СпрУпаковки.Владелец с СпрНоменклатура.НаборУпаковок ???? Это всегда ЛОЖЬ ибо ССылка на Номенклатуру никогда не равна ссылке Справочник.НаборыУпаковок
#4
by Фрэнки
мявкну такое: mssql какого релиза? может уже пора обновить его на 2014-ый? Если ставим платформу последнего релиза, то почему субд в соответствующий ей релиз не ставим?
#6
by Фрэнки
лично я только не пойму, почему у ТС группы вылазят только в серверном режиме? разные данные использует в тестах?
#9
by assasu
в конфигураторе для реквизитов есть настройки "Для элементов", "Для групп","Для Групп и элементов". Может файловая уже правильно понимает это заранее ?
#10
by Fedor-1971
Иерархия Ссылка - формирует сводную запись, как думаешь СпрУпаковки.Знаменатель = Сколько? Для чистоты эксперимента - выгрузи серверную БД в DT и загрузи в файловую, выполни запрос и посмотри что произойдёт. это вряд ли, в запросе создано вычисляемое поле. Скорее всего просто использует для тестов данные без групп
#14
by Фрэнки
да фиг с ним с движком, но таблица на выходе должна быть с одинаковыми строками, по идее. Ну на одинаковых данных, конечно.
#17
by ssalikoff
«Для чистоты эксперимента - выгрузи серверную БД в DT и загрузи в файловую, выполни запрос и посмотри что произойдёт. » Именно это я и сделал. Об этом написано в
#18
by ssalikoff
Этот код выполняется при выборе упаковки из выпадающего списка. В любом документе, где в табличной части указывается номенклатура, также указывается упаковка. И вот при попытке её выбора работает этот код.
#20
by ssalikoff
Это сделано. Об этом написано в . Результаты проанализированы и выложены для обозрения
#27
by rs_trade
поставь поле просто рядом в запросе, а вместо него единицу. посмотри выборку.(CAST(T2._Fld7360 AS NUMERIC(20, 8)) / 1,T2._Fld7361,
#28
by Ёпрст
зачем иннер джоин вот с этим ??? ПО (СпрУпаковки.Владелец = СпрНоменклатура.НаборУпаковок) ??? это всешда ложь
#29
by Ёпрст
нет, но если ты сравниваешь перед этим НаборУпаковок <> ЗНАЧЕНИЕ(Справочник.НаборыУпаковок.ПустаяСсылка) отсюда следует, что НаборУпаковок - тип Справочник.НаборыУпаковок, а не Справочник.Номенклатура..
#32
by ssalikoff
Именно так и делал! T2._Fld7361 = 1 (Это знаменатель) (CAST(T2._Fld7360 AS NUMERIC(20, 8)) / 1 (Это числитель) Все выполняется корректно. Вот именно поэтому я и недоумеваю и задаю вопрос на форуме. Как это такое может быть?
#33
by ssalikoff
Ещё раз повторяю - если интересно, откройте УТ 11.2 и посмотрите, как устроен справочник УпаковкиНоменклатуры. Всё в коде правильно. Тем более, что он типовой, а не мой собственный.
#34
by rs_trade
Если убрать ИЕРАРХИЯ из запроса, то запрос выполнится без проблем. А это уже не этот, а следующий запрос от сервера 1с. В этом запросе нет проблем значит.
#38
by Фрэнки
у элемента реквизит или поле - есть у группы - нет " по иерархии " дополняет выборку строками с группами но почему-то в случае выборки из файлового режима работы базы этих строк нет. Может быть это как-то связано с версией платформы или еще с чем-то подобным, т.к. версии mssql вы использовали разные и результаты серверного режима у вас одинаковые.
#39
by rs_trade
ИЕРАРХИЯ это же чисто 1с-ная фича и выполняется доп. запросами.получается основной набор данных, сервер 1с их колбасит у себя и кидает еще доп. запросы к скл.
#40
by rs_trade
+ правда делений там быть никаких не должно вроде как. Чет путано немного. Если убрать ИЕРАРХИЯ из запроса, то запрос выполнится без проблем.Но в приведенной трассе и так нет никаких иерархий.
#41
by Тролль главный
ВЫБОР КОГДА НЕ СпрУпаковки.ЭтоГруппа ТОГДА СпрУпаковки.Числитель / СпрУпаковки.Знаменатель КОНЕЦ
#42
by ssalikoff
Я без понятия, как платформа транслирует запрос из языка 1С в T-SQL Ведь в T-SQL нет оператора ИЕРАРХИЯ, он там как-то по другому реализуется?
#43
by ssalikoff
Кстати, может я в профайлере что-то упустил, и какие-то дополнительные запросы платформы не увидел. Но, я думаю, это не очень страшно, так как в той трассе, что я привёл, ошибка и возникает.
#44
by MiniMuk
Потверждаю та же ошибка. Создали группу в единицах измерений, при выборе единиц измерений в скульной версии падаете, ищу варианты решений
#48
by Фрэнки
Ты спросил где текст запроса - я ответил. Что бывает в типовых или нет, я не обсуждал, сказал только к тому, что его можно в своем конфиге найти при желании
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v8.1:Сравнение производительности на Postgree и MSSQL
- Странная ошибка "ошибка формата потока" с вылетом из сеанса
- Ошибка выполнения запроса "Ошибка при выполнении операции над данными: Ошибка SQL: Де
- v7: Ошибка СУБД.Внутренняя ошибка dbeng 8
- v7: Ошибка в печатной форме приказа об увольнении в ЗУП 2.5.18. Только у меня возникает?
- При отправке сообщения произошла ошибка : Общая ошибка MAPI
- Технологический журнал 1С, Вывод в логи запросов к MSSql
- Для знатоков SQL
- Ошибка при вызове web-сервиса 1C 8.3 (Внутренняя ошибка. Ошибка инициализации б)
- Ошибка при вызове метода контекста (Записать) Ошибка при выполнении файловой опе
- Ошибка при вызове конструктора (ComОбъект): Ошибка при выполнении приложения-сер
В этой группе 1С
- Блокировка баз на сервере 1С
- ПриАктивизацииЯчейки зацикливается
- Не отражается з/п по людям в оборотке по 70 счету. Помогите!
- Учет продажи товаров без участия комиссионера в расчетах 1с БП 2.0
- УФ. Некорректно работает Справка у внешних обработок
- Создание реализации на основании поступления УТ 11.1 базовая
- Не удается записать файл отчетности на диск
- УПП 1.3 Расчет плановой себестоимости
- Методика расчета средней зарплаты в УПП
- Раздельный учет НДС, нет проводок Дт 19.07 Кт 19.03 (Бух 3.0 экспорт)
- Пин-пад не реагирует на карту. 1С8.3 (Розница 2.0) пин-пад VeriFone vx820
- Разные остатки в РИБ
- Корректировка поступления из рублей в евро
- Терминальная печать этикеток через ScrewDrivers
- Как программно вызвать событие ПриПолученииДанных для генерируемой формы списка?
- Проводки по реализации в бухгалтерии 3.0
- Пропали файлы и папки с общих папок
- v7: Запрос остатков взаиморасчетов ТИС 8.2
- ERP есть ли механизм указания основного банковского счета для организации.
- Конвертация данных