Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Дек 2017, 00:23
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Помогите с поиском в справочнике  (Прочитано 1390 раз)

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

Оффлайн Boris1989

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-05-12
  • Сайт: 
  • Профессия: Ученик 1С
Прошу не ругать, я только начал изучать 1С. В институте дали задание добавить в справочник функции поиска и сортировки. Со вторым я более-менее справился, а с поиском проблемы.
Задумка была такая: вводим в поле текст, жмем "найти", выделяется искомый элемент в справочнике и выскакивает окно с вопросом: "Продолжить? <Ok>,<Отмена>. При нажатии <Ok> должен выделяться следующий подходящий элемент.
Но этого не происходит. При нажатии <Ok> опять появляется окно с вопросом, а в многострочной части ничего не выделяется.

Вот текст процедуры:
//Поиск элемента справочника по коду или наименованию*********************
Процедура НайтиЭлемент()
   ОчиститьОкноСообщений(); 
   Если ПустаяСтрока(СтрокаПоиска) = 1 Тогда
      Сообщить("Введите строку для поиска","!");
   Иначе
      СпрВБ = СоздатьОбъект("Справочник.ВидыБрака");
      Если (Режим = 1) и (Совпадение = 0)  Тогда
         СпрВБ.ВыбратьЭлементы();
         Счетчик = 0;
         Кол = 0;
         Пока СпрВБ.ПолучитьЭлемент() = 1 Цикл 
             Счетчик = Счетчик + 1;
         КонецЦикла;
         СпрВБ.ВыбратьЭлементы();
          Пока СпрВБ.ПолучитьЭлемент() = 1 Цикл
            Кол = Кол + 1;   
            Если Найти(СпрВБ.ТекущийЭлемент().Наименование,СтрокаПоиска) > 0 Тогда   
               АктивизироватьОбъект(СпрВБ.ТекущийЭлемент());
               Если Вопрос("Продолжить поиск?",1) = 1 Тогда
                  Продолжить;
               ИначеЕсли Вопрос("Продолжить поиск?",1) = 2 Тогда
                  Прервать;
               КонецЕсли;
            КонецЕсли;
            Если Кол = Счетчик Тогда
               ОчиститьОкноСообщений();
               Сообщить("Совпадений не найдено","!");
               Прервать;
            КонецЕсли;
          КонецЦикла;
      КонецЕсли;     
      Если (Режим = 1) и (Совпадение = 1)  Тогда
         Если СпрВБ.НайтиПоНаименованию(СтрокаПоиска, 0, 1) = 1 Тогда
            АктивизироватьОбъект(СпрВБ.ТекущийЭлемент());
         Иначе
            ОчиститьОкноСообщений();
            Сообщить("Точного совпадения не найдено","!");
         КонецЕсли;
      КонецЕсли;
      Если Режим = 2  Тогда
         Если СпрВБ.НайтиПоКоду(СтрокаПоиска,0)=1 Тогда
            АктивизироватьОбъект(СпрВБ.ТекущийЭлемент());
         Иначе
            ОчиститьОкноСообщений();
            Сообщить("Элементов с кодом '" + СтрокаПоиска + "' не найдено","!");
         КонецЕсли;
      КонецЕсли;
   КонецЕсли;
КонецПроцедуры


Оффлайн Boris1989

  • *
  • Сообщений: 6
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-05-12
  • Сайт: 
  • Профессия: Ученик 1С
Проблема где-то здесь. Может что посоветуете.

Если Найти(СпрВБ.ТекущийЭлемент().Наименование,СтрокаПоиска) > 0 Тогда   
               АктивизироватьОбъект(СпрВБ.ТекущийЭлемент());
               Если Вопрос("Продолжить поиск?",1) = 1 Тогда
                  Продолжить;
               ИначеЕсли Вопрос("Продолжить поиск?",1) = 2 Тогда
                  Прервать;
               КонецЕсли;
            КонецЕсли;


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
133 Сообщений
ilyay ilyay
63 Сообщений
AIFrame
61 Сообщений
alex0402
50 Сообщений
andron81_81
44 Сообщений
oleg-x
41 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
27 Сообщений
alexandr_ll
23 Сообщений

* Кто онлайн

  • Точка Гостей: 216
  • Точка Скрытых: 0
  • Точка Пользователей: 6
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal