|
КД 2. Поля поиска установить некоторые реквизиты поиска | ☑ | ||
---|---|---|---|---|
0
echo77
10.08.15
✎
17:01
|
В обработчике события ПоляПоиска пишу:
Если СвойстваПоиска["ЭтоГруппа"] = Ложь Тогда Если НомерВариантаПоиска = 1 тогда СтрокаИменСвойствПоиска = "ИНН, КПП"; Если СвойстваПоиска["ЭтоГруппа"] = Ложь Тогда Если НомерВариантаПоиска = 1 тогда СтрокаИменСвойствПоиска = "ИНН, КПП"; УстанавливатьУОбъектаВсеСвойстваПоиска = Ложь; ИначеЕсли НомерВариантаПоиска = 2 тогда СтрокаИменСвойствПоиска = "Код, Наименование, ЭтоГруппа"; Иначе СтрокаИменСвойствПоиска = "Наименование, ЭтоГруппа"; КонецЕсли; Иначе Если НомерВариантаПоиска = 1 тогда СтрокаИменСвойствПоиска = "Код, Наименование, ЭтоГруппа"; Иначе СтрокаИменСвойствПоиска = "Наименование, ЭтоГруппа"; КонецЕсли; КонецЕсли; ИначеЕсли НомерВариантаПоиска = 2 тогда СтрокаИменСвойствПоиска = "Код, Наименование, ЭтоГруппа"; Иначе СтрокаИменСвойствПоиска = "Наименование, ЭтоГруппа"; КонецЕсли; Иначе Если НомерВариантаПоиска = 1 тогда СтрокаИменСвойствПоиска = "Код, Наименование, ЭтоГруппа"; Иначе СтрокаИменСвойствПоиска = "Наименование, ЭтоГруппа"; КонецЕсли; КонецЕсли; Как заставить конвертацию, в случае успешного поиска контрагента по ИНН+КПП не переписывать в найденном объекте поля Код и Наименование? |
|||
1
Aleksey
10.08.15
✎
17:16
|
а за что отвечает параметр УстанавливатьУОбъектаВсеСвойстваПоиска ?
УстанавливатьУОбъектаВсеСвойстваПоиска - булево. Определяет нужно ли после удачного завершения поиска установить объекту все реквизиты поиска. Объект может быть найден по части реквизитов. Этот флаг определяет нужно оставшиеся реквизиты, которые не участвовали в поиске (но по которым поиск возможен) установить объекту или нет. Значение по умолчанию: Истина. (я просто ниразу им не пользовался, но по смыслу очень похоже на то, что нужно) |
|||
2
echo77
10.08.15
✎
17:20
|
А я вот пользуюсь и невкурю почему он мне для не найденных объектов все портит
|
|||
3
echo77
11.08.15
✎
06:43
|
Как мне не устанавливать поле Код, если элемент найден по ИНН/КПП?
|
|||
4
echo77
11.08.15
✎
11:40
|
ап?
|
|||
5
echo77
11.08.15
✎
13:46
|
Решил задачу следующим образом:
В полях поиска ищем контрагента разными способами(элементы, группы ищутся по-разному): // Строка ниже только для отладки // Сообщить("Поиск «" + СвойстваПоиска["Наименование"] + ". Вариант " + НомерВариантаПоиска); // Проверим является ли значение в поле ИНН числом типЧисло = Новый ОписаниеТипов("Число"); ИНН = типЧисло.ПривестиЗначение(СвойстваПоиска["ИНН"]); ИННЭтоЧисло = ИНН>0; // Для элементов свои правила Если СвойстваПоиска["ЭтоГруппа"] = Ложь Тогда Если НомерВариантаПоиска = 1 И ИННЭтоЧисло Тогда СтрокаИменСвойствПоиска = "ИНН, КПП"; ИначеЕсли НомерВариантаПоиска = 2 Тогда СтрокаИменСвойствПоиска = "Код, Наименование, ЭтоГруппа"; ИначеЕсли НомерВариантаПоиска = 3 Тогда СтрокаИменСвойствПоиска = "Наименование, ЭтоГруппа"; КонецЕсли; // Для групп свои Иначе Если НомерВариантаПоиска = 1 Тогда СтрокаИменСвойствПоиска = "Код, Наименование, ЭтоГруппа"; ИначеЕсли НомерВариантаПоиска = 2 Тогда СтрокаИменСвойствПоиска = "Наименование, ЭтоГруппа"; КонецЕсли; КонецЕсли; В обработчике события ПриЗагрузке для существующих объектов устанавливаю код из ссылки: // Для существующих объектов код всегда будет такой как в базе-приемнике Если ОбъектНайден И Объект.Код <> Объект.Ссылка.Код Тогда Объект.Код = Объект.Ссылка.Код; КонецЕсли; |
|||
6
asder117
11.08.15
✎
16:35
|
(5) Уважаемый! Большое спасибо, всех благ
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |