purchase/sale ModifyHeader doesn't digest non 'line' type lines
Modifying a header in a purchase or sale having non 'line' type lines causes an exception such as
Une valeur est requise pour le champ « Quantité » sur « (125) » de « Ligne de vente ».
transition_modify() always calls on_change_product() for all lines https://foss.heptapod.net/tryton/tryton/-/blob/branch/default/modules/sale/sale.py#L2283
and on_change_product() forces to type 'line' without any remorse.
easy to reproduce on demo with a single line of type, for example, 'title'.