Table of Contents

Class PayslipVO

Namespace
PHCBusinessLayer
Assembly
PHCBusinessLayer.dll

Payslip

[AttTable("Payslip", 20250101)]
[AttTableVOInfo(typeof(PayslipAttInfo))]
[AttTableProducts(new Products[] { Products.Payroll, Products.WorkPlace })]
[AttTableOrderBy("[Payslip].[id]", OrderType = OrderTypes.Descending)]
[AttTableFlags(new TableFlags[] { TableFlags.MasterEntity, TableFlags.TableForJorge, TableFlags.AddOnNotDeployable, TableFlags.UseDimensions })]
public class PayslipVO : BusinessVO, IBaseSerialization, ICloneVO, ICloneable, IChange, IParent, IGenericVO
Inheritance
PayslipVO

Properties

ContractVO

[AttExternalCollection(typeof(ContractVO), new string[] { "[Contract].[code]", "[Payslip].[contractcode]" })]
public ContractVO ContractVO { get; }

Property Value

ContractVO

CreatedForPrevisionalTreasury

[AttFieldType(AttFieldType.InputTypes.boolean)]
public bool CreatedForPrevisionalTreasury { get; set; }

Property Value

bool

EarningsPaymentMethods

[AttExternalCollection(typeof(PayrollPaymentVO))]
public List<PayrollPaymentVO> EarningsPaymentMethods { get; }

Property Value

List<PayrollPaymentVO>

EmployeeVO

[AttExternalCollection(typeof(EmployeeVO), new string[] { "[Employee].[id]", "[Payslip].[employeeid]" })]
public EmployeeVO EmployeeVO { get; }

Property Value

EmployeeVO

GetFieldStampName

Use only field name without table name

public override string GetFieldStampName { get; }

Property Value

string

GetStampValue

public override string GetStampValue { get; }

Property Value

string

Overtimes

[AttExternalCollection(typeof(EarningOvertimeVO))]
public List<EarningOvertimeVO> Overtimes { get; }

Property Value

List<EarningOvertimeVO>

OwnerEmail

[AttHidden]
public string OwnerEmail { get; }

Property Value

string

ValuesPerDeduction

[AttExternalCollection(typeof(EarningTaxVO))]
public List<EarningTaxVO> ValuesPerDeduction { get; }

Property Value

List<EarningTaxVO>

absenceFullDayRate

[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency)]
public decimal absenceFullDayRate { get; set; }

Property Value

decimal

absenceHalfDayRate

[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency)]
public decimal absenceHalfDayRate { get; set; }

Property Value

decimal

absenceHourlyRate

[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency)]
public decimal absenceHourlyRate { get; set; }

Property Value

decimal

absencespayslip

[AttCollection(typeof(AbsencePayslipVO))]
public List<AbsencePayslipVO> absencespayslip { get; set; }

Property Value

List<AbsencePayslipVO>

accruedtype

[AttVirtualField]
[AttLenght(1)]
public int accruedtype { get; }

Property Value

int

companytaxes

[AttCollection(typeof(CompanyTaxVO))]
public List<CompanyTaxVO> companytaxes { get; set; }

Property Value

List<CompanyTaxVO>

companytaxesdetail

[AttCollection(typeof(CompanyTaxDetailVO), new string[] { "[CompanyTaxDetail].[oristamp]", "[Payslip].[payslipstamp]" })]
public List<CompanyTaxDetailVO> companytaxesdetail { get; set; }

Property Value

List<CompanyTaxDetailVO>

companytaxestotal

[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public decimal companytaxestotal { get; set; }

Property Value

decimal

contractcode

[AttForeignKey(typeof(ContractVO), HiddenField = false)]
[AttMandatory]
[AttLenght(6)]
[AttIndex]
[AttFieldType(AttFieldType.InputTypes.integer, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.NotEditLoop })]
[AttMinValue(0)]
public decimal contractcode { get; set; }

Property Value

decimal

dailywage

[AttVirtualField(typeof(PayslipAttInfo))]
[AttFieldType(AttFieldType.InputTypes.currency)]
[AttLenght(19, 6)]
public decimal dailywage { get; set; }

Property Value

decimal

debttotal

[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
[AttList]
public decimal debttotal { get; set; }

Property Value

decimal

deductions

[AttCollection(typeof(DeductionVO))]
public List<DeductionVO> deductions { get; set; }

Property Value

List<DeductionVO>

deductionspaid

[AttVirtualField]
[AttHidden]
public bool deductionspaid { get; set; }

Property Value

bool

deductionstatus

[AttVirtualField]
[AttHidden]
public PayslipBiz.PayslipStatus deductionstatus { get; set; }

Property Value

PayslipBiz.PayslipStatus

deductionstotal

[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public decimal deductionstotal { get; set; }

Property Value

decimal

earnings

[AttCollection(typeof(EarningVO))]
public List<EarningVO> earnings { get; set; }

Property Value

List<EarningVO>

earningspaid

[AttVirtualField]
[AttHidden]
public bool earningspaid { get; set; }

Property Value

bool

earningstatus

[AttVirtualField]
[AttHidden]
public PayslipBiz.PayslipStatus earningstatus { get; set; }

Property Value

PayslipBiz.PayslipStatus

earningstotal

[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public decimal earningstotal { get; set; }

Property Value

decimal

employeeid

[AttLenght(6)]
[AttMandatory]
[AttFieldType(AttFieldType.InputTypes.integer, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.NotEditLoop })]
[AttMinValue(0)]
public decimal employeeid { get; set; }

Property Value

decimal

employeename

[AttLenght(400)]
[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.NotEditLoop })]
[AttMandatory]
[AttRGPDrank(RGPDranks.Legal)]
[AttList]
public string employeename { get; set; }

Property Value

string

employeestamp

[AttLenght(25)]
[AttMandatory]
public string employeestamp { get; set; }

Property Value

string

employeevatid

[AttLenght(20)]
[AttRGPDrank(RGPDranks.Legal)]
[AttList]
[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.NotEditLoop })]
public string employeevatid { get; set; }

Property Value

string

exitpaymentforecaststamp

[AttLenght(25)]
public string exitpaymentforecaststamp { get; set; }

Property Value

string

hourlywage

[AttVirtualField(typeof(PayslipAttInfo))]
[AttFieldType(AttFieldType.InputTypes.currency)]
[AttLenght(19, 6)]
public decimal hourlywage { get; set; }

Property Value

decimal

id

[AttLenght(6)]
[AttPrimaryKey]
[AttMandatory]
[AttFieldType(AttFieldType.InputTypes.integer)]
[AttMinValue(0)]
[AttList]
public decimal id { get; set; }

Property Value

decimal

insurancecode

[AttLenght(40)]
public string insurancecode { get; set; }

Property Value

string

insurancename

[AttLenght(400)]
public string insurancename { get; set; }

Property Value

string

insurancepolicy

[AttLenght(30)]
public string insurancepolicy { get; set; }

Property Value

string

loginfodesc

[AttVirtualField]
[AttLogInfo]
public string loginfodesc { get; set; }

Property Value

string

monthlywage

[AttVirtualField(typeof(PayslipAttInfo))]
[AttFieldType(AttFieldType.InputTypes.currency)]
[AttLenght(19, 6)]
public decimal monthlywage { get; set; }

Property Value

decimal

nettotal

