Вверх ↑
Этот топик читают: Гость
Ответов: 133
Рейтинг: 0
#1: 2022-11-08 23:15:58 ЛС | профиль | цитата
Есть задача: считать заработок в зависимости от количества выполненных заявок, но с учетом времени суток. Что-то не работает диапазон с 22 часов до 06. Если выставить с 00 до 06 все работает. Помогите разобраться пожалуйста, что не так

Add(MainForm,2953706,21,105)
{
Width=519
Caption=""
BorderStyle=1
Point(Handle)
link(onCreate,12834681:doPopup,[(65,125)(65,153)(9,153)(9,181)])
}
Add(Label,6631522,350,357)
{
Left=140
Top=30
Width=18
Height=36
Font=[MS Sans Serif,22,0,0,1]
Caption="0"
link(Text,1930663:Var2,[])
}
Add(Button,9473910,287,231)
{
Left=10
Top=10
Width=115
Height=50
WinStyle=4
Caption="Заявка отработана"
link(onClick,12969972:doNext,[])
}
Add(Edit,7874958,770,91)
{
Left=100
Top=90
Text=""
}
Add(Label,3978635,392,0)
{
Left=10
Top=70
Width=81
Height=17
Caption="За одну заявку"
}
Add(Label,5517585,350,308)
{
Left=140
Top=10
Width=134
Height=17
Caption="Всего заявок отработано"
}
Add(Label,7710869,574,315)
{
Left=280
Top=10
Width=173
Height=17
Caption="Заработано с учетом НДФЛ 13%"
}
Add(Label,12768156,574,371)
{
Left=280
Top=30
Width=18
Height=36
Font=[MS Sans Serif,22,0,0,1]
Caption="0"
link(Text,1615893:Result,[(580,317)(454,317)])
}
Add(Label,3253761,812,91)
{
Left=160
Top=95
Width=39
Height=17
Caption="рублей"
}
Add(Counter,12969972,343,231)
{
Max=100000
Point(doValue)
link(onNext,1040843:doEvent1,[])
}
Add(Hub,1040843,413,231)
{
InCount=4
OutCount=3
link(onEvent1,1615893:doCalc,[])
link(onEvent3,12780142:doEvent1,[(439,251)(439,279)(401,279)(401,307)])
}
Add(Button,4802945,287,280)
{
Left=10
Top=215
Width=115
Height=50
WinStyle=4
Caption="Сброс"
Data=Real(0)
link(onClick,15036481:doEvent1,[(321,286)(321,279)])
}
Add(GetDataEx,1930663,350,266)
{
Angle=3
link(Data,12969972:Count,[(349,271)])
}
Add(FastMathParse,1615893,448,231)
{
DataCount=3
MathStr="%1*%2 - (%1*%2)*0.13"
Point(doDefault)
link(onResult,3212909:doEvent1,[(492,237)(492,272)])
link(X1,1930663:Var1,[(454,219)(356,219)])
link(X2,6837785:Var,[(461,226)(713,226)])
}
Add(WinTools,12834681,21,168)
{
link(Handle,2953706:Handle,[])
}
Add(Hub,15036481,336,273)
{
InCount=2
OutCount=3
link(onEvent1,12969972:doReset,[(362,279)(362,265)(331,265)(331,251)])
link(onEvent2,1615893:doDefault,[(399,286)(399,244)])
link(onEvent3,3212909:doEvent2,[(427,293)(427,279)])
}
Add(Hub,3212909,504,266)
{
InCount=2
link(onEvent1,12768156:doText,[(543,272)(543,377)])
link(onEvent2,12780142:doEvent2,[(530,279)(530,297)(401,297)(401,314)])
}
Add(Hub,12780142,413,301)
{
InCount=2
link(onEvent2,6631522:doText,[(439,314)(439,338)(338,338)(338,363)])
}
Add(Timer,11713343,539,189)
{
link(onTimer,16498726:doBetween,[])
}
Add(Time,11564116,588,140)
{
Format="h"
}
Add(Between,16498726,588,189)
{
Data=Real(0)
Left=Integer(22)
Right=Integer(6)
link(Data,11564116:FormatTime,[])
link(Left,6302194:Text,[(601,156)(510,156)])
link(Right,8644533:Text,[(608,156)(594,156)])
link(onFalse,10541044:doWork1,[])
link(onTrue,10541044:doWork2,[])
}
Add(Edit,1453334,672,91)
{
Left=170
Top=140
Text=""
}
Add(Label,3453979,714,91)
{
Left=230
Top=145
Width=39
Height=17
Caption="рублей"
}
Add(Label,16607849,462,91)
{
Left=10
Top=145
Width=11
Height=17
Caption="С"
}
Add(Edit,6302194,504,91)
{
Left=30
Top=140
Width=30
Text=""
}
Add(Edit,8644533,588,91)
{
Left=90
Top=140
Width=30
Text=""
}
Add(Label,15658216,546,91)
{
Left=65
Top=145
Width=21
Height=17
Caption="ДО"
}
Add(Label,3352794,630,91)
{
Left=130
Top=145
Width=33
Height=17
Caption="часов"
}
Add(Label,7268817,770,42)
{
Left=10
Top=90
Width=89
Height=17
Caption="Дневной график"
}
Add(Label,4994140,462,42)
{
Left=10
Top=120
Width=81
Height=17
Caption="Ночной график"
}
Add(GetIndexData,6837785,707,189)
{
link(Data1,7874958:Text,[(713,156)(776,156)])
link(Data2,1453334:Text,[(720,156)(678,156)])
}
Add(ChanelToIndex,10541044,658,189)
{
link(onIndex,6837785:doIndex,[])
}

карма: 1

0
Ответов: 783
Рейтинг: 168
#2: 2022-11-09 06:45:18 ЛС | профиль | цитата
Serascer писал(а):
Что-то не работает диапазон с 22 часов до 06


Add(MainForm,16372971,231,231)
{
Width=519
Caption=""
BorderStyle=1
Point(Handle)
link(onCreate,12834681:doPopup,[(275,251)(275,279)(219,279)(219,307)])
}
Add(Label,6631522,798,420)
{
Left=140
Top=30
Width=18
Height=36
Font=[MS Sans Serif,22,0,0,1]
Caption="0"
}
Add(Button,9473910,455,343)
{
Left=10
Top=10
Width=115
Height=50
WinStyle=4
Caption="Заявка отработана"
link(onClick,12969972:doNext,[])
}
Add(Edit,7874958,721,154)
{
Left=100
Top=90
Text=""
}
Add(Label,3978635,371,35)
{
Left=10
Top=70
Width=81
Height=17
Caption="За одну заявку"
}
Add(Label,5517585,826,42)
{
Left=140
Top=10
Width=134
Height=17
Caption="Всего заявок отработано"
}
Add(Label,7710869,889,42)
{
Left=280
Top=10
Width=173
Height=17
Caption="Заработано с учетом НДФЛ 13%"
}
Add(Label,12768156,798,343)
{
Left=280
Top=30
Width=18
Height=36
Font=[MS Sans Serif,22,0,0,1]
Caption="0"
}
Add(Label,3253761,945,42)
{
Left=160
Top=95
Width=39
Height=17
Caption="рублей"
}
Add(Counter,12969972,546,343)
{
Max=100000
Point(doValue)
link(onNext,1040843:doEvent1,[])
}
Add(Hub,1040843,595,343)
{
link(onEvent1,1615893:doCalc,[])
link(onEvent2,11761272:doWork1,[(627,356)])
}
Add(Button,4802945,455,399)
{
Left=10
Top=215
Width=115
Height=50
WinStyle=4
Caption="Сброс"
Data=Real(0)
link(onClick,15036481:doEvent1,[])
}
Add(FastMathParse,1615893,672,343)
{
DataCount=3
MathStr="%1*%2 * ( 1 - 0.13 )"
Point(doDefault)
link(onResult,3212909:doEvent1,[])
link(X2,6837785:Var,[])
}
Add(WinTools,12834681,231,294)
{
link(Handle,16372971:Handle,[])
}
Add(Hub,15036481,511,399)
{
OutCount=4
link(onEvent1,12969972:doReset,[(536,405)(536,363)])
link(onEvent2,1615893:doDefault,[(634,412)(634,356)])
link(onEvent3,3212909:doEvent2,[(711,419)(711,356)])
link(onEvent4,11761272:doWork2,[])
}
Add(Hub,3212909,763,343)
{
InCount=2
link(onEvent1,12768156:doText,[])
}
Add(Timer,11713343,490,245)
{
link(onTimer,16498726:doBetween,[])
}
Add(Time,11564116,546,154)
{
Format="h"
Point(Hours)
}
Add(Between,16498726,546,245)
{
Data=Real(0)
Left=Integer(22)
Right=Integer(6)
link(Data,11564116:FormatTime,[])
link(Left,8644533:Text,[(559,194)(594,194)])
link(Right,6302194:Text,[(566,201)(636,201)])
link(onFalse,10541044:doWork1,[])
link(onTrue,10541044:doWork2,[])
}
Add(Edit,1453334,679,154)
{
Left=170
Top=140
Text=""
}
Add(Label,3453979,672,42)
{
Left=230
Top=145
Width=39
Height=17
Caption="рублей"
}
Add(Label,16607849,490,42)
{
Left=10
Top=145
Width=11
Height=17
Caption="С"
}
Add(Edit,6302194,630,154)
{
Left=30
Top=140
Width=30
Text=""
}
Add(Edit,8644533,588,154)
{
Left=90
Top=140
Width=30
Text=""
}
Add(Label,15658216,560,42)
{
Left=65
Top=145
Width=21
Height=17
Caption="ДО"
}
Add(Label,3352794,616,42)
{
Left=130
Top=145
Width=33
Height=17
Caption="часов"
}
Add(Label,7268817,770,42)
{
Left=10
Top=90
Width=89
Height=17
Caption="Дневной график"
}
Add(Label,4994140,427,42)
{
Left=10
Top=120
Width=81
Height=17
Caption="Ночной график"
}
Add(GetIndexData,6837785,679,245)
{
link(Data1,1453334:Text,[])
link(Data2,7874958:Text,[(692,194)(727,194)])
}
Add(ChanelToIndex,10541044,609,245)
{
link(onIndex,6837785:doIndex,[])
}
Add(FastMathParse,11119788,1036,378)
{
DataCount=3
MathStr="%1*%2 - (%1*%2)*0.13"
Point(doDefault)
}
Add(HubEx,11761272,623,420)
{
link(onEvent,6631522:doText,[])
}

