| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Всем удачного дня. 
		
		
		
		
		
		
		
	Возможно кто-нибудь уже сталкивался с задачей модификации таблицы Object.. Хочется программно получить новую таблицу, с полями аналогичными существующей. Следующий код вызывает исключительную ситуацию и закрывает Navision. Код: recObject Record Object ------------ recObject.GET(recObject.Type::Table,'',17); recObject.ID := 50000; recObject.Name := recObject.Name+ ' new'; recObject.INSERT(FALSE) Более чем уверен что это не возможно, но хотелось бы чтобы меня в этом убедили ![]() Всем спасибо. P.S. Nav 4.0 SP2 + MS SQL 2005 P.P.S. Варианты с редактированием BLOB'а просьба не предлагать  
		 | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Почему не возможно? Все возможно. Только не нужно. 
		
		
		
		
		
		
			Таким заклинаниями это не сделать. Нужно вот такое волшебство. Код: Object.GET(Object.Type::Table,'',17);
NewObject.INIT;
NewObject.TRANSFERFIELDS(Object);
NewObject.ID := 50000;
NewObject.Name := 'new';
Object.CALCFIELDS("BLOB Reference");
Object."BLOB Reference".CREATEINSTREAM(InStream1);
NewObject."BLOB Reference".CREATEOUTSTREAM(OutStream1);
COPYSTREAM(OutStream1, InStream1);
NewObject.INSERT;
				__________________ 
		
		
		
		
	Должен остаться только один.  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от NeNavision
			 
 
			Почему не возможно? Все возможно. Только не нужно. 
		
	Таким заклинаниями это не сделать. Нужно вот такое волшебство. Код: Object.GET(Object.Type::Table,'',17);
NewObject.INIT;
NewObject.TRANSFERFIELDS(Object);
NewObject.ID := 50000;
NewObject.Name := 'new';
Object.CALCFIELDS("BLOB Reference");
Object."BLOB Reference".CREATEINSTREAM(InStream1);
NewObject."BLOB Reference".CREATEOUTSTREAM(OutStream1);
COPYSTREAM(OutStream1, InStream1);
NewObject.INSERT; | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А можно ли создать подобным кодом новую таблицу, но не на базе существующей, а абсолютно новую, т.е. обьявив сразу поля, тип полей, первичный ключ?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Сложно. Нужно свой BLOB создавать кодом. 
		
		
		
		
		
		
			p.s. Оно того не стоит. 
				__________________ 
		
		
		
		
	Должен остаться только один.  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вы хотите сказать - если произвести копирование данных внутри таблицы Object - это поможет увидеть и использовать новую таблицу ? А, как на счет формы ? или отчета ? 
		
		
		
		
		
		
		
	Дело в том , что я уже пытался когда то получить новый объект в Navision путем добавления новых записей в Object. Запись создавал. Видел новый объект в дизайнере. Пытался запустить - но Nav выдавал сообщение об ошибке.  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Некоторая информация об этом здесь: http://forum.mazzy.ru/index.php?showtopic=...hl=fly&st=0  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Вы хотите сказать - если произвести копирование данных внутри таблицы Object - это поможет увидеть и использовать новую таблицу ? А, как на счет формы ? или отчета ? 
Дело в том , что я уже пытался когда то получить новый объект в Navision путем добавления новых записей в Object. Запись создавал. Видел новый объект в дизайнере. Пытался запустить - но Nav выдавал сообщение об ошибке. 
				__________________ 
		
		
		
		
	Должен остаться только один.  | 
| 
	
 |