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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.09.2013, 15:03   #41  
Murlin is offline
Murlin
Возьми свет!!!
Аватар для Murlin
Самостоятельные клиенты AX
Злыдни
 
291 / 32 (2) +++
Регистрация: 22.09.2008
Адрес: Тюмень, Рашан Федерашан
Цитата:
Сообщение от dech Посмотреть сообщение
Это конечно да, но такое я бы назвал хардкодом.
Да майкрософту тоже надо от кода отказаца типа вот этого
while select inventTrans
where inventTrans.TransType > a && inventTrans.TransType < b

либо отказаться от использования метода index2Symbol
__________________
Axapta 3.0 sp 5 Oracle
Диплом Интернет-Университета Информационных Технологий: Основы бухгалтерского учета
Я могу взорвать вам мозг!!!
Старый 03.09.2013, 15:10   #42  
Murlin is offline
Murlin
Возьми свет!!!
Аватар для Murlin
Самостоятельные клиенты AX
Злыдни
 
291 / 32 (2) +++
Регистрация: 22.09.2008
Адрес: Тюмень, Рашан Федерашан
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
В этой ветке Murlin предлагает в случае конфликта своего элемента перечисления и нового системного, вместо обновления старых значений в БД, переопределить номер нового системного элемента перечисления.

Почему так делать опасно уже здесь написали, но видимо недостаточно убедительно
что именно опасного? т.е. действительно "опасного" а не то что вы с формы не перейдете на другую форму. relation - да
код вида
inventTrans.TransType > a и inventTrans.TransType < b
по большим сомнением... Т.к. выпуская sp с новым enumом
я думаю в нем будет исправление
inventTrans.transtype>a и inventTrans.TransType<c
__________________
Axapta 3.0 sp 5 Oracle
Диплом Интернет-Университета Информационных Технологий: Основы бухгалтерского учета
Я могу взорвать вам мозг!!!
Старый 03.09.2013, 15:20   #43  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
Цитата:
Сообщение от Murlin Посмотреть сообщение
Да майкрософту тоже надо от кода отказаца типа вот этого
while select inventTrans
where inventTrans.TransType > a && inventTrans.TransType < b

либо отказаться от использования метода index2Symbol
да что вы так упелись то
вызов index2Symbol с значением (не индексом) енума в качестве параметра это не осмысленное желание/правило мс, а обычный баг сделанный обычным разработчиком. От того что он работал в это время в мс ничего не меняется - это просто баг (проявляется он только не всегда). Таких кривых вызовов по всему приложению dax2009 ru8 с sl2 слоем около десятка - поправить 10 минут и зарегистрировать для очистки совести в мс. зачем всё усложнять?
Старый 03.09.2013, 15:36   #44  
Murlin is offline
Murlin
Возьми свет!!!
Аватар для Murlin
Самостоятельные клиенты AX
Злыдни
 
291 / 32 (2) +++
Регистрация: 22.09.2008
Адрес: Тюмень, Рашан Федерашан
Цитата:
Сообщение от db Посмотреть сообщение
да что вы так упелись то
вызов index2Symbol с значением (не индексом) енума в качестве параметра это не осмысленное желание/правило мс, а обычный баг сделанный обычным разработчиком. От того что он работал в это время в мс ничего не меняется - это просто баг (проявляется он только не всегда). Таких кривых вызовов по всему приложению dax2009 ru8 с sl2 слоем около десятка - поправить 10 минут и зарегистрировать для очистки совести в мс. зачем всё усложнять?
Вот я про это и пишу, баг это или не баг...
Либо делаем enum с разрывом, тогда баг, либо без разрыва тогда наш баг.
__________________
Axapta 3.0 sp 5 Oracle
Диплом Интернет-Университета Информационных Технологий: Основы бухгалтерского учета
Я могу взорвать вам мозг!!!

Последний раз редактировалось Murlin; 03.09.2013 в 15:38.
Старый 04.09.2013, 06:25   #45  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Цитата:
Сообщение от Murlin Посмотреть сообщение
что именно опасного? т.е. действительно "опасного" а не то что вы с формы не перейдете на другую форму. relation - да
код вида
inventTrans.TransType > a и inventTrans.TransType < b
по большим сомнением... Т.к. выпуская sp с новым enumом
я думаю в нем будет исправление
inventTrans.transtype>a и inventTrans.TransType<c
Скорее всего вы не найдёте в системе таких енумов, где значение b является последним, а уж тем более, где между a и b есть разрыв. Обновление таких енумов не затрёт старые значения, а только лишь дополнит. Так что такой код ошибку не вызовет, хоть он и написан не очень корректно. Кстати, мне встречался такой код, где был добавлен новый элемент в енум, причем в коде забыли прописать подобную строку:
X++:
inventTrans.transtype>a && inventTrans.TransType<c
Приходилось самому исправлять.
__________________
// no comments
Старый 04.09.2013, 06:28   #46  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Цитата:
Сообщение от Murlin Посмотреть сообщение
Вот я про это и пишу, баг это или не баг...
Либо делаем enum с разрывом, тогда баг, либо без разрыва тогда наш баг.
Делайте енум с разрывом и исправляйте на value2Symbol() и хватит уже морочить всем голову!
__________________
// no comments
Старый 04.09.2013, 06:48   #47  
Murlin is offline
Murlin
Возьми свет!!!
Аватар для Murlin
Самостоятельные клиенты AX
Злыдни
 
291 / 32 (2) +++
Регистрация: 22.09.2008
Адрес: Тюмень, Рашан Федерашан
Цитата:
Сообщение от dech Посмотреть сообщение
Делайте енум с разрывом и исправляйте на value2Symbol() и хватит уже морочить всем голову!
Так не пойдет... непорядок.
__________________
Axapta 3.0 sp 5 Oracle
Диплом Интернет-Университета Информационных Технологий: Основы бухгалтерского учета
Я могу взорвать вам мозг!!!
Старый 06.09.2013, 09:59   #48  
kair84 is offline
kair84
Участник
 
47 / 58 (2) ++++
Регистрация: 15.04.2010
Адрес: Belarus
Перечитал топик, и действительно, чуть мозг не взорвался.

index2Symbol() - если в него передавать value - баг, и однократно "просканировать" код на предмет вызова метода, не так уж и сложно

Enum с разрывом - нормальная практика,
Цитата:
inventTrans.TransType > a и inventTrans.TransType < b
в этом случае inventTransType не самый удачный пример, лучше обратить внимание на StatusIssue StatusReceipt и другие, когда элементы Enum-a действительно отражают стадии какого либо процесса, и чтобы добавлять элементы в такие Enum-ы, нужно 10 раз подумать, а если у Вас до, после, или между такими этапами добавляются свои, то лучше создать второй Enum типа StatusIssueSub, и соответственно поле для него, и предшествовать, продолжать или детализировать процесс сколько влезет
Старый 12.09.2013, 06:58   #49  
Murlin is offline
Murlin
Возьми свет!!!
Аватар для Murlin
Самостоятельные клиенты AX
Злыдни
 
291 / 32 (2) +++
Регистрация: 22.09.2008
Адрес: Тюмень, Рашан Федерашан
Цитата:
Сообщение от kair84 Посмотреть сообщение
Перечитал топик, и действительно, чуть мозг не взорвался.

index2Symbol() - если в него передавать value - баг, и однократно "просканировать" код на предмет вызова метода, не так уж и сложно

Enum с разрывом - нормальная практика,

в этом случае inventTransType не самый удачный пример, лучше обратить внимание на StatusIssue StatusReceipt и другие, когда элементы Enum-a действительно отражают стадии какого либо процесса, и чтобы добавлять элементы в такие Enum-ы, нужно 10 раз подумать, а если у Вас до, после, или между такими этапами добавляются свои, то лучше создать второй Enum типа StatusIssueSub, и соответственно поле для него, и предшествовать, продолжать или детализировать процесс сколько влезет
Гипотетическая ситуация совсем не обязательно что мне требуется именно детализация а не добавление нового типа проводок, велосипед изобретаете.
Однократно можно также изменить relation и код про который я писал. Ничего вы не меняете абсолютно. Вопрос был в том что будет если будет обновления лежащие на нижних слоях, опять ничего не меняется.
__________________
Axapta 3.0 sp 5 Oracle
Диплом Интернет-Университета Информационных Технологий: Основы бухгалтерского учета
Я могу взорвать вам мозг!!!
Старый 12.09.2013, 09:25   #50  
kair84 is offline
kair84
Участник
 
47 / 58 (2) ++++
Регистрация: 15.04.2010
Адрес: Belarus
inventTransType я привел в пример, чтоб нагляднее объяснить где имеет смысл конструкция "< >" с участием ENUMов. Категорически не предлагаю, и сам, не изобретаю велосипед. На все остальные Ваши вопросы уже ответили, внятно и доходчиво, почему Вы этого не замечаете ? вот это вопрос. Если у Вас такая твердая позиция, делайте по своему, зачем Вам одобрение АХ сообщества для этого ???

