Вверх ↑
Ответов: 2059
Рейтинг: 132
#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