31.01.2006, 14:37 | #1 |
Участник
|
Может кто-нибудь сталкивался, просто интересно в чем дело. Загружаю данные из Excel просто как ExcelWorksheet.Range('A1').Value. Значение в Excel целое число, тип поля в таблице Integer. Если делать Rec.VALIDATE(field1,ExcelWorksheet.Range('A1').Value) присваивает 64, если делаю просто
Rec.field1 :=ExcelWorksheet.Range('A1').Value; то присваивает нужное число. OnValidate поля пустой. |
|
09.03.2006, 15:09 | #2 |
Участник
|
Вся проблема в том, что Excel возвращает данные в виде VARIANT, а в реализации VALIDATE'а разработчики как-то умудрились накосячить. VARIANT - это некая структура, в которой указан тип содержащихся в ней данных и сами данные. Navision, обычно, смотрит на значение типа данных у такой переменной и если тип источника может быть отображен на тип получателя, то происходит присваивание. Фунция VALIDATE почему-то, работает с этим типом данных довольно криво и как результат вы можете получить либо неверное значение, либо вообще, сообщение на экран о переполнении стэка. Подозреваю, что там используется какая-то кривая функция рекурсии.
Как решение, в данном случае, могу предложить присвоить Value некой целой переменной и уже ее передать в VALIDATE. |
|
10.04.2006, 17:45 | #3 |
Участник
|
REC.VALIDATE("FIELD",FORMAT(Sheet.Range('a'+FORMAT(XLSLineCounter)).Value,0,1)); для строковых данных;
EVALUATE(c,FORMAT(Sheet.Range('b'+FORMAT(XLSLineCounter)).Value)); REC.VALIDATE(Quantity,c); для цифровых данных; |
|
29.12.2007, 08:15 | #4 |
Участник
|
Чтоб не создавать новую тему решил написать здесь:
Делаю Экспорт данных из 14823 таблицы.. обычным методом, через XMLports.: Код: TestFile.CREATE('D:\XML_Payroll.xml'); TestFile.CREATEOUTSTREAM(TestStream); XMLPORT.EXPORT(50001,TestStream); TestFile.CLOSE; MESSAGE('XML Export!'); Код: TestFile.OPEN('D:\XML_Payroll.xml'); TestFile.CREATEINSTREAM(TestStream); XMLPORT.IMPORT(50001,TestStream); TestFile.CLOSE; MESSAGE('XML Import!'); Нет Зарпл. Справочник в пределах фильтра. Фильтры: Тип: Скида/Вычет, Код: 02 В чем может быть причина такого не понятного действия? |
|