<

1C: Прямой запрос к текстовому реквизиту 1С 7.7

Войти
  1. ObmanOZ

    01-08-2020 11:08

    Всем добрый день! Может кто работал с прямыми запросами и сталкивался с подобным...
    Пишу простой запрос по поиску в справочнике ЮрЛица в ТИСе по части ИНН
    ТекстЗапроса = "
            |SELECT
            |    ЮрЛица.ID as [Элемент $Справочник.ЮрЛица]
            |FROM
            |    $Справочник.ЮрЛица as ЮрЛица
            |WHERE $ЮрЛица.ИНН LIKE (:СтрокаПоиска)";
    Чтобы я не подставлял в СтрокаПоиска - результат всегда пустой, в справочнике есть искомый мной элемент, обычным запросом по четкому поиску результат нахожу. На форуме 1срр скачал обработку поиска по подстрокам https://www.1cpp.ru/forum/YaBB.pl?num=1211491690/0 и в ней не ищет по части ИНН, но эта обработка отображает колонки со значением реквизитов, так вот у меня показывает в ней что ИНН пустая, наименование и код - есть, а вот ИНН именно пустые.. вот для примера скрин где видно что реквизит заполнен но в обработине колонка пустая https://prnt.sc/ts6qgo
    Может кто-нибудь в курсе почему так? ИНН обычный текстовый реквизит с длиной 20

  2. Aleksey

    01-08-2020 11:34

    % забыл

  3. Aleksey

    01-08-2020 11:36

    LIKE '%"+СтрокаПоиска+"%';

  4. ObmanOZ

    01-08-2020 12:49

    (2) Не, просто не выложил продолжение
    _СтрокаПоиска="%"+СокрЛП(Врег(СтрокаПоиска))+"%";
    Запрос.УстановитьТекстовыйПараметр("СтрокаПоиска", _СтрокаПоиска);
    тз = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);

  5. Ёпрст

    01-08-2020 15:47

    (3) забыл апострофы одиночные

  6. ObmanOZ

    02-08-2020 22:07

    (4) Пасиб за ответ, перепроверил, с апострофами получаю ошибку. FAILED! ICommandText::Execute(): Function argument value, type, or count is invalid.
    Так и не разобрался почему именно прямой запрос не видит реквизит ИНН. запрос на SQlite отработал

  7. Злопчинский

    02-08-2020 22:26

    (4) запрос и на VFP на моей базе норм отработал.. а что там у ТС в базе - хз, доступа не дал.

  8. hhhh

    03-08-2020 00:31

    может Врег выбросить?

  9. Злопчинский

    03-08-2020 00:54

    (7) там все равно цифры  по ИНН поиск идет

  10. hhhh

    03-08-2020 06:01

    (8) тогда значит у него строка поиска типа число.

  11. ДенисЧ

    03-08-2020 06:35

    (0) Покажи метаданные ИНН из юрморд...

  12. palpetrovich

    03-08-2020 09:36

    Запрос.Отладка(1) - что дает?
    и да, непонятно зачем там врег

  13. Salimbek

    03-08-2020 10:49

    +(11) И
    ТекстЗапроса = "
            |SELECT TOP 10
            |    *
            |FROM
            |    $Справочник.ЮрЛица as ЮрЛица";
    тоже было бы неплохо посмотреть

  14. Злопчинский

    03-08-2020 11:44

    (10) ну, автор декларирует что это ТИС
    .
    Спр.ЮрЛица.ИНН - строка, 20, сортировка=1

  15. MWWRuza

    03-08-2020 11:53

    Большого смысла искать ИНН прямым запросом - я не вижу... Там прекрасно ищется/отбирается и по реквизиту, штатными методами, так, как для поля ИНН сортировка=1. Вот искать по реквизиту без сортировки, иногда бывает очень полезно, я для этого в дбф базах запросы SqlLite применяю. Иногда бывает это интереснее, чем добавлять сортировку, и соответственно, дополнительный индекс.

  16. tgu82

    03-08-2020 12:04

    (14) ДБФ сколько индексов не добавляй - мне кажется все равно достаточно шустро если в терминальном режиме работать.
    И потом кажется для того же Foxpro технология услоия "For" все равно создает хоть временный индекс.

  17. Злопчинский

    03-08-2020 12:31

    (14) "Там прекрасно ищется/отбирается и по реквизиту" - угу, найди мне когда на вход поступает только ИНН. а вреквизите ИНН стоит ИНН\КПП

  18. tgu82

    03-08-2020 12:34

    (16) так не найдешь. там условие будет типа "содержит" хотя могут быть с одним инн и разными кпп - и как вообще искать тогда?

  19. Ёпрст

    03-08-2020 12:42

    Для дбф, запрос через оледб выполняется в большинстве запросов быстрее, чем sqllite, если правильно написан и попадает в индекс.
    Единственное, на sqllite писать проще, ессть уложитьтз, поставщик данных и прочие плюшки.
    Но, если тяжелый запрос или изменения данных, то тут лучше фокс.

  20. Злопчинский

    03-08-2020 12:45

    (18) я вот вообще нулевый.
    есть оледб, есть одбц - это вообще как и что?

  21. Ёпрст

    03-08-2020 13:09

    (19) натрави гугл..
    odbc
    oledb
    vfpoledb