Ошибка СУБД Недопустимое преобразование типов данных в записи #763151


#0 by patria0muerte
Доброго времени суток, граждане. Суть такая, есть запрос (указан постом ниже). Данный запрос периодически (примерно каждый третий-четвертый раз) падает с ошибкой, указанной в заголовке. Падает и в консоли запросов и в отчете. Что делалось: 1. Чистился локальный кэш 2. Проверялся запрос на всякие NULL и прочее. Не помогло. На партнерке вещают, что это может быть из-за округления в запросе, но там вроде только одна арфиметическая операция с числами 15,2, да и та в ВЫРАЗИТЬ завернута. Платформа: 8.3.6.2152 Конфигурация: УПП 1.2 (Режим совместимости 8.1) Сталкивался может кто с такой бедой? Как лечили? Что посоветуете?
#1 by patria0muerte
Сам запрос:     РеализацияТоваровУслугТовары.Цена, ГДЕ     РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода     И НЕ РеализацияТоваровУслугТовары.СерияНоменклатуры.СрокГодности = ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)     И РеализацияТоваровУслугТовары.СерияНоменклатуры.СрокГодности <= ДОБАВИТЬКДАТЕ(РеализацияТоваровУслугТовары.Ссылка.Дата, МЕСЯЦ, 3)     РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры     ВТДатыПоследнихЦен.ХарактеристикаНоменклатуры,     ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Склад,     ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.Период,     ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.ХарактеристикаНоменклатуры,     ПартииТоваровНаСкладахБухгалтерскийУчетОстаткиИОбороты.КоличествоНачальныйОстаток, ИЗ             Секунда,     ВТПродажиПросроченныхТоваров.РазницаЦен,
#2 by patria0muerte
Что примечательо - с теми же параметрами запрос может нормально сформироваться пару раз. А затем, на третий раз - упасть.
#3 by assasu
сделай несколько мелких запросов вместо этого одного. так можешь точнее понять где ошибка. не факт совсем что это из за математики.
#4 by patria0muerte
Спасибо, попробовал. Тестировал, откусывая от запроса пакеты начиная с конца. Перестало падать, когда был отброшен пакет ВТПартииТоваровБУ. Что странно - в этом пакете нет каких-то дикийх джоинов и прочего. Самое обычное, классическое помещение Витруальной таблицы с отбором во временную. Посмотрю в сам регистр. Но что то мне кажется, что это либо скуль шалит, либо платформа. Хотя вроде давно уже на ней, и не было такой беды.
#5 by assasu
где то запись побилась в этом регистре. ТИИ делать надо
#6 by patria0muerte
Да я вот что думаю: Если б запись побилась, то он бы наверное всегда бы падал на одном и том же периоде. А так - 1 через 4 раза падает.
#7 by patria0muerte
Хм. Что примечательно еще. Если мы отсекаем пакеты после создания ВТПартииТоваровБУ и убираем ПОМЕСТИТЬ ВТПартииТоваровБУ - все отрабатывает нормально. Да и в целом - другие отчеты, юзающие данный РН - отрабатывают корректно.
#8 by hhhh
вот тут наверно
#9 by patria0muerte
Не, не в том дело. Проверил с обрамлением в ЕСТЬNULL - падает также. Да и NULL туда не должен попадать, т.к. там по условию он просто не пройдет. Да и в таких случаях внятно говорит ошибка что мол NULL или деление на 0.
#10 by patria0muerte
Изменил метод расчета себестоимости. Заменил ОстаткиИОбороты на просто Обороты, и себестоимость считаю прямо из движений реализации. Не падает. Но что за х**нь это была, ума не приложу...
#11 by НЕА123
#12 by patria0muerte
Не, не в знаках дело. В отчете арифметики то и нет, а то что есть - завернуто в ВЫРАЗИТЬ
#13 by patria0muerte
Но спасибо. Вообще всем спасибо, особенно , что натолкнул на метод выявления проблемного запроса.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С