[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
[AttList]
public decimal nettotal { get; set; }

Property Value

decimal

nottaxablevaluetotal

[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public decimal nottaxablevaluetotal { get; set; }

Property Value

decimal

overtimeHourlyRate

[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency)]
public decimal overtimeHourlyRate { get; set; }

Property Value

decimal

paymentoptions

Fixed value for payment options in account variables

[AttVirtualField]
[AttLenght(1)]
public int paymentoptions { get; }

Property Value

int

payslipstamp

[AttLenght(25)]
public string payslipstamp { get; set; }

Property Value

string

regiontaxcode

[AttLenght(5)]
public string regiontaxcode { get; set; }

Property Value

string

retention

Fixed value for retention variables

[AttVirtualField]
[AttLenght(1)]
public int retention { get; }

Property Value

int

taxablenotretentiontotal

[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public decimal taxablenotretentiontotal { get; set; }

Property Value

decimal

taxablevaluetotal

[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public decimal taxablevaluetotal { get; set; }

Property Value

decimal

taxexemptionvaluetotal

[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public decimal taxexemptionvaluetotal { get; set; }

Property Value

decimal

taxoverincome

Fixed value for tax over income in account variables

[AttVirtualField]
[AttLenght(1)]
public int taxoverincome { get; }

Property Value

int

valueaftertaxestotal

[AttLenght(19, 6)]
[AttFieldType(AttFieldType.InputTypes.currency, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public decimal valueaftertaxestotal { get; set; }

Property Value

decimal

Methods

SetStampValue(string)

public override void SetStampValue(string stampID)

Parameters

Nome Tipo Descrição
stampID string

Explicit Interface Implementations

CanIntegrate()

Returns true if integration is available

bool CanIntegrate()

Returns

bool

CleanIntegrationErrors()

Cleans the accounting integration errors

void CleanIntegrationErrors()

GetIntegrationConfig(int)

Get Accounting configuration if exists

PHCResult GetIntegrationConfig(int year)

Parameters

Nome Tipo Descrição
year int

Returns

PHCResult

GetPendingIntegrationsCommands(int)

PHCCmdSql GetPendingIntegrationsCommands(int year = 0)

Parameters

Nome Tipo Descrição
year int

Returns

PHCCmdSql

HasAccountingIntegration()

Check for permission to integrate document

bool HasAccountingIntegration()

Returns

bool

LogIntegrationErrors(List<MessageVO>)

Logs the accounting integration errors

void LogIntegrationErrors(List<MessageVO> errorMessages)

Parameters

Nome Tipo Descrição
errorMessages List<MessageVO>

accounted

Mark document as accounted

[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
[AttProducts(new Products[] { Products.Accounting })]
bool accounted { get; set; }

Returns

bool

adate

Accounting Date

[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
[AttProducts(new Products[] { Products.Accounting })]
DateTime adate { get; set; }

Returns

DateTime

docarchivalnumber

ID: Journal + Period + DocNumber

[AttLenght(30)]
[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
[AttProducts(new Products[] { Products.Accounting })]
string docarchivalnumber { get; set; }

Returns

string

documentdescription

Description of the document type (DC)

[AttFieldType(AttFieldType.InputTypes.memo, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
[AttProducts(new Products[] { Products.Accounting })]
string documentdescription { get; set; }

Returns

string

documentid

Id of the accounting document (DC)

[AttLenght(6)]
[AttFieldType(AttFieldType.InputTypes.integer, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
[AttProducts(new Products[] { Products.Accounting })]
decimal documentid { get; set; }

Returns

decimal

integrationErrors

Accounting integrations message errors

[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
[AttProducts(new Products[] { Products.Accounting })]
string integrationErrors { get; set; }

Returns

string

isaccounting

Is true if the document is in integrating process

[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
[AttProducts(new Products[] { Products.Accounting })]
bool isaccounting { get; set; }

Returns

bool

journaldescription

Description of the journal (DI)

[AttLenght(200)]
[AttFieldType(AttFieldType.InputTypes.string, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
[AttProducts(new Products[] { Products.Accounting })]
string journaldescription { get; set; }

Returns

string

journalid

Journal code (DI).

[AttLenght(6)]
[AttFieldType(AttFieldType.InputTypes.integer, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
[AttProducts(new Products[] { Products.Accounting })]
decimal journalid { get; set; }

Returns

decimal

payslipdate

[AttMandatory]
[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.syncOnChange, AttFieldType.FieldFlags.NotEditLoop })]
[AttList]
DateTime payslipdate { get; set; }

Returns

DateTime

year

Year of Document (PCY).

[AttLenght(4)]
[AttFieldType(AttFieldType.InputTypes.integer, new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
[AttProducts(new Products[] { Products.Accounting })]
int year { get; set; }

Returns

int