
Данная ошибка может возникать при выполнении узлов импорта из 1С или при тестировании настроенного подключения. Диагностируется при интеграции с платформой 1С версии 8.3.10, использующей серверную архитектуру.
В случае если сценарий импорта из 1С выполняется интерактивно в интерфейсе DStudio, решение для данной ошибки следующее:
- Открыть в текстовом редакторе файл сценария (расширение "ded");
- Найти раздел "EnvironmentVariables" и в описании переменной "DisableFloatExceptions" добавить строку
<Value>1</Value>
:... <EnvironmentVariables> <Version>1</Version> <Vars> <Count>2</Count> <I_0> <Name>LocaleID</Name> <DataType>dtInteger</DataType> <Value>1049</Value> </I_0> <I_1> <Name>DisableFloatExceptions</Name> <DataType>dtBoolean</DataType> <Value>1</Value> \\Эта строка добавляется! </I_1> </Vars> </EnvironmentVariables> ...
- Сохранить файл сценария.
Значение переменной "DisableFloatExceptions" при правильной правке сценария отразится в настройках Deductor (Рис. 2)

Важно: При изменении и последующем сохранении сценария в DStudio данные изменения могут быть утеряны.
В случае если сценарий используется в пакетном режиме, решение следующее:
Необходимо использовать управляющий сценарий, в котором при помощи узла "Команда ОС" запускать на выполнение DStudio.exe с параметрами запуска сценария импорта из 1С. При этом сам сценарий импорта из 1С править вышеописанным способом не надо, значение переменной DisableFloatExceptions можно передавать в параметрах запуска сценария. В узле "Команда ОС" строка запуска будет примерно такой:
chcp 1251
"C:\Program Files (x86)\BaseGroup\Deductor\Bin\DStudio.exe" "C:\ПутьКФайлу\1c.ded" /DisableFloatExceptions=True /RUN /LOG /LOGFILE="C:\ПутьКФайлу\log.log" /LOGMODE
Важно: Необходимо обратить внимание, что при изменении значения переменной DisableFloatExceptions результат работы узла Калькулятор может поменяться, а именно меняется результат обработки значения NULL.
Пример: при DisableFloatExceptions = True
значение выражения Round(Null()) > 1 возвращает False
. При DisableFloatExceptions = False
это выражение возвращает Null
.
В связи с этим, при применении данного решения необходимо проверить работу сценария.