Есть контрагент, у которого несколько договоров ну например шоколад, консервы. Когда идет оплата по банку в назначение платежа эти договора так же пишутся. Хочу написать поиск данных договор по шаблону, ну стандартное написание кода не подходит, т.к. контрагентов много и договора разные. Кто имеет опыт в данном коде, поделитесь плиз.
---
1) получаем платежи и сопоставляем контрагентов, получаем массив контрагентов платежей
2) получаем все активные на дату договорА контрагентов платежей (одним запросом в одну табличку - Контрагент/Договор/НомерДоговора, с условием на вхождение контрагента в массив)
3) обходим платежи, получаем из таблички договоров строчки с договорами по текущему контрагенту и ищем номер каждого его договора в назначении платежа через банальное Найти()
---
Я, кажется, немножко понял.
Ваш вопрос на самом деле не по программированию.
Вы бухгалтер и просите совета по настройке какого-то типового механизма в какой-то типовой конфигурации.
Так?
---
Да я бухгалтер, но сейчас изучаю программирование. И у меня возник вопрос по программированию. Я так понимаю мне строку назначение платежа нужно прописывать при оплате в определенной последовательности, потом разложить строку в массив, из этого массива находить шаблон %% и делать сопоставление по договору?
---
у назначения платежа могут быть строгие форматы, так что пытаться вмешиваться в эти правила
со своим в определенной последовательности не верно.
Разлагать строку назначения в массив по какому разделителю и зачем?

Есть одна аксиома: где-то в назначении платежа есть подстрока которую мы ищем, например
"Предмет договора:шоколад" или
"Предмет договора:консервы"...

Как я писал выше, с моей точки зрения должен существовать массив подстрок поиска, например
ПостоянныйТегПоиска = "Предмет договора:";
мПодстроки = Новый Массив;
мПодстроки.Добавить(ПостоянныйТегПоиска+"шоколад");
мПодстроки.Добавить(ПостоянныйТегПоиска+"консервы");

далее этот массив передаем в свою функцию

ПолучитьСсылкуДоговораПоНазначениюПлатежа(НазначениеПлатежа, мПодстроки)

в теле функции генерим столько пакетов запросов к таблице договоров
сколько у нас подстрок объединяем пакеты и получаем ссылку из выборки.
---
Как понимаете вы, я не очень понял. Как понимаю я, я уже рассказал. Но возможно, что я неправильно понял задачу. Я предложил решение для загрузки платежей из клиент-банка.
---
я бы задал массив подстрок поиска
и затем сгенерил тест запроса

```1c
    Выбрать
    ... КАК Ссылка

    Из .... КАК ТаблДокументыПлатежей

    ГДЕ ТаблДокументыПлатежей.НазначениеПлатежа ПОДОБНО %ПодстрокаПоиска_1%
    ....
    ОБЪЕДИНИТЬ ВСЕ

    Выбрать
    ...

    Из .... КАК ТаблДокументыПлатежей

    ГДЕ ТаблДокументыПлатежей.НазначениеПлатежа ПОДОБНО %ПодстрокаПоиска_n%
```

остальные варики: возиться с кодом, регулярками..., конеш, круто, но ...менее эффективно и наглядно.
---
В чем проблема-то?
По очереди ищи номера всех договоров контрагента в назначении платежа. Какой нашелся, тот и подставляй.
---
Не совсем поняла, их что нужно каждый прописать в коде?
---
1) получаем платежи и сопоставляем контрагентов, получаем массив контрагентов платежей
2) получаем все активные на дату договорА контрагентов платежей (одним запросом в одну табличку - Контрагент/Договор/НомерДоговора, с условием на вхождение контрагента в массив)
3) обходим платежи, получаем из таблички договоров строчки с договорами по текущему контрагенту и ищем номер каждого его договора в назначении платежа через банальное Найти()