Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
17 янв 2022, 09:40

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

Автор Lopol, 24 ноя 2021, 11:37

0 Пользователей и 1 гость просматривают эту тему.

Lopol

Здраствуйте!Добавил в конфигурацию Поиск в данных, но он выдает ошибку, когда я хочу перейти к объекту , который я нашел (В нашем случае Сотрудник Иванов Иван Иванович) Помогите пожалуйста решить проблему
Скрин : https://ibb.co/G3h1SD0
Вот ошибка полностью:
Преобразование значения к типу Число не может быть выполнено
{Отчет.ПоискДанных.Форма.ФормаОтчета.Форма(74)}:НомерВСписке = Число(ЭлементHTML.nameProp);

Вот весь код Поиска :

&НаКлиенте
Процедура Поиск(Команда)
// Вставить содержимое обработчика.
Искать(0);
КонецПроцедуры

&НаКлиенте
Процедура ПредыдущаяПорция(Команда)
// Вставить содержимое обработчика.
Искать(-1);
КонецПроцедуры

&НаКлиенте
Процедура СледующаяПорция(Команда)
// Вставить содержимое обработчика.
Искать(1);
КонецПроцедуры


&НаКлиенте
// Процедура поиска, получение и отображение результата
Процедура Искать(Направление)
Если ПустаяСтрока(ПоисковоеВыражение) Тогда
Предупреждение("Не задана строка поиска.");
Возврат;
КонецЕсли;
ИскатьСервер(Направление);
КонецПроцедуры



&НаСервере
Процедура ИскатьСервер(Направление) Экспорт
СписокПоиска = ПолнотекстовыйПоиск.СоздатьСписок();
СписокПоиска.СтрокаПоиска = ПоисковоеВыражение;

Если Направление = 0 Тогда
СписокПоиска.ПерваяЧасть();
ИначеЕсли Направление = -1 Тогда
СписокПоиска.ПредыдущаяЧасть(ТекущаяПозиция);
ИначеЕсли Направление = 1 Тогда
СписокПоиска.СледующаяЧасть(ТекущаяПозиция);
КонецЕсли;

РезультатыПоиска.Очистить();
Для Каждого Результат Из СписокПоиска Цикл
РезультатыПоиска.Добавить(Результат.Значение);
КонецЦикла;

РезультатПоиска = СписокПоиска.ПолучитьОтображение(ВидОтображенияПолнотекстовогоПоиска.HTMLТекст);
ТекущаяПозиция = СписокПоиска.НачальнаяПозиция();
ПолноеКоличество = СписокПоиска.ПолноеКоличество();

Если СписокПоиска.Количество() <> 0 Тогда
СообщениеОРезультате = "Показаны " +Строка(ТекущаяПозиция + 1) + " - " +
Строка(ТекущаяПозиция + СписокПоиска.Количество()) + " из " + Строка(ПолноеКоличество);
Элементы.СледующаяПорция.Доступность = (ПолноеКоличество - ТекущаяПозиция) > СписокПоиска.Количество();
Элементы.ПредыдущаяПорция.Доступность = (ТекущаяПозиция > 0);
Иначе
СообщениеОРезультате = "Не найдено";
Элементы.СледующаяПорция.Доступность = Ложь;
Элементы.ПредыдущаяПорция.Доступность = Ложь;
КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура РезультатПоискаПриНажатии(Элемент, ДанныеСобытия, СтандартнаяОбработка)
// Вставить содержимое обработчика.
ЭлементHTML = ДанныеСобытия.Event.srcElement;
Если (ЭлементHTML.id = "FullTextSearchListItem") Тогда

// Получить имя файла (номер строки списка поиска), содержащегося в гиперссылке
НомерВСписке = Число(ЭлементHTML.nameProp);

// Получить строку списка поиска по номеру
ВыбраннаяСтрока = РезультатыПоиска[НомерВСписке].Значение;

// Открыть форму найденного объекта
ОткрытьЗначение(ВыбраннаяСтрока);
СтандартнаяОбработка = Ложь;
КонецЕсли;

КонецПроцедуры


Теги: помощь 

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск