CftClub.ru
Клуб специалистов ЦФТ-Банк

Ошибка при добавлении в коллекцию

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих
Предыдущая тема :: Следующая тема  
Автор Сообщение
брат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-шник и ошибка не выйдет..

в сущности, все то же , что написал Алексей- только галочками в операции )
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Уроки ЦФТ-Банк для начинающих Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru