Вход | Регистрация

1С:Предприятие ::

Метки:

Не могу отфильтровать по строковому параметру.

Я
   Spoofy
 
18.12.03 - 18:24
Никак не могу понять почему
НайтиПоРеквизиту("Оклад", 5000); - работает, а
НайтиПоРеквизиту("Должность", "Программист"); - нет.
То же с фильтром. По числовому параметру фильтрует, а по строке нет!!!
Просветите пожалуйста.
 
  Рекламное место пустует
   ally
 
1 - 18.12.03 - 18:36
а у реквизита признак "сортировка" стоит?
   ally
 
2 - 18.12.03 - 18:54
и где флагГлобальногоПоиска ?
   Spoofy
 
3 - 18.12.03 - 18:56
Конечно соит! И что такое флагГлобальногоПоиска ???
   ally
 
4 - 18.12.03 - 19:01
НайтиПоРеквизиту(<ИмяРеквизита>,<Значение>,<ФлагГлобальногоПоиска>)ФлагГлобальногоПоиска - числовое выражение 0- поиск в пределах подсиненного справочника, 1- поиск по всему справочнику.
Строка однозначно не причем. Может быть значение не прально указано?
   ally
 
5 - 18.12.03 - 19:24
У меня работает:
Процедура Выполнить() 
    Спр=СоздатьОбъект("Справочник.Сотрудники");
    Спр.НайтиПоРеквизиту("Должность","Менеджер",1);
    Если Спр.Выбран()>0 Тогда
        Имя=Спр.Наименование;
        Сообщить(Имя);
    КонецЕсли;

КонецПроцедуры
Проверь правильность указания Значение реквизита
   ally
 
6 - 18.12.03 - 19:27
у реквизита признак "отбор по реквизиту" тож должен стоять
   egor
 
7 - 18.12.03 - 19:42
(6) Лучше "отбор по реквизиту" не ставить. Достаточно сортировка
   Spoofy
 
10 - 18.12.03 - 23:16
Спасибо! Всё сработало.

Только есть ещё вопрос такого же плана. Я новичёк, может у меня пока руки карявые ;-)

Процедура ПриОткрытии()
  УстановитьОтбор("Оклад", 5000); - работает на ура.
  а вот если ставлю фильтр (вместо предыдущего)
  УстановитьОтбор("Должность", "Программист"); - нифига, то есть работает слишком круто, отфильтровывает всю таблицу!!! У всех реквизитов стоит "отбор по реквизиту".
...
Посмотрел по хелпу, строку так же можно использовать, я а недоумении!

И ещё один насущный вопрос...

Спр.НайтиЭлемент(ФИО); - найти элемент не может, хотя
Спр.НайтиПоНаименованию(ФИО); - находит без проблем!!!

В чём может быть дело? Хотя бы намёк или какие-нибудь соображения!!! Буду очень благодарен!
 
 
   Львенок
 
11 - 18.12.03 - 23:28
(10) Ты издеваешься? НайтиЭлемент ищет элемент по элементу. Казалось бы, зачем это надо? А вот будет у тебя в диалоге полеввода типа справочник, и все сразу станет тебе ясно. А НайтиПоНаименованию ищет элемент по его наименованию.
Вот такая вещь будет работатать:
Спр1=СоздатьОбъект("Справочник.Сотрудники");
Спр2=СоздатьОбъект("Справочник.Сотрудники");
Спр1.НайтиПоНаименованию("Иванов");
Спр2.НайтиЭлемент(Спр1.ТекущийЭлемент());

Вот теперь и Спр1 и Спр2 спозиционированы на Иванова
___
Искренне Ваш, Львенок.


Список тем форума
  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует