|
|
|
Выбор между состоянием и периодом действия для сущности
|
|||
|---|---|---|---|
|
#18+
Коллеги, подскажите как правильнее с точки зрения избегания возможных будущих проблем, описать возможность работы с контрактом с клиентом. Речь об учетной системе, если что. По сути у меня выбор между тремя вариантами: - Состояние контракта. Т.е., упрощая - Работает/Не работает. - Период действия контракта. Даты начала и окончания. - И то, и другое. При этом в системе есть понятие "Рабочий день", который может отличаться от астрономической даты. Т.е. если "рабочий день", допустим, 01.01.2015, а актуальная дата 20.01.2015, то действия в системе отражаются 20-м числом. Но, есть нюанс, который меня смущает - во-первых контракт с внешним клиентом, то есть клиент понятия не имеет о "рабочих днях" нашей системы. С его точки зрения дата начала действия наступила - его контракт уже действует. И наоборот - наступила (астрономически) дата окончания - в системе, как мне кажется, нельзя регистрировать действия по клиенту, даже если "рабочий день" в периоде действия контракта. Возможно что я и не прав со вторым утверждением, не берусь судить. Дополнительную путаницу вносит то, что есть тестовые инстансы, на которых "рабочие дни" вообще никогда не совпадают с астрономическими. Чем не нравится только состояние - его придется переключать вручную. Нельзя заранее задать дату начала, чтобы при ее наступлении (тут доп.вопрос - "рабочий день" или астрономический должен наступить?) система сама уже понимала, что контракт рабочий. То же с датой окончания. Чем не нравится только период - проблемы с работой на тестовых инстансах. И то, и другое - никак не могу понять как все-таки учитывать и "рабочие дни", и астрономические. Сделать состояние функциональным типом и вычислять его в зависимости от "рабочих дней" + учитывать астрономические? Наверняка есть на эту тему есть какие-то статьи, но я не знаю. Ткните в какую сторону рыть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 10:18 |
|
||
|
Выбор между состоянием и периодом действия для сущности
|
|||
|---|---|---|---|
|
#18+
474, Имхо "Дата начала" и "дата окончания" явно лучше, чем состояние. Проблемы с тестовыми инстансами мне кажутся несколько надуманными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 11:37 |
|
||
|
Выбор между состоянием и периодом действия для сущности
|
|||
|---|---|---|---|
|
#18+
> И то, и другое. Так и есть. Договор может быть разорван в любое время любой из сторон. > клиент понятия не имеет о "рабочих днях" нашей системы На самом деле имеет. Табель-календарь - штука формальная и публичная, изменения в него вносятся тоже публично, так что никаких проблем в поддержке актуальной версии нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 12:36 |
|
||
|
Выбор между состоянием и периодом действия для сущности
|
|||
|---|---|---|---|
|
#18+
Косноязычно объяснил, прошу прощения. "Рабочий день" никакого отношения к табелю или календарям не имеет. Это, условно, дата которой регистрируются операции в системе. Т.е. стоит сейчас рабочий день 01.09.2015 - учетные документы в системе регистрируются именно этой датой, независимо от астрономической. Давайте я лучше назову это операционным днем. Кот Матроскин474, Имхо "Дата начала" и "дата окончания" явно лучше, чем состояние. Проблемы с тестовыми инстансами мне кажутся несколько надуманными. А считать в этом случае по "операционным дням" системы или по астрономическим? Был на практике случай когда из-за проведения технических работ в выходные поставили в системе "операционный день" на следующий понедельник (так надо было). В случае использования только перода для определения актуальности контракта, может оказаться так, что контракт с датой окончания "в понедельник" будет нерабочим если сравнение производить с "операционным днем" системы. И если система в этом случае производит какие-то действия, то она их произведет нелегитимно, в общем-то. Ведь астрономическая-то дата еще только суббота! C тестовыми инстансами такая же проблема, но она будет возникать гораздо чаще, т.к. там даты операционных дней почти всегда с астрономическими расходятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 14:01 |
|
||
|
Выбор между состоянием и периодом действия для сущности
|
|||
|---|---|---|---|
|
#18+
474Кот МатроскинИмхо "Дата начала" и "дата окончания" явно лучше, чем состояние. Проблемы с тестовыми инстансами мне кажутся несколько надуманными. А считать в этом случае по "операционным дням" системы или по астрономическим? Это вопрос к бизнес-аналитику Вашей системы :) "Что такое операционный день и как надо считать срок действия договоров?" Что касается Вашего примера - похоже что у Вас на "операционный день" навешаны противоречивые функции. Если может быть описанная Вами ситуация "Операционный день нужен N, а считать действие договора нужно по M" - то, вероятно, нужны 2 разные сущности. (хотя вообще не очень понятно - если все действия в системе будут помечены понедельником - то что такого "нелигитимного" с договором система может сделать в субботу?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 14:20 |
|
||
|
Выбор между состоянием и периодом действия для сущности
|
|||
|---|---|---|---|
|
#18+
> дата которой регистрируются операции в системе Не очень понятно, в чём заключается проблема. > может оказаться так Не может. Никакой разницы, как устанавливается дата регистрации - по умолчанию или явно. В любом случае она должна сравниваться с конечной датой жизненного цикла сущности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 14:45 |
|
||
|
Выбор между состоянием и периодом действия для сущности
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинЭто вопрос к бизнес-аналитику Вашей системы :) "Что такое операционный день и как надо считать срок действия договоров?" Некому его задать, к сожалению. Кот МатроскинЧто касается Вашего примера - похоже что у Вас на "операционный день" навешаны противоречивые функции. Если может быть описанная Вами ситуация "Операционный день нужен N, а считать действие договора нужно по M" - то, вероятно, нужны 2 разные сущности. Ммм... Какие? Кот Матроскинхотя вообще не очень понятно - если все действия в системе будут помечены понедельником - то что такого "нелигитимного" с договором система может сделать в субботу? Например, система может отправить уведомление клиенту, что его договор уже не работает. С точки зрения клиента это, как минимум, странно. За окном ведь суббота и договор еще сегодня и завтра в силе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 14:49 |
|
||
|
Выбор между состоянием и периодом действия для сущности
|
|||
|---|---|---|---|
|
#18+
guest_20040621Не может. Никакой разницы, как устанавливается дата регистрации - по умолчанию или явно. В любом случае она должна сравниваться с конечной датой жизненного цикла сущности. Как же "не может"?! Вы же сами пишете, что "Никакой разницы, как устанавливается дата регистрации" и что "она должна сравниваться с конечной датой жизненного цикла сущности". Ну вот и получается, что "дата регистрации" в системе установлена послезавтра, а конечная дата ЖЦ тоже послезавтра. Ergo система решит, что сущность мертва, несмотря на то, что за окном не послезавтра, а сегодня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 14:53 |
|
||
|
Выбор между состоянием и периодом действия для сущности
|
|||
|---|---|---|---|
|
#18+
474, В контракте оговариваются все. Если заданы даты явные, то они и есть предмет разговора. Часто задают относительные даты, типа 5 Рабочих (календарных) дней после наступления какого то события. При этом если субъекты внутри одной календарной системы и есть общие законы о Рабочих днях (Производственный календарь) то календарь и/или Рабочий день не расшифруется, а иногда точно указывается и календарь и производственный календарь каждой из сторон. Система ведения контрактов должен все это учесть. На самом деле любой контракт- это обычный проект и должен рассматриваться исходя из этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 14:53 |
|
||
|
Выбор между состоянием и периодом действия для сущности
|
|||
|---|---|---|---|
|
#18+
ViPRos, посмотрите все сообщения темы. Я уже писал, что "рабочий день" это моя оговорка и правильнее писать "операционный день". Извините, что всех запутал. Никакого отношения к календарю эти дни не имеют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 14:55 |
|
||
|
Выбор между состоянием и периодом действия для сущности
|
|||
|---|---|---|---|
|
#18+
474, все ваши "дни" - если они не интерпретируются однозначно всеми сторонами контракты - ничтожны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 14:57 |
|
||
|
Выбор между состоянием и периодом действия для сущности
|
|||
|---|---|---|---|
|
#18+
474Кот МатроскинЭто вопрос к бизнес-аналитику Вашей системы :) "Что такое операционный день и как надо считать срок действия договоров?" Некому его задать, к сожалению. Кот МатроскинЧто касается Вашего примера - похоже что у Вас на "операционный день" навешаны противоречивые функции. Если может быть описанная Вами ситуация "Операционный день нужен N, а считать действие договора нужно по M" - то, вероятно, нужны 2 разные сущности. Ммм... Какие? Я вообще не сторонник вычисляемого поля "действует/не действует", гораздо лучше это вычислять "по месту" в конкретном функционале. Если делаете рассылку - определять по сегодняшней дате, привязываете какое-то движение средств к договору - определяете по дате движения, и т.п. "Дата начала" и "дата окончания" - предоставляют для этого все возможности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 15:00 |
|
||
|
Выбор между состоянием и периодом действия для сущности
|
|||
|---|---|---|---|
|
#18+
выкинь такую систему любой контракт закрывается на основе оговоренных документов и наступления событий все это требует акцепта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 15:00 |
|
||
|
Выбор между состоянием и периодом действия для сущности
|
|||
|---|---|---|---|
|
#18+
> Как же "не может"?! Никак не может. Дата регистрации события никак не влияет на даты границ жизненного цикла. > вот и получается, что "дата регистрации" в системе установлена послезавтра, а конечная дата ЖЦ тоже послезавтра У вас есть машина времени, которая может переносить документы из "послезавтра" в "сегодня"? :) Но даже на этот случай всё корректно: последний день жизненного цикла ничем не отличается от других. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 15:32 |
|
||
|
Выбор между состоянием и периодом действия для сущности
|
|||
|---|---|---|---|
|
#18+
guest_20040621У вас есть машина времени, которая может переносить документы из "послезавтра" в "сегодня"? :) Но даже на этот случай всё корректно: последний день жизненного цикла ничем не отличается от других. У нас есть причины иногда операционный день в системе устанавливать в будущее, в т.ч. и в послезавтра. А поскольку система, в основном, оперирует операционным днем, извините за каламбур, то и будет думать, что контракт уже не действует, т.к. "послезавтра". Хотя, на самом деле, "сегодня". В итоге, решил последовать советам Кота и по месту решать на какую дату смотреть - либо операционного дня, либо астрономическую. Ваше замечание об одностороннем расторжении договора мне тоже понравилось, так что состояние оставлю, но без переключения его автоматически в зависимости от дат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2015, 17:38 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=39053964&tid=1540478]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 16ms |
| total: | 270ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...