скачать файл
ч. 1

БЕСТ-Зарплата
Керівництво програміста

ã2003 БЕСТ-ЗВІТ


1 Введення 3

2 Мова програмування 3

3 Програми 4

4 Редактор програм 5

5 Загальна структура програм 10

6 Функції VBScripts 13

7. Специфікація на COM – об\ 2


1Введення


В системі БЕСТ ЗАРПЛАТА розрахунок заробітної платні провадиться з використанням програм розрахунку налагоджених видів оплат і відрахувань до фондів. Властивості налагоджених видів оплат описані в програмах ініціалізації видів оплат. Усі вказані програми реалізовані розробниками відкритими для дослідження та доступними для коригування. Це означає, що будь-які види оплати чи нарахування до фондів можуть бути налагодженими за специфічними властивостями та розрахунками, які відрізняються від пропонованих розробниками.

Для зручності власного налагодження програм для розрахунку заробітної платні в системі БЕСТ ЗАРПЛАТА передбачений редактор програм, за допомогою якого надається можливість:



  • досліджувати існуючі програми ініціалізації та розрахунку

  • самостійно їх редагувати

  • налагоджувати параметри видів оплат з використанням відкоригованих програм ініціалізації

  • створювати власні специфічні розрахункові програми та програми ініціалізації видів оплат

  • самостійно програмувати вибір даних для фільтру користувача програмного типу.



2Мова програмування


В системі БЕСТ ЗАРПЛАТА програми ініціалізації та розрахунку видів оплат і відрахувань до фондів реалізовані з використанням мови програмування VBScripts.

При коригуванні існуючих та створюванні специфічних програм розрахунку та ініціалізації слід враховувати, що на відміну від мови програмування Visual Basic for Application, при програмуванні на VBScripts типи перемінних налагоджуються динамічно при присвоюванні значення перемінним. Це означає, що заздалегідь визначати тип перемінній не можна, і опис перемінній у вигляді < Dim sValue As String > приведе до помилки виконання VBScripts.




3Програми

3.1Програми ініціалізації видів оплат


В програмах ініціалізації видів оплат обираються параметри розрахунку та встановлюються інші атрибути, що відповідають властивостям видів оплат, наприклад:

  • розрахунок виду оплати провадити стосовно робочих днів чи робочих годин

  • чи слід запитувати кількість відпрацьованих днів для виду оплати

  • чи провадиться сторнування суми при розрахунку

  • чи відображається вид оплати в список постійних видів оплат в особовому рахунку

та інші.

Пропонований перелік атрибутів видів оплат за потребою можна поповнювати.



3.2Програми розрахунку


Програми розрахунку призначені для:

  • отримання сум, нарахованих по видам оплат за обліковий період

  • отримання сум відрахувань до фондів

В програмі розрахунку суми виду оплати використовуються параметри розрахунку, встановлені в програмі ініціалізації відповідного виду оплати.
При коригуванні програм розрахунку для отримання бажаного результату слід підтримуватись заданої структури програми.

3.3Інші програми


При налагодженні фільтрів користувача указується тип фільтру: табличний чи програмний. У разі вибору програмного типу фільтру надається можливість самостійно запрограмувати за довільною структурою програми потрібний специфічний вибір даних для фільтру користувача.

4Редактор програм

4.1Виклик редактора програм


Коригування програм розрахунку та ініціалізації здійснюється за допомогою редактора програм.

Редактор програм викликається при натисненні кнопки:



  • Коригування програми розрахунку - на закладці Види оплат при налагодженні параметрів системи

  • Коригування програми ініціалізації - на закладці Види оплат при налагодженні параметрів системи:




  • Коригування програми розрахунку - на закладці Фонди при налагодженні параметрів системи:




  • Редагування - в разі завдання фільтру програмного типу при налагодженні фільтрів користувача:



4.2Загальний вигляд редактора програм


Загальний вигляд редактора програм приведено на малюнку:

Можливості редактора програм:

  • Набір, коригування та вилучення текстів програм

  • Коментування та розкоментування обраних блоків програм

  • Використання закладок на обраних строках програми

  • Завантаження еталонних програм розрахунку та ін.



4.3Меню та панель інструментів редактора програм

4.3.1Меню


Меню редактора програм складається з декількох пунктів. З кожним пунктом горизонтального меню зв’язане вкладене (випадаюче) вертикальне підменю:

Програма

Зберегти

Ctrl + S

Завантажити

Ctrl + O

Зберегти у файл

Shift + Ctrl + S

Завантажити з файлу

Shift + Ctrl + O

Вийти

Alt + X

Редагування

Відмінити

Ctrl + Z

Повернути

Shift + Ctrl + Z

Вирізати

Ctrl + X

Копіювати

Ctrl + C

Вставити

Ctrl + V

Видалити

Ctrl + Del

Виділити усе

Ctrl + A

Встановити закладку

Shift + Ctrl + номер закладки

Перейти до закладки:




<Перелік існуючих закладок>




Пошук

Знайти

Ctrl + F

Знайти далі

F3

Замінити

Ctrl + R

Вигляд

Шрифт

Alt + F

Сервіс

Елементи програми

Alt + Ins

Коментувати блок

Ctrl + Alt + C

Розкоментувати блок

Ctrl + Alt + U

Вікно

Розвернути

Alt + Up

Восстановити розмір




Звернути

Alt + Down

Допомога

Керівництво програміста






4.3.2Контекстне меню


При натисненні правої кнопки мишки або клавіш швидкого виклику Shift+F10 відкривається контекстне меню редактора програм.

Перелік команд контекстного меню:




Вирізати

Ctrl + X

Копіювати

Ctrl + C

Вставити

Ctrl + V

Виділити усе

Ctrl + A

Знайти

Ctrl + F

Знайти далі

F3

Замінити

Ctrl + R

Елементи програми

Alt + Ins

Коментувати блок

Ctrl + Alt + C

Розкоментувати блок

Ctrl + Alt + U

Встановити закладку

Shift + Ctrl + номер закладки

Перейти до закладки:




<Перелік існуючих закладок>



4.3.3Панель інструментів


Для визначення призначення будь-якої клавіши панелі інструментів слід підвести курсор мишки до потрібної клавіши та затримати його до з’явлення підказки.

Панель інструментів включає наступні клавіші:






Зберегти

Ctrl + S



Завантажити

Ctrl + O



Зберегти у файл

Shift + Ctrl + S



Завантажити з файлу

Shift + Ctrl + O



Вирізати

Ctrl + X



Копіювати

Ctrl + C



Вставити

Ctrl + V



Відмінити

Ctrl + Z



Повернути

Shift + Ctrl + Z



Знайти

Ctrl + F



Знайти далі

F3



Замінити

Ctrl + R



Елементи програми

Alt + Ins



Коментувати блок

Ctrl + Alt + C



Розкоментувати блок

Ctrl + Alt + U



Вийти

Ctrl + F4



4.4Елементи програми


При роботі з редактором програм для полегшення коригування та написання програм слід використатись вікном елементів програми, яке викликається за допомогою меню редактора програм Сервіс / Елементи програми, контекстного меню або при натисненні кнопки в панелі інструментів редактора програм.

Вікно елементів програми складається з трьох закладок.



  • Закладка Функції містить перелік функцій:

  • отримання параметрів

  • отримання сум

  • занесення значень до бази даних

  • для роботи з датами

  • Закладка Еталонні програми містить перелік наданих розробниками програм для розрахунку видів оплати та відрахувань у фонди. Надається можливість обрати та завантажити потрібну еталонну програму для заміни існуючої програми розрахунку з подальшим її коригуванням.

  • Закладка Методи розрахунку містить перелік використовуваних розробниками методів розрахунку та їх кодів. Коди методів розрахунку застосовуються при завданні специфічного розрахунку виду оплати при коригуванні програми ініціалізації виду оплат.


5Загальна структура програм

5.1Структура програм ініціалізації видів оплат


Загальна структура програм ініціалізації видів оплат складається з вибору параметрів розрахунку видів оплати та встановлення інших атрибутів, які відповідають властивостям видів оплат:

  • Вибір зі списку параметрів одного, що буде відображатись при введенні інформації по виду оплати

  • Вибір в списку декількох параметрів, використовуваних при розрахунку виду оплати. Обрані параметри повинні логічно не суперечити один одному

  • Завдання інших атрибутів виду оплати

  • Встановлення параметрів

5.1.1Параметри видів оплат для відображення при введенні


  • Запитувати: днів, годин, відсоток

  • Запитувати: дні

  • Запитувати: години

  • Запитувати: відсоток

  • Запитувати: дати початку та кінця, днів, відсоток

  • Запитувати: днів, відсоток

  • Запитувати: годин, відсоток

  • Запитувати: дати початку та кінця, відсоток

  • Запитувати: тільки суму

  • Запитувати: днів, періоди

5.1.2Параметри видів оплат для розрахунку


  • Розраховується від робочих днів

  • Розраховується від робочих годин

  • Розраховується від календарних днів

  • Збільшує кількість відпрацьованих днів

  • Зменшує кількість відпрацьованих днів

  • Збільшує кількість відпрацьованих годин

  • Зменшує кількість відпрацьованих годин

5.1.3Інші атрибути видів оплат


Storno

Проведення сторнування суми при розрахунку виду оплати:

= true - сторнування провадиться

= false - сторнування не провадиться

MethodCalculate

Метод розрахунку виду оплати. Параметр застосовуються при завданні специфічного розрахунку виду оплати. При заміні значення параметру з 0 (пропонований розробниками метод розрахунку) на код необхідного методу розрахунку вид оплати буде розраховуватись за специфічною програмою.

ShowLicSchet

Відображення виду оплати в список постійних видів оплат в особовому рахунку:

= true - відображається

= false - не відображається

CalculateAll

Можливість розрахунку виду оплати для всіх працівників:

= true - розраховувати

= false - не розраховувати

NotTaxMatHelp

Ідентифікація виду оплат як неоподаткованої матеріальної допомоги. При встановленні цього параметру частина суми, нарахованої по виду оплати, оподатковуватись не буде:

= true - оподатковувати

= false – не оподатковувати

DaysIsZero

Кількість днів слід встановити в 0:

= true - розраховувати

= false - не розраховувати

HoursIsZero

Кількість годин слід встановити в 0:

= true - розраховувати

= false - не розраховувати

PercentIsZero

Кількість відсотків слід встановити в 0:

= true - розраховувати

= false - не розраховувати

5.2Структура програм розрахунку

5.2.1Структура програм розрахунку видів оплати


Загальна структура програм розрахунку виду оплати складається з:

  • Опису в коментованому блоці перемінних та параметрів, які використовуються в програмі розрахунку виду оплати

  • Визначення значень перемінним програми за допомогою оператора присвоювання

  • Присвоювання вхідним перемінним значень, отриманих за допомогою функцій VBScripts

  • Отримання іншої інформації, необхідної для розрахунку виду оплати

  • Проведення розрахунку виду оплати за обліковий місяць

  • Проведення (за потребою, в залежності від виду оплати) розрахунку виду оплати за інші місяці

  • Формування пояснення розрахунку

  • Повернення результату розрахунку виду оплати до основної програми чи занесення інформації про отриману суму та параметри розрахунку виду оплати до БД

5.2.2Структура програм відрахувань до фондів


Загальна структура програм розрахунку відрахувань до фондів складається з:

  • Опису в коментованому блоці перемінних та параметрів, які використовуються в програмі розрахунку відрахувань до фондів

  • Визначення значень перемінним програми за допомогою оператора присвоювання

  • Присвоювання вхідним перемінним значень, отриманих за допомогою функцій VBScripts

  • Отримання іншої інформації, необхідної для розрахунку відрахувань до фондів:

  • Отримання суми, від якої буде виконуватись відрахування

  • Отримання суми матеріальної допомоги

  • Отримання суми прожиткового мінімуму

  • Проведення розрахунку відрахування до фонду

  • Занесення інформації про отриману суму та параметри розрахунку до БД

  • Проведення розрахунку за інші місяці:

  • Отримання сум, розрахованих в обліковому місяці за інші

  • Отримання суми, з якої нараховувалось утримання до фонду в інших місяцях

  • Складення суми відрахування за інші місяці і суми відрахувань, розрахованих в обліковому місяці за інші

  • Повернення результату розрахунку відрахувань до фондів до основної програми

6Функції VBScripts

6.1Функції отримання параметрів


GetLsDateBegin

Дата прийому працівника на роботу




GetBirthday

Дата народження працівника




GetTn

Табельний номер працівника




GetSex

Пол працівника




GetSalary

Оклад працівника




GetType

Тип працівника




GetFirm

Код фірми




GetInvalid

Ознака інвалідності




GetLsPrivilage

Пільги працівника




GetCodePrivilage

Код пільги працівника




