powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / помогите
5 сообщений из 5, страница 1 из 1
помогите
    #36041556
Liosha_nove4ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
парни, не судите строго, я не профи только учусь, мне дали на работе разобратся с пенсионым фондом(6%),для некоторых работников удерживается то больше - то меньше 6%, что не соответствует законодательству. sum8 это поле с начисленой сумой, sch105 - 6% от суммы, помогите разобратся где это происходит, пологаю что это в этой проге(прога прилагается)
...
Рейтинг: 0 / 0
помогите
    #36041674
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Епт, у нас похожее было, когда я тока на работу пришёл (и сейчас ещё осталось местами). Какие-то глобалы ХЗ откуда имеющиеся (fal,p_idx), совершенно невнятные названия переменных (причём это повсюду, а не где-то в отдельных местах) - сочувствую.
Код: plaintext
1.
2.
3.
4.
5.
6.
Store  1  To i3
Scan For Cod <  100 
  If B7 =  1 
    mas3[i3, 1 ] = Cod
    i3 = i3 +  1 
  Endif
Endscan
В массив берутся только те коды меньше 100, у которых таинственное "B7" (ненавижу!) равно 1.
Код: plaintext
Use &fal Index p_idx+"FIDX"
Что за база и индекс - ХЗ, глобалы откуда-то "сверху"
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
***  пенсионный фонд
Scan
  Store  0  To per
  For jj =  1  To k3
    pers = "Sch"+Alltrim(Str(mas3[jj, 1 ], 2 ))
    per  = per + &pers
  Endfor
  Replace Sum8 With per, Sch105 With Int(per)/ 100 
Endscan
Берём поле с названием "sch+<код, записанный в массиве>". Какие коды берутся в массив - см. выше. Пробегаем весь массив, получаем сумму этих schNNNN-полей. Запихиваем эту сумму в sum8, а в sch105 пишем одну(!) сотую от неё, т.е. int(per)/100.

Во-первых, если sum8 это поле с начисленой сумой, sch105 - 6% от суммы, то оператор
Код: plaintext
Replace Sum8 With per, Sch105 With Int(per)/ 100 
должен давать 1 процент, а не 6?
Во-вторых, я так понимаю, есть код, а есть его св-во. Св-во "B7" означает, что этот код надо учитывать в пенсионных начислениях. Нет ли в базе записей с неправильными сочетаниями полей Cod и B7 (а то может ещё и с начислениями бяка)?
...
Рейтинг: 0 / 0
помогите
    #36046068
Liosha_nove4ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

в проге есть форма с настройками где юзер сам ставит нужный процент, для пенсионого фонда 6.00% наверное поэтому авторSch105 With Int(per)/100, если не сложно разяснить мне эту прогу, мне кажется что это более похоже на правду
...
Рейтинг: 0 / 0
помогите
    #36046816
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Liosha_nove4ok,
Не знаю куда и что юзер пишет, но вот это
Код: plaintext
Replace Sum8 With per, Sch105 With Int(per)/ 100 
запишет Ыкс в Sum8 и Ыкс/100 (с "округлением" до сотых) в Sch105. Никаких шести процентов там и в помине нет. Посмотрите, может, где-то ещё Sch105 изменяется?
По программе:
... in da scan
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
nomer=nomer+ 1 
med1 = psum / nomer
if med1 > ogr
  pens1 = sogr * nomer - pens2
else
  pens1 = psum * ppr - pens2
endif
pens2 = pens2 + pens1
pensf = pensf + sch105
replace Sum8 with psum8, Sch105 with pens2-pensf
Типа так: в цикле (по каждому человеку с начала года до какого-то месяца, если я правильно понял это нагромождение) в pens2 суммируются pens1(посчитанные с каким-то ограничением), в pensf суммируются sch105 (вроде они и относятся к пенсионному?). Потом одно из другого вычитается, и результат снова пишется в sch105.
Логика сего процесса от меня ускользает, впрочем, не от балды ведь программа писана - разбирайтесь, как оно "в жизни" должно рассчитываться.
...
Рейтинг: 0 / 0
помогите
    #36046967
Liosha_nove4ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

спасибо, буду дальше мучеть фокс а он меня
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / помогите
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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