|
Запрос
| ☑ |
0
Altuntop
07.02.12
✎
07:15
|
Помогите пожалуйста. Как правильно отобрать контрагентов у которых Не Пустой Комментарий.
При таком запросе выдает всех контрагентов:
Процедура КнопкаВыполнитьНажатие(Кнопка)
Контра=Справочники.Контрагенты.ПустаяСсылка().Комментарий;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Контра",Контра);
Запрос.Текст="ВЫБРАТЬ
| Контрагенты.Ссылка КАК Контрагент
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| НЕ Контрагенты.Комментарий ЕСТЬ NULL";
Результат=Запрос.Выполнить().Выгрузить();
Для Каждого Стр Из Результат Цикл
Сообщить(""+Стр.Контрагент);
КонецЦикла;
КонецПроцедуры
|
|
1
Wobland
07.02.12
✎
07:16
|
да когда ж вы станете названия более творчески изобретать?
Комментарий=""
|
|
2
D_Pavel
07.02.12
✎
07:16
|
|ГДЕ
| НЕ Контрагенты.Комментарий = """";
|
|
3
Altuntop
07.02.12
✎
07:18
|
В этом случае выдает ошибку типа нельзя сравнивать строки неограниченной длины типа такого
|
|
4
Wobland
07.02.12
✎
07:19
|
(3) ВЫРАЗИТЬ(Комментарий КАК Строка(800))<>""
|
|
5
Altuntop
07.02.12
✎
07:20
|
Спасибо!
Получилось!
|
|
6
mkanaev
07.02.12
✎
07:22
|
Комментарий - реквизит типа строка неограниченной длины... реквизиты неограниченный длины нельзя сравнивать в запросах поэтому нужно выполнить метод Выразить(Комментарий как Строка(разряд)) и сравнить с пустой строкой
|
|
7
D_Pavel
07.02.12
✎
07:23
|
Лучше не делать строки неограниченной длины. С ними потом труднее работать.
|
|
8
mkanaev
07.02.12
✎
07:23
|
(7) верно и к тому же эти реквизиты не индексируются, как следствие будет табл скан, это плохо. Но Комментарий это стандарный реквизит
|
|