Having dificulties to call a doctype

as you can see below, this is my code witch works

Contacto:
{% set c = frappe.get_doc("Customer", doc.customer) %}
{{c.contacto or "" }}
    </div>

but when i try to call another doctype like Journal entry account it says doctype not found

Contacto:
{% set c = frappe.get_doc("Journal Entry Account", doc.Journal_Entry_Account) %}
{{c.contacto or "" }}
    </div>

the code above is the one witch does not work.
help please

@Dany_Carvalheiro

I assume you are trying to execute the code on Customer form, which does not have any field named Journal Entry Account. Since there is no link field that stores Journal entry on customer form.

In case you are trying to do code on Journal Entry Account then, you can get party based on party_type as ā€˜Customerā€™ which in turn gives the contact for that particular customer.

@Dany_Carvalheiro i understand what you want, but for you to make sure you use it right you better use the customize form to know the exact command to use inside of the jinja template//

you can see all commands for all forms (almost) in here:
http://domain.domain/desk#Form/Customize%20Form/Customize%20Form

hi, the customer form was a example. what i really want is to take a value in Journal entry where i have journal entry account,

sorry, but i canā€™t reach the link you gave me

http://domain.domain/desk#Form/Customize%20Form/Customize%20Form2

@Dany_Carvalheiro change domain.domain to your domain nameā€¦

or go to setup > setup > Printing > Customize >Customize Form

yes, there i found the form of doctypes, but my isue is to call a value from jounarl entry account doctype, to a print format for doctype journal entry

@Dany_Carvalheiro you want to use the entry in the journal doc type right?
you can call it using jinja template (example {{doc.company}} )

if you want the field from another doctype you can call it by adding a link in the journal doctype.

if you dont understand please tell me exactly what you want to do and i will try to helpā€¦

,

this is the problem
the code on custom print is this:
{% set f = frappe.get_doc(ā€œJournal Entry Accountā€, doc.journal_entry_account) %}

{{f.invoice or ā€œā€ }}

@Dany_Carvalheiro there is no entry called invoice in journal entry, what do you want to do exactly ?

Uploading image.pngā€¦ Uploading image.pngā€¦

Sorry having some problems in uploading using iPad
@Administrator can you please check the issue on iPad


yes i create that in my form
even if i call this below the error consiste

{% set f = frappe.get_doc(ā€œJournal Entry Accountā€, doc.journal_entry_account) %}

{{f.reference_name or ā€œā€ }}

i think i am writing something wrong when i call the doctype but i canā€™t find it

Can you show a screenshot of your doctype with the custom fields? The same as @ramielian posted.

@Dany_Carvalheiro you mean this is your custom field that you made?

if you make new custom fields it will be applicable on new documents only, so you have to cancel the document and make new one in order to show itā€¦

also you need to make sure it is working; what did you use to get the invoice field?

Itā€™s not a good idea to have this kind of code in a view or view template: instead you should get the object in the related controller file (.py) and pass it to the view using context object; e.g.


Controller code

def get_context(context):
    # code to get current object
    doc = get_my_doc()

    # check look-up value
    print doc.journal_entry_account

    # get object and print to console
    context.journal = frappe.get_doc("Journal Entry Account", doc.journal_entry_account)
    print context.journal

Template code

{{ context.journal.reference_name if context.journal }}

this way you can debug easily your code in the console, instead of expecting results/errors in browser window.

1 Like


there is my form

ok forget about the custom field i create,
if i want to print in my customize print witch is receipt and i want to print the invoice number in this receipt how coul i get it?

yes, thank you, but i dont know how to use the console.

@Dany_Carvalheiro I think I know what you need but it shouldnā€™t be made in custom field at all because itā€™s already thereā€¦

Use the reference type to know whatā€™s the reference and then make an if command to say {% if doc.reference_type = sales invoice%} {{doc.reference name}} {% endif %} ( I think there is an alternative to the equal signā€¦

If you want the invoice information use this also

{% set in = frappe.get_doc(ā€œInvoiceā€, doc.reference_name) %}
{{in.name or ā€œā€ }} or what ever you need from the invoiceā€¦