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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.09.2022, 16:40   #1  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
396 / 478 (16) +++++++
Регистрация: 27.02.2006
Адрес: Дания
X++:
BPUpgradeCodeSystemDate: BP Rule: [BPUpgradeCodeSystemDate]:Method systemdateget has been deprecated, use DateTimeUtil::getSystemDate(DateTimeUtil::getUserPreferredTimeZone()) instead.

Нельзя просто взять, и сделать так, чтобы systemDateGet вызывал DateTimeUtil::getSystemDate(DateTimeUtil::getUserPreferredTimeZone()).

"...
- Товарищ лейтенант, может, лучше лопатами?
- Мне не надо лучше, мне надо, чтобы вы замучились." (с)
За это сообщение автора поблагодарили: Logger (1).
Старый 05.09.2022, 16:55   #2  
axm2017 is offline
axm2017
Участник
 
1,772 / 293 (13) ++++++
Регистрация: 15.05.2017
Цитата:
Сообщение от Stitch_MS Посмотреть сообщение
..
Нельзя просто взять, и сделать так, чтобы systemDateGet вызывал DateTimeUtil::getSystemDate(DateTimeUtil::getUserPreferredTimeZone()).
Если они не идентичны (так как кто, когда, зачем и что делал неизвестно) то это как раз нормально: типа не сломаем то что было
Старый 05.09.2022, 17:59   #3  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
396 / 478 (16) +++++++
Регистрация: 27.02.2006
Адрес: Дания
Цитата:
Сообщение от axm2017 Посмотреть сообщение
Если они не идентичны (так как кто, когда, зачем и что делал неизвестно) то это как раз нормально: типа не сломаем то что было
Хм, а ведь разница действительно есть. Сам писал про неё несколько лет назад.

Вкратце, systemDateSet "не влияет" на время суток, ну то-есть можно прибавлять и отнимать целые сутки, а часы и минуты будут тикать себе дальше, но это если потом использовать systemDateGet для проверки.

А вот если после systemDateSet или DateTimeUtil::setSystemDateTime вызывать DateTimeUtil::getSystemDateTime, то время "замрёт".
За это сообщение автора поблагодарили: S.Kuskov (10), axm2017 (5).
Старый 05.09.2022, 22:15   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,882 / 3148 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Stitch_MS Посмотреть сообщение
А вот если после systemDateSet или DateTimeUtil::setSystemDateTime вызывать DateTimeUtil::getSystemDateTime, то время "замрёт".
А обратно "отмереть" время можно ?
Старый 06.09.2022, 18:35   #5  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
396 / 478 (16) +++++++
Регистрация: 27.02.2006
Адрес: Дания
Цитата:
Сообщение от Logger Посмотреть сообщение
А обратно "отмереть" время можно ?
Хороший вопрос, но пока не копал — не было необходимости.
Старый 26.10.2022, 04:31   #6  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,038 / 1629 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Кто там говорил что виртуальные компании это плохо и сложно настраивать, поэтому их и убирают
Похоже эту функциональность решили переизобрести, но под новым названием - master company sharing (preview)
https://learn.microsoft.com/en-us/dy...n/srs-overview
За это сообщение автора поблагодарили: Logger (5).
Старый 26.10.2022, 10:42   #7  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,283 / 3491 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от trud Посмотреть сообщение
Кто там говорил что виртуальные компании это плохо и сложно настраивать, поэтому их и убирают
Похоже эту функциональность решили переизобрести, но под новым названием - master company sharing (preview)
https://learn.microsoft.com/en-us/dy...n/srs-overview
Так это давно уже "изобрели". И на уровне свойства таблицы можно было задать - данные единые или копируемые. Детально я не проверял, но год назад точно работал только режим "копируемые".
Т.е. технически, если я допустим группу клиентов шарю между компаниями - то создается вторая запись (с другим RecId), которая является полной копией другой записи и любая попытка изменить любое поле - автоматически приводит к синхронизации второй записи. Это я и называю режим "копируемые". И даже приводились ограничения от MS на объем таких "синхронизируемых" данных.

Тут собственно 2 проблемы:
1. Единая запись и автоматически копируемая - это всё-таки разные технологии. И постоянная синхронизация явно не увеличивает производительность
2. Про ссылки по RecId в этом случае можно забыть. В системе же действительно очень мало ссылок по RecId )) и конечно же этим ограничением можно пренебречь )))

