Вверх ↑
Ответов: 4416
Рейтинг: 472
#1: 2017-12-02 08:32:37 ЛС | профиль | цитата
user_asm писал(а):
У меня еще пиво в наличии.

везунчик, а мне пизд... с утра пришлось
user_asm, вот что пристал я даже с похмелья это т.з сделал, дальше сам

Add(MainForm,2755714,112,105)
{
Width=598
Height=211
link(onCreate,3713768:doSetDate,[])
}
Add(DatePicker,3713768,175,119)
{
Left=20
Top=30
Width=135
Height=24
Point(Data)
Point(CurrentDateTime)
link(onChange,11075353:doConvert,[])
}
Add(Edit,16145800,371,119)
{
Left=170
Top=100
Width=30
Text="0"
DataType=2
}
Add(DateConvertor,11075353,231,119)
{
Mode=9
Format="dd.MM.yyyy "
Point(Result)
}
Add(Button,8957237,231,217)
{
Left=15
Top=145
Width=130
Caption="Счёт дней"
link(onClick,16465415:doWork,[])
}
Add(Label,14347521,112,161)
{
Left=20
Top=5
Width=110
Height=20
Caption="Начальная дата"
}
Add(DatePicker,12647910,434,217)
{
Left=20
Top=95
Width=135
Height=24
Point(Data)
Point(CurrentDateTime)
}
Add(Label,2383458,119,168)
{
Left=20
Top=70
Width=101
Height=20
Caption="Конечная дата"
}
Add(UpDown,14716132,329,119)
{
Left=200
Top=100
Max=1
Min=-1
link(onPosition,16145800:doText,[])
}
Add(Label,6308306,126,175)
{
Left=170
Top=75
Width=122
Height=20
Caption="+/- 1 рабочий день"
}
Add(Memo,8411243,371,273)
{
Left=310
Top=20
Width=265
Height=145
}
Add(Button,1728302,231,280)
{
Left=160
Top=145
Width=130
Caption="Очистить список"
link(onClick,8411243:doClear,[])
}
Add(DateConvertor,5602767,371,217)
{
Mode=7
Format="dd.MM.yyyy "
Point(Result)
link(onResult,12647910:doSetDate,[])
}
Add(VBJScript,16465415,280,217)
{
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: ' проверка на валидность даты|34: If Not IsDate(sys.StartDt) Then |12: Exit Sub|8: End If|0:|19: ' читаем с точек |46: dtmStart = CDate(sys.StartDt) '- дата начала|60: ' кол-во дней c учётом срока и поправки +/- рабочий 1 день|65: intTimeframe = CInt(sys.Timeframe) + CInt(sys.AmendmentDt) |0:|24: DtBegin = dtmStart - 1|29: For i = 0 To MAX_TOTAL_DAYS|25: DtBegin = DtBegin + 1|44: wDays = DatePart("w", DtBegin, vbMonday)|35: intTotalDays = intTotalDays + 1|34: If wDays = 7 Or wDays = 6 Then|41: intWeekendDays = intWeekendDays + 1|8: Else|43: intBusinessDays = intBusinessDays + 1|44: If intBusinessDays = intTimeframe Then|16: Exit For|14: End If |10: End If|6: Next|20: ' вывод результата|61: sys.onRes "всего дней между двумя датами = " & intTotalDays|47: sys.onRes "выходных дней = " & intWeekendDays|47: sys.onRes "рабочих дней = " & intBusinessDays|29: sys.onEndDate CDbl(DtBegin)|3: |7:End Sub|
link(onEndDate,5602767:doConvert,[])
link(StartDt,11075353:Result,[(286,184)(237,184)])
link(Timeframe,3324218:String,[])
link(AmendmentDt,16145800:Text,[(300,184)(377,184)])
link(onRes,8411243:doAdd,[(336,230)(336,279)])
}
Add(ComboBox,3324218,280,105)
{
Left=170
Top=30
Width=95
Height=24
Strings=#2:15|2:20|2:25|
Text=""
}
Add(Label,12246042,133,182)
{
Left=170
Top=5
Width=36
Height=20
Caption="Срок"
}

карма: 4

0