fix: даты «только дата» больше не сдвигаются на день назад
Tests / frontend-test (push) Successful in 2m1s
Tests / frontend-test (push) Successful in 2m1s
SharePoint хранит поле «только дата» как полночь по поясу сайта (UTC+5) в UTC: «05.10» приходит из REST как 2026-10-04T19:00:00Z. Формы брали первые 10 символов и показывали 04.10, а каждое пересохранение (полное право, исполнитель, повторная отправка) записывало дату ещё на день раньше. Чтение всех дат идёт через spDateOnlyToIso (округление до ближайшей полуночи UTC), «сегодня» — через todayIsoDate вместо toISOString, который до 05:00 давал вчерашнее число. Уже сдвинутые записи в SP не исправляются. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -50,6 +50,7 @@ import { requestLinkUrl } from '../../shared/routing';
|
||||
import { writeDemandLinePortalLink } from '../../shared/dataverse/demandLine.service';
|
||||
import { resolveLzkProjectId } from '../../shared/dataverse/lzkPosition.service';
|
||||
import { friendlyErrorMessage } from '../../shared/diagnostics';
|
||||
import { todayIsoDate } from '../../shared/dateUtils';
|
||||
import { IRequestFormProps } from '../../models/types';
|
||||
import {
|
||||
approvalListTitle,
|
||||
@@ -120,7 +121,7 @@ const TmcTransferForm: React.FC<IRequestFormProps> = ({
|
||||
return;
|
||||
}
|
||||
const user = context.pageContext.user;
|
||||
const today = new Date().toISOString().slice(0, 10);
|
||||
const today = todayIsoDate();
|
||||
const requesterEmail = effectiveUserEmail(context);
|
||||
setData((prev) => ({
|
||||
...prev,
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { getSP } from '../../shared/pnp/pnpjs';
|
||||
import { ILineItem } from '../../shared/ui';
|
||||
import { dataListTitle } from '../../shared/listTitles';
|
||||
import { spDateOnlyToIso } from '../../shared/dateUtils';
|
||||
import { FORM_ID, IFormData, EMPTY_DATA } from './model';
|
||||
|
||||
export interface ILoadedRequest {
|
||||
@@ -70,7 +71,7 @@ export async function loadTmcTransferRequest(itemId: number, listId?: string): P
|
||||
Department: (item.Department as string) || '',
|
||||
DepartmentId: (item.DepartmentId as string) || '',
|
||||
Subject: (item.Subject as string) || '',
|
||||
RequestDate: requestDate.slice(0, 10), // ISO → YYYY-MM-DD для input type=date
|
||||
RequestDate: spDateOnlyToIso(requestDate),
|
||||
SourceProject: (item.SourceProject as string) || '',
|
||||
SourceProjectId: (item.SourceProjectId as string) || '',
|
||||
SourceProjectManager: (item.SourceProjectManager as string) || '',
|
||||
|
||||
Reference in New Issue
Block a user