Имя: Пароль:
1C
1С v8
Как показать невозможность преобразования в число
0 Dimonkur
 
30.01.14
07:41
Как программно показать невозможность преобразования в число. Например: масСтрок[0] = число(масСтрок[0]);
1 Wobland
 
30.01.14
07:41
Сообщить("так низзя!")
2 Wobland
 
30.01.14
07:41
(1) в исключении
3 shuhard
 
30.01.14
07:46
(0)[программно показать]
центральному процессору ?
4 Dimonkur
 
30.01.14
07:49
Мне нужно: если не возможно преобразование: масСтрок[0] = число(масСтрок[0] Тогда продолжить.
То бишь: Если невозможно преобразование масСтрок[0] = число(масСтрок[0] Тогда
Продолжить;
КонецЕсли;
Только как показать невозможность масСтрок[0] = число(масСтрок[0]
5 Fuas4
 
30.01.14
07:51
Попытка же
6 Cube
 
30.01.14
07:51
(4) Тебе в (2) уже сказали - юзай попытку-исключение.
7 Wobland
 
30.01.14
07:51
дык продолжить или показать?
8 Cube
 
30.01.14
07:53
Попытка
    масСтрок[0] = число(масСтрок[0]);
Исключение
    Предупреждение("Мля, ошибка!!!" + Символы.ПС + ОписаниеОшибки());
КонецПопытки;
9 Wobland
 
30.01.14
07:54
(4) и на выходе получим массив, состоящий из чисел и строк
10 Мимохожий Однако
 
30.01.14
07:56
(8)Предупреждение - это круто. ))
11 Рэйв
 
30.01.14
07:57
Человек открывает для себя попытку.
Может еще про Перейти ему рассказать чтобы совсем полноценным был?:-)
12 jsmith82
 
30.01.14
07:58
(11) и про Прервать
13 Wobland
 
30.01.14
07:58
(10) более мягкий вариант - слать смски с дублированием в почту
14 Dimonkur
 
30.01.14
07:59
У меня : Для сч = 1 по Текст.КоличествоСтрок Цикл
Тело цикла
В цикле если невозможно масСтрок[0] = число(масСтрок[0] тогда продолжить;
иначе продолжение тела цикла
конецЦикла
15 Рэйв
 
30.01.14
08:00
(13)"Пришли смс на номер ХХХХ и получи текст ошибки" :-)
16 Cube
 
30.01.14
08:00
(14) Хвастаешься?
17 Wobland
 
30.01.14
08:01
(14) теперь то же самое, но синтаксически верно
18 Wobland
 
30.01.14
08:01
и я повторюсь. на зачем нужен потом такой массив?
19 jsmith82
 
30.01.14
08:02
масОшибок = Новый Массив();
Для i = 0 По масСтрок.Количество() Цикл
Попытка
       масСтрок[i] = число(масСтрок[i]);
Исключение
    масОшибок.Добавить(масСтрок[i]);
КонецПопытки;
КонецЦикла;
Если масОшибок.Количество() > 0 Тогда
Для i = 0 По масОшибок.Количество() Цикл
Сообщить(масОшибок[i]);
КонецЦикла;
КонецЕсли;
20 Рэйв
 
30.01.14
08:04
(14)
Для Каждого Зн Из МасСтрок Цикл
    Чис="Нельзя привести к числу("+Зн+")";
    Попытка
        Чис=Число(Зн);
    Исключение
        Сообщить(ОписаниеОшибки());

    КонецПопытки;
    Сообщить(Чис);
КонецЦикла;
21 Dimonkur
 
30.01.14
08:04
У меня идут числа в масСтрок[0]. Но иногда там буквы. Это значит пропускаем и идем в начало цикла, если масСтрок[0]это цифра то все нормально и идем дальше по телу цикла.
22 Wobland
 
30.01.14
08:06
(21) люди взрослые, все уже поняли
23 ICWiner
 
30.01.14
08:08
Тогда нафиг попытку, еще в транзакцию какую попадет. Не проще ли раз это цифра поиск по строке
Найти("0123456789", Строка(масСтрок[0]))
24 Рэйв
 
30.01.14
08:10
(23)Ну всзначение - это ты размохнулся:-)
Посимвольно придется
25 ICWiner
 
30.01.14
08:11
Он же написал не число, а цифра...
26 Рэйв
 
30.01.14
08:13
(25)
>>У меня идут числа

в (21)
27 1dvd
 
30.01.14
08:17
(26) Если там числа, тогда вообще говорить не о чем...
ТипЗнч(...) = Тип("Число")
28 jsmith82
 
30.01.14
08:19
(27) строки как числа
atoint
29 1dvd
 
30.01.14
08:19
а... не про то подумал.
(24) + 1, посимвольно
30 1dvd
 
30.01.14
08:27
Функция ЭтоЧисло(СтроковаяСучность)
    Если Найти("0123456789.", Лев(СтроковаяСучность, 1)) = 0 Тогда
        Возврат Ложь;
    ИначеЕсли СтрДлина(СтроковаяСучность) = 1 Тогда
        Возврат Истина;
    Иначе
        Возврат ЭтоЧисло(Сред(СтроковаяСучность, 2));
    КонецЕсли;
КонецФункции
31 Рэйв
 
30.01.14
08:31
(30)Так проще:-)


Функция ЭтоЧисло(СтроковаяСучность)
    Для н=1 По СтрДлина(СтроковаяСучность) Цикл
    Если Найти("0123456789.", Сред(СтроковаяСучность,н,1)) = 0 Тогда
        Возврат Ложь;
    КонецЕсли;
    Возврат Истина;
КонецФункции
32 Рэйв
 
30.01.14
08:31
+Конеццикла забыл
33 1dvd
 
30.01.14
08:34
(31) А у мну без цЫкла :)
34 Cube
 
30.01.14
08:34
(31) Где запятая? Где неразрывный пробел? :)
35 Рэйв
 
30.01.14
08:41
(34)Да за ради бога!:-)
перед циклом
...
СтроковаяСучность=СтрЗаменить(СтроковаяСучность,Символы.НПП,"");
СтроковаяСучность=СтрЗаменить(СтроковаяСучность,",","");
...