For instance, I wanted to block the use of write-in products. There is no security setting to use for this, so what you can do is write protect or hide the write-in product switch in the order view (and in quote and opportunity).
However, there is also a menu item for write-in products and it can't be disabled (as far as I know). So, by first, disabling appmode in web.config (should always be used when developing/customizing) and then accessing the orderform with the direct url: /SFA/salesorder/edit.aspx">http://
Then in the onLoad event of Order, you just add the following:
navWriteInProducts.style.display = "none";
which simply removes the item from the menu when loading an order.
This is a simple way to modify items in CRM as long as they have an ID. It is quite common that customers want things to be hidden and defaulted, and this can't be done for some parts of CRM using normal customization. This method doesn't require any coding and will work.