|
|
|
Help
|
|||
|---|---|---|---|
|
#18+
Помогите решить следующию задачу. Как заполнить месяц (с 1 по 31) следующим циклом 2-раполняем 3-пропускаем и так до конца месяца. Существуют несколько видов заполнения (2 ч-з 2; 3 ч-з 1; 3 ч-з 3 ... и т.д.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 13:12 |
|
||
|
Help
|
|||
|---|---|---|---|
|
#18+
Что значит "заполнить месяц"? Ну или сказал бы, что график работы сторожей хочешь сделать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 13:47 |
|
||
|
Help
|
|||
|---|---|---|---|
|
#18+
Именно ... врнее говоря скользящий график работы. Может кто подскажит решение. Зарание спосибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 13:53 |
|
||
|
Help
|
|||
|---|---|---|---|
|
#18+
А если все-таки написать что именно надо получить? -) Результат расчета записывается в таблицу? -) Результат расчета - это: список дат, интервала дат, порядковые номера дней в месяце? -) Расчет производиться только на один месяц или за период с ... по ... ? -) В течении расчетного периода график может меняться? -) Учитываются ли выходные и праздничные дни? И это еще не все вопросы! Без полноценного ТЗ внятного ответа не получишь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 14:12 |
|
||
|
Help
|
|||
|---|---|---|---|
|
#18+
а что Вас собственно смущат получаете количество дней в месяце получаете первый день и в цикле элементарно через масивы ищете стандарную функцию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 14:13 |
|
||
|
Help
|
|||
|---|---|---|---|
|
#18+
leafа что Вас собственно смущат получаете количество дней в месяце получаете первый день и в цикле элементарно через масивы ищете стандарную функцию? Праздник не закончился? ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 14:34 |
|
||
|
Help
|
|||
|---|---|---|---|
|
#18+
2redrik Ну может я чего и сморозил но просто не хочеться ваять чего-то за человека (без предоплаты ) при такой не четкой постановке задачи Хотя сама задачка не так что бы тяжелая но не так что бы и легкая Когда мне нужно было я с подобной задачей в общем виде (часов 1-5 непомню) справлялся хотя исходник за давностью лет и за ненадобностью увы утерян ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 14:55 |
|
||
|
Help
|
|||
|---|---|---|---|
|
#18+
leafНу может я чего и сморозил но просто не хочеться ваять чего-то за человека 1. Тогда зачем вообще "морозить"? :-( 2. Знаки препинания облегчают понимание! ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2005, 16:43 |
|
||
|
Help
|
|||
|---|---|---|---|
|
#18+
ВладимирМ 1. Результаты записываются в таблицу либо в курсор неважно 2. Результат - список дат (с 1 по 31) 3. Расчет производится только за один месяц 4. В течение расчетного периода график не меняется 5. Выходные и праздники не учитывать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 05:16 |
|
||
|
Help
|
|||
|---|---|---|---|
|
#18+
Tone3. Расчет производится только за один месяц А если человек работает, например, по схеме "3 ч-з 3", отработал 29,30,31... С 1-го числа следующего месяца ему снова три дня вкалывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 10:19 |
|
||
|
Help
|
|||
|---|---|---|---|
|
#18+
Redrik Tone3. Расчет производится только за один месяц А если человек работает, например, по схеме "3 ч-з 3", отработал 29,30,31... С 1-го числа следующего месяца ему снова три дня вкалывать? В этом случае расчет следующего месяца пойдет не с 1-го а с 4 числа ... будет предусмотрена проверка. Копался с массивами у меня получается только для каждого конкретного случая. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 10:52 |
|
||
|
Help
|
|||
|---|---|---|---|
|
#18+
В свое время, когда делал систему для ведения графиков (а их на предприятии было порядка 30 различных) НО было введено понятие цикла графика - это как раз в даном случае РРРВВВ и сдвиг от начала цикла (на начало года или месяца) и по этой инфе строил график на весь год ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 11:13 |
|
||
|
Help
|
|||
|---|---|---|---|
|
#18+
Простейший вариант: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 11:16 |
|
||
|
Help
|
|||
|---|---|---|---|
|
#18+
Tone Копался с массивами у меня получается только для каждого конкретного случая. ... может подскажите чтонибудь универсальное. Ну что же, попробую. Во-первых, кто сказал, что дней будет 31? Надо брать реальные цифры (количество дней в месяце), а не "зашивать" их жестко в циклы - в феврале даже в високосный год не будет 31 день! А от этого пойдут в дальнейшем накладки... Итак, имеем переменную - KolDays. Во-вторых, пару "append blank - replace" вполне можно заменить на "insert into...". И работать будет быстрее... В-третьих, имея различные графики работы можно это дело параметризовать, то есть ввести переменые: KolWorkDays (количество рабочих дней) и KolFreeDays (количество дней отдыха). Тогда режим 3 через 3 будет прописан так: KolWorkDays=3 и KolFreeDays=3. В-четвертых, менять значение переменной цикла внутри самого цикла не есть хорошо. Поэтому, откажемся от цикла For и заменим его на While. В-пятых, желательно хранить все настройки в отдельном файле/файлах. В-шестых, необходимо задать день начала расчета в графике (как это было правильно сказано в одном из предыдущих постов). Тогда имеем переменную FirstWorkDay. В итоге получаем примерно следующее: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 11:44 |
|
||
|
Help
|
|||
|---|---|---|---|
|
#18+
Еще один вариант: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Если оформить это через функцию, то и получим "универсальный" алгоритм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2005, 12:06 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33047917&tid=1594300]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
183ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 525ms |

| 0 / 0 |
