Показать сообщение отдельно
Старый 06.07.2018, 10:22   #6  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
396 / 478 (16) +++++++
Регистрация: 27.02.2006
Адрес: Дания
Клиент обычный, попробовал поменять код 1033 (Английский) на 1030 (Датский), не помогло.
Создал новую таблицу HelloWorld, с двумя полями "Period Start" и "Period End", вручную забил несколько значений и попробовал аналогичный код на этой таблице, всё работает.

Написал новый код, копирующий значения из этой магической таблицы Date в HelloWorld, падает на пятом по счету вызову HelloWorld.INSERT, с ошибкой типа "Значение 03-01-0001 не может быть записано в поле Period Start таблицы HelloWorld, т.к. значение или слишком длинное, или недействительное".

Что это вообще за виртуальная таблица Date (не могу найти ее в базе)? Когда она заполняется этими недействительными значениями?

OnRun()
HelloWorld.RESET;
HelloWorld.DELETEALL;

Date.RESET;
Date.SETRANGE("Period Type",Date."Period Type":ate);
IF Date.FINDSET THEN BEGIN
REPEAT
HelloWorld."Period Start" := Date."Period Start";
HelloWorld."Period End" := Date."Period End";
HelloWorld.INSERT;
UNTIL (Date.NEXT = 0)
END;