А что будет если ...

Последний раз редактировалось kair84; 12.09.2013 в 09:46.
Старый 14.09.2013, 17:29   #51  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от Murlin Посмотреть сообщение
Гипотетическая ситуация
уже сильно...
Цитата:
Сообщение от Murlin Посмотреть сообщение
Однократно можно также изменить relation и код про который я писал.
таак...
Цитата:
Сообщение от Murlin Посмотреть сообщение
Ничего вы не меняете абсолютно.
... фига се...
Цитата:
Сообщение от Murlin Посмотреть сообщение
Вопрос был в том что будет если будет обновления лежащие на нижних слоях, опять ничего не меняется.
Слушайте.. изложите уже внятно.. вня-тно.. ЧТО вы хотите получить. Еще лучше - если Вы перед этим ТАК ЖЕ ВНЯТНО - изложите, "что, из того, что я вижу - мне не нравится.. (почему-то.. гы..)"

Вопросы, на которые не могут ответить взрослые - называются (и являются, кста.. ) - ДЕТСКИМИ.. было уже.. Нарайяне )

NP so far
__________________
Best Regards,
Roman
Старый 14.09.2013, 18:21   #52  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Что-то чисто технический вопрос вызвал такой всплеск эмоций.
Мне кажется, что система, в которой работаешь волей или неволей задает некоторые правила, которым следует следовать (тавтология). Может быть они не всегда прямо указаны, но большинство их принимает. Учитывая, что никто не работает в одном месте "навсегда", думаю, что всяким писанным и неписанным правилам стоит следовать хотя бы для того, чтобы коллегам, пришедшим на наше место было оставлено привычное окружение.
Нумерация энумов из того же вопроса. Прямо нигде не сказано про эту нумерацию. Но косвенно, смотрим мастер создания финансовых аналитик (до DAX20012), там сразу предлагаются значения со 100. Смотрим энумы LedgerJournalACType, LedgerPostingType, LedgerJournalType и прочие - там явно на разных слоях принято использовать разные диапазоны.
В чем смысл ухода от этой практики исходя из того, что в нескольких местах неправильно применен один метод?
Murlin, конечно Ваше право применять Ваш подход, но пожалейте тех, кто придет на Ваше место, когда Вы сами решите уйти с текущей работы (Вы же не рассчитываете, что будете работать только тут и никто не придет, пока Вас не вынесут с почестями вперед ногами).
PS: кстати, при обновлении намного проще решить конфликты в коде, чем конфликты в энумах. Код классов сравнивается легко, а вот энумы полностью копируются на слой изменения и понять, что в новом нижележайшем коде другие значения не совсем очевидно.

Последний раз редактировалось Raven Melancholic; 14.09.2013 в 18:40.
Старый 14.09.2013, 18:28   #53  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Я переводил несколько приложений с версии на версию.
Просто по опыту понимаю, что различия в коде, в большинстве случаев, можно решить прямо в утилите сравнения. А вот разницу в релейшенах, значениях енумов в этой утилите не решить. Нужно её закрывать и вносить изменения прямо в AOT,
Старый 14.09.2013, 18:52   #54  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Взялось, похоже, вот отсюда "Я могу взорвать вам мозг!!!"

Я - тоже перевел.. не одно приложение.. с версии на версию. Крайний раз - работал подручным у Вашего, Алексей, знакомого.. в кондитерах который был..

Разговор, ИМХО - не о проблемы. Проблемы - нет, как таковой.

Разговор о том, что некоторые люди вместо того, чтобы почитать, как правильно репортить баги - начинают кричать а-ля "Я могу взорвать вам мозг!!!"

Что забавно, согласитесь..
__________________
Best Regards,
Roman
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Отображение аналитик в гриде складских журналов. Баг? _scorp_ DAX: Программирование 2 25.10.2012 11:48
Баг при печати налогового кода petr DAX: Программирование 0 25.03.2009 16:33
Баг SysDataImport Logger DAX: База знаний и проекты 2 16.07.2008 15:16
баг в 2.5. Будьте осторожнее с символом "_" подчеркивание levsha DAX: Программирование 5 07.12.2004 12:26
Баг в суммовой разнице? maxx DAX: Функционал 3 23.10.2003 18:06

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

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

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