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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.02.2011, 00:53   #1  
jeky is offline
jeky
:o)
Аватар для jeky
 
131 / 64 (3) ++++
Регистрация: 22.05.2008
changeCompany и ledgerJournalTable.initFromLedgerJournal()
доброго! [Ax 3.0]

Подскажите, пожалуйста, такую вещь:
Делю changeCompany, внутри блока хочу проинициализировать новый курсор ledgerJournalTable внешним курсором.
В новом курсоре компания принимает значение старого курсора (надо изменить только компанию).
В инициализации передача значений осуществляется через .data()
Если делаю инициализацию "вручную", то компания проставляется правильно.
Прилагаю проект.
Подскажите, как сделать красиво)
Вложения
Тип файла: xpo CGLedgerTransCopy.xpo (13.7 Кб, 466 просмотров)
__________________
"Только на Бога не может быть обиды - если смерть пошлет, значит, жизни пришел предел, на то рождался,- а за все остальное на Земле есть и должен быть спрос!." Чингиз Торекулович Айтматов.
Старый 13.02.2011, 11:50   #2  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Вместо data использовать buf2buf, это красиво или нет?
Старый 13.02.2011, 12:00   #3  
konopello is offline
konopello
SAP
SAP
 
628 / 76 (4) ++++
Регистрация: 08.11.2005
Адрес: Минск
Цитата:
Вместо data использовать buf2buf, это красиво или нет?
поддерживаю, так как когда писал что то похожее использовал именно этот метод, но это было в 3-е версии, может уже есть более красивый метод : )
Старый 13.02.2011, 12:28   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Очень странно.
В 3-ке как раз при вызове data() в полученном буфере dataareaId равнялось текущей компании. А в 2009-й наоборот - сохранялось,т.е. принимало значение как в исходном буфере.

У вас точно ax3.0 ? Может 2009-я ?
Старый 14.02.2011, 12:04   #5  
jeky is offline
jeky
:o)
Аватар для jeky
 
131 / 64 (3) ++++
Регистрация: 22.05.2008
Raven Melancholic,
Спасибо, как раз то, что нужно.
ещё нашла полезную ссылку по данному вопросу
__________________
"Только на Бога не может быть обиды - если смерть пошлет, значит, жизни пришел предел, на то рождался,- а за все остальное на Земле есть и должен быть спрос!." Чингиз Торекулович Айтматов.
Старый 14.02.2011, 12:12   #6  
jeky is offline
jeky
:o)
Аватар для jeky
 
131 / 64 (3) ++++
Регистрация: 22.05.2008
Цитата:
Сообщение от Logger Посмотреть сообщение
Очень странно.
В 3-ке как раз при вызове data() в полученном буфере dataareaId равнялось текущей компании. А в 2009-й наоборот - сохранялось,т.е. принимало значение как в исходном буфере.

У вас точно ax3.0 ? Может 2009-я ?
У нас 3-ка сомнений нет SP3
при вызове стандартного initFromLedgerJournalTable смотрим код:

X++:
void initFromLedgerJournalTable(LedgerJournalTable _ledgerJournalTable)
{
    LedgerJournal               ledgerJournalNew;
    LedgerJournalId             journalNum;
    ;

    ledgerJournalNew = new LedgerJournal();
    journalNum = ledgerJournalNew.newJournalNum(false);

    if (!journalNum)
    {
        throw error("Номер журнала не был создан!");
    }

    this.data(_ledgerJournalTable);            //!!!!
    this.JournalNum = journalNum;
    this.Posted = false;
    this.PostedDate = 31\01\2010;
    this.InUseBy = '';
    this.UserBlockId = '';
    this.SessionId = 0;
    this.SessionLoginDate = dateNull();
    this.SessionLoginTime = 0;
}
в дебагере смотрим значения в курсоре и видим, что dataAreaId != companyTo (см. полный код в проекте)

при использовании buf2buf всё срослось
__________________
"Только на Бога не может быть обиды - если смерть пошлет, значит, жизни пришел предел, на то рождался,- а за все остальное на Земле есть и должен быть спрос!." Чингиз Торекулович Айтматов.

Последний раз редактировалось jeky; 14.02.2011 в 12:16.
Старый 14.02.2011, 14:20   #7  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Я имел в виду вызовы такого типа
buffer1 = buffer2.data();

Так что противоречия нет.
У вас просто другой случай.
Старый 14.02.2011, 16:39   #8  
jeky is offline
jeky
:o)
Аватар для jeky
 
131 / 64 (3) ++++
Регистрация: 22.05.2008
Цитата:
Сообщение от Logger Посмотреть сообщение
Я имел в виду вызовы такого типа
buffer1 = buffer2.data();

Так что противоречия нет.
У вас просто другой случай.
спасибо, понятно
__________________
"Только на Бога не может быть обиды - если смерть пошлет, значит, жизни пришел предел, на то рождался,- а за все остальное на Земле есть и должен быть спрос!." Чингиз Торекулович Айтматов.
Теги
buf2buf, changecompany, copy, record, dataarea

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ChangeCompany Try...Catch Владимир Максимов DAX: Программирование 10 12.01.2009 17:19
ttsbegin ttscommit and changecompany() Volodymyr DAX: Программирование 9 29.08.2008 15:36
changeCompany() Ace of Database DAX: Программирование 1 16.08.2005 19:42
Не могу гайти ключ доступа к Таблице LedgerJournalTable Manner DAX: Администрирование 4 17.12.2004 13:10
changecompany(conpeek(container)) Vadik DAX: Программирование 3 03.06.2003 16:59

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

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

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