AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
NAV
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.09.2016, 01:29   #1  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от trud Посмотреть сообщение
AX7.update1 файл webconfig

X++:
<!-- ISSUE-2012-02-09-RAMESH: What's the purpose of this? -->
      <machineKey decryption="AES" decryptionKey="F7FA540B4DFD82E5BB196B95D15FF81FBA5D8619B270E58E2C90FAA683C5AA02" 
validation="SHA1" validationKey="BA5D8619B270E58E2C90F" />
X++:
<!-- ISSUE-2012-09-02-RAMESH: Revisit for production use -->
            <!-- ISSUE-2012-02-28-RAMESH: 						
                            Does this even work for WebHttpBinding? 						
                            Will this work correctly with authentication enabled? 					-->
            <serviceMetadata httpsGetEnabled="true" />
интересно, этот RAMESH еще работает или уволился и код никто не решается трогать
RAMESH кстати уже давно у нас не работает.
Но комменты, похоже, до сих пор остались
Старый 29.09.2016, 10:31   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от kashperuk Посмотреть сообщение
RAMESH кстати уже давно у нас не работает.
Но комменты, похоже, до сих пор остались
А теперь их уже нет
Точнее, в Platform Update 3 их уже не будет

Магия
Старый 06.12.2016, 18:31   #3  
AlGol is offline
AlGol
Участник
 
277 / 93 (4) ++++
Регистрация: 24.12.2001
Адрес: Тверь.
View не понимает FirstOnly
AX2012R3
Понадобилось сделать View, в котором должна отображаться одна запись с максимальным значением определенного поля.
Делаю в АОТ Query, с одним источником данных, задаю сортировку по нужному полю, в параметрах источника пишу свойство FirstOnly = Yes.
Делаю в АОТ View, на основании созданного query.
Открываю посмотреть что получилось - и вижу все записи таблицы.

В результате разбора выяснил, что View не обращает внимания на опцию FirstOnly в Query.
Пришлось делать обходной маневр в виде двух view с получением max поля и потом отфильтровывать по нему данные.
__________________
Ален ноби, ностра алис.
Что означает - если один человек построил, другой завсегда разобрать может.
За это сообщение автора поблагодарили: S.Kuskov (2).
Старый 09.12.2016, 09:45   #4  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
365 / 542 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Цитата:
Сообщение от AlGol Посмотреть сообщение
В результате разбора выяснил, что View не обращает внимания на опцию FirstOnly в Query.
Это проблема не view, а игнорирование опции firstOnly в Query dynamicsaxhints: Query datasource FirstOnly property
__________________
Sergey Nefedov
Старый 09.12.2016, 18:48   #5  
AlGol is offline
AlGol
Участник
 
277 / 93 (4) ++++
Регистрация: 24.12.2001
Адрес: Тверь.
Цитата:
Сообщение от SRF Посмотреть сообщение
Это проблема не view, а игнорирование опции firstOnly в Query dynamicsaxhints: Query datasource FirstOnly property
что-то я не уловил в приведенном посте один момент: каким образом выполнялась трансляция Query в SQL запрос ( в местах где написано "The query is translated into SQL Server query").

Но по большому счету, именно в применении к данной проблеме, мне неинтересны ньюансы формирования запросов на SQL. Я хочу чтобы если в запросе установлен хинт FirstOnly то он бы возвращал одну запись.

Через X++ все так и происходит, я получаю одну запись. Если я делаю форму где структура источников формируется на основании Query тоже вижу поддержку Firstonly.

При реализации View посредством Query, это свойство просто игнорируется.
__________________
Ален ноби, ностра алис.
Что означает - если один человек построил, другой завсегда разобрать может.
Старый 12.12.2016, 23:18   #6  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
365 / 542 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Цитата:
Сообщение от AlGol Посмотреть сообщение
что-то я не уловил в приведенном посте один момент: каким образом выполнялась трансляция Query в SQL запрос ( в местах где написано "The query is translated into SQL Server query").
Обычным, когда пытаетесь выполнить указанный запрос с хинтом firstOnly, на SQL сервер уходит запрос без него, можно например в журнале трассировки запросов посмотреть.

Цитата:
Сообщение от AlGol Посмотреть сообщение
Но по большому счету, именно в применении к данной проблеме, мне неинтересны ньюансы формирования запросов на SQL. Я хочу чтобы если в запросе установлен хинт FirstOnly то он бы возвращал одну запись.

Через X++ все так и происходит, я получаю одну запись. Если я делаю форму где структура источников формируется на основании Query тоже вижу поддержку Firstonly.

При реализации View посредством Query, это свойство просто игнорируется.
View это просто частный случай общей проблемы, в форме и X++ работает, потому что отсекает ядро AX(в действительности же на SQL запрос уходит другой), View же объект SQL, который создан на основании ошибочного запроса.
__________________
Sergey Nefedov
Старый 07.02.2017, 15:22   #7  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
Аватар для pedrozzz
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Регистрация: 18.02.2010
Адрес: Краснодар
AX 2012 R2
Десериализация структуры Struct::create(_container) в CIL, которая была упакована методом pack() в обычном исполняемом коде. Разъезжаются пары Ключ-Значение
Слева на скриншоте десериализация в обычном коде (ошибок нет), справа - выполненная в CIL. Как говорится, результат на лицо. Т.е. порядок значений в структуре остался прежним, а порядок ключей изменился.
Нажмите на изображение для увеличения
Название: Struct.png
Просмотров: 662
Размер:	34.5 Кб
ID:	11188
__________________
Кононов Пётр
За это сообщение автора поблагодарили: mazzy (5), macklakov (2), Logger (3).
Старый 07.02.2017, 15:24   #8  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от pedrozzz Посмотреть сообщение
AX 2012 R2
Десериализация структуры Struct::create(_container) в CIL, которая была упакована методом pack() в обычном исполняемом коде. Разъезжаются пары Ключ-Значение
Слева на скриншоте десериализация в обычном коде (ошибок нет), справа - выполненная в CIL. Как говорится, результат на лицо. Т.е. порядок значений в структуре остался прежним, а порядок ключей изменился.
Вложение 11188
оО!
1. спасибо
2. пожалуйста, зарегистрируйте багу. лучше от лица клиента. да, регистрация - это гемор. И очень сильный гемор. но эту - зарегистрируйте. пожалуйста.

