Rev 586938 is what you need.

[EMAIL PROTECTED] wrote:

Jacopo

Tried the create a store credit thing and got this error:



The Following Errors Occurred:

Unknown parameter found: [createTrackingCodeOrderReturns.hasPermission]

Unknown parameter found: [createTrackingCodeOrderReturns.responseMessage]



when I clicked "Accept Return"

What I did was:

1.  Click "Order" tab, then check "Completed" and click submit.

2.  Picked an existing completed order on DemoCustCust for one WG-1111

3.  Clicked "Create Return" button 2/3rds down  toward the right side.

4.  Selected "Store Credit" from the drop down list for the item and two tax
entries (0.00 each for the tax entries) then clicked "return selected
items".

5.  Checked the "Select All" box and clicked "Return Items"

6.  Clicked the "Accept Return" button.


Here is the relevant part of the stack trace:

2007-10-25 08:46:43,361 (http-0.0.0.0-8443-Processor2) [
ModelService.java:484:ERROR] [ModelService.validate] :
{createTrackingCodeOrderReturns} : (IN) Required test error:
org.ofbiz.service.ServiceValidationException: Unknown parameter found:
[createTrackingCodeOrderReturns.hasPermission]Unknown parameter found:
[createTrackingCodeOrderReturns.responseMessage]
2007-10-25 08:46:43,371 (http-0.0.0.0-8443-Processor2) [
ServiceDispatcher.java:355:ERROR]
---- exception
report ----------------------------------------------------------
Incoming context (in runSync : createTrackingCodeOrderReturns) does not
match expected requirements
Exception: org.ofbiz.service.ServiceValidationException
Message: Unknown parameter found:
[createTrackingCodeOrderReturns.hasPermission]Unknown parameter found:
[createTrackingCodeOrderReturns.responseMessage]
---- stack
trace ---------------------------------------------------------------
org.ofbiz.service.ServiceValidationException: Unknown parameter found:
[createTrackingCodeOrderReturns.hasPermission]Unknown parameter found:
[createTrackingCodeOrderReturns.responseMessage]
org.ofbiz.service.ModelService.validate(ModelService.java:552)

-----Original Message-----
From: Jacopo Cappellato [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 25, 2007 1:54 AM
To: user@ofbiz.apache.org
Subject: Re: captureBillingAccountPayments


[EMAIL PROTECTED] wrote:

Jacopo

Makes perfect sense, in fact, its the almost perfect solution to my second
question.  Lets say you sold 4 items on 4 days on 4 invoices.  The

customer

pays for all 4 invoices.  Then, a week later, item 2 breaks and he sends

it

back for a credit.  The following week, he buys something else.  Is there
some way for the credit to show up on the in sales order payment options?
Could the same logic be used?



Yes,

the business logic is the following one (correct me if I am wrong):

1) a customer return is created for 2 items
2) you should select as the return type: "store credit" this will store
  (as a PaymentApplication) the credit to a billing account associated
to the customer
3) the new amount will increase the available balance of the billing
account (that can be used during order entry)
This should work, but if you see something wrong please let us know.

Jacopo




Skip


-----Original Message-----
From: Jacopo Cappellato [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 25, 2007 1:23 AM
To: user@ofbiz.apache.org
Subject: Re: captureBillingAccountPayments


[EMAIL PROTECTED] wrote:

I am having a discussion with Si about billing accounts.  For me,
captureBillingAccountPayments works and the deprecated
captureBillingAccountPayment does not.

However, captureBillingAccountPayments essentially does nothing (which it
the right thing to do in this case).

My question is, what was the intent of the logic after the


           if (UtilValidate.isNotEmpty(paymentApplications)) {

which for me is always empty and never gets executed.

Can the author comment?  Is there some case where this will contain
paymentApplications?

Skip

Let's say you get a billing account and two not paid invoices associated
to it, one for 30$ and one for 50$.
You get a payment from your customer for 70$; you associate the whole
payment to the billing account: this will create a PaymentApplication
record with billingAccountId set, and a null invoiceId.
Then, if you go to the billing account's invoices screen and you click
on the "capture payments" link near to the 30$ invoice, then the
captureBillingAccountPayments service will be called -> the
PaymentApplication with null invoiceId (i.e. still not applied) is found
--> if (UtilValidate.isNotEmpty(paymentApplications)) is true -->
a new PaymentApplication is created for 30$ and applied to the invoice;
the original PaymentApplication is updated and the new 'available'
amount is 40$ (i.e. 70-30=40); we can now do the same with the otther
invoice...
At the end the first invoice will be PAID and the second PARTIALLY PAID.

Does it make sense?

Jacopo







Reply via email to