О пользе копирования значений полей родительских объектов

Часто необходимо именно копировать значения из родителя, а не использовать их в формулах. Рассмотрим простейший пример с ценой продукта.

При расчете стоимости продажи можно брать скопированную цену продукта из карточки продажи,

а можно брать цену продукта прямо из справочника продуктов.

В чем разница? На первый взгляд разницы нет. Оба варианта одинаково правильно рассчитывают стоимость. Проблема может возникнуть тогда, когда изменится стоимость продукта и вам потом понадобиться изменить карточку продажи, например изменить количество. Но поскольку цена в справочнике уже другая, формула, которая берет цену продукта прямо из справочника продуктов пересчитает стоимость уже по новой цене! А формула, которая берет цену с карточки продажи, т.е. старую цену, рассчитает стоимость правильно.

Кстати, поле Цена на карточке продажи с правильной формулой изменится только тогда, когда вы выберите в поле Продукт тот же продукт.