powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как избежать циклической ссылки?
6 сообщений из 6, страница 1 из 1
Как избежать циклической ссылки?
    #39836627
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Нужно в зависимости от стажа применить коэф, но для условия в выражении нужна сумма этого же поля.

Есть поле "Отпускные" там вводится определенная сумма, в запросе есть вычисляемое поле которое высчитывает сколько получилось оплаченных дней. И надо вставить вычисляемое поле с выражением

ОплаченоДн: [Отпускные]/IIf([Sum-ОплДн]>150;IIf(DateDiff("d";[ДатаПриема];Now())+1>3650;[Оклад]/30*2;IIf(DateDiff("d";[ДатаПриема];Now())+1>1825;[Оклад]/30*1,5;[Оклад]/30));Оклад]/30

Если сумма оплаченных дней превышает 150 (5 отпусков по 30 дн) и 10 лет стажа (3650 дней), то при выплате отпускных применяется коэф 2; Если 5 лет стажа (1825 дн) - коэф 1,5.

Вот здесь и не могу применить суммирующее значение для условия, так как это получается циклическая ссылка. Думал может как-то копировать из вычисляемого поля результат в поле таблицы, но по этой теме в форуме пишут, что это не есть хорошо..

Подскажите, пж, варианты решения. Прикладываю упрощенный пример.
...
Рейтинг: 0 / 0
Как избежать циклической ссылки?
    #39836753
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga,
поясните что такое,в Вашем понимании,оплачиваемые дни-ведь продолжительность отпуска=оплачиваемым дням.Другое дело она может исчисляться в календарных или рабочих днях и эти данные нужны(должны храниться в базе). Уточните этот момент.
...
Рейтинг: 0 / 0
Как избежать циклической ссылки?
    #39836809
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,

На фирме не придерживаемся строгого регламента начисления отпускных. Не учитываем отпускной стаж, как принято у отдела кадров по ТК, можем выдать отпускные наперед, в счет будущего отпуска, можем недодать временно, из-за отсутствия ликвидности, например. Дни отпуска 30 календарных дней. Кол-во дней отпуска высчитываются разницей дат+1 день в поле таблицы.
Процедура такая: По заявлению в форму вносятся даты, автоматом выходит сколько дней отпуска. Так же в вычисляемом поле появляется сумма к оплате, но так как оплата зависит от стажа, то надо сделать начисляемую сумму зависимой от него. Здесь я и применяю коэф-ты.

Прилагаю схему БД
...
Рейтинг: 0 / 0
Как избежать циклической ссылки?
    #39836814
Фотография kniga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и если точнее, то в зависимости не от самого стажа, а от кол-ва оплаченных отпускных дней эквивалентным 5 или 10 лет стажа. Это потому что у нас бывает, что по сроку стаж для начисления с коэф наступил, а отгуляно отпуска и соответственно получено отпускных меньше.
...
Рейтинг: 0 / 0
Как избежать циклической ссылки?
    #39837066
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если еще актуально:
Вместо Sum-ОплДн подствьте выражение формирующее это поле:
Код: vbnet
1.
2.
[Отпускные]/IIf([Sum-ОплДн]>150....
 [Отпускные]/IIf(Sum(оплДн)>150....

(Для создания выражения,возможно,придется использовать Dsum. Как я понимаю, нужен отбор по конкретному сотруднику)
...
Рейтинг: 0 / 0
Как избежать циклической ссылки?
    #39837068
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kniga...что по сроку стаж для начисления с коэф наступил, а отгуляно отпуска и соответственно получено отпускных меньше. А если сотрудник герой труда и за 10 лет работы ни разу не брал отпуск и отпускные не получал(мало-ли по каким причинам)?-не справедливо,однако.
Строить базу (да и основывать систему выплат) на основании размера предыдущих выплат есть,в данном случае, по-моему,не ICE
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как избежать циклической ссылки?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]