8.х Соединение и незначащие символы

Тема в разделе "Система компоновки данных (СКД)", создана пользователем demyan_91, 26 авг 2015.

  1. TopicStarter Overlay
    demyan_91
    Offline

    demyan_91

    Регистрация:
    3 сен 2014
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Столкнулся с ситуацией когда нужно соединять таблицы по полю строкового типа и получилось так, что условие пренебрегает незначащими символами в конце строки, например пробел.

    Почему и как обойти?
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Как выглядит условие соединения таблиц?
  3. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Добрый день,
    в соединении по строкам используйте "ВЫРАЗИТЬ(<поле соединения> КАК СТРОКА(<длина строки>))"
    например :
    ВЫРАЗИТЬ(СписокНоменклатуры.Наименование КАК СТРОКА(70)) = ВЫРАЗИТЬ(ВТ_НоменклатураКЗагрузке.Наименование КАК СТРОКА(70))
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Пробелы игнорируются, потому что реквизит "наименование" в 1С как правило имеет строковый тип с переменным количество символов.
    Метод обхода: использовать отличные от пробела символы, изменить условие соединения таблиц, объединять таблицы не(только) по наименованию
  5. TopicStarter Overlay
    demyan_91
    Offline

    demyan_91

    Регистрация:
    3 сен 2014
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Спасибо за ответы

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