Имя: Пароль:
1C
1C 7.7
v7: СокрЛП в запросе
,
0 Масянька
 
08.01.13
10:14
День добрый!

Всех - с прошедшими и наступающими!

Вопрос: как в 7.7 в запросе отсечь пробелы?

Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "//{{ЗАПРОС()
|Период с ДатаНачала по ДатаОкончания;
|ОбрабатыватьДокументы все;
|ТекДок        = Документ.ГарантийныйТалон.ТекущийДокумент;
|ДатаДокумента= Документ.ГарантийныйТалон.ДатаДок;
|Товар        = Документ.ГарантийныйТалон.Номенклатура;
|ИмяТовар    = Документ.ГарантийныйТалон.Номенклатура.Наименование;
|КолВо        = Документ.ГарантийныйТалон.Количество;
|Гарантия    = Документ.ГарантийныйТалон.СрокГарантии;
|СерНомер    = Документ.ГарантийныйТалон.СерийныйНомер;
|Группировка ТекДок;
|Условие (СерНомер = СерийныйНомер);";


Условие не срабатывает, так как длина серийного номера = 150, а заполнено, к примеру, 13 символов. И СерНомер именно эти 13 символов.

Спасибо.
1 Надсмотрщик
 
08.01.13
10:21
Своей функцией
2 Wobland
 
08.01.13
10:23
а сделать параметр нужной длины?
4 orefkov
 
08.01.13
10:26
Перед запросом сделай
СерийныйНомер = Формат(СерийныйНомер, "С150");
5 Масянька
 
08.01.13
10:26
(1) Спасибо!
(2) Не, не вариант - длина серийника - у разной номенклатуры по-разному.
6 Нуф-Нуф
 
08.01.13
10:27
Лев("тутмногопробелов",150-ДлинаСерийникаПараметра)+СерийникПарамтер
7 Mikeware
 
08.01.13
10:28
Переходи уже на нормальные запросы :-)
8 Wobland
 
08.01.13
10:28
(5) и длина поля у разной номенклатуры разная?
9 Масянька
 
08.01.13
10:29
(7) Не начинай. :)
10 Масянька
 
08.01.13
10:30
(8) Длина поля = 150, но заполнено - по-разному (где-то 10, где-то 25, где-то 2 или 3 по 25 и т.д.)
11 Mikeware
 
08.01.13
10:30
(9) тебе сокрЛП нафиг не вперлось.
добивай параметр пробелами...
12 Нуф-Нуф
 
08.01.13
10:30
(10) а (6) осмыслить не получается?
13 orefkov
 
08.01.13
10:31
(5)
Ты хочешь сказать, что длина Документ.ГарантийныйТалон.СерийныйНомер разная для разной номенклатуры?
Там наоборот всегда длина одна, 150.
Например 13 символов и 137 пробелов.
А сравнивается с учетом хвостовых пробелов.
Добивай параметр пробелами до 150.
Ну и естессно, 1Сные запросы в топку.
14 Масянька
 
08.01.13
10:32
А мне больше нравится - удалить лишние пробелы!
15 Wobland
 
08.01.13
10:32
(6) Лев(Серийник+"150пробелов", 150) и никаких длин
16 Wobland
 
08.01.13
10:32
(14) вперёд! потом расскажешь
17 Нуф-Нуф
 
08.01.13
10:33
(15) кстати да, тоже норм, только имхо пробелы должны быть слева
18 КонецЦикла
 
08.01.13
10:46
(17) Пробелы в строке - справа
19 Масянька
 
08.01.13
10:46
Ладно, уговорили не удалять, а дополнять пробелами.
Уже сделала - СПАСИБО!
20 Нуф-Нуф
 
08.01.13
10:51
(18) точняк. туплю. попутал с лидирующими нулями
21 orefkov
 
08.01.13
10:52
(6), (15) - см (4)
22 Torquader
 
08.01.13
13:27
(20) Это в коде пробелы слева, а в обычной строке - справа.
Конечно, можно и СОКРЛП в запрос засунуть (причём, должно работать), но скорость вас поразит.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.