Конвертация данных 2.0 Поля поиска (пометка удаления)

1. user-z99999 67 21.08.22 15:30 Сейчас в теме
Подскажите пожалуйста как в Конвертации данных 2.0
написать код для Полей поиска.

Поиск по ИНН и КПП.

В Приёмнике один из контрагентов помечен на удаление,
нужно найти того, который без пометки удаления. (пока удалить в базе Приёмнике нельзя того, который помечен на удаление)
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
7. user-z99999 67 15.09.22 14:57 Сейчас в теме
Если СвойстваПоиска["ЭтоГруппа"] Тогда
	СтрокаИменСвойствПоиска = "Наименование, ЭтоГруппа";
Иначе
	Если ЗначениеЗаполнено(СвойстваПоиска["ИНН"]) Тогда
		
		Если НомерВариантаПоиска = 1 Тогда
			СтрокаИменСвойствПоиска = "ИНН, КПП, ПометкаУдаления";
		КонецЕсли;
			
		Если НомерВариантаПоиска = 2 Тогда
			СтрокаИменСвойствПоиска = "ИНН, ПометкаУдаления";			
		КонецЕсли;                          
		
	КонецЕсли;
	
КонецЕсли;
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Ivanov_OM 38 22.08.22 10:20 Сейчас в теме
(1) У меня вот так реализовано:
Если НомерВариантаПоиска = 1 тогда
	Если СвойстваПоиска.Получить("ЭтоГруппа") Тогда
		СтрокаИменСвойствПоиска = "Наименование,ЭтоГруппа";
	ИначеЕсли (НЕ ПустаяСтрока(СвойстваПоиска.Получить("ИНН"))) И (НЕ ПустаяСтрока(СвойстваПоиска.Получить("КПП")) И (НЕ СвойстваПоиска.Получить("ПометкаУдаления"))) Тогда
		СтрокаИменСвойствПоиска = "ИНН,КПП,ЭтоГруппа";
	КонецЕсли;	
ИначеЕсли НомерВариантаПоиска = 2 тогда		
	Если (НЕ ПустаяСтрока(СвойстваПоиска.Получить("ИНН"))) И (НЕ СвойстваПоиска.Получить("ПометкаУдаления")) Тогда
		СтрокаИменСвойствПоиска = "ИНН,ЭтоГруппа";
	КонецЕсли;	
Иначе
	СтрокаИменСвойствПоиска = "Наименование,ЭтоГруппа";
КонецЕсли;
Показать

Вариант поиска 1 - для Групп и Юридических лиц, где заполнены ИНН и КПП
Вариант поиска 2 - для физических лиц, у которых ИНН заполнено, а КПП не заполнено
Вариант поиска 3 - для всех остальных, у которых ни фига не заполнено.
user-z99999; +1 Ответить
4. RustamZz 22.08.22 10:54 Сейчас в теме
(3)
войстваПоиска.Получить("ПометкаУдаления")
Пометку удаления нужно всегда включать в поля поиска и в СтрокаИменСвойствПоиска. Само значение при выгрузке установить в Ложь.
В вашем варианте помеченные на удаление будут искаться по полям:
СтрокаИменСвойствПоиска = "Наименование,ЭтоГруппа";
5. Ivanov_OM 38 22.08.22 17:31 Сейчас в теме +0.2 $m
(4) Это у меня так, группы и все остальные ищутся в т.ч. и удаленные. А так нужно условие на пометку удаления ставить во всех вариантах.
Вот так наверное будет правильно:
Если НомерВариантаПоиска = 1 тогда
	Если СвойстваПоиска.Получить("ЭтоГруппа") Тогда
		СтрокаИменСвойствПоиска = "Наименование,ЭтоГруппа,ПометкаУдаления";
	ИначеЕсли (НЕ ПустаяСтрока(СвойстваПоиска.Получить("ИНН"))) И (НЕ ПустаяСтрока(СвойстваПоиска.Получить("КПП"))) Тогда
		СтрокаИменСвойствПоиска = "ИНН,КПП,ЭтоГруппа,ПометкаУдаления";
	КонецЕсли;	
