|  06.07.2005, 10:40 | #1 | 
| Участник | select * where ... 
			
			Вопрос новичка. Искал по форуму похожие проблемы, но там мутно для новичка написано. Можно ли в запросах использовать конструкцию как написано ниже? У меня ошибка компиляции. Не могу поверить, что это не работает. InventTable it; ; oldkod='??001*'; while select forUpdate * from it where it.ItemId like oldkod { print it.itemid; } Если так писать нельзя, то как это делают в аксапте обычно? | 
|  | 
|  06.07.2005, 10:48 | #2 | 
| Участник | 
			
			Нет, такое она не скушает, но можно сделать query добавиив к нему range с значением '*трампам' и даже больше, можно и другие поисковые символы пользовать типа диапазонов, больше\меньше и т.д..
		 | 
|  | 
|  06.07.2005, 10:53 | #3 | 
| Участник | 
			
			Примерно так InventTable it; ; oldkod='??001*'; while select it where it.itemId like oldkod { print it.itemid; } причём компилятор также может ругаться на то, что oldkod объявлен как str. Удачи. | 
|  | 
|  06.07.2005, 10:57 | #4 | 
| Участник | 
			
			2  MironovI  с оператором Like всё должно пройти нормально, по крайней мере у меня всегда проходило (Ax 2.5) | 
|  | 
|  06.07.2005, 11:10 | #5 | 
| Участник | 
			
			Да жаль. не ожидал такого подвоха. Буду мыслить по новому   | 
|  | 
|  06.07.2005, 11:11 | #6 | 
| Участник | Цитата: 
		
			Изначально опубликовано DenNik  2 MironovI с оператором Like всё должно пройти нормально, по крайней мере у меня всегда проходило (Ax 2.5) PS - обявление переменной oldkod скушали?.. static void Job19(Args _args) { InventTable it; str oldkod; ; oldkod='??001*'; while select it where it.itemId like oldkod { print it.itemid; } } | 
|  | 
|  06.07.2005, 11:20 | #7 | 
| Участник | 
			
			Так это потому, что вы объявляли свою переменную как текстовую неограниченной длины.  Просто нужно сделать ее на основе Расширенного типа данных. И все будет ОК.  Или даже просто ограничить длину строку типа str 20 | 
|  | 
|  06.07.2005, 11:26 | #8 | 
| Участник | 
			
			Правильно, надо объявлять как строку фиксированной длины static void Job19(Args _args) { InventTable it; str 6 oldkod; ; oldkod='??001*'; while select it where it.itemId like oldkod { print it.itemid; } } | 
|  | 
|  06.07.2005, 11:29 | #9 | 
| Участник | 
			
			Респект    | 
|  | 
|  06.07.2005, 11:43 | #10 | 
| Участник | 
			
			korolf76 огромное СПСБ. Я чувствовал, что я на верном пути ...  Теперь все встало на место. | 
|  | 
|  06.07.2005, 12:31 | #11 | 
| Участник | 
			
			Где-то в FAQ это было... в след. раз смотрите первым делом там.
		 | 
|  | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| QueryBuildRange в select.. where | 11 | |||
| Разница NotInTTS и Found | 6 | |||
| Ошибка при старте АОСа | 4 | |||
| gatesasbait: Reverse keyword on Select Statements | 0 | |||
| Вопрос про Demand Planner | 4 | |||
| 
 |