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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.03.2013, 15:13   #1  
Katuxa is offline
Katuxa
Участник
 
36 / 10 (1) +
Регистрация: 13.05.2011
Поле в гриде не из датасорса
Всем, Добрый день!
Подскажите, пожалуйста, как в гриде выводить поле, не из датасорса. причем при создании новой записи давать возможность выбирать из лукапа, а в уже существующих заполнять это поле. Сначала просто в грид добавила поле с нужным Расширенным типом данных, чтобы из лукапа можно было выбирать при создании новой записи, но проблема в том, что в уже существующих не вышло отображать данные в этом поле. После чего решила сделать Edit поле, но оно у меня не работает как надо, вот сам Edit метод:
X++:
edit HCSStreetName editStreetName(boolean _set, HCSCounterJournal _counterJournal, HCSStreetName _street)
{
    HCSStreetName  streetNam;
    ;
    if(_set)
        {
               marked.insert(_counterJournal.RecId, _street);
               return marked.toString();
         }
         else
          {
   Grid_StreetCode.text(HCSBuildTable::find(HCSCounterJournal.BuildCode).StreetCode);
                 streetNam = HCSStreetTable::find(Grid_StreetCode.valueStr()).Name;
                 _street = streetNam;
                 return _street;
             }
        }
Может все намного проще можно сделать, только я не знаю как
Заранее благодарю!
Старый 01.03.2013, 15:50   #2  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Не совсем понятно, почему вы не хотите добавить это поле в датасоурс. это же намного проще в чём причина?
__________________
С уважением,
Вячеслав
Старый 01.03.2013, 15:53   #4  
Katuxa is offline
Katuxa
Участник
 
36 / 10 (1) +
Регистрация: 13.05.2011
Дело в том, что этого поля нет в таблице, оно мне нужно только на этой форме.
Старый 01.03.2013, 15:55   #5  
Katuxa is offline
Katuxa
Участник
 
36 / 10 (1) +
Регистрация: 13.05.2011
Цитата:
Я читала эту ссылку - но не совсем понимаю как в моем случае это применить
Старый 01.03.2013, 16:01   #6  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Не понятно, что в итоге нужно.
Если смотреть, как сейчас сделано, то нужно исправить:
X++:
edit HCSStreetName editStreetName(boolean _set, HCSCounterJournal _counterJournal, HCSStreetName _street)
{
    ;
    if(_set)
    {
        marked.insert(_counterJournal.RecId, _street);
    }
    else if (!marked.exist(_counterJournal.RecId))
    {
        marked.insert(_counterJournal.RecId, '');
    }
    marked.lookup(_counterJournal.RecId);
        
}
только при этом ничего не запишется ни в какую таблицу.
запись можно добавить или в метод write() датасорса, или тут
X++:
    if(_set)
    {
        marked.insert(_counterJournal.RecId, _street);

          
    }

Последний раз редактировалось raz; 01.03.2013 в 16:05. Причина: исправил
Старый 01.03.2013, 16:05   #7  
Katuxa is offline
Katuxa
Участник
 
36 / 10 (1) +
Регистрация: 13.05.2011
Цитата:
Сообщение от raz Посмотреть сообщение
Не понятно, что в итоге нужно.
Если смотреть, как сейчас сделано, то нужно исправить:
X++:
edit HCSStreetName editStreetName(boolean _set, HCSCounterJournal _counterJournal, HCSStreetName _street)
{
    ;
    if(_set)
    {
        marked.insert(_counterJournal.RecId, _street);
    }
    else if (!marked.exist(_counterJournal.RecId))
    {
        marked.insert(_counterJournal.RecId, '');
    }
    marked.lookup(_counterJournal.RecId);
        
}
Попробовала так написать, ругается:
Значение 5637145083 не найдено в карте соответствия.
Старый 01.03.2013, 16:09   #8  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Этот кусок нужно.

X++:
    else if (!marked.exist(_counterJournal.RecId))
    {
        marked.insert(_counterJournal.RecId, '');
    }
Старый 01.03.2013, 16:16   #9  
Katuxa is offline
Katuxa
Участник
 
36 / 10 (1) +
Регистрация: 13.05.2011
Цитата:
Сообщение от raz Посмотреть сообщение
Этот кусок нужно.

X++:
    else if (!marked.exist(_counterJournal.RecId))
    {
        marked.insert(_counterJournal.RecId, '');
    }
Работает только при создании новой записи, а для существующих это поле пустое, т.е. не выводит наименование улицы.
Старый 01.03.2013, 16:24   #10  
Katuxa is offline
Katuxa
Участник
 
36 / 10 (1) +
Регистрация: 13.05.2011
Ооооо, получилось выводить наименование улицы для существующих, только выводит неправильно. Немного не соответствуют наименования. Но направление мыслей понятно. Спасибо огромное за помощь!!!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Отображение аналитик в гриде складских журналов. Баг? _scorp_ DAX: Программирование 2 25.10.2012 11:48
обязательное для заполнения поле в уже созданной записи vanokh DAX: Программирование 12 27.09.2011 22:09
сопоставление оплат клиента, переносов сальдо-поле накладная в общем журнале? Aquarius DAX: Функционал 3 28.01.2009 12:51
Поле "Оплатить до" в строке общего журнала longson DAX: Функционал 7 29.03.2008 14:38
Ошибка: фантомное дублирующее поле типа "дата" в гриде belugin DAX: Программирование 8 14.06.2006 00:15

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

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

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