И мне так и не довелось увидеть в работе режим Single (свойство Data sharing type на таблице). Режим Duplicate - да, работает. Но как я уже писал с ограничением на объёмы синхронизируемых данных
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: Logger (3).
Старый 01.11.2022, 10:34   #8  
axm2017 is offline
axm2017
Участник
 
1,772 / 293 (13) ++++++
Регистрация: 15.05.2017
Табличка VendInvoiceInfoTable_RU
как понимаю под коррекцию создали поля
CorrectedInvoiceId_RU
CorrectedInvoiceDate_RU
CorrectedJournalId
но вижу перенос в VendInvoiceJour только первых двух полей что рождает порой неоднозначность
почему не перенесли и третье поле загадка
Старый 18.01.2023, 04:40   #9  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,038 / 1629 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
По ходу команда которая делала ГК еще осталась в MS и теперь они добрались и до InventTrans(у которой по видимому есть "фатальный недостаток")
Встречайте новые таблицы(пока только для склада) с GUID идентификаторами
Нажмите на изображение для увеличения
Название: NewInventTrans.png
Просмотров: 72
Размер:	196.3 Кб
ID:	13535

Оригинал вот здесь:
https://learn.microsoft.com/en-us/sh...y-transactions
За это сообщение автора поблагодарили: Logger (3).
Старый 18.01.2023, 10:04   #10  
ena_ax is offline
ena_ax
Участник
 
254 / 46 (2) +++
Регистрация: 06.12.2006
Цитата:
Сообщение от trud Посмотреть сообщение
По ходу команда которая делала ГК еще осталась в MS и теперь они добрались и до InventTrans(у которой по видимому есть "фатальный недостаток")
Встречайте новые таблицы(пока только для склада) с GUID идентификаторами
Вложение 13535

Оригинал вот здесь:
https://learn.microsoft.com/en-us/sh...y-transactions
Добрый день!
Для понимания, можете рассказать чем плохи или не удобны идентификаторы GUID?
За это сообщение автора поблагодарили: axm2017 (12).
Старый 18.01.2023, 12:11   #11  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,657 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от ena_ax Посмотреть сообщение
Для понимания, можете рассказать чем плохи или не удобны идентификаторы GUID?
Есть правило: пусть безобразно, зато единообразно

Это означает, что все приложение должно строится по одним и тем же правилам (принципам). Что позволяет существенно упростить сопровождение такого приложения. Пусть и может приводить к некоторым проблемам

К сожалению, в отношении Axapta это правило уже давно нарушено. Сейчас с точки зрения именно идеологии построения приложения Axapta представляет собой не единый "монолит", а некую "сборную солянку", что существенно усложняет сопровождение.

Так вот, использование GUID как идентификатора записи в одном модуле - это еще одно нарушение "монолитности" (единообразия) идеологии. Дополнительная проблема при внесении изменений в код.

Хотя в данном случае, вроде бы, речь идет не об идентификаторе записи (RecId), а о некоем общем идентификаторе "процесса" вроде ParmId. Т.е. вроде бы, и не выбивается из общих принципов построения приложения в данном случае.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: ena_ax (1).
Старый 18.01.2023, 16:05   #12  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,038 / 1629 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Хотя в данном случае, вроде бы, речь идет не об идентификаторе записи (RecId), а о некоем общем идентификаторе "процесса" вроде ParmId. Т.е. вроде бы, и не выбивается из общих принципов построения приложения в данном случае.
Ну да, собственно Владимир ответил. Т.е. в системе есть некие принципы, если что-то нумеровать, можно использовать номерную серию. Номерные серии - это довольно крутой механизм, заложенный в системе, как раз для проблемы нумерации.
Если использовали GUID - опять же, могу ошибаться, но тут скорее всего пришли люди которые с системой до этого не работали(не знают что такое номерные серии), и начали проектировать данные таблицы.
Можно конечно предположить, ну ладно, системы не знают, но наверное технически специалисты хорошие. Но в этом заставляет сомневаться вот такие графики в презентации (нет подписей для оси Х и У, непонятно что вообще проверяли)
Нажмите на изображение для увеличения
Название: PerformanceImpr.png
Просмотров: 55
Размер:	41.5 Кб
ID:	13536
Плюс я немного работал над оптимизаций складов, и я никогда не видел в топе нагрузки запросы связанные именно с InventTrans, а те что были, они бы к примеру выиграли от денормализации InventTrans, добавления к примеру туда всех полей аналитик(но тут явно обратный процесс)

