Показать сообщение отдельно
Старый 10.04.2017, 04:25   #238  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
699 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
D365O 1611
X++:
driverLog = TMSDriverLog::find(appt.ApptId, true);
driverLog.ActualStartUTCDateTime = DateTimeUtil::utcNow();
driverLog.updateDates();
driverLog.update();
Зачем проверять что файнд что-то вернул ? Лучше покажем пользователю что запись никогда не была выбрана

И второй момент, на демо данных у LoadId и TMSApptId одна и та же номерная серия, поэтому вводя аппоинтмент АХ всегда находит сушествующий лоад который никакого отношения к делу не имееет, хотя хотелось бы аппоинтмент

X++:
case #CheckInOutId:
                if (mode == WHSWorkExecuteMode::DriverCheckIn || mode == WHSWorkExecuteMode::DriverCheckOut)
                {
                    if (WHSLoadTable::exist(_data))
                    {
                        fieldValues.insert(#CheckInOutId, _data);
                        fieldValues.insert(#LoadId, _data);
                    }
                    else if (WHSShipmentTable::exist(_data))
                    {
                        fieldValues.insert(#CheckInOutId, _data);
                        fieldValues.insert(#LoadId, WHSShipmentTable::find(_data).LoadId);
                    }
                    else if (TMSAppointment::exist(_data) && TMSAppointment::find(_data).ApptRefType == TMSApptRefType::Load)
                    {
                        fieldValues.insert(#CheckInOutId, _data);
                        fieldValues.insert(#LoadId, TMSAppointment::find(_data).ApptRefNum);
                    }
                    else
                    {
                        errorMessage = "@WAX1081";
                        hasError = true;
                        break;
                    }
                    
                    if (WHSLoadTable::exist(fieldValues.lookup(#LoadId)))
                    {
                        hasError = this.validateLoadIdCheckOut(fieldValues.lookup(#LoadId));
                    }
                    else
                    {
                        errorMessage = "@WAX3626";
                        hasError = true;
                    }
                }
                break;

Последний раз редактировалось skuull; 10.04.2017 в 04:35.