Вверх ↑
Ответов: 2059
Рейтинг: 131
#1: 2017-12-03 10:28:33 ЛС | профиль | цитата


Add(DatePicker,3713768,259,77)
{
Left=20
Top=30
Width=135
Height=24
Point(CurrentDateTime)
link(onChange,8957237:doEnabled,[(321,83)(321,188)])
}
Add(Edit,16145800,462,84)
{
Left=170
Top=95
Width=30
Text="0"
DataType=2
}
Add(Button,8957237,329,182)
{
Left=15
Top=145
Width=130
Enabled=1
Caption="Счёт дней"
Point(doEnabled)
link(onClick,1785971:doWork,[])
}
Add(Label,14347521,210,217)
{
Left=20
Top=5
Width=110
Height=20
Caption="Начальная дата"
}
Add(DatePicker,12647910,525,182)
{
Left=20
Top=95
Width=135
Height=24
}
Add(Label,2383458,217,224)
{
Left=20
Top=70
Width=101
Height=20
Caption="Конечная дата"
}
Add(UpDown,14716132,413,84)
{
Left=200
Top=95
Max=1
Min=-1
link(onPosition,16145800:doText,[])
}
Add(Label,6308306,224,231)
{
Left=170
Top=75
Width=122
Height=20
Caption="+/- 1 рабочий день"
}
Add(Memo,8411243,462,231)
{
Left=310
Top=20
Width=265
Height=145
ScrollBars=2
}
Add(Button,1728302,322,238)
{
Left=160
Top=145
Width=130
Caption="Очистить список"
link(onClick,8411243:doClear,[])
}
Add(DateConvertor,5602767,462,182)
{
Mode=7
Format="dd.MM.yyyy "
Point(Result)
link(onResult,12647910:doSetDate,[])
}
Add(ComboBox,3324218,371,70)
{
Left=170
Top=30
Width=95
Height=24
Strings=#2:10|2:20|2:25|
Text=""
ReadOnly=0
Point(EditText)
}
Add(Label,12246042,231,238)
{
Left=170
Top=5
Width=36
Height=20
Caption="Срок"
}
Add(MainForm,8148382,210,147)
{
Width=598
Height=211
}
Add(VBJScript,1785971,378,182)
{
WorkPoints=#6:doWork|
EventPoints=#9:onEndDate|5:onRes|
DataPoints=#7:StartDt|9:Timeframe|11:AmendmentDt|
Script=#18:Sub doWork(dt,idx)|0:|51: Dim intTotalDays, intWeekendDays, intBusinessDays|37: Dim intTimeframe, DtBegin, wDays, i|59: Const MAX_TOTAL_DAYS = 60 ' максимальный расчётный период|4: |31: ' проверка на валидность даты|1: |38: ' If Not IsDate(sys.StartDt) Then |16: ' Exit Sub|11: ' End If|0:|2: |19: ' читаем с точек |46: dtmStart = Cstr(sys.StartDt) '- дата начала|60: ' кол-во дней c учётом срока и поправки +/- рабочий 1 день|65: intTimeframe = Cstr(sys.Timeframe) + CInt(sys.AmendmentDt) |2: |28: DtBegin = dtmStart - 1 |32: For i = 0 To MAX_TOTAL_DAYS|27: DtBegin = DtBegin + 1|47: wDays = DatePart("w", DtBegin, vbMonday)|38: intTotalDays = intTotalDays + 1|37: If wDays = 7 Or wDays = 6 Then|43: intWeekendDays = intWeekendDays + 1|11: Else|46: intBusinessDays = intBusinessDays + 1|47: If intBusinessDays = intTimeframe Then|19: Exit For|17: End If |13: End If|9: Next|20: ' вывод результата|39: If 0 = CInt(sys.AmendmentDt) Then|82: sys.onRes "-------------------- +/- " & 0 & " деней------------------------"|48: Else If 0 < CInt(sys.AmendmentDt) Then|82: sys.onRes "--------------------- + " & 1 & " денень------------------------"|99: Else sys.onRes "--------------------- - " & 1 & " денень------------------------"|17: End If|13: End If|64: sys.onRes "всего дней между двумя датами = " & intTotalDays|50: sys.onRes "выходных дней = " & intWeekendDays|53: sys.onRes "рабочих дней = " & intBusinessDays |32: sys.onEndDate CDbl(DtBegin)|3: |7:End Sub|
UseName=0
link(onEndDate,5602767:doConvert,[])
link(onRes,8411243:doAdd,[(436,195)(436,237)])
link(StartDt,3713768:CurrentDateTime,[(384,146)(265,146)])
link(Timeframe,3324218:EditText,[])
link(AmendmentDt,16145800:Text,[(398,149)(468,149)])
}

карма: 6

0
Редактировалось 1 раз(а), последний 2017-12-03 10:29:12