2015-05-22 4 views
0

Я пытаюсь оценить пару вещей. Я вставляю код из первого родительского оператора if и вложенного if/else. По какой-то причине, когда условие выполняется для родителя, он всегда использует вложенный, если вместо перехода к else. Даже если он не соответствует критериям if, он все еще выполняет эту часть кода.Вложенный, если не работает,

var setmeow = new Date(); 
var meow = nlapiDateToString(setmeow); 
if(!Result[i].getValue('custcol_ram_billing_end_date')){ 
    var edpb = Result[i].getValue('custcolram_last_rental_billed') 
    if(edpb != null || edpb != ' ') {      
     var daysbetwenced = days_between(nlapiStringToDate(Result[i].getValue('custcol_ram_billing_start_date')), setmeow); 
     record.setCurrentLineItemValue('item', 'quantity', daysbetwenced+1); 
     //record.setCurrentLineItemValue('item', 'custcol_ram_billing_start_date', Result[i].getValue('custcol_ram_billing_start_date')); 
     record.setCurrentLineItemValue('item', 'custcol_ram_billing_end_date', meow); 
     record.setCurrentLineItemValue('item', 'custcolram_last_rental_billed', meow); 
    } else { 
     var daysbetweennoend = days_between(nlapiStringToDate(Result[i].getValue('custcolram_last_rental_billed')), setmeow); 
     record.setCurrentLineItemValue('item', 'quantity', daysbetweennoend+1); 
     record.setCurrentLineItemValue('item', 'custcol_ram_billing_start_date', Result[i].getValue('custcolram_last_rental_billed')); 
     record.setCurrentLineItemValue('item', 'custcol_ram_billing_end_date', meow); 
     record.setCurrentLineItemValue('item', 'custcolram_last_rental_billed', meow); 
    } 
} 
+0

я думаю, что вам нужно '&&' вместо '' ||. –

+0

Вы проверили значение переменной edpb? Распечатайте его в консоли и посмотрите, что это за значение. –

ответ

1

Имея в виду, что || является логическим ИЛИ оператор (добрейшей из),

if(edpb != null || edpb != ' ') 

Независимо edpb, оно будет всегда быть не равна null или не равно ' '. То есть, это будет либо не null, либо ' ', иначе он будет одним из них, а не другим.

Может быть то, что вы действительно хотите, чтобы выполнить if часть, если edpb не либо null или ' ', который был бы:

if (edpb != null && edpb != ' ') 
Смежные вопросы