Конвертация данных 2.0 Поля поиска (пометка удаления)
По теме из базы знаний
- Свертка БП 2.0 документами Ввод начальных остатков
- Механизмы и транспорт обмена данными. Пример создания в КД 2.1 правил обмена данными ЗУП 2.5 -> БП 3.0. Выгрузка ведомостей и банковских счетов. Передача параметров обмена из Источника в Приемник. ВыгрузитьПоПравилу(). ПередатьОдинПараметрВПриемник().
- Слияние баз ERP (формирование остатков и перенос данных)
- Как сделать обмен данными через универсальный формат быстрее? Реализация многопоточного обмена данными
- Обмен по правилам Конвертации данных 2.1 для ERP, КА, УТ 11, БП 3, ЗУП 3, Розница 2.3
Найденные решения
Если СвойстваПоиска["ЭтоГруппа"] Тогда
СтрокаИменСвойствПоиска = "Наименование, ЭтоГруппа";
Иначе
Если ЗначениеЗаполнено(СвойстваПоиска["ИНН"]) Тогда
Если НомерВариантаПоиска = 1 Тогда
СтрокаИменСвойствПоиска = "ИНН, КПП, ПометкаУдаления";
КонецЕсли;
Если НомерВариантаПоиска = 2 Тогда
СтрокаИменСвойствПоиска = "ИНН, ПометкаУдаления";
КонецЕсли;
КонецЕсли;
КонецЕсли;
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) У меня вот так реализовано:
Вариант поиска 1 - для Групп и Юридических лиц, где заполнены ИНН и КПП
Вариант поиска 2 - для физических лиц, у которых ИНН заполнено, а КПП не заполнено
Вариант поиска 3 - для всех остальных, у которых ни фига не заполнено.
Если НомерВариантаПоиска = 1 тогда
Если СвойстваПоиска.Получить("ЭтоГруппа") Тогда
СтрокаИменСвойствПоиска = "Наименование,ЭтоГруппа";
ИначеЕсли (НЕ ПустаяСтрока(СвойстваПоиска.Получить("ИНН"))) И (НЕ ПустаяСтрока(СвойстваПоиска.Получить("КПП")) И (НЕ СвойстваПоиска.Получить("ПометкаУдаления"))) Тогда
СтрокаИменСвойствПоиска = "ИНН,КПП,ЭтоГруппа";
КонецЕсли;
ИначеЕсли НомерВариантаПоиска = 2 тогда
Если (НЕ ПустаяСтрока(СвойстваПоиска.Получить("ИНН"))) И (НЕ СвойстваПоиска.Получить("ПометкаУдаления")) Тогда
СтрокаИменСвойствПоиска = "ИНН,ЭтоГруппа";
КонецЕсли;
Иначе
СтрокаИменСвойствПоиска = "Наименование,ЭтоГруппа";
КонецЕсли;
ПоказатьВариант поиска 1 - для Групп и Юридических лиц, где заполнены ИНН и КПП
Вариант поиска 2 - для физических лиц, у которых ИНН заполнено, а КПП не заполнено
Вариант поиска 3 - для всех остальных, у которых ни фига не заполнено.
(3)
В вашем варианте помеченные на удаление будут искаться по полям:
войстваПоиска.Получить("ПометкаУдаления")
Пометку удаления нужно всегда включать в поля поиска и в СтрокаИменСвойствПоиска. Само значение при выгрузке установить в Ложь.
В вашем варианте помеченные на удаление будут искаться по полям:
СтрокаИменСвойствПоиска = "Наименование,ЭтоГруппа";
(4) Это у меня так, группы и все остальные ищутся в т.ч. и удаленные. А так нужно условие на пометку удаления ставить во всех вариантах.
Вот так наверное будет правильно:
Вот так наверное будет правильно:
Если НомерВариантаПоиска = 1 тогда
Если СвойстваПоиска.Получить("ЭтоГруппа") Тогда
СтрокаИменСвойствПоиска = "Наименование,ЭтоГруппа,ПометкаУдаления";
ИначеЕсли (НЕ ПустаяСтрока(СвойстваПоиска.Получить("ИНН"))) И (НЕ ПустаяСтрока(СвойстваПоиска.Получить("КПП"))) Тогда
СтрокаИменСвойствПоиска = "ИНН,КПП,ЭтоГруппа,ПометкаУдаления";
КонецЕсли;
ИначеЕсли НомерВариантаПоиска = 2 тогда
Если НЕ ПустаяСтрока(СвойстваПоиска.Получить("ИНН")) Тогда
СтрокаИменСвойствПоиска = "ИНН,ЭтоГруппа,ПометкаУдаления";
КонецЕсли;
Иначе
СтрокаИменСвойствПоиска = "Наименование,ЭтоГруппа,ПометкаУдаления";
КонецЕсли;
Показать
(5)
У меня был такой вариант:
У меня был такой вариант:
Если СвойстваПоиска["ЭтоГруппа"] Тогда
СтрокаИменСвойствПоиска = "Наименование, ЭтоГруппа";
Иначе
Если ЗначениеЗаполнено(СвойстваПоиска["ИНН"]) Тогда
Если НомерВариантаПоиска = 1 Тогда
СтрокаИменСвойствПоиска = "ИНН, КПП, КодБП";
Если НомерВариантаПоиска = 2 Тогда
СтрокаИменСвойствПоиска = "ИНН, КПП";
КонецЕсли;
Если НомерВариантаПоиска = 3 Тогда
СтрокаИменСвойствПоиска = "ИНН";
КонецЕсли;
КонецЕсли;
КонецЕсли;
Показать
(1)СтрокаИменСвойствПоиска мне не нравится поэтому пользуюсь запросом.
Пример
Пример
Если СсылкаНаОбъект.Пустая() Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.Ссылка КАК Ссылка
|ИЗ
| Справочник.упКонтрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.ИНН = &ИНН
| И Контрагенты.КПП = &КПП
| И НЕ Контрагенты.ИНН = """"
| И НЕ Контрагенты.КПП = """"
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Контрагенты.Ссылка
|ИЗ
| Справочник.упКонтрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.ИНН = &ИНН
| И НЕ Контрагенты.ИНН = """"
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| Контрагенты.Ссылка
|ИЗ
| Справочник.упКонтрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.Наименование = &Наименование";
Запрос.УстановитьПараметр("ИНН",СвойстваПоиска["ИНН"]);
Запрос.УстановитьПараметр("КПП",СвойстваПоиска["КПП"]);
Запрос.УстановитьПараметр("Наименование",СвойстваПоиска["Наименование"]);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() и Тогда
СсылкаНаОбъект = Выборка.Ссылка;
КонецЕсли;
КонецЕсли;
Показать
Поля поиска настроить
Если НомерВариантаПоиска = 1 тогда
СтрокаИменСвойствПоиска = "ИНН, КПП, ПометкаУдаления";
Иначе
СтрокаИменСвойствПоиска = "ИНН, КПП";
КонецЕсли;
возможно свойство "ПометкаУдаления" устанавливать в Истина ;))
Если НомерВариантаПоиска = 1 тогда
СтрокаИменСвойствПоиска = "ИНН, КПП, ПометкаУдаления";
Иначе
СтрокаИменСвойствПоиска = "ИНН, КПП";
КонецЕсли;
возможно свойство "ПометкаУдаления" устанавливать в Истина ;))
Если СвойстваПоиска["ЭтоГруппа"] Тогда
СтрокаИменСвойствПоиска = "Наименование, ЭтоГруппа";
Иначе
Если ЗначениеЗаполнено(СвойстваПоиска["ИНН"]) Тогда
Если НомерВариантаПоиска = 1 Тогда
СтрокаИменСвойствПоиска = "ИНН, КПП, ПометкаУдаления";
КонецЕсли;
Если НомерВариантаПоиска = 2 Тогда
СтрокаИменСвойствПоиска = "ИНН, ПометкаУдаления";
КонецЕсли;
КонецЕсли;
КонецЕсли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот