|
Преобразование к типу Число не может быть определено. | ☑ | ||
---|---|---|---|---|
0
AllJoke
12.09.13
✎
17:00
|
Всем времени доброго. По сабжу не пинайте, знаю что в гугле куча инфы. Но тут загвоздка именно в следующем.
Делаю задачи по пособию Радченко. Там есть глава - Полнотекстовый поиск. Вот код: Процедура РезультатПоискаПриНажатии(Элемент, ДанныеСобытия, СтандартнаяОбработка) ЭлементHTML = ДанныеСобытия.Event.srcElement; Если (ЭлементHTML.Id = "FullTextSearchListItem") Тогда //Получить имя файла (номер строки поиска), содержащегося в гиперссылке НомерВСписке = Число(ЭлементHTML.nameProp); //Получить строку списка поиска по номеру ВыбраннаяСтрока = РезультатПоиска[НомерВСписке].Значение; //Открыть форму найденнго объекта ОткрытьЗначение(ВыбраннаяСтрока); СтандартнаяОбработка = Ложь; КонецЕсли; КонецПроцедуры Делаю всё в 1С:Предприятие 8.3.3.715 НомерВСписке = Число(ЭлементHTML.nameProp); // вот здесь и выскакивает ошибка. В отладчике ЭлементHTML.nameProp = "#", Тип = Строка. Неужели дело в платформе? |
|||
1
Тролль главный
12.09.13
✎
17:02
|
дело в ДНК, какое это число "#"?
|
|||
2
vicof
12.09.13
✎
17:04
|
(1) +1
|
|||
3
Fish
12.09.13
✎
17:06
|
(0) Не всякую строку можно преобразовать в число.
|
|||
4
bolobol
12.09.13
✎
17:07
|
Я, чессслово, не знаю о чём речь, но name - это имя, и вряд ли может быть числом. Проверьте код.
|
|||
5
AllJoke
12.09.13
✎
17:08
|
Так это всё понятно. НО! Код взят прям с книги. Всё сделано по книге. НА форумах смотрел, в Инете глянул - у всех якобы всё работает в этом месте. Хотя тогда платформы 8.3.3 не было ещё.
|
|||
6
vicof
12.09.13
✎
17:09
|
(5) В книгах тоже бывают опечатки. Или ты тупо контролцэ-контролвэ?
|
|||
7
vicof
12.09.13
✎
17:10
|
+(6) хотя не факт, что в книге
|
|||
8
AllJoke
12.09.13
✎
17:10
|
1С:Предприятие 8.2 Практическое пособие разработчика. Стр.605. Листинг 19.4:
&НаКлиенте Процедура РезультатПоискаПриНажатии(Элемент, ДанныеСобытия, СтандартнаяОбработка) ЭлементHTML = ДанныеСобытия.Event.srcElement; Если (ЭлементHTML.Id = "FullTextSearchListItem") Тогда //Получить имя файла (номер строки поиска), содержащегося в гиперссылке НомерВСписке = Число(ЭлементHTML.nameProp); //Получить строку списка поиска по номеру ВыбраннаяСтрока = РезультатПоиска[НомерВСписке].Значение; //Открыть форму найденнго объекта ОткрытьЗначение(ВыбраннаяСтрока); СтандартнаяОбработка = Ложь; КонецЕсли; КонецПроцедуры |
|||
9
spu79
12.09.13
✎
17:10
|
(1) shift+3 (в англ раскладке). Не? Тогда вопрос становиться по другому: "Какому числу соответствует shift?"
|
|||
10
AllJoke
12.09.13
✎
17:15
|
(9) да беда в том, что мысля такая и у меня возникла. Так как кликал 3 строку. НО! Когда кликаешь и первую и вторую строку - возвращает то же самое.
|
|||
11
Fragster
модератор
12.09.13
✎
17:15
|
учитывая то, что автор даже текст ошибки написал неправильно, многое может быть не так...
|
|||
12
bolobol
12.09.13
✎
17:21
|
Где-то говорят - обновите индекс полнотекстового поиска... Тут уж - на всякий случай)
|
|||
13
sikuda
12.09.13
✎
17:25
|
(9) Nan. В 1с нет специальный чисел. Вызывается исключение.
|
|||
14
spu79
12.09.13
✎
17:27
|
в качестве бреда.
в Эксель, например, # появляется, когда число Больше ширины ячейки. Кстати тип = число, но при попытки прочитать (программно) возвращает как раз "#". Может здесь покурить? |
|||
15
AllJoke
12.09.13
✎
17:28
|
(11) Торопился. Был удивлен и поражен тем, что делая всё по книге не всегда получаются такие же результаты.
Вот вся ошибка: {Отчет.ПоискДанных.Форма.ФормаОтчета.Форма(69)}: Преобразование значения к типу Число не может быть выполнено НомерВСписке = Число(ЭлементHTML.nameProp); (12) делал обновление индекса - не помогло. |
|||
16
AllJoke
12.09.13
✎
17:35
|
Странно, в той же книге сказано - "Добавим в форму реквизит РезультатПоиска и перетащим его в окно элементов формы". Хотя про тип этого реквзизита ничего не сказано. У меня по умолчанию строка. Здесь, скорее всего, важен Вид Поля.
|
|||
17
AllJoke
12.09.13
✎
17:43
|
Такое ощущение, что он мне в nameProp возвращает то же значение что и в href = "#"
|
|||
18
AllJoke
12.09.13
✎
17:46
|
<a id="FullTextSearchListItem" href="#" sel_num="2">Оказание услуги: Оказание услуги 000000001 от 23.08.2013 0:00:00</a>
вот здесь у меня предположение, что нужно получать цифру 2, т.е. sel_num. Хотя такого свойтсва у ДанныеСобытия.Event.srcElement нет. |
|||
19
AllJoke
12.09.13
✎
18:02
|
На 8.2.15 всё отрабатывает.
|
|||
20
bolobol
12.09.13
✎
18:54
|
Ну всё же - точку останова и ЭлементHTML - Шифт+Ф9 - смотри свойства и значения. Ну, вдрюк, так сказать, исправили что-то
|
|||
21
Fragster
модератор
12.09.13
✎
20:00
|
(18) судя по докам: Returns the file name from the URL specified by the href or src property of the current element.
а тебе нужно getAttribute("sel_num") |
|||
22
AllJoke
13.09.13
✎
08:41
|
(21) см (19) - тогда же в чём баг????
|
|||
23
AllJoke
13.09.13
✎
08:45
|
(21) ну что могу сказать - благодарствую. Но всё же косяк платформы не определён. Почему же в 8.2.15 идёт одна отработка, а в 8.3.3 уже совсем другая. Хотя и свойство элемента присутствует, но оно совсем другое.
Как вы думаете, в данном случае нужно писать в 1С? |
|||
24
Serg_1960
13.09.13
✎
09:20
|
Об чём писать в 1С будешь? Об том, что пособие Радченко, написанное для 8.2, не совсем подходит для 8.3?
|
|||
25
AllJoke
13.09.13
✎
09:24
|
(24) ))) юмор понял. Значит в закрома своих знаний добавлю.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |