У меня ананлогичная ошибка вышла при записи ЗаказаКлиента, конфигурация УТ 11.4.13.209, платформа 8.3.19.1150.
Ошибка при выполнении операции над данными:
22003: ОШИБКА: целое вне диапазона
{ОбщийМодуль.ОбщегоНазначенияУТКлиент.Модуль(1455)}: Результат = Форма.Записать(ПараметрыЗаписи);
{ОбщийМодуль.ОбщегоНазначенияУТКлиент.Модуль(1367)}: ЗаписатьОбъект(Форма, ПараметрыЗаписи);
{Документ.ЗаказКлиента.Форма.ФормаДокумента.Форма(2753)}: ОбщегоНазначенияУТКлиент.Записать(ЭтаФорма, Истина);
по причине:
Ошибка при выполнении операции над данными:
22003: ОШИБКА: целое вне диапазона
Возможно график у сотрудника не заполнен на декабрь. НормаДней=0.
Можно заменить формулы на:
?(НормаДней>0,Оклад*ДоляНеполногоРабочегоВремени*ВремяВДнях/НормаДней,0)
?(НормаДней*ВремяВДнях>0,Оклад*ДоляНеполногоРабочегоВремени/НормаДней*ВремяВДнях,0)
Тогда ошибки никогда не будет, но при норме 0 будет 0. А дальше уже будете смотреть почему так произошло, искать сотрудника не придется.
Только проверьте вторую формулу, я не умерена, что со скриншота верно увидела. Оклад*ДоляНеполногоРабочегоВремени/НормаДней*ВремяВДнях
Ошибка при выполнении операции над данными: Microsoft SQL Server Native Client 10.0: Ошибка арифметического переполнения при преобразовании numeric к типу данных numeric.
Описание ошибки:
Случилось, что в один момент отчет, который несколько лет работал без ошибок, при очередном формировании выдал ошибку: {ВнешняяОбработка.КонсольЗапросов.Форма.Форма.Форма(480)}: Ошибка при вызове метода контекста (Выполнить)
мРезЗапроса = ОбъектЗапрос.Выполнить();
по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Microsoft SQL Server Native Client 10.0: Ошибка арифметического переполнения при преобразовании numeric к типу данных numeric.
HRESULT=80004005, SQLSrvr: SQLSTATE=22003, state=8, Severity=10, native=8115, line=1
Найденные решения:
Исчерпывающее описание ошибки дало понять, что проблема скрывается в теле запроса. А формулировка «ошибка арифметического переполнения при преобразовании numeric к типу данных numeric» подсказывала, что проблема с числовыми данными, собираемых запросом. Внимательно присмотревшись к тексту запроса а так же благодаря заметке на сайте helpf.pro было выдвинуто предположение, что числа, получаемые запросом в результате арифметической операции, и приводимые с помощью функции языка запросов к числу с пятью знаками до запятой, стали длинее, чем указанная длина.
Увеличение длины знаков до запятой решило проблему.
Оцените, помогло ли Вам предоставленное описание решения ошибки?
© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
17-10-2018
Журавлев А.С.
(azhur-c.ru)
Показывать по
10
20
40
сообщений
Новая тема
Ответить
Марат
Дата регистрации: 28.01.2019
Сообщений: 6
Здравствуйте, помогите пожалуйста с ошибкой. Пытаюсь сформировать : Отчеты — Анализ учета по НДС
{ОбщийМодуль.ДлительныеОперации.Модуль(376)}: Ошибка при выполнении операции над данными:
Microsoft SQL Server Native Client 11.0: Обнаружена ошибка: деление на ноль.
HRESULT=80040E14, SQLSrvr: SQLSTATE=22012, state=1, Severity=10, native=8134, line=1
ВызватьИсключение(ТекстОшибки);
Произошло после перехода из 8.3.10(ошибки не было) на 8.3.13.
Версия 1с серверная. Документов сотни тысяч, просматривать руками каждый — не вариант.
Тестово перевел из серверной в файловую базу — на удивление все заработало БЕЗ Ошибок.
Vladko
Дата регистрации: 27.08.2007
Сообщений: 2644
Марат,посмотрите как на последней 8.3.12 работает. Здесь ясно, что это — глюк платформы. Если ошибка повторится, то напишите на горячую линию 1С сообщение об ошибке.
Марат
Дата регистрации: 28.01.2019
Сообщений: 6
Я писал. Мне говорят проверить все документы (а их огромное количество с незапамятных времен).
Вот ответ от v8 V8@1c.ru
При формировании отчета «Анализ учета по НДС» выдается сообщение об ошибке «Обнаружена ошибка: деление на ноль» если в информационной базе присутствуют документы следующих видов: -Поступление на расчетный счет, -Списание с расчетного счета, -Операция по платежной карте -Поступление наличных со значением кратности взаиморасчетов равной нулю.
Отчет не формируется даже за сегодняшнюю дату, при условии что ни одного действия с документами не было произведено.
На 8.3.12 не могу проверить, так как нет этой платформы. я обновлялся с 8.3.10 напрямую до 8.3.13.Но суть в том, что в 8.3.10 все работало.
Марат
Дата регистрации: 28.01.2019
Сообщений: 6
Ошибку исправил. Сделал универсальный отчет, установил на все документы условие: Кратность = 0.
Поправил все документы — Внимание, учитываются даже НЕ проведенные документы.
Vladko
Дата регистрации: 27.08.2007
Сообщений: 2644
Марат,в универсальном отчете можно тоже добавить в отбор условие на проведённость документа
Марат
Дата регистрации: 28.01.2019
Сообщений: 6
Vladko, Спасибо, буду знать. Дальше копать в отчете не стал, проблема нашлась и решилась.
EvJ2019
Дата регистрации: 13.03.2019
Сообщений: 1
Марат пишет:
Цитата |
---|
Ошибку исправил. Сделал универсальный отчет, установил на все документы условие: Кратность = 0. Поправил все документы — Внимание, учитываются даже НЕ проведенные документы. |
Добрый день. А какие документы вы поправляли, скажите, пожалуйста?
Такая же ошибка. Но в документах Поступление на расчетный счет, Списание с расчетного счета, Операция по платежной карте, Поступление наличных нет реквизита Кратность взаиморасчетов.
Valentin46
Дата регистрации: 10.02.2011
Сообщений: 1041
Марат пишет:
Цитата |
---|
На 8.3.12 не могу проверить, так как нет этой платформы. я обновлялся с 8.3.10 напрямую до 8.3.13. |
А это как понимать, нельзя ли пояснить?
Показывать по
10
20
40
сообщений
Читают тему:
+3
Если запрос не выполняется с такой вот руганью:
{Форма.Форма.Форма(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.
Успехов в решении проблем.С уважением, Сергей.