Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Собственные программы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,199
1

Преобразование значения к типу Число

14.03.2016, 18:33. Просмотров 1253. Ответов 11
Метки нет (Все метки)

Добрый вечер, можете подсказать как решить эту проблему, почему она выдает ошибку, что не так
{Обработка.ДолжникиСМС.Форма.Форма.Форма(29)}: Преобразование значения к типу Число не может быть выполнено
ДолгЗаГаз=Число(ДОЛГГАЗ);

1C
1
2
3
4
5
6
7
8
9
10
.....
    Пока НЕ ФайлДБФ.ВКонце() Цикл
        ЛС = ФайлДБФ.ПолучитьЗначениеПоля("LSHET");
        ТЕЛЕФОН = СокрЛП(ФайлДБФ.ПолучитьЗначениеПоля("TELEPHONE"));
        ДОЛГГАЗ = СокрЛП(ФайлДБФ.ПолучитьЗначениеПоля("DOLG_GAZ"));
        ДОЛГТО = СокрЛП(ФайлДБФ.ПолучитьЗначениеПоля("DOLG_TO"));
        
        ТекстСМС=Константы.ТекстСМС.Получить();
        ДолгЗаГаз=Число(ДОЛГГАЗ);
....
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2016, 18:33
Ответы с готовыми решениями:

Преобразование значения к типу Число не может быть выполнено.
Всем привет! Я пока Новичек в области 1С, но на данный момент выходит такая ошибка,непонимаю что...

Преобразование значения к типу Число не может быть выполнено
Всем доброго времени суток! Я только начала изучать 1С по Чистову. Сейчас выходит следующая ошибка...

Преобразование значения к типу Число не может быть выполнено
Ошибка такая {ОбщийМодуль.РасчетОсаго.Модуль(42)}: Преобразование значения к типу Число не может...

8.3.5 Преобразование значения к типу Число не может быть выполнено
При создании документа возникает следующая ошибка: {ОбщийМодуль.РасчетОсаго.Модуль(41)}:...

Ошибка: Преобразование значения к типу Число не может быть выполнено
Пытаюсь провести начисления по книге Радченко, написал алгоритм формирования различных видов...

11
Phil
Эксперт 1С
404 / 281 / 86
Регистрация: 28.05.2014
Сообщений: 1,138
14.03.2016, 21:00 2
Лучший ответ Сообщение было отмечено Dethmontt как решение

Решение

Ermak27, если там строка, или ещё что-нибудь, то будет вываливаться по ошибке, можно по умолчанию всё, что не является числом обращать в 0.
1C
1
2
3
ОписаниеЧисло = Новый ОписаниеТипов("Число");
 
Справочник.РеквизитСправочника=ОписаниеЧисло.ПривестиЗначение(НашеЗначение);
2
alex1248
122 / 66 / 26
Регистрация: 08.03.2016
Сообщений: 173
14.03.2016, 21:08 3
Лучший ответ Сообщение было отмечено Ermak27 как решение

Решение

Цитата Сообщение от Ermak27 Посмотреть сообщение
"DOLG_GAZ"
Возможно, тут есть запятая, которую надо преобразовать в точку?
1
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,199
15.03.2016, 17:18  [ТС] 4
alex1248, да есть запятая, как преобразовать в точку?
0
Phil
Эксперт 1С
404 / 281 / 86
Регистрация: 28.05.2014
Сообщений: 1,138
15.03.2016, 17:30 5
Лучший ответ Сообщение было отмечено Ermak27 как решение

Решение

Ermak27, СТРЗАМЕНИТЬ к примеру
1
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,199
18.03.2016, 09:21  [ТС] 6
Phil, Тип строка, я вывел что в этой строке нет вообще данных из за этого выдает ошибку, как пропустить эту строку?
0
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,784
18.03.2016, 09:47 7
Ermak27,
1C
1
ДолгЗаГаз=?(ЗначениеЗаполнено(ДОЛГГАЗ),Число(ДОЛГГАЗ),0);
1
Ermak27
4 / 4 / 0
Регистрация: 16.01.2013
Сообщений: 1,199
18.03.2016, 10:19  [ТС] 8
GreenkO, что то я не понял, когда значение пустое тогда присваиваем ноль с типом число а если значение заполнено тогда тип строка, эта не правильно или я что то не так понимаю? Объясните
0
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,784
18.03.2016, 10:34 9
Ermak27, в поле ДолгЗаГаз будет в любом случае число: либо 0, либо Строку преобразуем в Число(с предварительной заменой символов, как описано выше).
0
Phil
Эксперт 1С
404 / 281 / 86
Регистрация: 28.05.2014
Сообщений: 1,138
18.03.2016, 10:44 10
Лучший ответ Сообщение было отмечено Ermak27 как решение

Решение

GreenkO, если он там передаёт строку или число, где дробная часть отделена запятой, то вывалится по ошибке, уж лучше тогда
1C
1
2
3
ОписаниеЧисло = Новый ОписаниеТипов("Число");
 
ДолгЗаГаз=?(ЗначениеЗаполнено(ДОЛГГАЗ),ОписаниеЧисло.ПривестиЗначение(ДОЛГГАЗ),0);
единственное я не помню, если пустое значение, во что будет преобразование, может тогда и условие это не нужно, само в 0 преобразуется.
1
GreenkA
Модератор
Эксперт 1С
2990 / 1911 / 520
Регистрация: 25.06.2009
Сообщений: 6,784
18.03.2016, 10:56 11
Phil,
Цитата Сообщение от Ermak27 Посмотреть сообщение
Тип строка, я вывел что в этой строке нет вообще данных из за этого выдает ошибку,
0
Dethmontt
Модератор
Эксперт 1С
2653 / 2443 / 418
Регистрация: 10.03.2011
Сообщений: 8,746
Записей в блоге: 1
Завершенные тесты: 1
22.03.2016, 02:45 12
Зачем городить огород, вот правильное было решение - выше, не нужно никаких условий

1C
1
2
3
ОписаниеЧисло = Новый ОписаниеТипов("Число");
 
ДолгЗаГаз = ОписаниеЧисло.ПривестиЗначение(ДОЛГГАЗ);
2
22.03.2016, 02:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.03.2016, 02:45

Преобразование к типу Число
Здравствуйте, подскажите пожалуйста, как можно исправить ошибку ...

ТЗ во временную таблицу. Преобразование значения к типу Дата не может быть выполнено
Здравствуйте! В общем выбрал запросом из таблицы sql дату формата дата/время(ВремяПрихода) и...

Перевод с обычной формы на управляемую: ошибка "Преобразование значения к типу Дата не может быть выполнено"
Добрый день, перевожу обычную форму на управляемую Вот часть кода нОбъект =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru