0
боксер
13.05.15
✎
17:44
|
Установили релиз 11.1.9.56 (скакали через несколько)
Обработка обмен с банком.
Загружаем платежки.
Пользователи стали жаловаться , что не проставляется контрагент.
Стал разбираться.
Обнаружил что в табличной части в колонку "Контрагент"
контрагент подбирается из Справочник.БанковскиеСчетаОрганизаций ???
ЗапросПоискаСчета.УстановитьПараметр("ИННКонтрагента", ИННКонтрагента);
ЗапросПоискаСчета.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| БанковскиеСчета.Владелец,
| БанковскиеСчета.Ссылка,
| БанковскиеСчета.НомерСчета
|ИЗ
| Справочник.БанковскиеСчетаОрганизаций КАК БанковскиеСчета
|ГДЕ
| БанковскиеСчета.Владелец.ИНН = &ИННКонтрагента
| И БанковскиеСчета.НомерСчета = &НомерСчета";
РезультатЗапроса = ЗапросПоискаСчета.Выполнить();
ВыборкаПоиска = ЗапросПоискаСчета.Выполнить().Выбрать();
Контрагент = Справочники.Организации.ПустаяСсылка();
и только если не находит там, то ищет уже в Справочник.БанковскиеСчетаКонтрагентов
Если (ВыборкаПоиска.Количество() = 0
ИЛИ ОперацияПоОплатеДСВДругуюОрганизацию)
И НЕ НайденДокументСписания Тогда
ЗапросПоискаСчета.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| БанковскиеСчета.Владелец,
| БанковскиеСчета.Ссылка,
| БанковскиеСчета.НомерСчета
|ИЗ
| Справочник.БанковскиеСчетаКонтрагентов КАК БанковскиеСчета
|ГДЕ
| БанковскиеСчета.Владелец.ИНН = &ИННКонтрагента
| И БанковскиеСчета.НомерСчета = &НомерСчета";
ВыборкаПоиска = ЗапросПоискаСчета.Выполнить().Выбрать();
Контрагент = Справочники.Контрагенты.ПустаяСсылка()
КонецЕсли;
но, проблема в том что в базе есть контрагенты и организации с одинаковыми счетами.
И получается контрагенту присваивается найденный элемент из справочника Организации,а не контрагенты и соответственно в платежке контрагент не проставляется т.к. тип не совпадает.
Почему так сделано?
Исправлять пока не спешу может есть в этом какой глубокий смысл...
|
|