ERPNext Conference 2019* ERPNext.com Blog

Child Table Column arrangement / order

customize_form

#1

For child table in Sales Order (The Sales Order Item DocType) I want to arrange the order in which columns are shown.

I am able to add fields to the display using
Setup->Customize->Custom Field->Select Document->Sales Order Item->
Select field to be displayed.
For that item, check “In List View” and column width >0
As explained by @rmehta in this post https://discuss.erpnext.com/t/columns-shown-in-child-table/5736/2

However, my issue is with displaying the fields in a specific order for ease of data entry.
Currently, my Sales Order Child Table displays:
| Row Number | Item Code | Description | Quantity | Rate | Amount |

I would like for it to display the same information but like this:
| Row Number | Quantity | Item Code | Description | Rate | Amount |

I have tried re-entering the data for existing fields, but clearly I cannot delete standard fields. How else can I “sort” the fields in the Customize Form dialog so that the Child Table displays as proposed above?


#2

Use “Customize form” to add fields in the order you want in that list. You can add fields above or below ANY other field in that list. You can also hide standard fields if they are not useful to you.

AFAIK you cannot reorder standard fields as they display on the form, but you CAN reorder fields, including child table fields with a custom print format. A custom print format will display them any way you want for printing only.


#3

Thanks @Dbone, my intention is to reorder the field displayed on screen and not the Custom Print Format Fields


#4

Please post it if you find a way. I have not found one yet.


#5

@Tropicalrambler building your own HTML format in Jinja is the best way to customize Print Format


#6

Yes, for Print that is understandable, however my wish is to modify the item grid in the screen display, for entering data.

My staff have requested it follow the print formats we’ve used in the past, and given ERPNxt amazing customization properties, I figured it would be a great addition.

Thanks for the prompt reply.


#7

Hi! Did you get an answer to this? I have the same requirement to re-order the child form and also not show some of the items without making the Hidden in the doctype.


#8

I need this too, especially in the light of me learning that you can paste to tables from excel since recently :slight_smile: - this makes column order and number of columns VERY important.


#9

Hi, the answer is not here! I was able to solve it, but I cannot remember in my memory. There is a way you can customize it in the JS if I recall. I also remember moving fields up or down for child table and activating or deactivating “in grid view” for the fields.

Futurama-Fry

Will keep it in mind as I develop this week and will let you know when the answer pops back up.


#10

Thanks. Keep us posted if anything pops up. IMO this isn’t a thing that should require hacking around. This really should be in the base.


#11

1: Go to Setup > Customize DocType
2. Select the DocType for the child table elements not the parent DocType!. So if you want to change sales invoice, you need to modify Sales Invoice Item, not Sales Invoice.
3. Each row in the Child Table DocType which has the checkbox: “In Grid View” selected, will appear in the child table. Thus to change the look of the columns displayed in the parent doctype, you must
a: Change the row order to your desired column order
b: select or deselect “In Grid View”
4. Save and you have solved your problem.

I think there is an option to specify the width shown in grid view, but don’t recall it right now. This should be sufficient for your needs.


#12

Standard rows can’t be moved nor modified. Besides this would trash the popup table to edit the item itself, if for example I would want to move some row with number 65 to row 3, which would take some warehouse related field to invoice information.


#13

Weird, my production instance allows me to do that! (without developer mode enabled.)

So sorry if this didn’t help

[EDIT]
While finding this issue again, I just realized we are discussing different things.
My goal is to modify the column order for Child Table.
If you modify the DocType in a production server, it will not allow you to change the Grid View (unless developer mode is set)
If you open the form, such as Journal Entry or Invoice, then click on Menu > Customize Form
Select the child table version. For Journal Entry, you should customize: Journal Entry Account
For Sales Invoice, you should customize Sales Invoice Item.

Once there remove from List View. This will take it from grid view, (but also from grid view.)