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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.03.2019, 21:10   #1  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
317 / 883 (30) +++++++
Регистрация: 23.10.2012
Цитата:
Сообщение от ax_mct Посмотреть сообщение
Смущает table1.Field1 = [123];

Я бы сделал

container con = [123];
table1.Field1 = con;
Так абсолютно аналогичная ситуация.
Проблема была выявлена в ходе копирования значения поля одного рекорда в другой.

Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
А что за окружение (версия DAX, SQL)?
X++:
static void Job4(Args _args)
{
    Table2 table2, table2join;
    ;

    ttsBegin;
    
    select firstOnly forUpdate table2
        join TableId from table2join;
    
    table2.Field1   = [123];
    table2.update();
    
    ttsCommit;
}
В DAX2009 5.0.1500.6491 с MS SQL 2008R2 не повторяется
Не воспроизводится? Интересно... Если запись выбираемая уже имеет присваиваемое значение, то разумеется ошибка не возникает. UPDATE на самом деле до БД доходит?
В моем случае идентичная среда: DAX2009 5.0.1500.6491 и Microsoft SQL Server 2008 R2(SP3).

Последний раз редактировалось Товарищ ♂uatr; 30.03.2019 в 21:14.
Старый 31.03.2019, 01:15   #2  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от Товарищ ♂uatr Посмотреть сообщение
Так абсолютно аналогичная ситуация.
Не соглашусь. Здесь нельзя полагаться на логику.
table1.Field1 += [123] уже может работать не так как table1.Field1 = [123]

В любом случае что с присвоением контейнера что присвоением .NET типов сразу надо пробовать через обьявление переменной при возникновении ошибок. Как там работает интерпретатор только одному ему известно. Понятно что по логике раз без join работает то типа можно но там тоже человеки на сях писали и могли отчебучить все что угодно.
Старый 31.03.2019, 09:09   #3  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Цитата:
Сообщение от Товарищ ♂uatr Посмотреть сообщение
ТЕсли запись выбираемая уже имеет присваиваемое значение, то разумеется ошибка не возникает. UPDATE на самом деле до БД доходит?
В первом варианте значение уже было. Для чистоты эксперимента в начале сделал
X++:
delete_from table2;
table2.clear();
table2.insert();
table2.insert();
table2.insert();
А потом уже update. При этом insert пробовал и один и несколько, результат тот же - ошибки нет.
Профайлер MS SQL все команды поймал, только что именно пришло не знаю - там были плейсхолдеры (@P1...), а не литералы.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
KR3: Ошибка или crash при попытке получить tooltip поля belugin DAX: Программирование 4 22.06.2024 11:08
Ошибки в отчете о статусе БД Poleax DAX: Администрирование 4 20.08.2007 14:39
Denis Fedotenko: Новые поля в складских проводках Blog bot DAX: База знаний и проекты 10 24.05.2007 11:57
Ошибка: Недопустимая комбинация поля / поля ссылки kurekov DAX: Программирование 1 21.02.2007 16:36
Ошибка при обновлении перекресных ссылок msav DAX: Администрирование 3 02.04.2004 13:49

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

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

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