Дата изменения цены товара, если она была не заполнена, теперь берётся из поля 'write_date'. Запись в историю вынесена в отдельную функцию. При добавлении продукта нулевое значение цены не заносится. Предварительное округление цены из поля, что бы не было путаницы.