Имя: Пароль:
1C
1С v8
Внешнее подключение к УПП ,вытаскивание данных
0 АяПелаИплясала
 
26.03.14
11:56
Добрый день, Есть запрос
    СтрокаПодключения = "СтрокаПодключения";    
    V82 = Новый COMОбъект("V82.COMConnector");
    V82COMОбъект = V82.Connect(СтрокаПодключения);
    
    Запрос = V82COMОбъект.NewObject("Запрос");
    
    Запрос.Текст =
        "ВЫБРАТЬ
        |    УстановкаВодителейПоМаршрутуМаршруты.Водитель.Наименование КАК Водитель,
        |    УстановкаВодителейПоМаршрутуМаршруты.Водитель.Код,
        |    СУММА(1) КАК Дни
        //|    УстановкаВодителейПоМаршрутуМаршруты.Ссылка
        |ИЗ
        |    Документ.УстановкаВодителейПоМаршруту.Маршруты КАК УстановкаВодителейПоМаршрутуМаршруты
        |ГДЕ
        |    УстановкаВодителейПоМаршрутуМаршруты.Ссылка.Дата МЕЖДУ &ДатаНач И &ДатаКон
        |    И УстановкаВодителейПоМаршрутуМаршруты.Маршрут.Наименование ПОДОБНО ""%сокол%""
        |    И УстановкаВодителейПоМаршрутуМаршруты.Водитель.Код = УстановкаВодителейПоМаршрутуМаршруты.Экспедитор.Код
        |
        |СГРУППИРОВАТЬ ПО
        |    УстановкаВодителейПоМаршрутуМаршруты.Водитель.Наименование,
        |    УстановкаВодителейПоМаршрутуМаршруты.Водитель.Код,
        |    УстановкаВодителейПоМаршрутуМаршруты.Ссылка
        |АВТОУПОРЯДОЧИВАНИЕ";

В консоли запросов этот запрос отрабатывает правильно: выдает только тех водителей, в маршруте у которых присутствует слово "Сокол" и где водитель = экспедитору. Когда пытаюсь через внешнее подключение вытащить данные, то мне выдает только те записи, где водитель = экспедитору, то есть конструкция "подобно" не отрабатывает. Почему?
1 ChiginAV
 
26.03.14
12:14
(0) Маршрут.Наименование неограниченной длины?
2 Ярус
 
26.03.14
12:17
выбирай все, обрабатывай результат запроса
3 Ярус
 
26.03.14
12:17
по вопросу "почему" это к 1с
4 ChiginAV
 
26.03.14
12:19
(2) Ага, выбирай 100500млн записей и обрабатывай
5 Ярус
 
26.03.14
12:19
но скорее всего (1) прав
6 Ярус
 
26.03.14
12:21
(4) интересная у них наверно логистика со "100500млн записей", думаешь "Магнит"?
7 ChiginAV
 
26.03.14
12:23
(6) Транспортная компания например
8 АяПелаИплясала
 
26.03.14
13:01
(1)(5) маршруты.наименование   строка 25 символов
9 Бледно Золотистый
 
26.03.14
13:03
(8) А если эту строку параметром передать?
10 АяПелаИплясала
 
26.03.14
13:08
(9) а какая тогда конструкция будет??? не очень понимаю...
11 ChiginAV
 
26.03.14
13:11
(0) Если запрос не одноразовый, может проще его в базе-источнике в общий модуль затолкать, а в приемнике просто функцию вызывать?
12 АяПелаИплясала
 
26.03.14
13:13
(9)  УстановкаВодителейПоМаршрутуМаршруты.Маршрут.Наименование ПОДОБНО &Наименование

Запрос.УстановитьПараметр("Наименование", Строка("Сокол"));

при такой конструкции ничего не выдает
13 skeptik_m
 
26.03.14
13:14
(0) Может с кодировками что-то не так? Что будет если "сокол" не писать прямо в тексте запроса, а получить откуда-нибудь?
14 АяПелаИплясала
 
26.03.14
13:21
(13) вы имеете ввиду что-то типа (12)???
15 skeptik_m
 
26.03.14
13:25
(14) Нет, взять "сокол" (для эксперимента) откуда-нибудь из базы УПП отдельным запросом. Нет какого-нибудь элемента справочника с названием "сокол"?
16 ДенисЧ
 
26.03.14
13:26
(12) УстановкаВодителейПоМаршрутуМаршруты.Маршрут.Наименование ПОДОБНО &Наименование

Запрос.УстановитьПараметр("Наименование", Строка("%Сокол%"));
17 skeptik_m
 
26.03.14
13:28
Кстати? неправильный код в (12)
Нужно
Запрос.УстановитьПараметр("Наименование", Строка("%Сокол%"));
18 АяПелаИплясала
 
26.03.14
13:35
(15) название "Сокол" взять неоткуда.
(16)(17) код исправила, результат вышел тот же что и при УстановкаВодителейПоМаршрутуМаршруты.Маршрут.Наименование ПОДОБНО ""%сокол%""
19 Ярус
 
26.03.14
13:37
(7) ну так ПОДОБНО тоже медленно работает, если записей около 1000 то разницы существенной не будет
20 skeptik_m
 
26.03.14
13:56
(18) Если неоткуда - добавь временно в какой-нибудь справочник элемент руками (для эксперимента), а потом удалишь. Будет откуда.