|  19.03.2003, 07:43 | #1 | 
| Участник | Файлы DAT и DEF 
			
			Встал вопрос о импорте данных в Axapta. Посмотрел я на DAT и DEF файлы может грузить из текста. т.е. можно взять бд из левой ИС и сгенерить такие файлы и потом импортировать в Ахарта. Файл DAT почти все понятно кроме третьего поля - там какое-то большое число - обязательно ли оно в файле для импорта и если обязательно то как его генерить? Файл DEF: "EXPFORMAT VER. 2.5 SP4 RU","Comma" - все понятно "TABLEDEF",175,"InventTable" - тоже все понятно "RECORDDEF",175,77,"ItemGroupId",1,"ItemId",2,"ItemName",.... - не понятно поле 3 и циферки 1,2,3,4,5... после 82 пошли 16000, 160001 - это почему так? надо ли их каким -то особым образом генерить? "RECORDCOUNT",175,60 - тоже все понятно "RECORDIDMIN",36920499 - это видимо связано с третьим полем из DEF "RECORDIDMAX",73943864 - нужно ли их заполнать или можно пропустить или можно "от фонаря" значения поставить? "RECORDCOMPANY","ren" - все понятно И еще вопрос - если я хочу заполнять лишь 10 полей из 80 могу ли я так сгенерить эти файлы чтобы не писать лишнее ? Заранее спасибо. | 
|  | 
|  19.03.2003, 08:55 | #2 | 
| Moderator | Цитата: 
		
			т.е. можно взять бд из левой ИС и сгенерить такие файлы и потом импортировать в Ахарта.
		
	 Причин много. Вот одна из них: Цитата: 
		
			"RECORDIDMIN",36920499 - это видимо связано с третьим полем из DEF "RECORDIDMAX",73943864 - нужно ли их заполнать или можно пропустить или можно "от фонаря" значения поставить? 1. RECORDIDMINб RECORDIDMAX 2. Текущего счетчика recID в базе в которую мы закачиваем данные 3. Наличия таблиц, общих для двух компаний 4. Наличия таблиц, у которых для связки используется recId 5. Наличия еще нескольких экзотических моментов. В общем там много чего понакручено - в свое время, когда я с этим разбирался я даже сделал вывод, что механизм импорта/экспорта данных самое сложное что я видел в Аксапте  Если интересуют подробности смотри класс SysDataImport. Например метод con2, который вызывает методы con2* , которые в свою очередь получают данные из def файла. Рекомендую также посмотреть методы importData, importDef и главное importBuffer. | 
|  | 
|  19.03.2003, 09:03 | #3 | 
| Moderator | 
			
			Да и вообще, зачем генерить файл такой сложной структуры, всего лишь для того, чтобы закачать данные.  Осмелюсь привести несколько альтернативных вариантов достижения того же результата: 1. Перегнать данные из вашей системы в текстовый файл (с данными, разделенными запятой) и закачать в Аксапту. 2. То же самое, но с Excel вместо текстового файла. 3. Если Ваше приложение можно использловать как COM сервер, то используя Аксапту, как COM клиент можно забрать у Вашей системы необходимые данные. 4. Если у Вас закуплен COM коннектор и Ваша программа поддреживает COM, то можно используя Аксапту, как COM сервер, а Вашу программу как COM клиент перекачать все необходимые данные. 5. Используя ADOConnection или ODBCConnection можно обращаться к данным в любой базе данных, для которой есть ODBC драйвера (то етсь практически ко всем). 6. Использовать возможности XML. 7. Зная сколько строк Вы хотите импортировать, можно зарезервировать данное количество RecId у Аксапты и пользуясь любым языком (например SQL  ) можно быстро закачать очень большой объем данных, не забывая подставлять recId из зарезервированного диапазона. | 
|  | 
|  19.03.2003, 09:07 | #4 | 
| ---------------- | Цитата: 
		
			циферки 1,2,3,4,5... после 82 пошли 16000, 160001 - это почему так? надо ли их каким -то особым образом генерить?
		
	 | 
|  | 
|  19.03.2003, 10:20 | #5 | 
| Участник | 
			
			1. Перегнать данные из вашей системы в текстовый файл (с данными, разделенными запятой) и закачать в Аксапту. Насколько я понял - это надо уже на X++ написать прогу, которая окроет этот текстовый файл и сделает INSERTы в таблицу... А RecID Axapta сама уже создаст... или нет? 2. То же самое, но с Excel вместо текстового файла. - еще не пробовал (к сожалению) Видимо Exel таблица должна быть определнным образом построена... Был бы экспорт в Exсel было бы понятно какая таблица должна быть... | 
|  | 
|  19.03.2003, 10:55 | #6 | 
| Moderator | 
			
			1. Администрирование->База данных->Экспорт/Импорт В частности "Мастер Шаблонов Excel" 2. Читать руководство администратора. | 
|  | 
|  19.03.2003, 11:01 | #7 | 
| Участник | 
			
			1 . Администрирование->База данных->Экспорт/Импорт В частности "Мастер Шаблонов Excel" Мастер отрабатывает с ошибкой, хотя создает пустую таблицу Excel c именем таблицы Axapta | 
|  | 
|  19.03.2003, 11:10 | #8 | 
| Administrator | Цитата: 
		
			Изначально опубликовано renat  Мастер отрабатывает с ошибкой, хотя создает пустую таблицу Excel c именем таблицы Axapta В целом, могу сказать, что с мастером проблем у меня не возникало. Про импорт из текстового файла читайте здесь: http://www.mazzy.ru/axapta/hints/import/index.html (спасибо Сергею Мазуркину, за то что ткнул меня в это носом  ) 
				__________________ Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me | 
|  | 
|  19.03.2003, 11:15 | #9 | 
| Участник | 
			
			Ошибка Функция 'value возвратила код ошибки 80020005 (0xDISP_E_TYPEMISMATCH), что означает: Один или большее количество аргументов не мог быть преобразовано. | 
|  | 
|  19.03.2003, 11:27 | #10 | 
| Administrator | 
			
			Для какой таблицы AXAPTA вы создаете шаблон? На самом деле мастер очень простой. Он всего лишь создает в книге Excel несколько листов с именами полей таблиц. 
				__________________ Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me | 
|  | 
|  19.03.2003, 11:35 | #11 | 
| Участник | 
			
			Да создаются пустые листы а названия полей в которые данные ложить? | 
|  | 
|  19.03.2003, 12:00 | #12 | 
| Moderator | 
			
			На каждом листе должно быть по одной строке, в которой прописаны названия полей.    | 
|  | 
|  19.03.2003, 12:06 | #13 | 
| Участник |   а у меня пустые листы !!! почему нет строки с названиями полей   | 
|  | 
|  19.03.2003, 12:12 | #14 | 
| Moderator | 
			
			Попробуй переустановить Excel.   Если не поможет, поработай с отладчиком и попытайся локализовать причину ошибки   И вообще, так только у тебя или на всех машинах в сети ? | 
|  | 
|  19.03.2003, 12:14 | #15 | 
| Moderator | 
			
			У нас была та же ерунда. Пишет в файл поля, пока не встретится поле типа Integer без EDT на нем. Выдавала не помню какую ошибку, что-то про типы данных, и на этом процесс создания полей заканчивался. Вылечилось правкой метода generateWorkSheet() класса SysExcelImport (неохота было долго разбираться, просто закомментировали там ветвь case, где вызывается глобальный метод isTypeTime(), который и порождал ошибку, вроде все работает   ). 
				__________________ Андрей. | 
|  | 
|  19.03.2003, 12:17 | #16 | 
| Administrator | 
			
			Таблица? Какая версия Excel? 
				__________________ Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me | 
|  | 
|  19.03.2003, 12:20 | #17 | 
| Administrator | Цитата: 
		
			Изначально опубликовано Dron AKA andy  У нас была та же ерунда. Настаиваю на том, что сначала надо выяснить, для какой таблицы создается шаблон. Пока повторить ошибку не удалось. 
				__________________ Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me | 
|  | 
|  19.03.2003, 13:07 | #18 | 
| Участник | 
			
			ошибка идет для любой таблице... в частночти для Address, ZipCodes может MSOffice надо особый у меня XP... | 
|  | 
|  19.03.2003, 13:28 | #19 | 
| Moderator | 
			
			Может и фиг с ним, с Excel ? Я же еще кучу способов привел  Из текстового файла качается на порядок быстрее, чем из Excel. COM - все таки штука не бустрая. | 
|  | 
|  19.03.2003, 13:48 | #20 | 
| ---------------- | 
			
			У меня аналогичная ситуация с данным мастером. Ошибка возникает в методе generateWorkSheet(...) класса SysExcelImport на строках с кодом curCell.value(...) Для исправления можно использовать метод, предложенный Андре (в другом обсуждении) - заменить код на curCell.value2(...) | 
|  | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| Метки и Меточные файлы | 1 | |||
| Народ, плиз, нужны файлы демо-базы на Ax 3.0. | 4 | |||
| Формат файла Экспорта Импорта dat | 33 | |||
| Компания DAT | 9 | |||
| *.aoc файлы | 15 | |||
| 
 |