Запретить СКД обрезать поля

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

Поле АдресЗаказчика - имеет длину 500, и мои пользователи просто обожают забивать это поле под завязку. Возникла необходимость отчет выдавать по некоторым значениям этого поля, а СКД его обрезает и ищет только по тем словам, которые вывелись на экран. Как предотвратить это "обрезание"? или подскажите какой-то другой путь что ли..не знаю что сделать. Спасибо.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. WasiliyMay 8 21.06.17 15:50 Сейчас в теме
(1) Попробуйте создать поле для ввода адреса на форме и из него передавать значение в параметр СКД программно
6. HIVvich 21.06.17 16:14 Сейчас в теме
(2)Вы имеете ввиду создать свою форму отчета и на ней разместить параметры поиска?
9. WasiliyMay 8 21.06.17 16:50 Сейчас в теме
(6) Имел ввиду создать свою форму, на него вывести поле и например в событии при изменении передавать значение в параметр СКД
11. HIVvich 22.06.17 09:09 Сейчас в теме
(9)не прокатило, сделала форму и вывела Адрес, передаю его все как надо, не ищет:(
3. DJDUH 17 21.06.17 16:07 Сейчас в теме
(1) а могу предложить для теста
Выразить(ОбщийВодаКанал.АдресЗаказчика как строка(500))
5. HIVvich 21.06.17 16:13 Сейчас в теме
(3) все равно обрезает

(4) переносить установлено, он обрезает
4. lefthander 21.06.17 16:11 Сейчас в теме
(1)если мне не изменяет память, В СКД в настройках оформления для этого поля установите переносить (что то типа) в параметре размещение
7. plevakin 21.06.17 16:17 Сейчас в теме
На вкладке Наборы данных у выбранного поля Оформление - Минимальная ширина = 500.
8. HIVvich 21.06.17 16:22 Сейчас в теме
(7)вообще какая-то жесть, я сделала минимальное поле - 500, оно на экран не помещается, но скд все равно обрезала поле! как так то..
10. shnurov 22.06.17 03:29 Сейчас в теме
На ум приходит две идеи:
1. На вкладке набор данных поставить "Обязательное поле".

2. Условие в запрос перенести из "Компоновка данных" в "Условия", т.е. вместо

{ГДЕ (ОбщийВодаКанал.АдресЗаказчика ПОДОБНО "%" + &АдресЗаказчика + "%")}

сделать
 
ГДЕ  ОбщийВодаКанал.АдресЗаказчика ПОДОБНО "%" + &АдресЗаказчика + "%"

Возможно(я точно не знаю, просто догадки) проблема из-за длины строки, т.к. 500 символов и SQL корректно не делает поиск по такой строке.
Тогда как вариант не делать условие в запросе, а поставить галку обязательное поле и сделать отбор уже в настройках СКД, хотя насколько мне известно платформа тогда сама сделает
 
{ГДЕ (ОбщийВодаКанал.АдресЗаказчика ПОДОБНО "%" + &АдресЗаказчика + "%")}

, а идея в том чтобы получить строку из базы и уже в ней делать поиск, тогда можно попробовать вычислить выражение, в общем тут надо тестировать.
12. HIVvich 22.06.17 09:11 Сейчас в теме
(10) в консоли запросов все ищет как надо, все "чётенько" как говорится, а в скд нет. Мне нужно, чтобы это условие было необязательным, но правда переставив его в обязательное, чудо тоже не произошло:(
16. shnurov 22.06.17 10:19 Сейчас в теме
(12) Точно ищет? Т.к. то что не выводит, это одно, а вот то что не ищет это другое. СКД "оптимизирует" запрос.
17. HIVvich 22.06.17 10:22 Сейчас в теме
(16)я попробовала в консоли вывести все эти длинные поля, так вот он ищет только по тем, что вывелись на экран (ну точно теперь я выяснила по первым 100 символам), остальное, что отрезал, игнорирует.
18. shnurov 22.06.17 10:37 Сейчас в теме
(17) Что-то у вас не то, только что попробовал в тестовой базе, и консоль выводит и поиск делает. База на MsSql, реквизит адрес Строка(500), заполнил произвольными символами на полную длину.
Прикрепленные файлы:
19. HIVvich 22.06.17 10:52 Сейчас в теме
(18)Да, простите, ввела в заблуждение, консоль запросов ищет и отрабатывает.
20. shnurov 22.06.17 11:37 Сейчас в теме
(19)
Ок, а вот и на скд

Запрос


ВЫБРАТЬ
	Города.Ссылка,
	Города.Адрес
ИЗ
	Справочник.Города КАК Города
{ГДЕ
	(Города.Адрес ПОДОБНО "%" + &СтрокаПоиска + "%")}

Показать


Возможно у вас другие условия фильтруют выборки с нужным адресом?
Прикрепленные файлы:
13. HIVvich 22.06.17 09:24 Сейчас в теме
Да уж..совсем меня заморочило, посмотрела в консоли запросов, там тоже "режется".
14. alex-l19041 8 22.06.17 09:58 Сейчас в теме
(13) можно уточнить, сколько символов от 500 остается ?
15. HIVvich 22.06.17 09:59 Сейчас в теме
Урезает до 100 символов от всей длины.
21. HIVvich 22.06.17 12:44 Сейчас в теме
Вообщем отчитываюсь, сделала все вместе, что описали выше (в том числе и свою форму, вначале забыла включить ограничение доступности параметра АдресЗаказчика в Скд, потом дошло) и еще то, что нашла в Интернете - отключить автозаполнение и добавить обязательные поля. Вроде работает, тестирую.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот