{Форма.Форма.Форма(804)}: Ошибка при вызове метода контекста (Выполнить): Ошибка выполнения запроса: Ошибка при выполнении операции над данными:Microsoft SQL Server Native Client 11.0: Ошибка арифметического переполнения при преобразовании numeric к типу данных numeric.HRESULT=80040E57, SQLSrvr: SQLSTATE=22003, state=8, Severity=10, native=8115, line=1
Решение следующее (если у кого будет еще что-то прошу добавлять .
1. В запросе использую расчет процента:
Изменив выражение с (5,2) на (15,2) запрос "взлетел":
Получается что ошибка: "Ошибка арифметического переполнения при преобразовании numeric к типу данных numeric" нам говорит что результат вычисления процента длиной больше чем 5.
Пример обычного кода:Реквизит1 = Тип число (5,2).РасчетПроцента = 1234,56.Реквизит1 = РасчетПроцента;Реквизит1 = 999,99.
Функция Представление()
Функция представление предназначена для получения текстового представления любого значения, которое может быть получено при помощи языка запросов. Функция Представление() работает как для ссылочных, так и для примитивных типов. Для ссылочных типов результат функции полностью аналогичен получению поля "Представление" от ссылки, переданной в качестве параметра функции. Для примитивных типов, результатом работы функции является строка, в которую было преобразовано значение, переданное в качестве параметра. Особенностью данной функции является то, что ее результат не может быть использован в выражении. Такая особенность связана с тем фактом, что преобразование значений в строку осуществляется уже при получении данных из результата запроса, т.к. преобразование произвольного значения в строку при исполнении запроса на сервере, не осуществляется, в силу того, что при преобразовании значений в строку необходимо учитывать локальные настройки.
Использование функции Представление() имеет ряд преимуществ по сравнению с использованием поля "Представление". Например, в случае если поле, от которого получается представление, может содержать как ссылочные, так и примитивные типы, получение поля "Представление" через точку от такого поля приведет к тому, что представления для значений примитивного типа не будут получены. Если же, для такого поля применить функцию Представление(), то строковое представление будет получено вне зависимости от типа значения, содержащегося в поле. Кроме того, в случае если функция Представление() применяется к полю, которое является ссылкой более чем на три таблицы, язык запросов получает из базы данных только ссылочные значения, а значения представлений получает одним или несколькими дополнительными запросами. Такое поведение позволяет более эффективно получать представления для полей, которые ссылаются на большое количество таблиц (например, на любой справочник), за счет того, что в исполняемый запрос не будет помещаться большое количество соединений, которые необходимы для получения полей из которых состоит представление.
Применение функции Представление() также может быть полезным при получении представления поля - перечисления, в случае исполнения запроса через COM-соединение
Поле Представление
Каждая объектная таблица в информационной базе имеет виртуальное поле - "Представление". Это поле содержит текстовое представление объекта. В запросе возможно получать данное поле точно также как и другие поля таблиц, однако никакие операции с данным полем выполнять нельзя. Данная особенность связана с тем, что это поле является виртуальным, и, на самом деле, при получении данного поля из базы данных, запрос получает несколько полей, а при получении значения поля из результата запроса преобразовывает полученные значения в строку. Таким образом, единственное, что можно сделать с полем "Представление", это получить его в результат запроса.
Как следствие, результат запроса не рекомендуется упорядочивать по полю "Представление", т.к. это не приведет к желаемому результату - результат запроса будет упорядочен в порядке возрастания ссылок объектов. Подробнее об этом можно прочитать в разделе "Особенности упорядочивания по ссылочным полям".
Для 8.х: Как отключить узел от распределенной информационной базы?
Поскольку сама конфигурация заблокирована, то этот код надо создавать в обработке, открыв каую-нибудь другую (незаблокированную) конфигурацию, вставить кнопку в конфигураторе. Сохранить её как внешнюю обработку и выполнить, запустив базу в режиме 1С:Предприятие в монопольном режиме (и открыв внешнюю обработку из файла).
При этом, этот код нельзя выполнить в режиме отладчика, т.е./или имея конфигуратор открытым на отключаемой базе, поскольку требуется исключительная блокировка доступа к базе этого кода.
Название параметра не имеет значение, хотя по умолчанию, параметр процедуры для кнопки командной панели
будет проставляется как "Кнопка", а вставляемой через меню Форма --> Вставить элемент управления... подучается "Элемент"
Привожу тут код внешней обработки отключение - восстановление подключения к УРБД:
Для 7.7:
При преобразовании информационной базы в режим использования компоненты УРБД (Управление Распределенными Информационными Базами), в ИБ вносятся некоторые изменения, не позволяющие использовать базу в обычном режиме. А именно: добавляются три таблицы, отвечающие за процесс синхронизации, и вносятся изменения в таблицу 1ssystem.dbf Не забудьте сделать резервную копию перед тем, как: Удалить файлы 1sdbset.dbf, 1sdbset.cdx, 1sdwnlds.dbf, 1sdwnlds.cdx, 1supdts.dbf, 1supdts.cdx Удалить единственную запись из файла 1ssystem.dbf Зайти в режим конфигуратора, открыть, например, свойства конфигурации, добавить какой-нибудь символ в комментарий, а потом его удалить. После этого сохранить конфигурацию.