|
Вычисляемое поле, ссылка на предыдущую ячейку
|
|||
---|---|---|---|
#18+
Есть поле с именем СОСТОИТ. Оно вычисляется по формуле СОСТОИТ_ПРЕДЫДУЩЕЕ + ПРИБЫЛО - УБЫЛО. Как сделать в формуле ссылку на предыдущую ячейку ? Форму менять крайне не желательно. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2019, 22:43 |
|
Вычисляемое поле, ссылка на предыдущую ячейку
|
|||
---|---|---|---|
#18+
leshqow, прямой ссылки вы не получите, это же не Ексель. Для определения текущей и предыдущих "ячеек" используйте сортировку по возрастанию по вашему ключевому полю, идентификацию записи по значению этого ключевого поля. Типа "текущее значение ключа минус 1". ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2019, 09:45 |
|
Вычисляемое поле, ссылка на предыдущую ячейку
|
|||
---|---|---|---|
#18+
leshqow Есть поле с именем СОСТОИТ. Оно вычисляется по формуле СОСТОИТ_ПРЕДЫДУЩЕЕ + ПРИБЫЛО - УБЫЛО. Как сделать в формуле ссылку на предыдущую ячейку ? Форму менять крайне не желательно. Код: plsql 1. 2. 3.
Если это одна таблица, то можно так: Код: plsql 1. 2.
ЗЫ. Странная у вас увязка конкретного поставщика с конкретным покупателем. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2019, 10:28 |
|
Вычисляемое поле, ссылка на предыдущую ячейку
|
|||
---|---|---|---|
#18+
Поле СОСТОИТ есть вычисляемое поле и я надеюсь в таблице его нет. Остаток же вычисляется несколько иначе СОСТОИТ=SUM(прибыло)-SUM(убыло) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2019, 12:06 |
|
Вычисляемое поле, ссылка на предыдущую ячейку
|
|||
---|---|---|---|
#18+
leshqow, Как БЭ дело имхо не в форме ... - По идее прибыло и убыло это (почти везде и у всех) собственно две разные таблицы... Остаток вычисляется как уже сказали sdku SUM(прибыло)-SUM(убыло) - У некоторых это одна таблица с графой Движение и признаком приход/расход (приход плюсуется, расход минусуется при расчетах) - Иногда еще дополнительно для ускорения текущих операций делают глобальный классификатор Остатков, в котором при каждой операции приход/расход происходит уточнение остатков позиции (и их в любой момент можно пересчитать при желании). Выбранная схема не выдерживает вообще никакой критики, ну допустим месяц назад кто-то ошибся в прибыло или убыло, да еще несколько раз и нужно исправить ? Не, дело то хозяйское... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2019, 13:03 |
|
Вычисляемое поле, ссылка на предыдущую ячейку
|
|||
---|---|---|---|
#18+
sdku Поле СОСТОИТ есть вычисляемое поле и я надеюсь в таблице его нет. Остаток же вычисляется несколько иначе СОСТОИТ=SUM(прибыло)-SUM(убыло) Поле состоит находится у меня в сущности ДВИЖЕНИЕ. Вы имеете ввиду убрать его из таблицы и оставить только на форме? В вашей формуле вычисления остатка нет значения предыдущего СОСТОИТ. Было 100кг чермета, привезли 50, увезли 20. По вашей формуле остаток будет 30 кг, а по факту то 130 кг. Tarasios прямой ссылки вы не получите, это же не Ексель. Для определения текущей и предыдущих "ячеек" используйте сортировку по возрастанию по вашему ключевому полю, идентификацию записи по значению этого ключевого поля. Типа "текущее значение ключа минус 1". =[Движение].[КодДвиж]-1 так я получаю значение счетчика предыдущей записи, а как в этой записи то значение поля Состоит добраться? vmag leshqow, Как БЭ дело имхо не в форме ... - По идее прибыло и убыло это (почти везде и у всех) собственно две разные таблицы... Остаток вычисляется как уже сказали - У некоторых это одна таблица с графой Движение и признаком приход/расход (приход плюсуется, расход минусуется при расчетах) - Иногда еще дополнительно для ускорения текущих операций делают глобальный классификатор Остатков, в котором при каждой операции приход/расход происходит уточнение остатков позиции (и их в любой момент можно пересчитать при желании). Две разные таблицы, так там тоже можно ошибиться, разве на скриншоте не максимально простая и эффективная карточка учета? Все вместе и приход и расход ? Опишите пожалуйста своё виденье, уважаемый vmag. Спасибо всем ! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2019, 15:03 |
|
Вычисляемое поле, ссылка на предыдущую ячейку
|
|||
---|---|---|---|
#18+
leshqow ....Было 100кг чермета, привезли 50, увезли 20. По вашей формуле остаток будет 30 кг, а по факту то 130 кг. (0+100+50)-20=130 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2019, 15:30 |
|
Вычисляемое поле, ссылка на предыдущую ячейку
|
|||
---|---|---|---|
#18+
leshqow Две разные таблицы, так там тоже можно ошибиться, ну и да, исправил ошибку и всё - при пересчете итоги выровняются автоматически... в вашем случае после исправления ошибки, нужно корректировать все записи следующие за корректируемой, ибо у вас каждая запись зависит от предыдущей... разница есть ? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2019, 16:08 |
|
Вычисляемое поле, ссылка на предыдущую ячейку
|
|||
---|---|---|---|
#18+
leshqow ...=[Движение].[КодДвиж]-1 так я получаю значение счетчика предыдущей записи К счетчику-коду нужно "прикасаться" крайне аккуратно,а лучше его вообще не трогать в подобных случаях(вычислениях чего-либо) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2019, 19:47 |
|
Вычисляемое поле, ссылка на предыдущую ячейку
|
|||
---|---|---|---|
#18+
sdku На момент начала работы БД на складе было 0 кг чермета,затем по акту инвентаризации, при начале использования БД(Иначе откуда взялась цифра 100 ) на складе имеется 100 кг чермета которые приходуются и попадают в [прибыло],а далее все идет как я сказал sum(прибыло)-sum(убыло): (0+100+50)-20=130 Понял. Только это остаток на текущий момент. Значение поля СОСТОИТ для каждой записи своё, т.е. идет нарастающим итогом, в этом вся загвоздка. В EXCEL оно бы вычислялось СОСТОИТ = СОСТОИТ_ПРЕДЫДУЩЕЕ + ПРИБЫЛО - УБЫЛО. vmag ну и да, исправил ошибку и всё - при пересчете итоги выровняются автоматически... в вашем случае после исправления ошибки, нужно корректировать все записи следующие за корректируемой, ибо у вас каждая запись зависит от предыдущей... разница есть ? Вы имеете ввиду 2 сущности, одна ДВИЖЕНИЕ_РАСХОД и ДВИЖЕНИЕ_ПРИХОД? В первом посте я прикрепил скрин, такая форма должна быть обязательна, с полем СОСТОИТ, которое идет нарастающим итогом. Разве это будет возможно по вашей схеме? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2019, 20:10 |
|
Вычисляемое поле, ссылка на предыдущую ячейку
|
|||
---|---|---|---|
#18+
leshqow ...=[Движение].[КодДвиж]-1 так я получаю значение счетчика предыдущей записи К счетчику-коду нужно "прикасаться" крайне аккуратно,а лучше его вообще не трогать в подобных случаях(вычислениях чего-либо) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2019, 21:08 |
|
Вычисляемое поле, ссылка на предыдущую ячейку
|
|||
---|---|---|---|
#18+
leshqow В EXCEL оно бы вычислялось СОСТОИТ = СОСТОИТ_ПРЕДЫДУЩЕЕ + ПРИБЫЛО - УБЫЛО. Ведь СОСТОИТ_ПРЕДЫДУЩЕЕ есть остаток на какой-то конкретный момент времени и то что Вам предлагается позволяет получить это значение на любую дату,внеся её в поле ввода (остаток нарастающим итогом при этом хранить нет никакой необходимости, хранение же этих данных кроме лишнего геморра не дает ничего. Внесение же находящегося на складе,при переходе на учет в БД, в поле "прибыло" есть разовая операция.) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2019, 14:34 |
|
|
start [/forum/topic.php?fid=45&fpage=24&tid=1610370]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 160ms |
0 / 0 |