Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: При подборе из справочника открытие сразу нужной группы элементов

v7: При подборе из справочника открытие сразу нужной группы элементов
Я
   leonid_gun
 
18.09.19 - 23:23
Доброго времени!
Есть необходимость при подборе из справочника номенклатуры в табличную часть документа сразу производить выбор из определенной группы элементов. Причем только для этого документа. Подскажите, куда копать?
Допиливаю ТИС 7.70.032.
 
 
   Lazy Stranger
 
1 - 18.09.19 - 23:37
АктивизироватьОбъект(<?>);
Синтаксис:
АктивизироватьОбъект(<Объект>)
Назначение:
Активизировать объект в форме списка.
Параметры:
<Объект> - выражение, которое может содержать значение элемента справочника или документ или запись журнала расчетов (в зависимости от типа модуля формы, в котором должен быть активизирован элемент диалога).
Замечание:
Доступ к методу возможен только в контексте Модуля формы.
   Bigbro
 
2 - 19.09.19 - 04:40
ну так открыть подбор с контекстом.
а в при открытии в форме справочника - обрабатывать Форма.Параметр который передал.
и там уже устанавливай родителя владельца что угодно
   leonid_gun
 
3 - 21.09.19 - 21:04
Я так понимаю, мне нужно работать с предопределенной процедурой ОбработкаПодбора(<Элемент>,<КонтФормы>) и в ней уже использовать АктивироватьОбъект()??
   ДенисЧ
 
4 - 21.09.19 - 21:18
(3) Нет. Обработка подбора тебе уже возвращает выбранный элемент. Активизировать нужно при открытии формы подбора.
   leonid_gun
 
5 - 21.09.19 - 22:52
Немного не разобрался. Но вот набросал код. НайтиПоКоду указан код нужной группы, которую нужно открыть сразу в подборе

Процедура ПодборУслуги(СправочникПодбора,ФормаПодбора="ФормаВыбора")
    Перем Параметр;
    Параметр = Форма.Параметр;
        Если СправочникПодбора.НайтиПоКоду("10350", 0) = 1 Тогда
           Если СправочникПодбора.Выбран()=1 Тогда
              НужнаяГруппа =  СправочникПодбора.ТекущийЭлемент();
              ИспользоватьРодителя(НужнаяГруппа,0);
              АтивизироватьОбъект(СправочникПодбора.ТекущийЭлемент());
           КонецЕсли;
        КонецЕсли;
    // открываем форму подбора

    ОткрытьПодбор(СправочникПодбора,ФормаПодбора,Параметр,0);
КонецПроцедуры
   Chieftain
 
6 - 21.09.19 - 23:07
Перем Параметр;
Справ = СоздатьОбъект("Справочник.Номенклатура");
Если Справ.НайтиПоКоду("10350", 0) = 1 Тогда
    ОткрытьПодбор("Справочник.Номенклатура",ФормаПодбора,Параметр);
    Параметр.ИспользоватьРодителя(Справ.ТекущийЭлемент());
    или
    Параметр.АктивизироватьОбъект(Справ.ТекущийЭлемент());
КонецЕсли;
   leonid_gun
 
7 - 21.09.19 - 23:14
И у меня еще вопрос.
Я так понял, что-то подобное будет работать при вызове этой процедуры через элемент формы типа Кнопка.
А вот как выполнить такую процедуру через нажатие в определенной колонке табличной части документа, которой привязан справочник номенклатуры, например, в таком документе как Расходная накладная???
Там тоже появляется ФормаВыбора со списком элементов.
   GreyK
 
8 - 21.09.19 - 23:33
(7) Используй предопределенную процедуру ПриНачалеРедактированияСтроки, примеров её использования в ТиСе предостаточно.
   Калиостро
 
9 - 22.09.19 - 11:06
(0)
В процедуре ПриОткрытии
    Спр = СоздатьОбъект("Справочник." + Вид());
    Спр.НайтиПоНаименованию(НазваниеМоейГруппы, 0, 1);
    ТекРодитель = Спр.ТекущийЭлемент();
    ИспользоватьРодителя(ТекРодитель);
   leonid_gun
 
10 - 30.09.19 - 15:16
Спр = СоздатьОбъект("Справочник." + Вид());
    Спр.НайтиПоНаименованию(НазваниеМоейГруппы, 0, 1);
    ТекРодитель = Спр.ТекущийЭлемент();
    ИспользоватьРодителя(ТекРодитель);

Так не работает. Все равно открывает справочник с корня папок ((
   Kigo_Kigo
 
11 - 30.09.19 - 15:22
(10) В качестве параметра передавай родителя, при открытии ИспользоватьРодителя(Форма.Параметр)
   Kigo_Kigo
 
12 - 30.09.19 - 15:23
А, тупанул немного В (10) написали
   leonid_gun
 
13 - 30.09.19 - 18:24
(11) Не понял фишку. ((
Ведь Атрибут Параметр объекта «Форма» представляет собой значение, пере­данное данной форме при ее открытии программно с помощью методов Открытьформу, ОткрытьФормуМодально, ОткрытьПодбор. А я не открываю форму ни одним из указанных способов. Она уже открыта и произвожу выбор номенклатуры из справочника путем щелчка мышки по соответствующей ячейке в графе табличной части документа к которой привязан реквизит типа Справочник.
   MWWRuza
 
14 - 30.09.19 - 18:54
(13)Она уже открыта и произвожу выбор номенклатуры из справочника путем щелчка мышки по соответствующей ячейке в графе табличной части документа к которой привязан реквизит типа Справочник.

Форма - это не та форма, из которой Вы справочник открываете, а ФормаСписка самого справочника.
   Злопчинский
 
15 - 30.09.19 - 19:52
(5)
        Если СправочникПодбора.НайтиПоКоду("10350", 0) = 1 Тогда
           Если СправочникПодбора.Выбран()=1 Тогда//это условие лишнее, выкинь его. если найден по коду то уже выбран.
   Злопчинский
 
16 - 30.09.19 - 19:53
По идее - (6) должен сработать норм.

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