Что они запроектируют - даже страшно представить, но будем надеяться на лучшее
Старый 18.01.2023, 17:24   #13  
ТРЕНЕР is offline
ТРЕНЕР
Участник
Аватар для ТРЕНЕР
 
598 / 50 (3) ++++
Регистрация: 11.06.2003
Адрес: Москва
Цитата:
Сообщение от trud Посмотреть сообщение
(у которой по видимому есть "фатальный недостаток")
На скриншоте в первой таблице написано Tranasctions вместо Transactions.
Это фатальный недостаток команды в целом.
За это сообщение автора поблагодарили: gl00mie (2).
Старый 18.01.2023, 21:07   #14  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,882 / 3148 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от ТРЕНЕР Посмотреть сообщение
На скриншоте в первой таблице написано Tranasctions вместо Transactions.
Это фатальный недостаток команды в целом.
Ну мы же жили много лет с PostingProgile - ом и никто не умер.
Но конечно тоже резануло глаз.
За это сообщение автора поблагодарили: axm2017 (12).
Старый 18.01.2023, 10:33   #15  
Pandasama is offline
Pandasama
Участник
 
449 / 133 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Цитата:
Для понимания, можете рассказать чем плохи или не удобны идентификаторы GUID?
Они не плохи, но, думаю, здесь избыточны. Больший размер чем у RecId, дольше генерятся.
За это сообщение автора поблагодарили: ena_ax (1).
Старый 18.01.2023, 10:43   #16  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,882 / 3148 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Pandasama Посмотреть сообщение
Они не плохи, но, думаю, здесь избыточны. Больший размер чем у RecId, дольше генерятся.
А еще по ним индексы неэффективно работают.
Фрагментация, то, сё...
За это сообщение автора поблагодарили: Pandasama (3), ena_ax (1).
Старый 18.01.2023, 11:08   #17  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,895 / 5650 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от Logger Посмотреть сообщение
А еще по ним индексы неэффективно работают.
Фрагментация, то, сё...
Вообще в SQL Server есть функция, которая возрастающие GUID генерирует. (NewSequentialId()), по которым проблемы фрагментации индекса не возникает. Тут правда вопрос - как разработчики GUIDы в своей логике генерируют...
Плюс - мне кажется что сейчас почти все индексы сжимаются, при этом с учетом того что они пишут что у них таблица в режиме append only, особо большого оверхида при обновлениях не будет, а при чтении за счет сжатия выигрыш будет существенным.
За это сообщение автора поблагодарили: ena_ax (1), Logger (5).
Старый 18.01.2023, 13:27   #18  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,882 / 3148 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от fed Посмотреть сообщение
Вообще в SQL Server есть функция, которая возрастающие GUID генерирует. (NewSequentialId()), по которым проблемы фрагментации индекса не возникает.
Это да.
Но если их инкрементно выделять, то пропадают все вкусности GUID и он становится ничем не лучше обычного RecId. Даже хуже, так как RecId всего 8 байт занимает.
Старый 18.01.2023, 14:11   #19  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,895 / 5650 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от Logger Посмотреть сообщение
Это да.
Но если их инкрементно выделять, то пропадают все вкусности GUID и он становится ничем не лучше обычного RecId. Даже хуже, так как RecId всего 8 байт занимает.
GUID проще выделить до записи в БД. То есть - в принципе UnitOfWork или махинации с suspendRecId() решают проблему, но MkGuid() все равно проще написать.
Старый 12.09.2023, 14:32   #20  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,882 / 3148 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Logger Посмотреть сообщение
Это да.
Но если их инкрементно выделять, то пропадают все вкусности GUID и он становится ничем не лучше обычного RecId. Даже хуже, так как RecId всего 8 байт занимает.
Оказывается подготовлен стандарт UUIDv7, свободный от перечисленных мной недостатков.

https://habr.com/ru/articles/658855/

Комменты, как обычно, еще интереснее.
За это сообщение автора поблагодарили: S.Kuskov (2).
Теги
axapta, cil, d365fo, guid, rasset, uuid, uuidv7, баг

 


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

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

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