|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
Так как возникает иногда потребность, а реализации бывают разные, то предлагаю обсудить частный случай для FB и допилить совместными усилиями до совершенства. Из таблицы вырезаны названия дней и месяцев, которые генерировались с помощью самописной UDF. Таблица Calendar: Код: sql 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. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133.
Процедура по его заполнению: Код: sql 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. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99.
Модератор: Процедура заменена по просьбе автора. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2013, 15:33 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
wadman, Хм... Я храню только праздничные дни (в виде обычной даты) - т.к. они НЕ являются строго регламентируемыми и привязываются к конкретному предприятию. (Ну и также всякие переносы присутствуют). Все остальное считаю "на лету". ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2013, 16:33 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
DarkMasterВсе остальное считаю "на лету". Значит у тебя нет потребности посмотреть динамику производства или продаж по дням недели/неделе/кварталу и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2013, 16:41 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
wadman, Предметная область другая... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2013, 16:43 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
wadman, 1. Добавить первичный ключ 2. Добавить количество рабочих часов, ведь есть сезонные интервалы. У нас, например, в Кузбассе, в огородный период, с май по сентябрь, для женщин по пятницам рабочий день короче на 1 час, а то и на два. 3. Связать календарь отношением M-to-M cо списком сотрудников, пусть у каждого будет свой календарь, где отмечать особые даты, отпуск, день рождения, дата приёма на работу и т.д. 4. сделать п.3 для отдела 5. Можно прикрутиь и TimeTable, типа ежедневника, тогда уже ТаймМенеджмент можно поднять. Начальство одобрит, а коллеги .... . ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 06:58 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
zeon111. Добавить первичный ключ PRIMARY KEY? Чуть кофе не поперхнулся. :) zeon112. Добавить количество рабочих часов, ведь есть сезонные интервалы. У нас производство за редким исключением круглосуточное, но в целом согласен в купе с п.4. zeon113. Связать календарь отношением M-to-M cо списком сотрудников, пусть у каждого будет свой календарь, где отмечать особые даты, отпуск, день рождения, дата приёма на работу и т.д. Не согласен: свойства элементов (день приема/рождения/увольнения), как и его исторические изменения (штрафы, отпуска, повышения/понижения, прогулы) не стоит пихать в календарь. И касательно моего случая количество календарей вырастет на несколько тысяч - тихий ужас. zeon114. сделать п.3 для отдела Предлагай свой вариант таблицы, так будет честно, т.к. у меня only производство и для него большего и не нужно. zeon115. Можно прикрутиь и TimeTable, типа ежедневника, тогда уже ТаймМенеджмент можно поднять. Начальство одобрит, а коллеги .... . Так же считаю, что это не для календаря. У нас, к примеру, для этого есть пропускная система на всех дверях. zeon11, ты теоретизируешь, признайся? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 09:22 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
wadmanzeon11, ты теоретизируешь, признайся? :) Угу, теоретизирую..... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 10:24 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
zeon11Угу, теоретизирую..... Сколько у тебя строк в календаре на один год? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 10:35 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
wadman, не парься. Самый универсальный календарь сделать наверно можно, но он будет излишне сложным для конкретных применений. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 10:38 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
Про первичный ключ: Я разглядел, что у тебя ALTER TABLE CALENDAR ADD CONSTRAINT PK_CALENDAR PRIMARY KEY (VAL); Но! первичный ключ по дате лишает тебя манёвра на случай, если ты захочешь иметь не один, а два или три календаря. Поясняю, например, в твоём предприятии появилась дочерняя контора, которая работает по вечерам и в выходные и праздничные дни. Что будешь делать? только создавать ещё одну аналогичную таблицу со всеми триггерами и прочими причиндалами, поскольку в твоей таблице первичный ключ - дата. А если суррогатный ключ есть - то никаких проблем, пусть новый календарь живёт в этой-же таблице. wadmanНе согласен: свойства элементов (день приема/рождения/увольнения), как и его исторические изменения (штрафы, отпуска, повышения/понижения, прогулы) не стоит пихать в календарь. И касательно моего случая количество календарей вырастет на несколько тысяч - тихий ужас Я-же нигде не говорил, что каждому сотруднику свою таблицу календаря. Связываем сотрудника отношением М-М с календарём. Например, для твоего случая делаем таблицу Код: sql 1. 2. 3. 4. 5. 6.
где хранится корректировка календаря для конкретного сотрудника. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 11:04 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
zeon11Но! первичный ключ по дате лишает тебя манёвра на случай, если ты захочешь иметь не один, а два или три календаря. Поясняю, например, в твоём предприятии появилась дочерняя контора, которая работает по вечерам и в выходные и праздничные дни. Как и я говорил ранее, меня волнует только производство - там нет нерабочих дней и нет необходимости считать рабочие часы и посещаемость ибо оно круглосуточное. Понимаешь, наша дискуссия выглядит так, будто ты навязываешь мне свой вариант не учитывая, что мой календарь живет и выполняет возложенные на него требования на 100%. Попробуй не оспаривать мой вариант, а предложить свой и подчеркни отличия/плюсы. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 11:16 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
wadmanzeon11Угу, теоретизирую..... Сколько у тебя строк в календаре на один год? Когда как, в високосный 366, а обычно 365. Это на одно предприятие. К календарю прикручена таблица расписания, (это то, что показано зелёным), таблица расписаний генерится в процедуре на сервере на 1 день по шаблону (отдельная таблица) или по дню-образцу. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 11:19 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
zeon11Когда как, в високосный 366, а обычно 365. Это на одно предприятие. К календарю прикручена таблица расписания, (это то, что показано зелёным), Я-то думал, что ты все это 14792184 предлагаешь ввернуть в календарь. :) Так-то с предложением добавить поле вроде "Тип календаря/отдела" и включить его в ПК в целом согласен, если-бы мне нужно было учитывать работу еще и управления, которое как известно работает как у белых людей заведено. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 11:30 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
такое впечатление, что гугл календарем никто не пользуется... Это я хотя бы про имитацию фич. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 11:35 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
kdvтакое впечатление, что гугл календарем никто не пользуется... Правильное впечатление. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 11:36 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
wadman, У меня практически такой-же календарь, как у тебя, только названия полей другие, есть первичный суррогатный ключ, есть поле - FOREIGN KEY предприятия-владельца календаря, нет индексов по "вычисляемым" полям. На календарь навешана куча обвязок из таблиц М-М на разные случаи жизни. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 11:40 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
wadman, В своё время рассматривал вариант построения календаря на ARRAY, матричные операции и прочие, как-бы плюшки, однако, реляционая модель всё-таки предпочтительнее оказалась. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 12:07 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
wadmanПроцедура по его заполнению: В ней косячек оказался. Ув. модераторы, поправьте стартовый пост, пожалуйста. Код: sql 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. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99.
В старой версии current_date затесался вместо val. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 12:35 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
Исправил. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 14:37 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
У нас в организации проще, нам этот справочник рассылают. Причем в двух вариантах. Первый - без учета регионов, второй - по регионам . ... |
|||
:
Нравится:
Не нравится:
|
|||
04.09.2013, 22:20 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
__Avenger__, для 2015 г. неправильно заполнился ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2015, 18:39 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
партизан из лесу вышел, мля! ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2015, 18:41 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
Поручик ·· Ржевский, Код: sql 1. 2.
косяк где-то тут) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2015, 18:55 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
косяк скурили 2 года назад. ты пришел с опозданием. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2015, 18:58 |
|
Производственный или рабочий календарь
|
|||
---|---|---|---|
#18+
Поручик ·· Ржевский, пусть и скурили, но может кому-то пригодится Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2015, 19:05 |
|
|
start [/forum/topic.php?fid=40&fpage=75&tid=1562786]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
90ms |
get tp. blocked users: |
1ms |
others: | 44ms |
total: | 240ms |
0 / 0 |