![]() |
#1 |
Участник
|
Доброе время суток!
У меня такая в проблема: в Нав, не могу загрузить даты - выдает ошибку что формула даты должна содержать временной период. Загружаю из Excel. Подскажите пожалуйста в каком виде должна быть дата, чтобы можно было ее грузить? Заранее спасибо! |
|
![]() |
#2 |
Участник
|
Речь идет о регламентной отчетности ?
|
|
![]() |
#3 |
Участник
|
Нет, речь не о регламентной отчетности!
Я загружаю данные в таблицу 12409 (Bank Directory), там есть поле "Дата последнего изменения". Так вот данную дату я не могу загрузить из справочника банков Рф. |
|
![]() |
#4 |
Участник
|
Могу предположить,за неимением вашего кода, что вам поможет EVALUATE.....
|
|
![]() |
#5 |
Участник
|
Не множко не понял, что вы мне посоветовали, так как я не программист, а консульатант.
Загрузку же делаю через стандартный функционал, форма № 8601. Так вот при загрузке столбцов, где содержится дата, он выдает ошибку! |
|
![]() |
#6 |
MCTS
|
Попробуйте выгрузить этой формой какую-нибуть таблицу, где есть дата.
Посмотрите в каком формате она (дата) выгружается, к такому же виду приведите и загружаемые данные. |
|
![]() |
#7 |
Участник
|
|
|
![]() |
#8 |
Участник
|
Надо дорабатывать импорт. EVALUATE действительно поможет. Кстати указанная форма не умеет импортировать и в поля с типом Датаформула.
P.S Желательно в Экселе (при импорте ч-з 8601) чтобы дата была в ячейке с типом текст! |
|
![]() |
#9 |
Участник
|
А где там надо подправить я что то в CU 8601 разобраться не могу, ведь именно он и отвечает за импорт и экспорт
__________________
Рабочий день сокращает жизнь на 8 часов ![]() |
|
![]() |
#10 |
Участник
|
Есть функция SerialDate2DMY, там идут хитрые преобразования. Вот там можно эти хитрости закомментить и все начнет работать:
DMYDate := 0D; IF NOT EVALUATE(CalcDate{SerialDate},SerialDateText) THEN //Введем переменную CalcDate (дата) EXIT(DMYDate); //хитрые преобразования {IF SerialDate = 0 THEN EXIT(DMYDate); OffsetDate := 01011900D; // do not add last day. SerialDate := SerialDate - 1; // Compensate for Know bug in Excel 1900 is not a leapyear IF SerialDate > 60 THEN SerialDate := SerialDate - 1; NoOfCalc := SerialDate / 9999; NoOfCalc := ROUND(NoOfCalc,1,'<'); RemainingDays := SerialDate MOD 9999; FOR I := 1 TO NoOfCalc DO OffsetDate := CALCDATE('+9999<D>',OffsetDate); IF RemainingDays <> 0 THEN OffsetDate := CALCDATE('+' + FORMAT(RemainingDays) + '<D>',OffsetDate); EXIT(OffsetDate); } EXIT(CalcDate); |
|
![]() |
#11 |
Участник
|
Получается, что данные с типом Дата, просто пропускаются?!
|
|
![]() |
#12 |
Участник
|
|
|