Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / EMS Import - Column is defined in the MAP is not found in the import destination / 5 сообщений из 5, страница 1 из 1
07.11.2017, 14:14:33
    #39548964
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EMS Import - Column is defined in the MAP is not found in the import destination
При импорте получаю исключение:
EQImportError with message 'Column ID is defined in the MAP is not found in the import destination
Но в XML файле поле ID есть. Проверил.
Может проблема из-за того, что поле ID идёт в карте (QImportXML.MAP) идёт первым, а в XML файле где-то в середине?

Может у QImport есть возможность составить карту соответствий, опираясь непосредственно на сам XML файл?

Я составляю карту соответствий так:

Код: pascal
1.
2.
3.
4.
5.
6.
  t.Open;
  for I := 0 to pred(t.FieldCount) do
  begin
    if t.Fields[i].ReadOnly then continue;
    xml.Map.Add(t.Fields[i].FieldName + '=' + t.Fields[i].FieldName);
  end;//for
...
Рейтинг: 0 / 0
07.11.2017, 14:20:19
    #39548973
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EMS Import - Column is defined in the MAP is not found in the import destination
И файл с ошибками не создаётся

...
Рейтинг: 0 / 0
07.11.2017, 16:41:47
    #39549090
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EMS Import - Column is defined in the MAP is not found in the import destination
X11И файл с ошибками не создаётся

Я так понял, что это связано с параметром SilentParse, а этот параметр/свойство отсутствует у QImport3XML.
...
Рейтинг: 0 / 0
07.11.2017, 17:08:22
    #39549112
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EMS Import - Column is defined in the MAP is not found in the import destination
Импортируются кракозябры

...
Рейтинг: 0 / 0
07.11.2017, 17:14:50
    #39549119
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
EMS Import - Column is defined in the MAP is not found in the import destination
Чтобы создать карту соответствия полей, пришлось писать свой лисапед. Может кому пригодится:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
procedure CreateMap;
Var
 i, j: integer;
 XMLFile: TXMLFile;
 sXml: String;
 XMLTag: TXMLTag;
 Field: TField;
begin
  XMLFile := TXMLFile.Create;
  XMLFile.FileName := '1.xml';
  XMLFile.Open;
  XMLFile.Load(true);

  for I := 0 to pred(XMLFile.FieldCount) do
    xml.Map.Add(TXMLTag(XMLFile.Fields[0].TagList[i]).Attributes.ValueFromIndex[0] + '=' + TXMLTag(XMLFile.Fields[0].TagList[i]).Attributes.ValueFromIndex[0]);

  XMLFile.Free;
end;



Сам файл самодостаточный (standalone) в формате (Document type) DataPacket2.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / EMS Import - Column is defined in the MAP is not found in the import destination / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]