public void parcelPayment(Registration registration, String accountId, int parcelId, float ticket, float mora, float discount, float payValue, GDDate payDate, TypeOfPayment paymentType, Money receivedValue) {
try {
//O id do pagamento da parcela, hard coded
String parcelPaymenBillPlanCategory = "1.1.3";
Parcel parcel = (Parcel) system.executeAndQuery(new ParcelPayment(system.getLogged(), registration.getIdRegistration(), parcelId, ticket, mora, discount, payValue, payDate.getCalendar(), paymentType, receivedValue.getFloatValue()));
String desc = (parcel.isRegistrationTax() ? "Taxa da matr�cula de " : "Mensalidade de ");
// if(paymentType instanceof PaymentBankAccountPayed){
// String accountId = ((PaymentBankAccountPayed)paymentType).getAccountId();
Operation operation = (Operation) system.executeAndQuery(new AddAndReturnOperation(accountId, parcelPaymenBillPlanCategory, payDate, desc + registration.getStudent().getName(), payValue, parcel, receivedValue.getFloatValue(), registration.getIdRegistration(), parcelId));
system.execute(new AccountAmountControl(accountId, payValue, 0));