и еще одно:
а можно попросить у вас еще и код, который у вас приводит к подобному "результату"?
Старый 07.02.2017, 16:06   #9  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
Аватар для pedrozzz
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Регистрация: 18.02.2010
Адрес: Краснодар
Цитата:
Сообщение от mazzy Посмотреть сообщение
2. пожалуйста, зарегистрируйте багу. лучше от лица клиента. да, регистрация - это гемор. И очень сильный гемор. но эту - зарегистрируйте. пожалуйста.
Никогда не сталкивался с процессом регистрации и проект сейчас в стадии запуска, так что немного не до этого. Но если кто-то желает помочь с этим и займется - я не возражаю и только всячески приветствую.
Цитата:
Сообщение от mazzy Посмотреть сообщение
а можно попросить у вас еще и код, который у вас приводит к подобному "результату"?
Сам код разбросан по кускам разных классов, которые в силу NDA я не имею права выкладывать. Но в целом идея такая:
  1. Создаете в таблице YourTableName поле типа контейнер PackedData
  2. Заполняете структуру значениями в обычном исполняемом коде и через .pack() сохраняете его в таблицу. Например так:
    X++:
        YourTableName                           yourTableName;
        Struct                                  struct;
    
        struct  = new Struct();
        
        struct.add('ScenarioHistoryRecId', someRecId);
        struct.add('ResponseCode'        , someText);
        struct.add('InvoiceDateDispute'  , someDateTime);
        struct.add('OrigInvoiceDueDate'  , anotherDateTime);
        struct.add('OutstandingAmount'   , someRealValue);
        struct.add('DateReminderSent'    , oneMoreDateTime);
        struct.add('NewDueDateRemind'    , someDate);
        
        yourTableName.clear();
        yourTableName.PackedData = struct.pack();
        yourTableName.insert()
  3. Создаете наследника RunBaseBatch, в методе run() десереализируете сохраненную структуру через create() и запускаете один раз просто так, а второй раз в пакете.
    X++:
        YourTableName                           yourTableName = YourTableName::find(yourTableRecId);
        Struct                                  dataStruct    = yourTableName.PackedData
                                                              ? Struct::create(yourTableName.PackedData)
                                                              : new Struct();
        Counter                                 i;
    
        info(strFmt("Record id: %1", yourTableName.RecId));
        
        for (i = 1; i <= dataStruct.fields(); i++)
        {
            info(strFmt("%1: %2", dataStruct.fieldName(i), dataStruct.value(dataStruct.fieldName(i))));
        }
  4. Удивляетесь увиденному

Похоже, что в AX ключи следуют в порядке их добавления, а в CIL в алфавитном порядке. Мне вот абсолютно на порядок плевать, но хотелось бы, раз они меняют порядок ключей, то чтобы и порядок значений изменился соответствующим образом. У нас R2, проверьте кто-нибудь в R3, может уже исправили.
__________________
Кононов Пётр

Последний раз редактировалось pedrozzz; 07.02.2017 в 16:20.
За это сообщение автора поблагодарили: mazzy (5).
Старый 07.02.2017, 18:03   #10  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
396 / 478 (16) +++++++
Регистрация: 27.02.2006
Адрес: Дания
Проверил в R3 CU11 - не исправили.

Чем отвечать на каверзные вопросы в регистрационной форме, я бы использовал Map, который вроде не глючит, если сделать так:

Запись

X++:
    map = new Map(Types::String, Types::Container);
    map.insert('ScenarioHistoryRecId', [123456789]);
    map.insert('ResponseCode'        , ['my text']);    
    packedMap = map.pack();
Считывание

X++:
    Map             map = Map::create(_packedMap);
    MapEnumerator   enumerator; 
    
    enumerator = map.getEnumerator();
    while (enumerator.moveNext())
    {
        info(strFmt("%1: %2", enumerator.currentKey(), conPeek(enumerator.currentValue(), 1)));
    }

Последний раз редактировалось Stitch_MS; 07.02.2017 в 18:48.
За это сообщение автора поблагодарили: pedrozzz (4).
Старый 22.02.2017, 21:30   #11  
b_nosoff is offline
b_nosoff
Читатель
Аватар для b_nosoff
MCP
MCBMSS
 
197 / 143 (5) +++++
Регистрация: 01.12.2004
Адрес: Msk
Записей в блоге: 13
AX2012 R3

RetailCDXSeedDataSubJob.createSubJob() - subjob.Enabled всегда Yes, хотя, если включить Retail Essentials, часть таблиц будет выключена конф. ключом, и в дальнейшем CDX будет падать при попытке их обработки.
Можно было б инициировать из dictTable.enabled(), хотя бы... Но нет, да и сам этот флаг не особо проверяется.
__________________
Axapta non erubescit
Теги
axapta, cil, d365fo, guid, rasset, uuid, uuidv7, баг

 


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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:01.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.