Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: 1С для программиста

  Все выпуски  

RusFAQ.ru: 1С для программиста


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / 1С для программиста

Выпуск № 509
от 31.05.2007, 02:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 390, Экспертов: 49
В номере:Вопросов: 1, Ответов: 6


Вопрос № 88510: 1С 7.7 Необходимо организовать в справочнике поиск по наименованию вот что у меня получилось: Процедура ПоискПр () ОчиститьОкноСообщений(); Организац = СоздатьОбъект ("Справочник.Организации"); Организац.Выбр...

Вопрос № 88.510
1С 7.7
Необходимо организовать в справочнике поиск по наименованию
вот что у меня получилось:

Процедура ПоискПр ()
ОчиститьОкноСообщений();
Организац = СоздатьОбъект ("Справочник.Организации");
Организац.ВыбратьЭлементы();

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

Сообщить(Организац.НОрганизации);

КонецЕсли;
КонецЦикла;

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

Тоесть вывожу номер каждого предприятия в котором есть символы набраные в поле ввода Поиск и активизирую последнее предприятие отвечающее условию

Это неудобно хотелось бы как в ворде или екселе добавить найти далее
Если заменить строку сообщть... на прервать(); то выбирается первый элемент справочника отвечающий условию а вот как зделать найти далее
Зарание благодарен
Отправлен: 25.05.2007, 12:29
Вопрос задал: Pycuk (статус: 1-ый класс)
Всего ответов: 6
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Светлана Николаевна
Здравствуйте, Pycuk!
Можно все результаты записывать в массив. Каждый результат в отдельном элементе, а потом нажимая кнопку "найти далее" выводить следующий элемент массива.
Ответ отправила: Светлана Николаевна (статус: 1-ый класс)
Ответ отправлен: 25.05.2007, 12:40

Отвечает: Игорь К.
Здравствуйте, Pycuk!

Предлагаю вставить блок с вопросом:

Если Вопрос("Найдено: "+Строка(Организац.НОрганизации)+РазделительСтрок+"Продолжить поиск?","Да+Нет")="Нет" Тогда
Прервать;
КонецЕсли;

Если найдет - выдаст окно с информацией из поля НОрганизации
и запросом искать ли дальше.

Весь код в приложении.

P.S. Не знаю тип поля НОрганизации поэтому преобразую в строку.
Если тип строковый лишнее преобразование не помешает.

Приложение:

---------
Лучше два часа потерять, потом за пять минут долететь

Ответ отправил: Игорь К. (статус: 4-ый класс)
Ответ отправлен: 25.05.2007, 13:02

Отвечает: DERL.KG
Здравствуйте, Pycuk!
Создайте список значений, в который будете записывать все найденные значения
перед АктивизироватьОбъект добавите условия наличия текущего элемента в СЗ
а после АктивизироватьОбъект добавляйте найденный элемент в СЗ.
Добавьте (если нет) кнопку для очистки значения для поиска, при нажатии которой очищается СЗ
СЗ.УдалитьВсе().

Приложение:

Ответ отправил: DERL.KG (статус: 2-ой класс)
Ответ отправлен: 25.05.2007, 13:29

Отвечает: Elric
Здравствуйте, Pycuk!

Просто запоминайте элемент, на котором в прошлый раз остановились, и перед началом следующего поиска ("найти далее") сначала позиционируйтесь на него (элемент), а потом только продолжайте поиск (перебор).
---------
Мирный атом в КАЖДЫЙ дом!
Ответ отправил: Elric (статус: Специалист)
Ответ отправлен: 25.05.2007, 13:36

Отвечает: Dmitry Stashenko
Здравствуйте, Pycuk!

Идея такая: создаешь объект Список значений, в него заносишь все удовлетворяющие условию поиска элементы справочника, а потом работаешь уже с этим списком. Там можно и поиск вперед (перейти на следующую строку списка), и назад (перейти на предыдущую) и еще много всякого.

Удачи
Ответ отправил: Dmitry Stashenko (статус: 2-ой класс)
Ответ отправлен: 25.05.2007, 14:17

Отвечает: Ovr1970
Здравствуйте, Pycuk!
Продолжить поиск очень просто, конечно метод не быстрый, но знасительно быстрее, чем искать заново.
Во первых, перед "ВыбратьЭлементы()" используешь "ПорядокНаименований()" или "ПорядокКодов()"
Во вторых, для поиска далее - передаешь найденное перед этим значение.
Т.Е. "ПоискПервого" - без аргументов, возвращает первую организацию, а "ПоискСлудующей(ТекОрг)" имеет аргумент, организация, с которой начать поиск. Тогда

Приложение:

Ответ отправил: Ovr1970 (статус: Практикант)
Ответ отправлен: 25.05.2007, 14:18


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное