This
Best Practice Approach
Odoo lets you control the visibility of the "Create" button by setting the context in the action with the flag:
'context': {'hide_create_button': True}
Then, in the XML view, you check that context and hide the button accordingly.
Step 1: Inherit the "Sales Orders" action and set the context
<odoo>
    <record id="action_orders_hide_create" model="ir.actions.act_window">
        <field name="name">Sales Orders (No Create)</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">sale.order</field>
        <field name="view_mode">tree,form</field>
        <field name="domain">[('state', 'not in', ('draft',))]</field>
        <field name="context">{'hide_create_button': True}</field>
    </record>
    <!-- Override menu to point to the new action -->
    <menuitem id="sale.menu_sale_order" action="action_orders_hide_create"/>
</odoo>
This keeps "Quotations" untouched (default behavior), and applies the modified context only in the Sales Orders view.
Step 2: Inherit the tree/form view and hide the "Create" button based on context
<record id="view_order_tree_inherit_hide_create" model="ir.ui.view">
    <field name="name">sale.order.tree.hide.create</field>
    <field name="model">sale.order</field>
    <field name="inherit_id" ref="sale.view_order_tree"/>
    <field name="arch" type="xml">
        <xpath expr="//tree" position="attributes">
            <attribute name="create">not context.get('hide_create_button')</attribute>
        </xpath>
    </field>
</record>
You can repeat the same for the form view if needed, though usually the button only appears in the list.
i hope it is use full