ИначеЕсли НомерВариантаПоиска = 2 тогда		
	Если НЕ ПустаяСтрока(СвойстваПоиска.Получить("ИНН")) Тогда
		СтрокаИменСвойствПоиска = "ИНН,ЭтоГруппа,ПометкаУдаления";
	КонецЕсли;	
Иначе
	СтрокаИменСвойствПоиска = "Наименование,ЭтоГруппа,ПометкаУдаления";
КонецЕсли;
Показать
6. user-z99999 67 22.08.22 17:44 Сейчас в теме
(5)
У меня был такой вариант:
Если СвойстваПоиска["ЭтоГруппа"] Тогда
	СтрокаИменСвойствПоиска = "Наименование, ЭтоГруппа";
Иначе
	Если ЗначениеЗаполнено(СвойстваПоиска["ИНН"]) Тогда
		Если НомерВариантаПоиска = 1 Тогда
			СтрокаИменСвойствПоиска = "ИНН, КПП, КодБП";	
			
		Если НомерВариантаПоиска = 2 Тогда
			СтрокаИменСвойствПоиска = "ИНН, КПП";
		КонецЕсли;
			
		Если НомерВариантаПоиска = 3 Тогда
			СтрокаИменСвойствПоиска = "ИНН";			
		КонецЕсли;                          
		
	КонецЕсли;
	
КонецЕсли;
Показать
8. tusv 211 15.09.22 16:35 Сейчас в теме
(1)СтрокаИменСвойствПоиска мне не нравится поэтому пользуюсь запросом.
Пример
Если СсылкаНаОбъект.Пустая() Тогда
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	Контрагенты.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.упКонтрагенты КАК Контрагенты
	|ГДЕ
	|	Контрагенты.ИНН = &ИНН
	|	И Контрагенты.КПП = &КПП
	|	И НЕ Контрагенты.ИНН = """"
	|			И НЕ Контрагенты.КПП = """"
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	Контрагенты.Ссылка
	|ИЗ
	|	Справочник.упКонтрагенты КАК Контрагенты
	|ГДЕ
	|	Контрагенты.ИНН = &ИНН
	|	И НЕ Контрагенты.ИНН = """"
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	Контрагенты.Ссылка
	|ИЗ
	|	Справочник.упКонтрагенты КАК Контрагенты
	|ГДЕ
	|	Контрагенты.Наименование = &Наименование";
	Запрос.УстановитьПараметр("ИНН",СвойстваПоиска["ИНН"]);
	Запрос.УстановитьПараметр("КПП",СвойстваПоиска["КПП"]);
	Запрос.УстановитьПараметр("Наименование",СвойстваПоиска["Наименование"]);
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() и  Тогда
		СсылкаНаОбъект = Выборка.Ссылка;	
	КонецЕсли;
КонецЕсли;
Показать
2. Dr.HiHi 3 21.08.22 16:49 Сейчас в теме
Поля поиска настроить
Если НомерВариантаПоиска = 1 тогда
СтрокаИменСвойствПоиска = "ИНН, КПП, ПометкаУдаления";
Иначе
СтрокаИменСвойствПоиска = "ИНН, КПП";
КонецЕсли;

возможно свойство "ПометкаУдаления" устанавливать в Истина ;))
user-z99999; +1 Ответить
7. user-z99999 67 15.09.22 14:57 Сейчас в теме
Если СвойстваПоиска["ЭтоГруппа"] Тогда
	СтрокаИменСвойствПоиска = "Наименование, ЭтоГруппа";
Иначе
	Если ЗначениеЗаполнено(СвойстваПоиска["ИНН"]) Тогда
		
		Если НомерВариантаПоиска = 1 Тогда
			СтрокаИменСвойствПоиска = "ИНН, КПП, ПометкаУдаления";
		КонецЕсли;
			
		Если НомерВариантаПоиска = 2 Тогда
			СтрокаИменСвойствПоиска = "ИНН, ПометкаУдаления";			
		КонецЕсли;                          
		
	КонецЕсли;
	
КонецЕсли;
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот