AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.03.2007, 08:58   #1  
Tiruvileijadal' is offline
Tiruvileijadal'
Участник
Аватар для Tiruvileijadal'
 
92 / 10 (1) +
Регистрация: 15.03.2007
Адрес: Сургут
like - unlike?
Доброго времени суток
Вопрос такой: если мне нужно, чтобы срабатывало условие на равенство какой-то строки кусочку этой строки, я ставлю like. А как сделать обратное условие? Что-то типа unlike.
Старый 20.03.2007, 09:16   #2  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
!(inventTable.itemId like "0101*")
__________________
Axapta v.3.0 sp5 kr2
Старый 20.03.2007, 10:24   #3  
Tiruvileijadal' is offline
Tiruvileijadal'
Участник
Аватар для Tiruvileijadal'
 
92 / 10 (1) +
Регистрация: 15.03.2007
Адрес: Сургут
неа, не помогло...
это выбор сумм сальдо (т.е. корр.счет like "Z01*".
X++:
    // поле "Задолж. на начало периода, осн.сумма"
    select * from ledgerVendTrans_2
                 where ledgerVendTrans_2.Postav == ledgerVendTrans_1.Postav
                    && ledgerVendTrans_2.AccountCorr like 'Z01*'
                join parCredDebt
                 where parCredDebt.BuhSchet == ledgerVendTrans_1.Account
                    && parCredDebt.CentrZatrat == ledgerVendTrans_2.dimensions[2]
                    && parCredDebt.SummType == SummType::Osnovn;
     tempTable.ZadolgFr = ledgerVendTrans_2.Amount;
я не сильна в бухгалтерии и не знаю, существуют ли разновидности этого счета, т.е. кроме Z01.00.00 есть ли еще Z01.01.00 или что-то в этом духе, поэтому делаю не знак "==", а like.
Но теперь мне нужно посчитать суммы, которые не попадают на этот кор.счет, т.е. поле ledgerVendTrans_2.AccountCorr должно быть unlike 'Z01*'. Сделала, как посоветовали (точнее как я этот совет поняла):
X++:
    // поле "Получен.кредиты, займы"
    while select * from ledgerVendTrans_2
                 where ledgerVendTrans_2.Postav == ledgerVendTrans_1.Postav
                    && !(ledgerVendTrans_2.AccountCorr like 'Z01*')
                    && ((ledgerVendTrans_2.Amount < 0 && ledgerVendTrans_2.Correct == 0)
                       || (ledgerVendTrans_2.Amount > 0 && ledgerVendTrans_2.Correct == 1))
                join parCredDebt
                 where parCredDebt.BuhSchet == ledgerVendTrans_1.Account
                    && parCredDebt.CentrZatrat == ledgerVendTrans_2.dimensions[2]
                    && parCredDebt.SummType == SummType::Osnovn
     {
         tempTable.Credit = tempTable.Credit + ledgerVendTrans_2.Amount;
     }
результат: tempTable.Credit = 0.
Но если задать конкретно условие != 'Z01.00.00', то все считает.
Старый 20.03.2007, 10:37   #4  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Может через кверик сделать?
Старый 20.03.2007, 11:03   #5  
Tiruvileijadal' is offline
Tiruvileijadal'
Участник
Аватар для Tiruvileijadal'
 
92 / 10 (1) +
Регистрация: 15.03.2007
Адрес: Сургут
мне селекты больше нравятся
Старый 20.03.2007, 11:37   #6  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Цитата:
Сообщение от Tiruvileijadal' Посмотреть сообщение
мне селекты больше нравятся
мне тоже по началу селекты больше нравились. Но потом все чаще стали появлятся задачи, в которых селект не может все то что могут кверики
Старый 20.03.2007, 12:01   #7  
Tiruvileijadal' is offline
Tiruvileijadal'
Участник
Аватар для Tiruvileijadal'
 
92 / 10 (1) +
Регистрация: 15.03.2007
Адрес: Сургут
хорошо, признаюсь... я не умею работать с кверами мою книжку выкинули в мусорный бак (не специально), поэтому посмотреть мне негде. Примеры смотрела, но на данный момент они меня не устраивают.
У меня вообще другая проблема: как сделать на своей форме эту волшебную кнопочку "Выбор" я уже поняла, а вот как забрать введенные данные в полях запроса - не знаю.
Старый 20.03.2007, 12:09   #8  
Ed1k is offline
Ed1k
Участник
 
102 / 42 (2) +++
Регистрация: 19.07.2006
Цитата:
Сообщение от Tiruvileijadal'
X++:
     {
         tempTable.Credit = tempTable.Credit + ledgerVendTrans_2.Amount;
     }
Сюда заходит?
Цитата:
Сообщение от Tiruvileijadal'
результат: tempTable.Credit = 0.
Но если задать конкретно условие != 'Z01.00.00', то все считает.
Нуль тоже результат.
Старый 20.03.2007, 12:25   #9  
Tiruvileijadal' is offline
Tiruvileijadal'
Участник
Аватар для Tiruvileijadal'
 
92 / 10 (1) +
Регистрация: 15.03.2007
Адрес: Сургут
упс.. обманула... работает
но вопрос с кнопкой "Выбор" остался актуален. пошлите туда, где можно почитать, а?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Fred Shen: 'Not Like' in Dynamics AX Blog bot DAX Blogs 0 28.10.2006 16:40
Использование "like" при работе с классом "QueryBuildRange" poul DAX: Программирование 18 11.08.2006 12:20
как правильно использовать not like polygris DAX: Программирование 1 06.05.2006 16:59
Возможность использования Like в QueryBuildRange Koriolis DAX: Программирование 5 14.02.2005 17:43
Где работают like'и? Mechanizm DAX: Программирование 4 16.04.2004 11:33

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:39.