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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.04.2008, 14:45   #1  
by_HT is offline
by_HT
Участник
 
195 / 10 (1) +
Регистрация: 12.10.2007
1) Открываем книгу: ExcelBuf.OpenBook(FileName,SheetName);

2) Считываем данные из Экселе и вгоняем их в 370 таблицу...
: ExcelBuf.ReadSheet;

3) Как мне теперь перенести эти данные из 370 таблице????
Не могу понять сам процесс... Если можно пример...
81 отчет я совсем не понял....
Старый 17.04.2008, 18:09   #2  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Цитата:
Сообщение от by_HT Посмотреть сообщение
3) Как мне теперь перенести эти данные из 370 таблице????
Там есть ссылки же на ряд и колонку Excel.
Если вы знаете, что у вас в этих ячейках, то просто при помощи фильтров на номера колонок/строк вытаскиваете значения и при помощи EVALUATE вставляете куда вам надо.

P.S. Еще можно датапортом загонять даные в систему.
Старый 18.04.2008, 11:48   #3  
by_HT is offline
by_HT
Участник
 
195 / 10 (1) +
Регистрация: 12.10.2007
до меня не доходит как все это реализовать.....
Вот так собстевенно будет выглядеть каркас...:
Код:
 RowNo:=1;
IF ExcelBuffer.FIND('-') THEN REPEAT
	   ExcelBuffer2.SETFILTER("Row No.",'=%1',RowNo);
			IF ExcelBuffer2.FIND('-') THEN REPEAT

		   UNTIL ExcelBuffer2.NEXT=0;
		RowNo:=RowNo+1;
UNTIL ExcelBuffer.NEXT=0;
я походу дело переработал.... ни чего не понимаю....
Старый 22.04.2008, 14:12   #4  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Я знаю, что у меня, начиная с 3 строки есть код и описание страны. Пример упрощен (считаю, что там только новые кода и т.п.)
ПРИМЕР НЕ ПРОВЕРЯЛ, но примерно так.
Код:
// простой пример - без validate.
FromLine := 3;
TempExcelBuffer.SETCURRENTKEY("Row No.","Column No.");
TempExcelBuffer.SETFILTER("Row No.",'>=%1',FromLine);
IF TempExcelBuffer.FIND('-') THEN
	REPEAT
		TempExcelBuffer.SETRANGE("Column No.",1);
		IF NOT TempExcelBuffer.FIND('-') THEN ERROR('не заполнен код страны');
		Country.SETFILTER(Code,'=%1',TempExcelBuffer."Cell Value as Text");
		IF Country.FIND('-') THEN ERROR('страна уже есть в базе');
		Country.INIT;
		EVALUATE(Country.Code,TempExcelBuffer."Cell Value as Text");
		TempExcelBuffer.SETRANGE("Column No.",2);
		IF TempExcelBuffer.FIND('-') THEN
			EVALUATE(Country.Name,TempExcelBuffer."Cell Value as Text");
		Country.INSERT;
		// ставим на последнюю строку, чтоб цикл продолжить
		TempExcelBuffer.SETRANGE("Column No.");
		TempExcelBuffer.FIND('+')
	UNTIL TempExcelBuffer.NEXT = 0;
Старый 23.04.2008, 09:55   #5  
by_HT is offline
by_HT
Участник
 
195 / 10 (1) +
Регистрация: 12.10.2007
Принцип понял..
 


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

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

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