У меня есть отчет на СКД, совершенно элементарный, вот код
Поле АдресЗаказчика - имеет длину 500, и мои пользователи просто обожают забивать это поле под завязку. Возникла необходимость отчет выдавать по некоторым значениям этого поля, а СКД его обрезает и ищет только по тем словам, которые вывелись на экран. Как предотвратить это "обрезание"? или подскажите какой-то другой путь что ли..не знаю что сделать. Спасибо.
ВЫБРАТЬ
ОбщийВодаКанал.Заказчик,
ОбщийВодаКанал.АдресЗаказчика,
ОбщийВодаКанал.ХозНужд,
ОбщийВодаКанал.Стоки
ИЗ
РегистрСведений.ОбщийВодаКанал КАК ОбщийВодаКанал
ГДЕ
ОбщийВодаКанал.Заказчик.ФизЮр = ИСТИНА
И ОбщийВодаКанал.Период МЕЖДУ &ДатаНач И &ДатаКон
И ОбщийВодаКанал.Стоки >= &Норма1
И ОбщийВодаКанал.ХозНужд >= &Норма2
{ГДЕ
(ОбщийВодаКанал.АдресЗаказчика ПОДОБНО "%" + &АдресЗаказчика + "%")}
ПоказатьПоле АдресЗаказчика - имеет длину 500, и мои пользователи просто обожают забивать это поле под завязку. Возникла необходимость отчет выдавать по некоторым значениям этого поля, а СКД его обрезает и ищет только по тем словам, которые вывелись на экран. Как предотвратить это "обрезание"? или подскажите какой-то другой путь что ли..не знаю что сделать. Спасибо.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
На ум приходит две идеи:
1. На вкладке набор данных поставить "Обязательное поле".
2. Условие в запрос перенести из "Компоновка данных" в "Условия", т.е. вместо
сделать
Возможно(я точно не знаю, просто догадки) проблема из-за длины строки, т.к. 500 символов и SQL корректно не делает поиск по такой строке.
Тогда как вариант не делать условие в запросе, а поставить галку обязательное поле и сделать отбор уже в настройках СКД, хотя насколько мне известно платформа тогда сама сделает
, а идея в том чтобы получить строку из базы и уже в ней делать поиск, тогда можно попробовать вычислить выражение, в общем тут надо тестировать.
1. На вкладке набор данных поставить "Обязательное поле".
2. Условие в запрос перенести из "Компоновка данных" в "Условия", т.е. вместо
{ГДЕ (ОбщийВодаКанал.АдресЗаказчика ПОДОБНО "%" + &АдресЗаказчика + "%")}
сделать
ГДЕ ОбщийВодаКанал.АдресЗаказчика ПОДОБНО "%" + &АдресЗаказчика + "%"
Возможно(я точно не знаю, просто догадки) проблема из-за длины строки, т.к. 500 символов и SQL корректно не делает поиск по такой строке.
Тогда как вариант не делать условие в запросе, а поставить галку обязательное поле и сделать отбор уже в настройках СКД, хотя насколько мне известно платформа тогда сама сделает
{ГДЕ (ОбщийВодаКанал.АдресЗаказчика ПОДОБНО "%" + &АдресЗаказчика + "%")}
, а идея в том чтобы получить строку из базы и уже в ней делать поиск, тогда можно попробовать вычислить выражение, в общем тут надо тестировать.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот