Имя: Пароль:
1C
 
Связь параметра выбора
,
0 Alex87r
 
14.03.17
23:47
Привет всем!
В УНФ 1.6, в документе приходная накладная, для реквизита контрагент указана связь параметра выбора: Дополнительно.ВидОперации(ВидОперации)
Т.е. в зависимости от вида операции, параметры выбора контрагента разные. Я добавил свой вид операции, но не могу повлиять на отбор контрагентов при выборе. Куда копать?
1 DrShad
 
14.03.17
23:50
отладчик для начала
2 Alex87r
 
15.03.17
21:12
Отладчиком я не нашел) Дополнительно.ВидОперации - это реквизит формы? Где искать этот параметр? (1)
3 RomanYS
 
16.03.17
00:04
в модуле менеджера справочника контрагенты

Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
4 Alex87r
 
16.03.17
00:05
Есть еще варианты?)
5 Alex87r
 
16.03.17
00:15
(3) Спасибо за ответ, но отладка сюда не попадает
// При положительном значении реквизита формы ПоддержкаGoogle.ЗагружатьКонтактыИзGoogle
// логика данного обработчика переопределяется вызовом "ОбменСGoogleВызовСервера.СписокАвтоПодбораКонтакта()"
// См. также описание "ОбменСGoogleКлиент.Подключаемый_АвтоПодбор"
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
    
    Если Параметры.ВыборГруппИЭлементов <> ИспользованиеГруппИЭлементов.Группы Тогда
        
        Если Не Параметры.Отбор.Свойство("Недействителен") Тогда
            Параметры.Отбор.Вставить("Недействителен", Ложь);
        КонецЕсли;
        
    Иначе
        
        Для Каждого КлючИЗначение Из Параметры.Отбор Цикл
            НайденныйРеквизит = Метаданные.Справочники.Контрагенты.Реквизиты.Найти(КлючИЗначение.Ключ);
            Если НайденныйРеквизит = Неопределено Тогда
                Продолжить;
            КонецЕсли;
            Если НайденныйРеквизит.Использование = Метаданные.СвойстваОбъектов.ИспользованиеРеквизита.ДляЭлемента Тогда
                Параметры.Отбор.Удалить(КлючИЗначение.Ключ);
            КонецЕсли;
        КонецЦикла;
        
    КонецЕсли;
    
КонецПроцедуры
6 RomanYS
 
16.03.17
00:30
(5) там же
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)
7 Alex87r
 
16.03.17
00:41
(6) У меня Управление небольшой фирмой, редакция 1.6 (1.6.9.36) и там нет этой процедуры(
8 Web00001
 
16.03.17
03:13
(5)>>Спасибо за ответ, но отладка сюда не попадает
Выключена на сервере?
9 ComradeKite
 
16.03.17
08:17
To7 толстый клиент надо запускать, при условии если файловая база, если сервер приложений то да, надо включать на сервере.
10 Alex87r
 
16.03.17
21:38
(8) нет, отладка работает. (9) база файловая
Есть еще варианты? Я уже 3й день мучаюсь)
11 RomanYS
 
16.03.17
21:50
(10) Ты объясни, что тебе надо.
(6) можно и добавить.
Также параметры могут обрабатываться в форме выбора, например, при создании на сервере.
Если отбор простой, то его можно вообще не обрабатывать кодом, должен сам работать при правильно задании.
12 Alex87r
 
16.03.17
22:06
(11)
Я хотел понять, как сделали разработчики отбор через параметра выбора: Дополнительно.ВидОперации(ВидОперации)
В итоге сделал вот так
&НаКлиенте
Процедура КонтрагентНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    Если Объект.ВидОперации = ПредопределенноеЗначение("Перечисление.ВидыОперацийПриходнаяНакладная.ПоступлениеОтПрочегоПоставщика") Тогда
    СтандартнаяОбработка = Ложь;
    ЗначениеОтбора = Новый Структура("ПрочиеОтношения", Истина);
    ПараметрыОтбора = Новый Структура("Отбор", ЗначениеОтбора);
    ОткрытьФорму("Справочник.Контрагенты.ФормаСписка",ПараметрыОтбора);
    КонецЕсли;
КонецПроцедуры
13 RomanYS
 
16.03.17
22:10
УНФ под рукой нет.
А в (12) работает выбор? Что-то мне кажется ОткрытьФорму должен передаваться "Элемент".
14 Alex87r
 
16.03.17
22:18
да, работает. я могу тебе скинуть унф) (13)
15 RomanYS
 
16.03.17
22:41
(14) Ой, сомневаюсь.
Давай Teamviewer-ом подключусь, кидай на почту.
Программист всегда исправляет последнюю ошибку.