Вход | Регистрация
 

Проблема с запросом

Проблема  с запросом
Я
   cyberandr
 
25.06.19 - 15:02
Всем привет! работаю на 1с 8.3.13.1690 конфигурация Экономист и столкнулся с такой проблемой. При переносе данных из бухии нужно найти контрагента - делаю так
//табЗнач - таблица с загруженными УНН из бухии
НашСписок = табЗнач.ВыгрузитьКолонку("УНН");
        Запрос =новый Запрос;
        Запрос.Текст="ВЫБРАТЬ
                     |    Контрагенты.Ссылка КАК Ссылка,
                     |    Контрагенты.ИНН КАК УНН,
                     |    Контрагенты.Код КАК Код,
                     |    Контрагенты.ОсновнойРасчетныйСчет КАК ОсновнойРасчетныйСчет
                     |ИЗ
                     |    Справочник.Контрагенты КАК Контрагенты
                     |ГДЕ
                     |    Контрагенты.ИНН В(&СпискеУНН)";
        
        запрос.УстановитьПараметр("СпискеУНН",НашСписок);
        

        рез = Запрос.Выполнить().Выбрать();
        Пока рез.Следующий() Цикл
            НашиСтроки = табЗнач.НайтиСтроки(Новый Структура("УНН",рез.УНН));
            Для каждого строка из НашиСтроки Цикл
                строка.Контра=рез.ссылка;            
            КонецЦикла;                              
        КонецЦикла;
В результате я нахожу только часть контрагентов, и если сделать после выполнения запроса так
Для каждого Кл из табЗнач Цикл
    Если кл.контра.Пустая() ТОгда
     кл.контра=Справочники.Контрагенты.НайтиПоРеквизиту("ИНН",Кл.УНН);
    КонецЕсли;
//
нахожу еще значительное количество контрагентов. Не могу понять в чем может быть дело?
 
 
   xXeNoNx
 
1 - 25.06.19 - 15:08
выведи результат запроса в консоли и отсортируй по ИНН
   xXeNoNx
 
2 - 25.06.19 - 15:09
ИНН у контрагентов может совпадать.., в некоторых случаях
   butterbean
 
3 - 25.06.19 - 15:10
пробелы
   cyberandr
 
4 - 25.06.19 - 15:20
Я тоже по пробелы думаю сделал уже так
    НашСписок=Новый СписокЗначений;
        Для каждого Кл из табЗнач Цикл
        НашСписок.Добавить(СОКРЛП(кл.УНН));
           КонецЦикла;

но это мало помогает
   Ёпрст
 
5 - 25.06.19 - 15:30
(0) всё в топку
   cyberandr
 
6 - 25.06.19 - 15:39
(5)  а какие варианты? в SQL можно в условии Ltrip(Rtrip ввести тут как не понятно.
   cyberandr
 
7 - 25.06.19 - 15:42
можно конечно весь справочник контрагентов в табличку загнать и тогда ИНН можно хоть в число преобразовать, а там уж и сравнивать, но справочник не маленький.
   Ёпрст
 
8 - 25.06.19 - 15:43
ТЗ изначально откуда ?
   Ёпрст
 
9 - 25.06.19 - 15:44
Нахрена этот поиск и потом еще поиск ?
Когда можно сделать сразу все в одном запросе.
   cyberandr
 
10 - 25.06.19 - 15:47
из xml (1c 7/7)
   Ёпрст
 
11 - 25.06.19 - 15:55
(10) ок.
Пихай свою тз в запрос и имей всё в одном запросе.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.