ERPNext Foundation ERPNext Cloud User Manual Blog Discuss Frappé* Donate

Retrieve Packing Slip's Items information From Delivery Note Print Format


#1

Greetings,

I want to create a Report (Print Format) from Delivery Notes that shows all the Packing Slips and their Items in one report, I’m close to do it but after some essay & error, I got stock pulling the Packing Slips Items Info because they always return blank. Here is where I’m going so far:

{%set slips = frappe.get_list("Packing Slip", filters={ 'delivery_note': doc.name}) %}
{{ slips }} // This returns [{'name': u'PS0000013'}, {'name': u'PS0000012'}, {'name': u'PS0000011'}]
{% set slip = frappe.get_doc("Packing Slip", slips[0]['name']) %}
{{ slip.__dict__ }}  // This returns {  'name': u'PS0000013',.... } //PS info
{{ slip.get('items') }} //This returns []
{{ slip.items }} //This returns []

I’m sure the PS I’m using has items associated.

I made this code from different topics, the most helpful was #10064ttps://discuss.erpnext.com/t/fetch-child-table-values-in-server-script/10064).

I think I’m missing something but can’t figure it out, can anyone help me?

I’m using ERPNext V6


#2

Do you get any values back in slips?


#3

Hi Kanchan
Looks like he is not getting any results, can you please advise why it would not return anything back?
Thanks


#4

Yes @Kanchan,

In slips are the three Slips ID, if not, would gave me OutOfRangeError or something,

Do you see any other flaw?

Thanks

Edit: The main post was edited adding more information on variable’s information.


#5

After this try:
{{slip.name}}
{{slip.(some other PS field)}}

See what does it return.


#6

Hi @RafaAguilar

Try below code

{%- for row in slip.items -%}
	{{row.item_code}}	
{%- endfor -%}

Thanks


#7

Hi @rohit_w,

That worked as you said, can I ask you two doubts?:

  • is Items some kind of @property ?
  • Why use dash in {%- ... -%} ?

Thanks a lot pal, and thanks a lot to @KanchanChauhan too!


#8

That is jinja template. - is used to remove whitespaces

The method items() returns a list of dict’s (key, value) tuple pairs


#9

Yes, but items it’s not being called as a method, it’s called as a property for the missing parenthesis, or isn’t?


#10

Hello @rohit_w is there an updated code for this in v11 because i cant get the code above to work. I followed exact code but it doesnt work :frowning: Please help. Thanks!


#11

Hi @rohit_w @KanchanChauhan
I want to get specific Sales Invoice and loop the items under it.

I used this code

{% var test = frappe.get_doc("Sales Invoice", "SI-2019-00001") %}
{{test}}

But nothing happens and I think variable test has the value of null. Any idea please?

I used var instead of set because set returns an error