Имя: Пароль:
1C
1C 7.7
v7: Реквизит справочник контрагенты - выбор сразу из заданной группы - как?
0 babel
 
02.08.17
20:30
Приветствую!

Есть БД ТиС 7.7 старая ред. 9.2 (древний релиз). Но то не суть.
Есть некий простой документ, в котором есть реквизит Контрагент, с выбором из справочника, когда нажимаешь выбор нужного элемента, то попадаешь в корень справочника контрагенты, ищешь там нужную группу и уже потом выбираешь нужный элемент. Знаю, что есть такой способ, что бы при выборе попадать сразу в нужную группу, что было бы в разы быстрее.

Сразу скажу, что в 1Ске я Администратор компьютерной сети, и оную знаю очень слабо, с трудом разбираюсь в легкой части кода, и обслуживаю на уровне примитивного администрирования (пользователи, ремонт, простые задачки, так поверхностно).

Заранее благодарен за помощь!

P.S.: не буду отрицать, если скажете, что вопрос такой обсуждался не раз, просто как не искал не мог найти то, что нужно. Видимо не правильный критерий поиска задавал.
1 Злопчинский
 
02.08.17
20:51
(0) открою секрет - нажал выбор контрагента - отключил режим иерархии - набрал первые буквы - стал на нужного выбрал
2 Злопчинский
 
02.08.17
20:53
если для какого-то (самописного?) документа какие-то контрагенты являются преимущественными для выбора - то об этом надо позаботиться введением изменений в типовую конфигурацию (добавлением константы в которой указана группа, например)
3 HawkEye
 
02.08.17
21:07
(0) вообще конечно ИспользоватьРодителя()...

но судя по
"Сразу скажу, что в 1Ске я Администратор компьютерной сети" - забей...
4 Хряк
 
02.08.17
21:23
как ты определяешь "нужную группу"
5 0xFFFFFF
 
02.08.17
21:26
(4) как как...  По наименованию видимо
6 babel
 
02.08.17
21:31
"забей..." ну я уже сам кое какой код редактировал и дописывал
7 babel
 
02.08.17
21:33
"как ты определяешь "нужную группу"" по коду или по наименованию.
Что дописать в процедуру? ПриВыбореКонтрагента() ?
8 babel
 
02.08.17
21:35
"нажал выбор контрагента - отключил режим иерархии - набрал первые буквы - стал на нужного выбрал" - не подойдёт такой вариант так как время от времени приходиться добавлять нового Контра в эту самую группу, но это бывает редко, может раз в квартал или два
9 babel
 
02.08.17
21:38
"ИспользоватьРодителя()"
Как будет выглядеть код?

Снйчас процедура выглядит так:

Процедура ПриВыбореКонтрагента()  
//    Спр.Родитель =     .......
    Если Контрагент.Выбран()=1 Тогда
        Договор=Контрагент.ОсновнойДоговор;
    Иначе
        Договор="";
    КонецЕсли;    
КонецПроцедуры
10 HawkEye
 
02.08.17
21:51
(9)
что-то типа:

Процедура ПриНачалеВыбораЗначения(идЭлФормы)
если идЭлФормы= "контрагент" тогда
ищещь свою группу
контрагент.ИсопльзоватьРодителя(нужныйродитель)...
11 babel
 
02.08.17
22:09
Сорри за мракобесие, в башке каша, что куда пристроить незнаю

Процедура ПриНачалеВыбораЗначения(Контрагент)
      Если Контрагент= "контрагент" тогда  
          КонецЕсли;
          КонецПроцедуры
//--------------------------------------------------------------------------------
Процедура ПриВыбореКонтрагента()              
    контрагент.ИспользоватьРодителя("Оптовые покупатели");      
    
//    ИспользоватьРодителя("Оптовые покупатели");
//    Спр.Родитель =     .......
    Если Контрагент.Выбран()=1 Тогда
        Договор=Контрагент.ОсновнойДоговор;
    Иначе
        Договор="";
    КонецЕсли;    
КонецПроцедуры
12 Fram
 
02.08.17
22:20
(11) Фильтр надо накладывать в ПриНачалеВыбораЗначения
И не надо там использовать в качестве параметра слово "Контрагент". Посмотри как (10) написал. Подозреваю что у тебя уже есть элемент формы с таким именем.
ПриВыбореКонтрагента вызывается уже после выбора, соответственно там что то фильтровать уже бессмысленно.
13 HawkEye
 
02.08.17
23:10
(11) ПриВыбореКонтрагента()  - вызывается, скорее всего, после выбора контрагента - зачем ты туда лезешь?

ИспользоватьРодителя("Оптовые покупатели"); - никогда не отработает, т.к. передать надо не строку, а объект...

ну и (12) учти...
14 babel
 
03.08.17
12:16
"ИспользоватьРодителя("Оптовые покупатели"); - никогда не отработает, т.к. передать надо не строку, а объект... " а как передать объект?
15 Хряк
 
03.08.17
15:23
найди сначала "Оптовые покупатели" через создатьобъект и засунь ето в использоватьродителя
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.