ПИШУ БД - получение в счёте цены на товар из справочника

Статус
Новые ответы в этой теме размещать нельзя.

Рустам

Продвинутый
#1
Вроде первые шаги освоил.
Добрался до цены - возник вопрос.

1. У меня со временем цена может меняться.
Вопрос - поменяется ли она в связанных полях тоже, при изменении,
или останется такой, какой она была в момент ввода.
(КАСКАДНОЕ ОБНОВЛЕНИЕ ДАННЫХ).

2. Есть ли возможность установить это опционально или снять?

Теперь скриншот

3. Цена будет ставиться автоматом из справочника товаров.
Вопрос - а могу я ее исправить вручную?
Вопрос - а она изменится в связанном справочнике товаров или нет?
 

Вложения

Vladimir

Администратор
Команда форума
#2
Если для числового поля установлено копирование значения из объекта, на который имеется ссылка в данном объекте, то получение данных из объекта-источника происходит только в момент изменения ссылки на объект: при выборе значения / при изменении / при удалении. Скопированное значение можно менять, но если произойдёт изменение ссылки на запись объекта, то данные опять будут получены из источника и старое значение будет заменено на новое.
Такой принцип заложен для того, что если запись текущего объекта открывается на изменение, или значение в записи объекта-источника было изменено, то полученное/изменённое значение в текущем объекте само по себе не изменится. Т.е. история операции не нарушится даже при случайном открытии записи на изменение (до момента изменения ссылки на объект или ручного изменения).
Так как производится только копирование значения, в самом объекте-источнике данные никак не меняются. Т.е. связи между полями при установке условия копирования данных - не возникает.

Можно использовать поле ссылки на поле объекта. Но это крайне нежелательно, так как такое поле содержит не значение, а лишь ссылку на значение в другом объекте. И при изменении значения в источнике - результат вычисления в текущем объекте будет ошибочным.
Поле ссылки вообще надо использовать лишь как информативное.
 
Последнее редактирование:

Рустам

Продвинутый
#3
"но если произойдёт изменение ссылки на запись объекта, то данные опять будут получены из источника и старое значение будет заменено на новое"

Я правильно понимаю, что если объект (таблица) назывался "Цены" и содержал в себе массив цен, то, переименовав его на "Цена", все значения в ранее сделанных записях изменятся на те, что в таблице "Цена"?
 
Последнее редактирование модератором:

Vladimir

Администратор
Команда форума
#4
Нет, от изменения названия объектов/полей/форм и прочего - ничего не меняется и не зависит.
Имелось в виду, что перевыбор значения для поля ссылки на объект вызывает повторное получение для поля, получающего копию значения другого поля из этого объекта. Например для счёта выбирается товар, который стоит 10 руб. - в поле с копией цены устанавливается значение 10. Перевыбирается товар стоимостью 20 руб. - поле с копией принимает значение 20.
 
Последнее редактирование:

Рустам

Продвинутый
#5
Все равно не понял.
Имеется в виду, что я зашел в Цены и изменил цену какого-либо товара?
Например, с 10 на 20?
Или я удалил товар и заново его же выбрал?
 
Последнее редактирование модератором:

Vladimir

Администратор
Команда форума
#6
Если меняется стоимость в объекте товаров, то на установленную цену в счёте это уже никак не влияет. При установке цены в счёте производилось именно копирование значения из объекта товаров. Связи с источником никакой не устанавливается.
 
Статус
Новые ответы в этой теме размещать нельзя.