карма: 15

0
Ответов: 133
Рейтинг: 0
#3: 2022-11-09 07:55:54 ЛС | профиль | цитата
Спасибо большое, но можете сказать, в чем у меня то проблема была? Принципиальное отличие только в формуле.
Поправка, ваша схема тоже не работает ))

Редактировалось 1 раз(а), последний 2022-11-09 08:12:35
карма: 1

0
Ответов: 783
Рейтинг: 168
#4: 2022-11-09 08:43:55 ЛС | профиль | цитата
Serascer писал(а):
в чем у меня то проблема была?

Проблема в том, что что в компоненте Between левая граница должна быть меньше правой.
Поэтому надо указывать между 06 и 22 часа т.е. надо указывать дневной тариф.
Я просто поменял подключение точек на обратное компонентах Between и GetIndexData.

Serascer писал(а):
Поправка, ваша схема тоже не работает ))


Работает если укажешь время с 22 до 06
карма: 15

0
Ответов: 133
Рейтинг: 0
#5: 2022-11-09 09:41:41 ЛС | профиль | цитата
Ааа вот оно что ) Ну вот такая тонкость, а справки по элементу Between нету. Спасибо большое.
карма: 1

0
Ответов: 783
Рейтинг: 168
#6: 2022-11-09 09:48:35 ЛС | профиль | цитата
Serascer, Сделал более универсальный вариант. Теперь нет никакой разницы какая граница диапазона больше.

