Формирование интерфейса сопровождения перечисленных баз данных. Заполнение БД начислений и удержаний с использованием справочников, страница 21

      больше       (>)

      меньше       (<)

Например,"все работники типа ИТР и не уволенные":

otd = " 2".and.dtu="  .  .  "

или

otd = " 1".and.tr > 1000

Для заказа нужного фильтра пользователь использует наименования полей,

представленные для выбора в форме меню.Знаки  операций также

предоставляются  для выбора в форме меню.

Задание 3.Сформировать следующие выходные формы:

a)

-----------------------------------------------------------------------¬

¦                     С П Р А В О Ч Н И К   К А Д Р О В                ¦

+-----T------T-----T---T------T-----T-------T---T---T---T---T----T-----+

¦ТАБ. ¦Тип   ¦Долж ¦ФИО¦ДАТА  ¦КОЛ. ¦ДАТА   ¦ОК ¦ТА ¦РАЗ¦ПО ¦Член¦Дата ¦

¦НОМЕР¦раб-ка¦ность¦   ¦РОЖД-Я¦ДЕТЕЙ¦ПОСТ.НА¦ЛАД¦РИФ¦РЯД¦ДОХ¦    ¦уволь¦

¦     ¦      ¦     ¦   ¦      ¦     ¦РАБОТУ ¦   ¦   ¦   ¦ЛЬГ¦проф¦ения ¦

+-----+------+-----+---+------+-----+-------+---+---+---+---+----+-----+

  .................................................................

б)

                  ПЛАТЕЖНАЯ ВЕДОМОСТЬ

=======================================================================

  N :ТАБ. :    ФАМИЛИЯ И.О.     :   СУММА          :  РОСПИСЬ

 П/П:НОМЕР:                     :                  :

=======================================================================

........................................................................

Замечание. Перед формированием всех документов предварительно устанавливается

фильтр на нужную группу записей.

Задание 4.Разраблтать сетевую версию программы .

       Вариант 20.Тема: 'Расчет отчислений от зарплаты во внебюджетные

       социальные фонды'(дебет суммы начисления зарплаты может не совпадать

       с дебетом сумм отчислений из нее).

Задание 1.Базы данных для сопровождения:

        - uzrm.dbf

        - fond.dbf

        - vou_fond.dbf

        - fond_out.dbf

        - fond_rab.dbf

Задание 2. Выполнить расчет по теме.

Все суммы,связанные с начислением зарплаты(коды оплат<180),

формируют проводки ,кредит которых всегда равен 70, а дебет -значение

первых 4-х цифр ШПЗ.Отчисления во внебюджетные социальные фонды

от сумм начисленной зарплаты  дают  в свою очередь суммы,формирующие

проводки по следующему правилу:

    - код дебета - первые 4 цифры ШПЗ (как правило !);

    - код кредита - счет с субсчетом,куда идет это отчисление

                   (см. структуру и содержимое БД fond.dbf).

Поскольку из этого правила возможны исключения,их необходимо

учесть,выполнив следующие действия;

 - сформировать БД    fond_rab.dbf (см.правило ее формирования в 3.2.2)

 - доопределить второе поле БД в диалоге с пользователем)

Следовательно, алгоритм расчета заключается в следующем.

1)В БД результатов расчета зарплаты (uzrm.dbf) отфильтровываются записи

  с кодом оплаты <180;

2)Оставшиеся записи индексируются по substr(spz,1,4) - дебету проводок;

3)Суммируются данные по каждому  substr(spz,1,4) и результаты

   записываются в sm_70.Получили суммы начислений по ШПЗ.

4)Для нахождения суммы отчислений по каждой sm_70 в каждый фонд (

  обозначим счет- кредит этого фонда nsc(i)) необходимо:

  - отфильтровать  в uzrm.dbf записи по текущему  substr(spz,1,4)

    (с сохранением прежнего  фильтра (vou<180).

  -для оставшихся записей найти сумму следующих значений

     SM(i) = Sum [ZP(j) * proc(i)  * flag(i,j)/100]    ,

       где

       ZP(j) - сумма    начислений с очередным кодом оплаты vou(j);

       proc(i) - процент отчислений в фонд  nsc(i) - cм. fond.dbf

       flag(i,j) - правило отчисления для вида оплат vou(j) в фонд nsc(i)

                  - см. vou_fond.dbf;

       j=1,...,число_записей_в_фильтре;

       i = 1,...,число_фондов

 - Перед записью результата необходимо сделать следующую проверку:

   если правое поле в БД fond_rab.dbf в записи с nsc1=substr(spz,1,4)

   пусто,значит, отчисление записывается по тому же дебету,что и основная

   сумма.Следовательно,найденную сумму записать в поле sm_??  (??=nsc(i)).

   Если - нет,то в БД для записи результатов расчета сумм отчислений