GetCalcMonth

Обліковий місяць




GetNameMonth

Найменування облікового місяцю




GetCalcYear

Рік розрахунку




GetDays

Планові дні




GetHours

Планові години




GetUnitDays

Фактично відпрацьовані дні




GetUnitHours

Фактично відпрацьовані години




GetCalcDays

Кількість днів для розрахунку




GetCodeVo

Код виду оплати




GetNameVo

Найменування виду оплати




GetDaysBeginVo

Дата початку розрахунку виду оплати




GetDaysEndVo

Дата кінця розрахунку виду оплати




GetCodeFond

Код фонду для нарахування




GetNameFond

Найменування фонду для нарахування




GetCalcSum

Сума для розрахунку




GetCalcPercent

Відсоток для розрахунку




GetCalcResult

Як обробляти програму




GetSaveResult

Що робити з результатом




GetChargePens

Відсоток відрахувань до Пенсійного фонду на дату

GetChargeSocIns

Відсоток відрахувань до Фонду соціального страхування на дату

GetChargeEmploy

Відсоток відрахувань до Фонду по безробіттю на дату

GetChargeFatality

Відсоток відрахувань до Фонду страхування від нещасних випадків на дату

6.2Функції отримання сум


GetSumVo

Отримання суми по виду оплати

GetSumVoAll

Отримання суми по виду оплати з початку року до поточного періоду

GetSumFot

Отримання суми нарахованого фонду оплати праці

GetSumMinZp

Отримання суми мінімальної заробітної платні на дату

GetSumPMin

Отримання суми прожиткового мінімуму на дату

6.3Функції занесення значень до бази даних


UpdateQuery

Оновлення даних в базі даних

OpenQuery

Виконання SQL- запиту до БД

InsertVo

Додавання значення виду оплати до БД

UpdateVo

Оновлення значення виду оплати в БД



6.4Функції для роботи з датами


GetCalcDays

Кількість календарних днів

GetLastDay

Останній день облікового періоду



7. Специфікація на COM – об”ект для БЕСТ ЗАРПЛАТА


    1. GetLsList() – Функція отримання DataSet зі списком особових рахунків працівників




Поле

Тип

Коментар

Tn

INTEGER

Табельний номер

Name

VARCHAR(50)

Прізвище, ім”я,по-батькові (називний відмінок)

NameR

VARCHAR(50)

Прізвище, ім”я,по-батькові (родовий відмінок)

NameD

VARCHAR(50)

Прізвище, ім”я,по-батькові (давальний відмінок)

Salary

NUMERIC(18, 2)

Оклад

Type

SMALLINT

Тип працівника (1 – постійний; 2 – сумісник; 2 – трудова угода)

Employment

DATE

Дата приймання працівника

Dismiss

DATE

Дата звільнення працівника

Birthday

DATE

Дата народження працівника

Sex

SMALLINT

Стать працівника (0 – чоловік; 1 – жінка)

SubDivision

CHAR(3)

Підрозділ приписки працівника

Post

VARCHAR(5)

Посада працівника

Graphic

INTEGER

Код графіка работи

Phone

VARHCHAR(25)

Телефон працівника

Tin

CHAR(3)

Ідентифікаційний номер працівника

CDst

VARCHAR(8)

Код налогової інспекції, де значиться працівник

NPens

VARCHAR(10)

Номер регістрації в Пенсійному Фонді

StStrax

INTEGER

Код ставки страхового сбору

Invalid

SMALLINT

Группа інвалідності

PasSeries

VARCHAR(10)

Серія паспорта

PasNumber

VARCHAR(10)

Номер паспорта

PasOrgan

VARCHAR(100)

Орган, який видав паспорт

PasDate

DATE

Дата видачі паспорта

Account

VARCHAR(14)

Рахунок в банку для переведення заработної плати

AccExpenses

VARCHAR(25)

Рахунок обліку затрат

7.2. LocateLs(ATn) – Функція позиціювання на відкритому DataSet списку працівників

ATn (long) – табельний номер працівника

Список працівників повинен бути попередньо відкритий функцією GetLsList().




    1. GetPostCharge() – Функція отримання DataSet зі списком постійних нарахувань всіх працівників підприємства.




Поле

Тип

Коментар

Tn

INTEGER

Табельний номер

CodeString

CHAR(3)

Код виду оплати

DateBegin