Add(MainForm,16372971,294,322)
{
Width=519
Caption=""
BorderStyle=1
Point(Handle)
link(onCreate,12834681:doPopup,[(338,342)(338,370)(282,370)(282,398)])
}
Add(Label,6631522,861,511)
{
Left=140
Top=30
Width=18
Height=36
Font=[MS Sans Serif,22,0,0,1]
Caption="0"
}
Add(Button,9473910,518,434)
{
Left=10
Top=10
Width=115
Height=50
WinStyle=4
Caption="Заявка отработана"
link(onClick,12969972:doNext,[])
}
Add(Edit,7874958,784,245)
{
Left=100
Top=90
Text=""
}
Add(Label,3978635,434,126)
{
Left=10
Top=70
Width=81
Height=17
Caption="За одну заявку"
}
Add(Label,5517585,889,133)
{
Left=140
Top=10
Width=134
Height=17
Caption="Всего заявок отработано"
}
Add(Label,7710869,952,133)
{
Left=280
Top=10
Width=173
Height=17
Caption="Заработано с учетом НДФЛ 13%"
}
Add(Label,12768156,861,434)
{
Left=280
Top=30
Width=18
Height=36
Font=[MS Sans Serif,22,0,0,1]
Caption="0"
}
Add(Label,3253761,1008,133)
{
Left=160
Top=95
Width=39
Height=17
Caption="рублей"
}
Add(Counter,12969972,609,434)
{
Max=100000
Point(doValue)
link(onNext,1040843:doEvent1,[])
}
Add(Hub,1040843,658,434)
{
link(onEvent1,1615893:doCalc,[])
link(onEvent2,11761272:doWork1,[(690,447)])
}
Add(Button,4802945,518,490)
{
Left=10
Top=215
Width=115
Height=50
WinStyle=4
Caption="Сброс"
Data=Real(0)
link(onClick,15036481:doEvent1,[])
}
Add(FastMathParse,1615893,735,434)
{
MathStr="%1*%2 * ( 1 - 0.13 )"
Point(doDefault)
link(onResult,3212909:doEvent1,[])
link(X2,6837785:Var,[])
}
Add(WinTools,12834681,294,385)
{
link(Handle,16372971:Handle,[])
}
Add(Hub,15036481,574,490)
{
OutCount=4
link(onEvent1,12969972:doReset,[(599,496)(599,454)])
link(onEvent2,1615893:doDefault,[(697,503)(697,447)])
link(onEvent3,3212909:doEvent2,[(774,510)(774,447)])
link(onEvent4,11761272:doWork2,[])
}
Add(Hub,3212909,826,434)
{
InCount=2
link(onEvent1,12768156:doText,[])
}
Add(Timer,11713343,553,336)
{
link(onTimer,6516760:doCalc,[])
}
Add(Time,11564116,609,245)
{
Format="h"
Point(Hours)
}
Add(Edit,1453334,742,245)
{
Left=170
Top=140
Text=""
}
Add(Label,3453979,735,133)
{
Left=230
Top=145
Width=39
Height=17
Caption="рублей"
}
Add(Label,16607849,553,133)
{
Left=10
Top=145
Width=11
Height=17
Caption="С"
}
Add(Edit,6302194,651,245)
{
Left=30
Top=140
Width=30
Text="22"
}
Add(Edit,8644533,693,245)
{
Left=90
Top=140
Width=30
Text="06"
}
Add(Label,15658216,623,133)
{
Left=65
Top=145
Width=21
Height=17
Caption="ДО"
}
Add(Label,3352794,679,133)
{
Left=130
Top=145
Width=33
Height=17
Caption="часов"
}
Add(Label,7268817,833,133)
{
Left=10
Top=90
Width=89
Height=17
Caption="Дневной график"
}
Add(Label,4994140,490,133)
{
Left=10
Top=120
Width=81
Height=17
Caption="Ночной график"
}
Add(GetIndexData,6837785,742,336)
{
link(Data1,1453334:Text,[])
link(Data2,7874958:Text,[(755,285)(790,285)])
}
Add(HubEx,11761272,686,511)
{
link(onEvent,6631522:doText,[])
}
Add(MathParse,6516760,616,336)
{
DataCount=3
MathStr="((%2 < %1) and ( %1 < %3 )) or (( %2 > %1 ) and ( %1 > %3 )) "
link(onResult,6837785:doIndex,[])
link(X1,11564116:Hours,[])
link(X2,6302194:Text,[(629,285)(657,285)])
link(X3,8644533:Text,[(636,292)(699,292)])
}

