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

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

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