DATE

Дата початку дії виду оплати

DateEnd

DATE

Дата кінця дії виду оплати

Percent

NUMERIC(7, 3)

Процент для виду оплати

Rsum

NUMERIC(18, 2)

Сума для виду оплати




    1. GetPostDeducate() – Функція отримання DataSet зі списком постійних утримань всіх працівників підприємства.




Поле

Тип

Коментар

Tn

INTEGER

Табельний номер

CodeString

CHAR(3)

Код виду оплати

DateBegin

DATE

Дата початку дії виду оплати

DateEnd

DATE

Дата кінця дії виду оплати

Percent

NUMERIC(7, 3)

Процент для виду оплати

Rsum

NUMERIC(18, 2)

Сума для виду оплати




    1. GetLsCharge(ATn) – Функція отримання DataSet зі списком постійних нарахувань працівника.

ATn (long) – табельний номер працівника.

Набор полів подібний GetPostCharge().




    1. GetLsDeducate(ATn) – Функція отримання DataSet зі списком постійних утримань працівника.

ATn (long) – табельний номер працівника.

Набор полів подібний GetPostDeducate().


7.7 GetVoList() – Функція отримання DataSet зі списком (довідником) видів оплат підприємства.


Поле

Тип

Коментар

CdVo

INTEGER

Внутрішній код виду оплати

CodeString

CHAR(3)

Зовнішній код виду оплати

Name

VARCHAR(50)

Наименування виду оплати

Type

SMALLINT

Тип виду оплати (1 – нарахування; 2 – утримання)

CalcAll

SMALLINT

Параметр «Розраховується для всіх»

7.8. GetSubDivisionList() – Функція отримання DataSet зі списком (довідником ) підрозділів підприємства .




Поле

Тип

Коментар

Code

VARCHAR(3)

Код підрозділу

Name

VARCHAR(100)

Найменування підрозділу

Account

VARCHAR(25)

Рахунок обліку затрат

7.9 GetPostList() – Функція отримання DataSet зі списком (довідником ) посад підприємства .




Поле

Тип

Коментар

Code

VARCHAR(3)

Код посади

Name

VARCHAR(100)

Найменування посади

7.10 GetGraphicList() – Функція отримання DataSet зі списком (довідником ) графіків роботи підприємства .




Поле

Тип

Коментар

Graphic

INTEGER

Код графіка

Name

VARCHAR(100)

Найменування графіка

BeginPeriod

DATE

Начало цикла графіка

ShortenDay

SMALLINT

Показник скороченого дня

LongDay

NUMERIC(7, 2)

Параметр «Норма тривалості робочого дня»

ShortenLongDay

NUMERIC(7, 2)

Параметр «Скорочення передсвяткового дня»

HollsWorkday

SMALLINT

Параметр «Святковий день являеться рабочим»

DayCalculation

SMALLINT

Параметр «Поденний облік робочого часу»

TransWeekend

SMALLINT

Параметр «Перенесення вихіного, співпадаючого з святом»

7.11 Locate(AField, AValue) – Функція пошуку в відкритому DataSet.

AField (BSTR) – найменування поля, по якому проводиться пошук;

AValue (Variant) – значення для пошуку.




    1. InsRecOfDoc(ATn, ACodeDoc, ADateDoc, ATypeDoc, ACdVo, ADays, AHours, APercent, ASum, ASumCalc, AExplan, ASum1, ASum2) – Функція вставки записів в розрахунковий листок (з номером документу):

ATn (long) – табельний номер працівника;

ACodeDoc (long) – номер документу;

ADateDoc (DATE) – дата документу;

ATypeDoc (long) – тип документу;

ACdVo (BSTR) – код виду оплати;

ADays (long) – кількість днів;

AHours (double) – кількість годин;

APercent (double) – процент;

ASum (double) – розрахована сумма;

ASumCalc (double) – сума, від якої виконувався розрахунок;

AExplan (BSTR) – пояснення розрахунку;

ASum1 (double) – додаткова сума;

ASum2 (double) – додаткова сума;


    1. DelRecsOfDoc(ACodeDoc, ADateDoc, ATypeDoc) – функція видалення записів документу із розрахункових листків:

ACodeDoc (long) – номер документу;

ADateDoc (DATE) – дата документу;



ATypeDoc (long) – тип документу.
ч. 1
скачать файл

Смотрите также: