8.х Выбрать документы с похожим номером

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем izotko, 17 окт 2008.

  1. TopicStarter Overlay
    izotko
    Offline

    izotko

    Регистрация:
    4 окт 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Народ, не получается получить все документы в которые входит например символ "1".
    Пишу код:
    Код:
    ТекстЗапроса = 	"ВЫБРАТЬ
    |	Общий.Ссылка КАК Документ
    |ИЗ
    |	ЖурналДокументов.Общий КАК Общий
    |ГДЕ
    |	ВЫРАЗИТЬ(Общий.Номер КАК СТРОКА) ПОДОБНО &ЧастьНомера
    |УПОРЯДОЧИТЬ ПО
    |	Общий.Дата";
    
    
    Выдает только пару документов у которых тип номера СТРОКА, а вот те у которых число не выдает. Как быть?
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Посмотри, что получается в результате такого запроса.
    Т.б. вынеси выразить в выбрать
  3. TopicStarter Overlay
    izotko
    Offline

    izotko

    Регистрация:
    4 окт 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    В резульатате получается не то что надо
  4. dend
    Offline

    dend Опытный в 1С

    Регистрация:
    9 апр 2007
    Сообщения:
    175
    Симпатии:
    0
    Баллы:
    26
    Надо так "%"+ &ЧастьНомера + "%"
  5. TopicStarter Overlay
    izotko
    Offline

    izotko

    Регистрация:
    4 окт 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Пробовал не получается
  6. TopicStarter Overlay
    izotko
    Offline

    izotko

    Регистрация:
    4 окт 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Код:
    ТекстЗапроса =     "ВЫБРАТЬ
    |    Общий.Ссылка КАК Документ,
    |    ВЫРАЗИТЬ(Общий.Номер КАК СТРОКА) КАК Номер
    |ИЗ
    |    ЖурналДокументов.Общий КАК Общий
    |ГДЕ
    |    Номер ПОДОБНО ""%"" + &ЧастьНомера + ""%""
    |
    |УПОРЯДОЧИТЬ ПО
    |    Общий.Дата";
    
    
    
    
    И так тоже не получается, поле номер возвращает в результате NULL
    Такое впечатление что функция LIKE работает не верно
  7. GvH
    Offline

    GvH Опытный в 1С

    Регистрация:
    12 авг 2008
    Сообщения:
    179
    Симпатии:
    0
    Баллы:
    26
    ПОДОБНО работает верно.
    Из-за ВЫРАЗИТЬ(Общий.Номер КАК СТРОКА) номер у документа где тип Число заменяется на NULL. Вот в этом то и проблема.
  8. TopicStarter Overlay
    izotko
    Offline

    izotko

    Регистрация:
    4 окт 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    А как быть, почему неверно идет преобразование типов
  9. TopicStarter Overlay
    izotko
    Offline

    izotko

    Регистрация:
    4 окт 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Помогите кто знает, очень надо
  10. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Попробуй так:
    Код:
    Запрос.Текст = "ВЫБРАТЬ
    |    ДокументыКонтрагентов.Ссылка,
    |    ПРЕДСТАВЛЕНИЕ(ДокументыКонтрагентов.Ссылка)
    |ИЗ
    |    ЖурналДокументов.ДокументыКонтрагентов КАК ДокументыКонтрагентов
    |ГДЕ
    |    ДокументыКонтрагентов.Номер ПОДОБНО "%"+&Номер+"%"
    "
    
    
  11. TopicStarter Overlay
    izotko
    Offline

    izotko

    Регистрация:
    4 окт 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Тогда получим поиск и в дате и во времени документа и т.д.
    Единственный выход я нашел как:
    1. Сделать общий реквизит во всех документах типа СТРОКА
    2. Сделал подписку на событие ПередЗаписью документа
    3. В обработчике написал
    Код:
    Процедура СобытияПередЗаписьюДокументаПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
    Источник.НомерДокСтрока = СокрЛП(Источник.Номер);
    КонецПроцедуры
    
    
    И соответственно запрос стал выглядеть как:
    Код:
    ТекстЗапроса = 	"ВЫБРАТЬ
    |	Общий.Ссылка КАК Документ,
    |	Общий.Ссылка.НомерДокСтрока
    |ИЗ
    |	ЖурналДокументов.Общий КАК Общий
    |ГДЕ
    |	Общий.Ссылка.НомерДокСтрока ПОДОБНО ""%"" + &ЧастьНомера + ""%""
    | ИЛИ Общий.Ссылка.НомерДокСтрока = &ЧастьНомера
    |
    |УПОРЯДОЧИТЬ ПО
    |	Общий.Дата";
    
    
  12. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Абзац....
    Ты бы сразу сказал, что у тебя журнал, во-первых, а во-вторых - платформа какая?
  13. TopicStarter Overlay
    izotko
    Offline

    izotko

    Регистрация:
    4 окт 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Конечно журнал из кода в самом начале видно
    Платформа 8.1.11
    Не объединять же все документы в одном запросе
  14. x_under
    Offline

    x_under Модераторы Команда форума Модератор

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Что за бред??? У меня идет четкое сравнение на вхождение параметра в номер. Вобщем либо мы тебя не понимаем, либо одно из двух. Вот тот пример, который я написал отлично мне нашел все документы содержащие в номере переданный параметр. Кстати проверь тип параметра, который ты передаешь. Попробуй. ечли ты передаешь число вначале его преобразовать в строку.
  15. GvH
    Offline

    GvH Опытный в 1С

    Регистрация:
    12 авг 2008
    Сообщения:
    179
    Симпатии:
    0
    Баллы:
    26
    То есть как понимаю я под "нашел все документы" это документы разных видов у которых Номер, бывает как тип Строка, так и тип Число? Правильно?
  16. GvH
    Offline

    GvH Опытный в 1С

    Регистрация:
    12 авг 2008
    Сообщения:
    179
    Симпатии:
    0
    Баллы:
    26
    to x_under , на мой вопрос к вам можно не отвечать.
    Нифига не работает ваш код.
  17. TopicStarter Overlay
    izotko
    Offline

    izotko

    Регистрация:
    4 окт 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    вы его просто готовить не умеете
  18. GvH
    Offline

    GvH Опытный в 1С

    Регистрация:
    12 авг 2008
    Сообщения:
    179
    Симпатии:
    0
    Баллы:
    26
    to Изотко Сергей, ну так покажите запрос. Чего уж стесняться :unsure:
  19. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Только что пробовал - все работает.
  20. TopicStarter Overlay
    izotko
    Offline

    izotko

    Регистрация:
    4 окт 2008
    Сообщения:
    10
    Симпатии:
    0
    Баллы:
    1
    Есть у кого идеи по данному вопросу, как решить задачу стандартными способами

Поделиться этой страницей