Вход | Регистрация
 
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) должен сработать норм.

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