HelpF.pro

Ошибка арифметического переполнения при преобразовании numeric к типу данных numeric

Если запрос не выполняется с такой вот руганью:


{Форма.Форма.Форма(804)}: Ошибка при вызове метода контекста (Выполнить): Ошибка выполнения запроса: Ошибка при выполнении операции над данными:Microsoft SQL Server Native Client 11.0: Ошибка арифметического переполнения при преобразовании numeric к типу данных numeric.HRESULT=80040E57, SQLSrvr: SQLSTATE=22003, state=8, Severity=10, native=8115, line=1


Решение следующее (если у кого будет еще что-то прошу добавлять ).

1. В запросе использую расчет процента:

Код 1C v 8.х
 ВЫРАЗИТЬ(втИтоги.КоличествоОборот / втИтоги.ПланМП1 * 100 КАК ЧИСЛО(5, 2)) КАК ПроцентВыполнения,   

Изменив выражение с (5,2) на (15,2) запрос "взлетел":

Код 1C v 8.х
 ВЫРАЗИТЬ(втИтоги.КоличествоОборот / втИтоги.ПланМП1 * 100 КАК ЧИСЛО(15, 2)) КАК ПроцентВыполнения,

Получается что ошибка: "Ошибка арифметического переполнения при преобразовании numeric к типу данных numeric" нам говорит что результат вычисления процента длиной больше чем 5.

Пример обычного кода:Реквизит1 = Тип число (5,2).РасчетПроцента = 1234,56.Реквизит1 = РасчетПроцента;Реквизит1 = 999,99.

Успехов в решении проблем.С уважением, Сергей.


Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq83/view/1568.html