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

"связанные - контекстные меню"

Автор igor_1965, 07 июн 2016, 12:47

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

igor_1965

Добрый день.
Возникла проблема - в форме документа есть поле КОНТРАГЕНТ, соответственно это форма выбора справочника контрагента, в этой форме отображаются два реквизита - адрес и фио.
Соответственно при вводе любого реквизита отображаются "отфильтрованные" контрагенты, и при выборе заполняются услуги по этим контрагентом.
Всё бы хорошо, но бывают контрагенты совпадающие (наследство прошлого), и при вводе на форме выбирается НЕСКОЛЬКО фамилий, т.е вводишь ИВАНОВ И и для выбора предлагается
ИВАНОВ ИВАН ИВАНОВИЧ
ИВАНОВ ИВАН ИВАНОВИЧ
ИВАНОВ ИВАН ИВАНОВИЧ
при выборе подтягиваются услуги, но ДО выбора хорошо бы знать у кого есть услуги а у кого нет.
Т.Е ДО выбора - при навигации хорошо бы видеть услуги подтянутые у контрагента, который "подсвечен", при нажатии стрелки, переходя от одного контрагента к другому видеть в другом окне, либо в этом меню услуги подвязанные. Обработки событий таких нет, конечно. Через команду с сочетанием клавиш тоже не канает.
Может кто сталкивался с подобным? Штатными средствами формы не сделать - не получается перехватить навигацию по форме выбора ((((((
Спасибо.
http://i80.fastpic.ru/big/2016/0607/4d/b5b7142e772f1e3bbd8ef62836b6e14d.jpg

ПростоБосс

Да уж. Штатными средствами это действительно не сделать. Можно,конечно, извратиться через отдельную дополнительную форму, но это зело муторно... Примерно так: вешаешь на форму обычный реквизит строка. При вводе в него строки (подстроки) открывается доп форма в которой выводишь список или таблицу значений, заполненную данными справочника контрагентов, отфильтрованную по введенной подстроке. Ну а уж там можно и услуги подтянуть и обработать выбор конкретного, передав в основную форму.
Да и вообще отфильтровать можно только тех, у кого услуги есть.

Тём

Если имеется проблема с задвоившимися контрагентами, советую исправлять не симптомы, а причину. На просторах интернета (где уже не помню) есть обработка которая объединяет их. При этом она меняет ссылки во всех документах, справочниках и т.д.

igor_1965

Понятно - спасибо! Т.е при "вводе по строке" я не могу перехватить получаемый динамический список? Ни "автоподбор" ни прочие обработчики не позволяет выцепить значение строки... я бы командой выщемил  - но нет обработки сочетания просто нажатия стрелки вниз, только сочетание. Да контрагенты (и все услуги)  можно все грохнуть и заново загрузить, но для этого конца года дождаться нужно, и потом при загрузке всех начисления заново сформировать список л/с и контрагентов.
Добавлено: 08 июн 2016, 14:16


Решил отказаться от ввода по строке - очистил в справочнике поля индексированные, при внесении данных будет сразу открываться форма выбора с отбором по элементам, и доступ к реквизитам открыт... вот и всё.

igor_1965

Тэээкс... ну проблему решили через отказ ввода по строке и выбирать напрямую из фильтрованного справочника.
В результате я получаю доступ к форме выбора изнутри...
Может кому пригодится.

//================= контрагенты фильтрованные
&НаСервере
Процедура  ВыборкаДанных(параметр)
            адресформы = параметр.адрес;
       объект.ПотребительУслуг = справочники.Контрагенты.НайтиПоКоду(параметр.код);
КонецПроцедуры

&НаКлиенте
Процедура ПолучательУслугОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, СтандартнаяОбработка)
      // СтандартнаяОбработка = Ложь;
      ЗначениеОтбора  = Новый Структура("АдресПредставление", Текст);
           ПараметрыВыбора = Новый Структура("Отбор", ЗначениеОтбора);
      ФормаК = ПолучитьФорму("Справочник.Контрагенты.ФормаВыбора",ПараметрыВыбора,Элемент); 
      выбор = ФормаК.ОткрытьМодально();
           ВыборкаДанных(выбор);   
                                          
КонецПроцедуры


// ================

Теги:
Рейтинг@Mail.ru

Поиск