How to duplicate lines in a form

As we start finally to directly exploit Tryton for sales quotations and purchases as opposed to only registering the manual [paper] forms, the new ‘technical’ users are complaining, naturally, about the slowness of client/server as opposed to local spreadsheet or document creating.

OK, the user experience expectations needs adjusting, but they do have comments that are worthy of a feature request, or better, to understand how to do the operation if already possible but not yet discovered how.

So, to start, we very frequently quote and order many variants at a time, so copy/paste of lines is a daily operation. Adding a new line is quite expensive time wise.

In a sales or purchase, we can’t seem to find the means to duplicate lines.
In an open form, <ctrl><shift>D duplicates the whole document, not the line(s) selected.

Is there already a means to duplicate lines in a form?
If not, consider this an urgent feature request to add this useful functionality.

No, there isn’t.

We have found this requirement only once, we solved by adding a button on sale line list called Duplicate that makes a SaleLine.copy([line],{}), that way with the parameters we can control which fields of the original want to copy on the target.

I do not think this is a frequent-needed feature, as most of the time if the line is the same, you can simply double the quantity on the line instead of duplicating it.

Thanks, sound like a good tip to create a shortcut.

BTW, at least in our industry (construction) variants are the rule and not the exception, and both sales and purchases group the orders rather naturally by variant… which is why this is extremely handy.

Two thoughts:

  1. For the intuitive case, it would seem that <ctrl><shift>D should duplicate the lines selected
    That is, perhaps the current behaviour of duplicating the current entry [of the form] is somewhat
    perturbing.
  2. There also seems to be missing the popup when ‘right’ clicking the line, an alternative place for this type of action.