карма: 15

0
Ответов: 133
Рейтинг: 0
#7: 2022-11-09 13:33:46 ЛС | профиль | цитата
Скажите, а почему при нажатии на сброс это не отображается? В смысле почему 0 не пишется

Add(MainForm,2953706,203,14)
{
Width=874
Height=436
}
Add(Button,157367,203,224)
{
Left=180
Top=95
Caption="сброс"
link(onClick,7739258:doReset,[(257,230)(257,202)])
}
Add(Button,15583188,203,182)
{
Left=240
Top=45
Width=85
Caption="Выполнено"
Data=Integer(1)
link(onClick,7739258:doNext,[])
}
Add(Counter,7739258,280,182)
{
Max=10000
link(onNext,511883:doText,[])
}
Add(Label,511883,329,182)
{
Left=260
Top=15
Caption="0"
}


Редактировалось 3 раз(а), последний 2022-11-09 13:35:37
карма: 1

0
Ответов: 783
Рейтинг: 168
#8: 2022-11-09 14:04:25 ЛС | профиль | цитата
Serascer писал(а):
почему при нажатии на сброс это не отображается? В смысле почему 0 не пишется

Потому что метод doReset не вызывает события onNext.
карма: 15

0
Ответов: 133
Рейтинг: 0
#9: 2022-11-09 14:13:27 ЛС | профиль | цитата
Gunta писал(а):
Serascer писал(а):
почему при нажатии на сброс это не отображается? В смысле почему 0 не пишется

Потому что метод doReset не вызывает события onNext.

А как тогда можно это реализовать?
карма: 1

0
Ответов: 783
Рейтинг: 168
#10: 2022-11-09 14:15:25 ЛС | профиль | цитата
Serascer писал(а):
А как тогда можно это реализовать?


Add(MainForm,10998195,385,105)
{
Width=874
Height=436
}
Add(Button,157367,378,315)
{
Left=180
Top=95
Caption="сброс"
Data=Integer(0)
link(onClick,13420071:doEvent1,[])
}
Add(Button,15583188,378,273)
{
Left=240
Top=45
Width=85
Caption="Выполнено"
Data=Integer(1)
link(onClick,7739258:doNext,[])
}
Add(Counter,7739258,462,273)
{
Max=10000
link(onNext,8321939:doWork2,[])
}
Add(Label,511883,553,273)
{
Left=260
Top=15
Caption="0"
}
Add(Hub,13420071,427,315)
{
link(onEvent1,7739258:doReset,[(452,321)(452,293)])
link(onEvent2,8321939:doWork3,[(522,328)])
}
Add(HubEx,8321939,518,273)
{
link(onEvent,511883:doText,[])
}

карма: 15

0
Ответов: 133
Рейтинг: 0
#11: 2022-11-09 17:26:39 ЛС | профиль | цитата
Спасибо большое, я так и сделал )
карма: 1

0
11
Сообщение
...
Прикрепленные файлы
(файлы не залиты)