Показать сообщение отдельно
Старый 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?