Очень прошу помощи. При расчете бух итогов в ПУБ стала выходить ошибка State: 22003 Native: 8115 Ошибка арифметического переполнения при преобразовании numeric к типу данных numeric. У нас сервер sql 2005. Не понимаю в чем причина. После этого сообщения программа слетает. Пытаюсь опять зайти в 1С и опять начинается пересчет итогов. Кто сталкивался с такой ошибкой, просьба помочь
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(11) ADirks, а можно поподробнее? У меня есть большой запрос с анализом данных много откуда. Допустим для того чтобы узнать какой регистр накопления дает ошибку мне нужно сделать по нему запрос с оборотами за период итогами и остатками и итогами так? И тогда данная ошибка вылезет?. Пока решил проблему увеличением длинны ресурсов регистров с 10 до 15 символов.
(13) Как оно вылезет в запросе я не знаю. Итоги в запросе считаются локально, и вполне вероятно, что 1С разрядность таки увеличит.
Разрядность ресурсов можно смело увеличивать до максимума - на размеры БД это никак не влияет, ибо
numeric (p, s) Fixed-precision and scale-numeric data from –10^38+1 through 10^38–1. The p variable specifies precision and can vary between 1 and 38. The s variable specifies scale and can vary between 0 and p. Storage size is 19 bytes.
10 - это маловато, любая конторка чуть покрупнее ларька, быстро вылезет за эти пределы. ну и нужно помнить, что первая цифра - это разрядность всего числа, вместе с дробной частью. т.е. Число(10, 2) - это максимум 10^7 (именно в седьмой, 1С трансформирует это в Numeric(9, 2))
Ошибка переполнения, как у автора, возникает в момент пересчета итогов - в данном случае бухгалтерских. В принципе тоже можно поставить везде разрядность 19, может и поможет.
Разрядность ресурсов можно смело увеличивать до максимума - на размеры БД это никак не влияет, ибо
numeric (p, s) Fixed-precision and scale-numeric data from –10^38+1 through 10^38–1. The p variable specifies precision and can vary between 1 and 38. The s variable specifies scale and can vary between 0 and p. Storage size is 19 bytes.
10 - это маловато, любая конторка чуть покрупнее ларька, быстро вылезет за эти пределы. ну и нужно помнить, что первая цифра - это разрядность всего числа, вместе с дробной частью. т.е. Число(10, 2) - это максимум 10^7 (именно в седьмой, 1С трансформирует это в Numeric(9, 2))
Ошибка переполнения, как у автора, возникает в момент пересчета итогов - в данном случае бухгалтерских. В принципе тоже можно поставить везде разрядность 19, может и поможет.
(16) ADirks, увы проблема не решилась даже увеличением длинны до 20 символов. Что сделал: Пересчитал итоги через Операции-Управление итогами, потом увеличил длинну до 15 и все заработало, откатился назад и начал постепенно у каждого регистра увеличивать длинну до 15, не сработало, увеличил длинну до 20 у всех и тоже не сработало. Что делать?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот