Имя: Пароль:
1C
1С v8
Вопрос про подобно в запросе, параметр работает неправильно!
0 MrZLO
 
13.09.17
06:46
Привет всем!
Вот, например, такой запрос:

Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
               |    ЗаказПокупателя.Ссылка КАК ЗаказПокупателя
               |ИЗ
               |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
               |ГДЕ
               |    ЗаказПокупателя.Номер ПОДОБНО &Номер
               |    И ЗаказПокупателя.Дата МЕЖДУ &ДатаС И &ДатаПо
               |
               |УПОРЯДОЧИТЬ ПО
               |    ЗаказПокупателя.Дата УБЫВ";

// так работает
//Запрос.УстановитьПараметр("Номер","%4107");

// а вот так не работает?              
Запрос.УстановитьПараметр("Номер","%" + Номер);

Запрос.УстановитьПараметр("Номер",Номер);
Запрос.УстановитьПараметр("ДатаС", ДатаС);
Запрос.УстановитьПараметр("ДатаПо", ДатаПо);

В строке номер точно номер передается, может как-то не так прописываю?

запрос выводит последний документ, у которого номер оканчивается на заданную строку (Номер)
1 MrZLO
 
13.09.17
06:46
тут в коде 3 строку снизу лишнюю вставил
2 MrZLO
 
13.09.17
06:47
// так тоже не работает...
Номер = "%" + Номер;
Запрос.УстановитьПараметр("Номер",Номер);
3 Альбатрос
 
13.09.17
06:48
ну а отладчик что говорит про "номер"?
4 MrZLO
 
13.09.17
06:49
(3) отладчик говорит, что там всегда строка вида %4107, например
5 1dvd
 
13.09.17
06:49
"Не работает" - формулировка профана
6 MrZLO
 
13.09.17
06:50
(5) результат события, которое я не ожидаю, если точнее
7 Альбатрос
 
13.09.17
06:50
(4) Диапозон дат охватывает нужный документ?
8 MrZLO
 
13.09.17
06:52
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1

               |    ЗаказПокупателя.Ссылка КАК ЗаказПокупателя
               |ИЗ
               |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
               |ГДЕ
               |    ЗаказПокупателя.Номер ПОДОБНО &Номер
               |    И ЗаказПокупателя.Дата МЕЖДУ &ДатаС И &ДатаПо
               |
               |УПОРЯДОЧИТЬ ПО
               |    ЗаказПокупателя.Дата УБЫВ";

// так есть результат запроса
//Запрос.УстановитьПараметр("Номер","%4107");

// так запрос пустой
Запрос.УстановитьПараметр("Номер","%" + Номер);

// так запрос пустой
// Номер = "%"+Номер;
// Запрос.УстановитьПараметр("Номер",Номер);

Запрос.УстановитьПараметр("ДатаС", ДатаС);
Запрос.УстановитьПараметр("ДатаПо", ДатаПо);

как номер передать правильно как параметр с символом %
9 MrZLO
 
13.09.17
06:53
(7) да
параметр с % как-то не правильно передается, если явно писать, то все ок
10 1dvd
 
13.09.17
06:54
(8) СокрЛП пробовал?
11 Мимохожий Однако
 
13.09.17
06:54
По Shift-F1 есть пример
12 MrZLO
 
13.09.17
06:57
(10) респект!!!
получилось :)
13 VladZ
 
13.09.17
06:58
(0) Программу не обманешь. Раз показывает так - значит в данных какой-то трабл. Возможно, в номере пробелы (ты их не видишь).
14 MrZLO
 
13.09.17
07:09
да у меня там с дбф-а бралась строка, там наверное и символы доп были лишние, сокрлп помогло
2 + 2 = 3.9999999999999999999999999999999...