|   |   | 
| 
 | 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 | 
        найди сначала "Оптовые покупатели" через создатьобъект и засунь ето в использоватьродителя     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |