AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.07.2007, 16:45   #1  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
Поля 255 символов при экспорте в DBF
Нужно экспортиовать данные из аксы в DBF для 1С с чётко определённым форматом, в котором оговорены несколько полей размера 255 символов. На основе WinAPICreateDBF делался класс который этим занимается но при экспорте вылетает ошибка:

Метод 'execute' в COM-объекте класса 'ADODB.Command' возвратил код ошибки 0x80040E21 (<неизвестно>), который означает: Слишком длинное поле 'DIL_B'.

В чём собственно и вопрос - как с этим бороться?

Последний раз редактировалось Beast-L; 24.07.2007 в 17:15.
Старый 24.07.2007, 18:05   #2  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
А там не 254 ли символа ограничение? (см. здесь)

А так, может, у Вас какая-нить строка из Аксы длиннее 255 идёт? Выведите длины строк этого поля хотя бы в инфолог и посмотрите.
За это сообщение автора поблагодарили: Beast-L (1).
Старый 24.07.2007, 18:45   #3  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
Может быть и 254 но дело в том что формат оперделял не я, не dbf а те кто ставят мне задачи.
За это сообщение автора поблагодарили: Recoilme (-3).
Старый 24.07.2007, 19:33   #4  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Beast-L Посмотреть сообщение
Может быть и 254 но дело в том что формат оперделял не я, не dbf а те кто ставят мне задачи.
Ну, тем более. Эти люди могут и не знать. Я когда-то активно работал с dbf, много лет уже не работаю, а и то полез в инет уточнять.

Ну, собственно, дело даже не в этом. Всё же опытным путем проверяется. Проверьте длину выводимых строк (хоть в инфологе, хоть в Excel'е). Ну, или направьте в DBF не <моеЗначение>, а subStr(<моеЗначение>, 1, 255) или subStr(<моеЗначение>, 1, 254) или subStr(<моеЗначение>, 1, 253). Если на каком-нить из разов ваш набор записей влетит в DBF без ошибок, то вот тут и порылась собака с длинной строкой а дальше надо просто найти эту строку и проанализировать и принять решение.
Старый 24.07.2007, 19:55   #5  
aidsua is offline
aidsua
AX*****
Аватар для aidsua
 
106 / 40 (2) +++
Регистрация: 28.09.2005
Адрес: 2:463/Kyiv
Цитата:
Сообщение от Beast-L Посмотреть сообщение
Нужно экспортиовать данные из аксы в DBF для 1С с чётко определённым форматом, в котором оговорены несколько полей размера 255 символов. На основе WinAPICreateDBF делался класс который этим занимается но при экспорте вылетает ошибка:

Метод 'execute' в COM-объекте класса 'ADODB.Command' возвратил код ошибки 0x80040E21 (<неизвестно>), который означает: Слишком длинное поле 'DIL_B'.

В чём собственно и вопрос - как с этим бороться?
1. Судя по http://1c.ru/rus/products/1c/integration/fformats.htm
Цитата:
Файлы DBF

Механизм XBase, встроенный в 1С:Предприятие, позволяет обрабатывать информацию в файлах DBF непосредственно из встроенного языка. Возможно практически любое манипулирование данными. Применение формата DBF позволяет, например, легко подключать к системе 1С:Предприятие торговое оборудование, так как многие драйверы и программы используют именно формат DBF для хранения своей информации.
2. Если взять за основу структуры файлов DBF из http://www.delphikingdom.com/asp/vie...624&mode=print
Цитата:
  • Сокращения:
  • FS = FlagShip
  • Fb = FoxBase
  • Fp = FoxPro
  • CL = Clipper
  • D3 = dBaseIII+
  • D4 = dBaseIV
  • D5 = dBaseV
и
Цитата:
Получается, что dBase III / IV / V имеет ограничение на символьную строку в 254 символа. Необходимо использовать форматы FoxPro или Clipper.
За это сообщение автора поблагодарили: Gustav (5), Beast-L (1).
Старый 25.07.2007, 14:22   #6  
Beast-L is offline
Beast-L
Участник
Аватар для Beast-L
 
104 / 21 (1) +++
Регистрация: 20.10.2006
Адрес: Киев
Спасибо
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как создать поле длиной более 255 символов? novic DAX: Программирование 13 18.05.2009 19:58
ColorFillCells в Excel документе Poleax DAX: Программирование 6 30.05.2008 13:49
Denis Fedotenko: Новые поля в складских проводках Blog bot DAX: База знаний и проекты 10 24.05.2007 11:57
Экспорт в DBF количество символов. Himan DAX: Программирование 1 16.11.2006 18:14
Получить значение поля таблицы по номеру (Id) поля Anais DAX: Программирование 2 15.04.2004 13:00

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:09.