Имя: Пароль:
1C
1С v8
Как в УФ при вводе по строке отобразить нужное мне представление справочника?
0 oleg_prg
 
12.01.18
22:11
Добрый вечер уважаемые форумчане.
Как в реквизите формы при вводе по строке отобразить нужные мне реквизиты. Для понимания вот фотка вопроса. https://yadi.sk/i/zaX2f2kN3RQadt
Заранее спасибо!
1 Lexey_
 
12.01.18
22:48
(0) ОбработкаПолученияПредставления()
2 oleg_prg
 
12.01.18
23:09
Не получается... напишите пожалуйста пример кода.
3 oleg_prg
 
12.01.18
23:18
НЕ ПОЛУЧАЕТСЯ т.к. ОбработкаПолученияПредставления изменяет представление в отчетах, но не в выборе по строке
4 oleg_prg
 
12.01.18
23:24
(1) Вот результат https://yadi.sk/i/oAIKmVnQ3RQfuE
Может кто сталкивался, с такой проблемой, скиньте код пожалуйста.
5 CepeLLlka
 
12.01.18
23:26
Так можно же руками формировать список который выводится, нее?
6 oleg_prg
 
12.01.18
23:28
(5) Скиньте код плиз. Там список тысячи авто и каждый раз грузить и в каждом реквизите документа, отчета это прописывать? Я думал есть некий стандартный подход для получения данных - например через модуль менеджера справочника. Или может галку где надо какую поставить, убился уже с этой "мелочью"
7 CepeLLlka
 
12.01.18
23:46
(6)Да я как-то не разбирал эту тему, нет наработок, но просто видел где-то такое, вот и озвучил..
8 oleg_prg
 
12.01.18
23:58
Всем спасибо за советы - решил
9 Мыш
 
13.01.18
00:09
(8) Написал бы хоть решение для будущих поколений )
10 oleg_prg
 
13.01.18
00:15
(9) Конечно! Вот решение
Например есть справочник Водители и вам надо при вводе по строке искать по наименованию и по (!) реквизиту позывной. При этом выводить в список поиска реквизит Наименование и позывной
Для этого в модуле менеджера справочника Водители добавить код:

Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
    
    СтандартнаяОбработка = ложь;
    
    Запрос = новый Запрос;        
    Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    |    Водители.Ссылка
    |ИЗ
    |    Справочник.Водители КАК Водители
    |ГДЕ
    |    (Водители.Наименование ПОДОБНО &СтрокаПоиска) ИЛИ (Водители.Позывной ПОДОБНО &СтрокаПоиска)";
    
    
    Запрос.УстановитьПараметр("СтрокаПоиска", СокрЛП(Параметры.СтрокаПоиска)+"%");
    
    ДанныеВыбора = новый СписокЗначений;
    
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        Представление = РаботаСоСтроками.ДобавитьПробелов(РаботаСоСтроками.СократитьФИО(Выборка.Ссылка.Наименование), 30);
        ДанныеВыбора.Добавить(Выборка.Ссылка, Представление+" "+Выборка.Ссылка.Позывной);
    КонецЦикла
    
КонецПроцедуры

Обратите внимание на строку ДанныеВыбора.Добавить(Выборка.Ссылка, Представление+" "+Выборка.Ссылка.Позывной);  Первый параметр обязательно ссылка, второй - то что будет у пользователя в списке при вводе по строке :)
11 oleg_prg
 
13.01.18
00:31
Ребята, вот дополнил, список поиска с картинками и код =)
https://yadi.sk/i/Bt1rgQ_u3RQjPr

вдруг кому понадобится.
Всем удачи в новом году!
12 Lexey_
 
13.01.18
10:06
(10) "Выборка.Ссылка.Позывной" не умеешь ты запросы писать...
13 SleepyHead
 
гуру
13.01.18
10:07
(12) Научится. Человек умеет грамотно ставить вопросы и  решать их, не придирайся.
14 h-sp
 
13.01.18
15:14
(13) вот же  https://yadi.sk/i/MmbJPNVD3RRHaw
15 ildary
 
13.01.18
15:34
(14) Ваш способ хуже тем, что меняет конфигурацию, а программное изменение возможно через расширение (я смотрю на проблему в рамках типовых конфигураций, а не нетленок).
16 h-sp
 
13.01.18
16:24
(15) это правильно, но не думаю, что справочник Водители - это у него типовой.
17 oleg_prg
 
13.01.18
17:17
(15) проблема была не в поиске, а в выводе списка с нужными реквизитами. запрос в модуле появился т.к. без него никак не модифицировать представление списка ввода по строке. Смотрите вопрос в теме.
(10) на скорую руку накидал запрос, посмотрел что заработало, обрадовался и скинул сюда первый рабочий вариант. )
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.