| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		брат666 Участник со стажем
 
  Вступление в Клуб: 20.02.2014
  | 
		
			
				 Вт Ноя 10, 2015 15:56   Ошибка при добавлении в коллекцию | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Добрый день коллеги. Создал справочник, добавил реквизит адрес (массив). В экранной форме при нажатии на кнопку "адрес" не открывает и выходит такая ошибка : Нельзя использовать коллекцию без создания экземпляра. Создайте экземпляр. 
 
Просьба помогите. За ранее благодарен. | 
			 
		  | 
	
	
		  | 
	
	
		alx Участник - экстремал
 
  Вступление в Клуб: 29.06.2007
  | 
		
			
				 Вт Ноя 10, 2015 16:05    | 
				     | 
			 
			
				Полезность: 1 
  | 
			 
			
				| Смотрите в документации к администратору словаря - признак Простой конструктор, либо сначала создайте, не заполняя массив, а потом в редактировании заполняйте. | 
			 
		  | 
	
	
		  | 
	
	
		брат666 Участник со стажем
 
  Вступление в Клуб: 20.02.2014
  | 
		
			
				 Вт Ноя 10, 2015 16:35    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				| Спасибо большое. | 
			 
		  | 
	
	
		  | 
	
	
		Матвеев Евгений Профи
 
  Вступление в Клуб: 31.01.2012
  | 
		
			
				 Вт Ноя 10, 2015 17:28   Re: Ошибка при добавлении в коллекцию | 
				     | 
			 
			
				Полезность: 1 
  | 
			 
			
				 	  | брат666 пишет: | 	 		  Добрый день коллеги. Создал справочник, добавил реквизит адрес (массив). В экранной форме при нажатии на кнопку "адрес" не открывает и выходит такая ошибка : Нельзя использовать коллекцию без создания экземпляра. Создайте экземпляр. 
 
Просьба помогите. За ранее благодарен. | 	  
 
 
Массив какого типа Вы создали? Теоретически там еще как правило структура привязывается...примеров полно в АСД
 
 
Это первое , второе 
 
 
Вы как создавали экземпляр справочника? Если через  insert то вполне возможно получение такой ошибки  из за отсутствия init для массива...
 
Следует работать только через конструктор [new_auto] как вариант... | 
			 
		  | 
	
	
		  | 
	
	
		Alexsey Эксперт
 
  Вступление в Клуб: 06.09.2007
  | 
		
			
				 Ср Ноя 11, 2015 11:11    | 
				     | 
			 
			
				Полезность: 2 
  | 
			 
			
				Если работать через Insert, то сначала необходимо инициализировать структуру.
 
Например:
 
 	  | Код: | 	 		  declare 
 
     vMDoc [MAIN_DOCUM];
 
begin
 
     vMDoc%init(true,true);
 
     -- заполнение структуры
 
     ::[MAIN_DOCUM]%insert(vMDoc);
 
end; | 	  
 
 
В документации к PL+ глава 1.2.13.16.1 Модификатор %init. _________________ всегда есть как минимум 2 выхода | 
			 
		  | 
	
	
		  | 
	
	
		Матвеев Евгений Профи
 
  Вступление в Клуб: 31.01.2012
  | 
		
			
				 Ср Ноя 11, 2015 11:54    | 
				     | 
			 
			
				Полезность: 1 
  | 
			 
			
				 	  | Alexsey пишет: | 	 		  Если работать через Insert, то сначала необходимо инициализировать структуру.
 
Например:
 
 	  | Код: | 	 		  declare 
 
     vMDoc [MAIN_DOCUM];
 
begin
 
     vMDoc%init(true,true);
 
     -- заполнение структуры
 
     ::[MAIN_DOCUM]%insert(vMDoc);
 
end; | 	  
 
 
В документации к PL+ глава 1.2.13.16.1 Модификатор %init. | 	  
 
 
Вот и примерчик есть... Быть тебе экспертом, Алексей | 
			 
		  | 
	
	
		  | 
	
	
		Аленушка Участник со стажем
 
  Вступление в Клуб: 13.05.2015
  | 
		
			
				 Пн Ноя 16, 2015 13:58    | 
				     | 
			 
			
				Полезность: 1 
  | 
			 
			
				добрый день,
 
 
 
в экранной форме такая ошибка обычно выдается, если пытаются открыть коллекцию еще не существующего экземпляра. Если это конструктор же ? то нужно поставить галочку в операции во вкладке "компиляция" - простой конструктор. Тогда у еще не созданного экземпляра уже будет id-шник и ошибка не выйдет..
 
 
в сущности, все то же , что написал Алексей- только галочками в операции ) | 
			 
		  | 
	
	
		  | 
	
	
		 |