AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 19.06.2007, 17:37   #1  
Zepp ist offline
Zepp
Участник
MCBMSS
 
37 / 31 (2) +++
Registriert seit: 26.10.2005
Вывод в форме "Авансовый отчет" (EmplAdvTable_RU) полей из EmplTable
AX 3.0 SP4 EE.
В форме "Авансовый отчет" есть ошибка: неправильно выводится флаг "Подотчетное лицо". Выводится не включенным, хотя сотрудник является подотчетным лицом.
Для исправления надо в форме EmplAdvTable_RU в EmplTable_DS.init() добавить строку:
Code:
EmplTable_ds.query().dataSourceTable(tableNum(EmplTable)).addSelectionField(fieldNum(EmplTable, AdvHolder_RU));
Подскажите, как вывести на grid поле EmplTable.Name, чтобы оно нормально отображалось?
Alt 19.06.2007, 18:22   #2  
konopello ist offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Registriert seit: 08.11.2005
Ort: Минск
?? Странно а в чем проблема. Вывести поля в grid или написать display метод?
Alt 20.06.2007, 08:47   #3  
AndyD ist offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2.560 / 2494 (89) +++++++++
Registriert seit: 20.08.2005
Там в форме датасорс EmplTable соединяется с мастер-таблицей через LinkType Delayed. По-этому просто попытка вывести поле из этого датасорса на грид ни к чему хорошему не приводит.

Я бы посоветовал поменять LinkType на InnerJoin, вывести поле в грид и добавить в метод modified() поля EmplAccount датасорса EmplAdvTable_RU примерно такой код
X++:
public void modified()
{
// добавить -->
    EmplTable et;
    ;
// добавить <--
    super();

    EmplAdvTable_RU.Dimension = EmplTable::find(EmplAdvTable_RU.EmplAccount).Dimension;
// добавить -->
    if (EmplAdvTable_RU.EmplAccount)
    {
        et = EmplTable::find(EmplAdvTable_RU.EmplAccount)
        if (et)
        {
            EmplTable.data(et);
            EmplTable_ds.active();
        }
    }
// добавить <--
}
Тогда изменение подотчетного лица при добавлении нового авансового отчета будет проходить корректно.

Еще один варинат - сделать дисплейный метод. Только учтите, что если он будет на форме или на датасорсе, то включить его в кэширование будет нельзя.
__________________
Axapta v.3.0 sp5 kr2
This post has been rated by: Zepp (1).
Alt 20.06.2007, 14:15   #4  
Zepp ist offline
Zepp
Участник
MCBMSS
 
37 / 31 (2) +++
Registriert seit: 26.10.2005
Спасибо, AndyD.
Еще, видимо, надо добавить аналогичный код в метод active() DS EmplAdvTable_RU. Иначе нельзя отредактировать поля EmplAdvTable_RU.
Alt 20.06.2007, 14:25   #5  
AndyD ist offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2.560 / 2494 (89) +++++++++
Registriert seit: 20.08.2005
На поле в таблице стоит AllowEdit=NO.

Т.е. такое поведение заложено изначально
__________________
Axapta v.3.0 sp5 kr2
Alt 20.06.2007, 15:44   #6  
Zepp ist offline
Zepp
Участник
MCBMSS
 
37 / 31 (2) +++
Registriert seit: 26.10.2005
Я имею в виду редактирование прочих полей, например "Назначение аванса", "Профиль разноски". Если в active() не включить данный код, то система при сохранении записи после редактирования полей выдает ошибку 'Поле "Основной номер сотрудника" должно быть заполнено.
Stichworte
ax3.0

 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Второе наименование номенклатуры и проблема добавления полей в форме "номенклатура" EVER DAX: Функционал 28 03.09.2008 21:58
Отчет "Запасы в наличии" evb DAX: Программирование 19 17.01.2008 07:37
Фильтрация в форме "В наличии" по агрегатному полю "Физ. наличие" miaa DAX: Программирование 13 29.08.2006 23:45
поле "Документы к обновлению" в форме "Обработка закупки" sev DAX: Функционал 3 08.12.2005 17:21
Как сбросить флаг "Используется" в форме "Складской журнал" ATimTim DAX: Функционал 1 24.06.2004 19:19

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 17:42 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.