Имя: Пароль:
1C
1С v8
Проверка на заполнение в запросе
0 vladimirpetrov11
 
21.01.13
14:20
Подскажите пожалуйста как проверить заполнено ли поле в запросе при выборе документов. Нужно чтобы выбирались только те, у которых поле комментарий заполнено.


   "ВЫБРАТЬ
   |    ркПоказанияСчетчиков.Ссылка
   |ИЗ
   |    Документ.ркПоказанияСчетчиков КАК ркПоказанияСчетчиков";
1 Wobland
 
21.01.13
14:20
<>""?
2 vladimirpetrov11
 
21.01.13
14:21
(1)Не работает так
3 Wobland
 
21.01.13
14:21
(2) почему?
4 vladimirpetrov11
 
21.01.13
14:23
(3)Не знаю, вообще пишет никаких проверок на поле "Комментарий" делать нельзя кроме "подобно". Поле типа неограниченная строка
5 olegves
 
21.01.13
14:24
ГДЕ Выразить(Комментарий КАК Строка(1)) > " "
6 vladimirpetrov11
 
21.01.13
14:25
Делаю через конструктор запроса. На вкладке "Условия" кидаю поле "комментарий" программа сама ставит "подобно". При изменении ругается...
7 Rovan
 
гуру
21.01.13
14:25
8 vladimirpetrov11
 
21.01.13
14:26
(5) Щас попробую
9 Starhan
 
21.01.13
14:26
(5) лучше побольше символов на случай если полтзователь поставил случайно пробел вначале
10 Wobland
 
21.01.13
14:26
(4) вот ты сам себе и ответил
11 Wobland
 
21.01.13
14:26
(9) а пробел - это заполненность, ничо не знаю
12 lapinio
 
21.01.13
14:30
(ВЫРАЗИТЬ(АктВыполненныхРабот.Комментарий КАК СТРОКА(200))) <> ""
13 Starhan
 
21.01.13
14:30
(11) тогда код в (5) все равно не правильно отработает.
14 lapinio
 
21.01.13
14:32
Вырази как строка и укажи длину хоть 5 иили 200 потом сравнивай с пустой строкой. У меня сработало с неограниченной длиной

ВЫБРАТЬ
   АктВыполненныхРабот.Ссылка,
   АктВыполненныхРабот.Комментарий
ИЗ
   Документ.АктВыполненныхРабот КАК АктВыполненныхРабот
ГДЕ
   (ВЫРАЗИТЬ(АктВыполненныхРабот.Комментарий КАК СТРОКА(200))) <> ""
15 vladimirpetrov11
 
21.01.13
14:37
(14) Работает!!!
16 vladimirpetrov11
 
21.01.13
14:37
Спасибо всем!!
17 vladimirpetrov11
 
21.01.13
15:55
Подскажите ещё как записать выбранный через запрос документ ?

   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ркПоказанияСчетчиков.Ссылка,
   |    ркПоказанияСчетчиков.Комментарий
   |ИЗ
   |    Документ.ркПоказанияСчетчиков КАК ркПоказанияСчетчиков  
   |ГДЕ
   |    (ВЫРАЗИТЬ(ркПоказанияСчетчиков.Комментарий КАК СТРОКА(200))) <> """"";
   
   Результат = Запрос.Выполнить();
   
   ВДЗ = Результат.Выбрать();
   Сообщить(ВДЗ.Количество());
   
   Пока ВДЗ.Следующий() Цикл
       Документ=ВДЗ.Ссылка;
       //Здесь опрации по заполнению полей Документ.Записать(РежимЗаписиДокумента.Запись);
   КонецЦикла;
18 Starhan
 
21.01.13
15:57
ДокОбъект = Документ.ПолучитьОбъект();
ДокОбъект.Номер = ....
ДокОбъект.Дата = .....
ДокОбъект.Записать(...)
19 vladimirpetrov11
 
21.01.13
15:57
Документ.Записать(РежимЗаписиДокумента.Запись);

Не подходит. Как правильно вытащить документ?
20 zmaximka
 
21.01.13
15:57
Документ=ВДЗ.Ссылка.ПолучитьОбъект()
21 vladimirpetrov11
 
21.01.13
15:57
(18) Пробую...
22 vladimirpetrov11
 
21.01.13
15:59
(18), (20) Благодарю за оперативную помощь!
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.