請求書が必要な時に人々に伝え、支払いを止めましょう
支払いがこの人が責任を負うとき、ホームページ上のバナー 失敗し、請求ページに直接リンクします。 失敗した支払いまで もはや開いていないアプリとしてだけ現れた — 説明なしの制限 これは、未払いの請求書ではなく、壊れたソフトウェアとして読みます。 調達のみ 彼らが行動することができる請求書: 自分の座席、および管理グルー...
組織ごとの1つの計画、25座席企業の天井および支払を止める方法
計画は現在、組織レベルの決定であり、他にそれを上書きすることはできません。 自給者やグループマネージャーが親切に自分の読み物を選び、 正しいバグです。 **************** 回答 "このorgesを このアプリは、OR-ing がすべてのライブサブスクリプションを org をターゲットにすることで、 プラン...
権利から解決する役割の承認層のリレー
ロールは、呼び出し者の権利とその関係から、ここに決定されます 被写体 -- 要求ボディから決して。 自分の役割を名づけることができる身体 誰が支払いを請求するかどうかを聞かせてください。 優先順位: PAYROLL(任意の状態のブロードキャスト、編集)、MANAGER、その後、EMPLOYEE 自分の記録のために。 ...
APPROVE TIMECARD ADJUSTMENTS(197)とFINALIZE PAY PERIODS (198)
業務の分割が明示的である: 誰がタイムカードを承認しても、 支払期限を過ぎても、自動的に終了することがあります。 MANAGE TIMECARDS(マナエイジ)(183) モジュールのゲートにとどまり、非適度にではないです。 入学はまだ正しいではありません - それは永続的な雇用事実です。 正しい TERMINATE...
承認の層の州機械
従業員は、所有者の決定ごとに、 -> 管理者承認 -> 給与クローズを提出します。 4つのルールは、純粋なトランジションテーブルで強化され、25個のテストでピン留めされています。 1. 管理者は、従業員が提出するまで承認します。 投稿は 従業員自身の主張は、時間が彼らのものであり、完了です。 それを承認せずに承認す...
会員タイムカードタブとHRSタイムカード設定タブ
会員タブはSELF-SERVICEのみで、身元に置かれます。 法的な遵守:そのエンドポイントはメンバーIDをまったく受けませんので、構造的に 他人の時間を表示できない。 checkRight は使えません。 神様のモードの下のすべてを真に返し、ページ自身の canViewOtherMemberアカウントまたは関連のない...
/hr/attendanceの回転子およびNavTopの時計制御
HrTabPlaceholderボディを取り替えて下さい。 ルート, HR TABS エントリー, MANAGE TIMECARDS ゲートとタブi18nキーはすべて既に存在しています。ここで何も登録しません。 毎回読み込まれる不変なパンチログからロスター時間がサーバー側を誘導 走る合計として保たれているのではなく、...
パンチリポジトリのデータベースクロックアクセス
すべてのパンチのインスタントは、JVM:Podsの再起動とノードから来ません クロックスキュー, 注文する賃金レコードは、どのPodが応答するかによって異なります レコードではない。 SQL 規格 CAST は、 :: キャストがサイレントマングリングされるので、 -- Hibernate 名前付きパラメータプレフィッ...
/api/security/timecards の BFF ルート
TimecardServiceは、イングレッシブなしでクラスターIPです。 すべてのサービスは健康であり、すべてのビルドは、ブラウザの404sを備えています 緑色 - このプラットフォームで2回既に起こった正確な失敗。 ここの認可無し、意図的に:この層は輸送であり、ハーフチェック それは制御であるという信念を招待しま...
タイムカードへのセキュリティサービス中継サービス
認可境界。 TimecardService は、データとエンジンを保持するが、 セッション; これは、セッションを保持し、誰が何をするかを決める, その後、リレー. ザ・オブ・ザ・ 従って、ここを通すことなく、エンジンは到達できません。 SecurityService は、ハンド・ロール・パー・ハンド・オースと an...
ワークデイバケット、パイプラインのステージ2
解決された間隔は、アロケータの準備が整った、毎営業日秒になります。 間隔は、それが交差するすべての営業日境界でSPLITです:22:00-06:00シフト 深夜営業日以内に1日と6日の2時間です。 アトリビュート 開始日のスパン全体が毎日稼働時間と7日間のルールになります 毎晩の作業員に誤りがあります。 これは、ビ...
KI登録とスキーマ移行
表はddl-autoから来ています。このランナーはHibernateができないものだけを供給します。 1つのオープンプライマリ割り当てと1つのオープンペイレートの部分的なユニークなインデックス ウィンドウと、バックエンド専用のデータベースの半分の REVOKE です。 @Order(0) なので、後者の JPA SE...
仕事週と仕事日の境界
ワークウィークはFLSAの過時間単位です--固定、規則的に168-hourを再帰して下さい 期間 -- 支払期間ではありません。 隔週の期間は正確に2つを保持します 半月または毎月の期間は、常に僅かなものを保持するので、 過払いと過払いの両方の合計で時間の計算オーバータイム 一度の期間がエクスポートされると固定できませ...
インターバル解像度、計算パイプラインのステージ1
パンチは分解されたスパンになります。 値型ではなく、純粋、合計、および上 すべてのステージは、永続的なコンテキストなしでフィクスチャーテスト可能です。 デュレーション.betweenから瞬時に来る, 決して壁クロック減算. DSTのストーリー全体とテストピン全体です。22:00-06:00シフトはSEVENです。 ス...
非ピラミッドオーバータイムアロケータと管轄プリセット
規則は、このライブラリで既に使用されているrequireRule形状のDataです。 コードブランチなので、カリフォルニアはリライトの代わりに設定行です。 配分順序は負荷軸受けです:毎日規則の最も高いしきい値優先順位(13時間) CAの日は1.5xの2xそして4hで1h、1.5xの5hではないです)、そして7thです...
ブラウザにorgタイムゾーンを渡す
クライアントの組織モデルはタイムゾーンフィールド、useFormatters と next-intl を持っていなかった timeZone と timezoneService のバックエンドコール 404'd を使わずに両方設定できます。 ブラウザのゾーンにレンダーされるタイムスタンプと、SSRのサーバーのタイムスタン...
メニュー
timezoneService.ts は、このエンドポイントを記述して存在していたので呼び出しました。 クライアントが404を飲み、UTCに解決しました。 そもそも useFormatters と next-intl は両方とも timeZone で設定されています。 timestamp はブラウザのゾーンでレンダリン...
WorkSite、管轄区域のアンカー
WorkLocation: TeamMember.workLocation ではなく、WorkSite の名前を付ける オフィス/リモート列列と、その名前による2番目の記号は、すべての grep で衝突します。 ZoneId は、TimezoneType ではなく、その enum's 27 を含んだものです。 値が複...
雇用と効果的な割り当ての修正
会員ではなく、ASSIGNMENTを参照します。 それは、 同時位置、29 CFR 778.115の重く平均の規則的な率、 複数のサイト リーガルと仕事の費用は、まったく明白です。 ManagerMemberId は、チームメンバーのマネージャーからリビジョン時にスナップショットされます。 誰が承認したかを再編成する...
有効な、付属の支払率
この組織の前に、このプラットフォーム上の従業員の補償は存在しません。 それは要求されます:FLSAの規則的な率に対して時間超過は計算されます、CAは要求します 賃金明細書の率、およびレートなしで輸出は給与を与えます 何も消費しません。 レイズは新しい矢印です。 エクスポートされた期間内で有効なレートは、 レトロな調整...
パンチログと監査イベントのみ
NARROW Repository インターフェイスでは、JpaRepository: deleteAllInBatch は使用できません。 そしてバルクJPQLバイパスのエンティティティコールバック、従ってインターフェイス シェイプは作成しますです アドバイザリーではなく、本物だけを申請する。 インスタント + I...
Timezone-of-recordソルバー
権限の注文作業場所 -> メンバー -> org -> UTC. 仕事現場は勝ちます。 wage-and-hour ルールは、作業が実行される場所に従う。 このセッションは、無接触のPACIFICのすべての13のorgsを発見した デフォルトでは、63 人のメンバーの 38 人がタイムゾーンをまったく使用していません...
共有WORMの拒絶ガード
@Column(updatable=false) は、不変性を強制しません。 UPDATEから列を省略し、スタイル・ライティングは成功するようなものです。 唯一の作業ガードは、投げる@PreUpdateです.
ドメイン列列とポイントインタイムバージョンのリゾルバ
Enums は、コールサイトの @Enumerated(STRING) です。ORDINAL は数値を生成します。 範囲 CHECK を含むと、SchemaCleanupRunner のインリスト スイープ 意図的にスキップし、すべての新しい値に手元で広まっている必要があります。 解決者は、決してインスタンスを消費す...
座席に支払うメンバーを表示し、第2者の提供を停止する
トランスレーションキーとコンポーネント無しで出荷されるカバレッジエンドポイントなので、 答えを問う - 座席に支払う人 - それでも尋ねる場所がなかった。 SeatCoveragePanelはそれを尋ね、答えはそれの横に自己支払のパネルを供給します: 組織またはグループが既に座席を覆っている人 自分のカードで別の購入チ...
団体の計画をキャンセルし、1人で2回払いを止める
最後の出荷時の3つのギャップ: 計画のあるグループは、決して削除できませんでした。 delete() は、ライブ中に拒否します サブスクリプションが存在する — 正しい、グループ行が指す唯一のものだから ストライプサブスクリプション — しかし、キャンセル方法がなかったので、保護策は デッドエンド。キャンセルPlan...
人を置くことができるグループと支払い
グループを作成すると、名前を生成し、他に何も生成しません。誰を追加しても、方法はありません マネージャーが計画を選択するために、どこに支払うべきか。 グループを開く 誰がショー 座席を待ち受けている人、そしてその上でいる計画は、 座席購入 カナニカルメンバーピッカーを使って、誰に支払うかを尋ねます。 送信するために使...
請求グループが終わるまで終わりに働かせ、何もセルフペイの充満を停止して下さい
グループが集うようになり、マネージャーのカードでプランを購入し、手札を手に 席外。 存在しない: 唯一の操作が作成され、承認される 削除すると、グループを作ったオーナーがラベルをつけて使用する方法がない。 BillingGroupSeatService は、お金の動きと資格が発行されるところです。 記録保管とは別に、...
実際に支払うことができるグループのためのスキーマ
3人のランナー: BillingGroupRosterMigration は、グループのメンバーである billing pay group members を作成します。 何かを買った前に支払うべき手段。 org id は非正規化されます。 そのため、データベースは「メンバーは1つのアクティブ課金グループに1つありま...
請求グループが独自の賃金になるようにしましょう
グループの名前をつけて、他の名前を付けることはできません。 サブスクリプションは決して設定されていない — setSubscription と呼ばれるプラットフォームでは何もないため、subscribe uid は滞在 null 永遠に、グループが単一のシートを購入または保持できませんでした。 モデルは3つのことを変...
HRコースエディタ、割込みグリッド、会員コースプレーヤー
/hr/training は、そのプレースホルダーを 2 個のサブタブに置き換えて、ブリーフが要求され、メンバーの 割り当てられたトレーニンググリッドは、プレイヤーの希望のために戻って保持していたアクション列を獲得します。 コース 公開、割り当て、重複、アーカイブ、およびインラインを削除したカタロググリッド。 削除は...
タイムリーなトレーニング リマインダーティック
法的なスイープの毎日とは異なり、午前10時00分に。 トレーニングは、OWNのローカル送信で各orgを思い出させます 時間, 組織.timezone スパン 21 時間 (太平洋/オーストラリア/シドニー) — シングル 毎日のUTCティックは「今日」がほとんどのプラットフォームで間違っていることを意味します。 間違っ...
完全な HR トレーニング バックエンド
コース作成, 出版, 割り当て, 会員プレーヤー, サーバーサイドのグラデーション, WORMの証拠と リマインダースイープ — /api/docs/training の背後にある全モジュール。 AUTHORING(アットホーリング) コースは、テストがユニットのピアであるアイテムの注文リストを運びます。 1つの決定...
4つのトレーニングメールテンプレート
HRの法的家族と同じ定数/点数キーの分割: コンスタントはファイル名の茎、 templateKey プラットフォーム SENDS は、各 .json 内のドット値です。 その間違ったことは生きた QUOTE SENT/commerce.quote sent バグ — 404s は、シードされたテンプレートに対して永遠に...
双方の義務のための1つのメンバーの表面、どちらかのための1つのバッジ
会員のコンプライアンスタブには、2つのサブタブ、保留と完了があり、1つの義務があります。 これらはSTATEではなく一種のものなので、ステータスフィルタ(「all」で2つのタブを破棄します。 どこにも置いておらず、以前は両方をチェックして答えることを意味していました。 署名されたか。タブストリップは、本物的に異なる2つ...
会員向けトレーニングAPI
@EnableJpaRepositories で com.kamo.z.shared.hr.training を登録します。@EntityScan は広いので どちらの方法でも、リポジトリは見つかりません。 法的モジュールを映す2つの承認の漏斗、意図的に分けて下さい: TrainingAccess ゲート /api...
HRトレーニングスキーマを作成する
Explicit @EnableJpaRepositories リストで com.kamo.z.shared.hr.training を登録します。 — @EntityScan は広いので、エンティティティティティはどちらの方法も見つかりますが、リポジトリはそうではありません。 このテーブルが作成されていない限り。 ...
ドキュメントのアップロードをストリームし、HRトレーニングスキーマを追加します
ImageService はアップロードDocumentStreaming、アップロードドキュメントのストリーミングカウンターを獲得します。 バッファされたフォームは、大アップロードをまったく表現できません: readInputStream は割り当てます 新しい byte[size] は、Integer で Java...
Billing pay groups を明示的に作成し、従来のコリジョンを解除します
それをddl-autoに残すのではなく、移行で作成します。 既存の billing groups でエンティティティティティティティティが指摘した時、ハーフビルドされたテーブル.
組織のストレージに対する各メールボックスのサイズ
Dovecot は 1 個のメールボックスの制限を強制し、その列の設定は何もなかった 読み込み これは、ストレージのスナップショットの後に夜間に書き込みますので、容量が 昨日の数字ではなく、今日の数字に分けられます。 各メールボックスはプール全体と同じシェアを取得します。 重要な財産 株式は容量を合計するので、メール...
インバウンド配信でストレージクォータを強制し、DBパスワードの発送を停止
オブジェクトストレージは、組織を過去に受け取るコンテンツを拒否します オブジェクトストアを通過するすべてのドメインをカバーする天井。 インバウンドメール LMTP は、パス内の Java 無しで maildir に直接書き込むので、 Dovecot の quota プラグインは、停止できる唯一のことです。 プラグイン...
インバウンド配信でストレージクォータを強制し、DBパスワードの発送を停止
オブジェクトストレージは、組織を過去に受け取るコンテンツを拒否します オブジェクトストアを通過するすべてのドメインをカバーする天井。 インバウンドメール LMTP は、パス内の Java 無しで maildir に直接書き込むので、 Dovecot の quota プラグインは、停止できる唯一のことです。 プラグイン...
会員がコンソールから自分のシートをライセンスする
セルフペイのループを閉じるパネル。 どこまでも現れます。 組織の方針は、それを可能にし、既に購入されていない人のためにだけ 組織の代わりに、サーバーは同じポリシーをチェックします。 コントロールではなく、礼儀。 カードを尋ねる前に請求され、承認モードの下の人は言う つまり、所有者が同意するまで何も請求されないこと。 ...
支払いが失敗し、サブスクリプションを下げる人々を伝えます
存在しなかった行列。 invoice.payment failed は行を書き、返します。 電子メール、フラグなし、ステート変更なし、課金なし。email-service-url の設定 すべてのJavaコードで参照してください。 webhook は、最初の失敗の残忍な時計を開始し、それをクリアします 請求書が支払わ...
ダニングクロック列の追加
last due since と stop notified at のどちらも null です。 ニュルは、支払いを意味し、 それぞれ未売.
失敗した支払いは何かを意味します
PAST DUE は、タイムスタンプなしで、両方のエンタメリゾルバーに完全にライブとしてカウントされます。 そして帽子無し、従ってカードが長い間すべての特徴を保たれなかった顧客 ストライプは、その状態でサブスクリプションを残した — 慣行中無期限 — と 誰も、顧客、またはオペレータは言った。 コレクションが最初に失...
会員が自分の席を購入し、ボディパラメータの穴を閉じる
セルフペイはコンソール内のルートがなかった。 請求面のすべては すでにAccountMemberの行を保持する必要があります。 請求は何かを示し、一つを取得する唯一の方法は、所有者の行動だったので、 自分で支払いたいと思っていた会員は、行きたいと伝えました。 1つの本物 存在している自己ペイパス、ホワイトラベル製品で使...
所有者が支払うことができるかを決定し、そのグループを管理しましょう
所有者は、自己支払いの上に正確に1つのレバーを持っていたし、それは間違った形状だった: 不可逆性は妊娠を促進し、それがだったかどうかを事前に言う方法がない 別の消費者チェックアウトパスが許可されず、それを禁止する方法はありません。 会員の自己登録は無関係です。 これは予防制御です。 コンソールの残りの部分はそれ自体を隠...
Org ポリシーと課金グループ API
組織内の誰がカモの支払いをできるようになりました 回答可能で設定可能な. 両方とも ルートは org-scoped で、 したがって /api/billing/accounts/** の外に非適格に記述 そして、その傍受者:「私のスタッフは自分の席を買う」と答える必要があります 2番目のアカウントが存在する前に、アカウ...
プラン&課金コンソール 所有者は実際に見つけることができます
製品のどこにでも最初のサブスクリプションを購入する方法はありません。 プラン一覧 既に保有しているサブスクリプションのみで到達可能なため、組織 どれも空のパネルと異なるorgで指摘するヒントを見ました。 1 つ 実際の請求画面は、設定にファイルされたメンバーのプロフィールページに住んでいました 「個人」と題する見出しの...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
