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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.04.2016, 12:14   #1  
Skolos is offline
Skolos
Участник
 
56 / 13 (1) ++
Регистрация: 06.01.2016
Проверка получаемого аргумента
Добрый день уважаемые форумчане. Из-за неопытности возник вот такой вопрос.
Путь:
Расчеты с поставщиками/Обычный/Заказы на покупку/Все заказы на покупку(форма - PurchTableListPage)
При выборе строки и нажатии на кнопку Правка происходит открытие формы Заказ на покупку(PurchTable). на ней отображаются строки заказа на покупку с таблицы PurchLine. В PurchLine я добавил свое поле Код доходов - Revenue_code_KZ.
Нужно делать его обязательным к заполнению если код региона в адресе поставщика отличается от кода региона нашей компании.
Проверку делаю в методе init формы PurchTable, вот часть кода:
X++:
//if(element.args().record().getTableType() == typeOf(PurchTable))
    //{
        if(SysCountryRegionCode::isLegalEntityInCountryRegion([#isoKZ]))
            {
                companyInfo = CompanyInfo::findByCompany_IN(curext());
                pTable = element.args().record();
                pLine = PurchLine::find(pTable.PurchId);
                select PrimaryAddressLocation from dirPartyTable where dirPartyTable.RecId == VendTable::find(pLine.VendAccount).Party;
                select CountryRegionId from logisticsAddressCountryRegion where
                    logisticsAddressCountryRegion.CountryRegionId == LogisticsPostalAddress::findByLocation(companyInfo.postalAddress().Location).CountryRegionId;
                select CountryRegionId from logisticsAddressCountryRegion2 where
                    logisticsAddressCountryRegion2.CountryRegionId == LogisticsPostalAddress::findByLocation(dirPartyTable.PrimaryAddressLocation).CountryRegionId;
                if(logisticsAddressCountryRegion2.CountryRegionId != logisticsAddressCountryRegion.CountryRegionId && pLine.Revenue_code_KZ == "")
                {
                    PurchLine_Revenue_code_KZ.mandatory(true); 
                }
            }
    //}
Вот здесь закомментирована проверка if(element.args().record().getTableType() == typeOf(PurchTable))
выдает ошибку: Неправильные типы аргументов операции сравнения.
На сколько я понимаю, такую проверку делать необходимо. Как мне проверить что сюда в аргументе заходит строка именно с таблицы PurchTable?
Старый 28.04.2016, 12:57   #2  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
.getTableType() -> .TableId
typeof() -> tablenum()
и будет счастие
__________________
Мы летаем, кружимся, нагоняем ужасы ...
Старый 28.04.2016, 14:56   #3  
Skolos is offline
Skolos
Участник
 
56 / 13 (1) ++
Регистрация: 06.01.2016
Спасибо)
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Неправильный тип аргумента функции преобразования S.Kuskov DAX: Программирование 3 07.02.2020 10:49
Проверка существования email-адреса в Active Directory через ADSI gl00mie DAX: Программирование 0 13.01.2012 15:19
Проверка ВР не заглядывает внутрь расширенных типов-массивов glibs DAX: Программирование 0 26.01.2010 20:16
Проверка целостности coja DAX: Администрирование 6 06.09.2006 13:14
Проверка цикличности в спецификации vey DAX: Функционал 2 24.03.2005 11:03
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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