|
![]() |
#1 |
Сам.AX
|
В итоге.
1. Стоит ли тратить время на расширение модуля, добавив дополнительные таблицы промежуточных итогов? 2. Сколько это может занять времени (вопрос тем, кто уже делал или начинал делать)? 3. Решит ли это вопрос производительности системы и на сколько процентов (примено)? Спасибо.
__________________
Возьми свет! |
|
![]() |
#2 |
Участник
|
Цитата:
![]() Первый точно дешевле, но сложнее. Переобучить бухов и перенастроить методику учёта задача очень нетривиальная. Второй проще, но обойдётся дороже. Цитата:
Цитата:
Или, как уже предлагали, перетащить всё в OLAP. Тогда ломать ничего не придётся. |
|
![]() |
#3 |
Участник
|
Цитата:
расширять можно. Но по-моему, не стоит. Технологичнее смотреть в OLAP. Тут правильно посоветовали. Цитата:
Начинали многие. Доведенного до конца решения ни разу не видел. Цитата:
Решит кардинально - с Аксаптой можно будет работать. Сейчас через год-полтора-два российские отчеты (включая ГФО) встают колом и тупо не работают. |
|
|
За это сообщение автора поблагодарили: Alexx7 (1). |
![]() |
#4 |
Участник
|
|
|
![]() |
#5 |
Участник
|
Да. Да. Нет.
|
|
![]() |
#6 |
Участник
|
|
|
![]() |
#7 |
Участник
|
Народ вы чего?
ГФО написано в 2002г и с тех пор не переписывалось, в сп2 для ах4 дописали сверху (сверху, а не рефвакторинг) выборку из произвольной таблицы (хоть ИнветТранс). Там еще связка по recId, при этом долгое время было в полях не RefRecId а именно рекИд, это поправили вроде. Копирование настроенного добавили, а то раньше весело было, не залить из-за рекИД и не скопировать - сиди перебивай или кодь копирование. Функционал работает же? Да! А работает - не трож! ![]() Все нововведения за 7 лет не отслеживались точно, если предметно доказать неработоспособность ГФО и затребовать что-то обеспечивающее учет по РСБУ, например, то могут и доделать. Но он же формально работает, причем правильно, и на демоданых, показывает приемлемое время ![]() И бухи, когда разберутся, от него прутся. |
|
![]() |
#8 |
Microsoft Dynamics
|
Цитата:
С пятеркой выходили и еще будут со следующим RU обновления в генераторе. Так что рекомендую на досуге все-таки заглянуть внутрь, "кто давно уже туда не смотрел". А то кругом неправда получается. |
|
![]() |
#9 |
Участник
|
Сегодня у меня день подчищения хвостов.
Цитата:
Запрос тупо делается по LedgerTrans. Причем запрос тупо создается, а не берется из AOT - следовательно любая оптимизация range'й может выполняться только программным кодом, а не администратором в АОТ затем тупо отбираются все проводки с типом периода - обычный (1). Никаких начальных, никаких заключительных... ГФО по прежнему тупо не знают о таких типах проводок ![]() А затем тупо делается цикл по всем проводкам (2). Никаких промежуточных итогов, никакой оптимизации - тупо суммирует. Даже никаких попыток сделать group by на сервере. Тупо выбрать все проводки, тупо просуммировать на AOS. Хотелось бы также обратить внимание на то, как добавляются range. сперва в query добавляется счет (по этому полю есть индекс), затем тип периода, признак коррекции, тип налога, тип движения, тип коррекции, аналитика... и только в самом конце дата. во-первых, в LedgerTrans есть только один индекс, который содержит AccountNum - это ACDate. во-вторых, оптимизатору запроса нужно серьезно постараться, чтобы догадаться использовать этот индекс среди кучи полей в range. Блин, ну хоть бы range с датой наверх поставили что ли? в-третьих, даже этот индекс как правило предельно неселективный, поскольку даты для сальдо от начала времен до заданной даты. Поэтому оптимизатор с достаточно большой вероятностью выберет Table scan (и это заложено на этапе проектирования!!!) А что бесит больше всего - никаких попыток сделать группировки и отдать хоть часть работы на SQL... Не говоря уже о попытках кэширования, предсказывания, оптимизации (так если мы знаем сальдо конечное и сальдо начальное, то можем не запрашивать оборот из базы. Или сделан выборка для счета, то не делать еще раз такую же выборку для расчета итогового счета...) ===================== Если интересно, то сравните с LedgerBalanceSheetCol_CurMST.buildQuery LedgerBalanceSheetCol_CurMST.sumUpTrans Где четко начальные берут из промежуточных итогов, текущие берут из LedgerTrans. Но обратите внимание, помимо того, что там выбираются небольшие периоды, там в запрос вставлен group by и AOS самостоятельно занимается суммированием очень небольшого количества записей. В основном, всю работу выполняет SQL. Или взять тот же тупой LedgerBalanceCur_Current Хоть и он на промежуточные итоги плевать хотел, но хотя бы группировку делает на стороне SQL и пытается хоть какой-то кэш сделать... ===================== В общем, AlexSD, при всем моем уважении - принципиально в RRG нихрена и ничего не поменялось. |
|
![]() |
#10 |
Участник
|
Цитата:
X++: queryBuildDataSource.addSelectionField(amountFieldId, SelectionField::Sum);
queryBuildDataSource.orderMode(OrderMode::GroupBy); Что ж, и на этом спасибо. Теперь бы от начала времен не суммировать, теперь бы не делать отдельный запрос на каждую формулу... покэшировать и прочую оптимизацию... |
|
![]() |
#11 |
Участник
|
Цитата:
Сообщение от Alexx7
![]() В итоге.
1. Стоит ли тратить время на расширение модуля, добавив дополнительные таблицы промежуточных итогов? 2. Сколько это может занять времени (вопрос тем, кто уже делал или начинал делать)? 3. Решит ли это вопрос производительности системы и на сколько процентов (примено)? Спасибо. Сколько времени потратили на разработку и отладку точно уже не помню, но не больше недели. Научили генератор выводить в Excel текстовые значения, даты и значения специальных процедур-функций, для того чтобы консультант или бухгалтер могли определять ячейку в генераторе по нормальному (понятному) имени из списка заранее запрограммированных для этих целей программистом процедур-функций (например, процедуры формирования развернутого сальдо ![]() После доработки пользователи на скорость формирования отчетности уже не жаловались ![]() + добавили еще копирование отчетов - упростив себе сопровождение и тиражирование ...
__________________
Бей желтых пока не посинеют, бей синих пока не пожелтееют ![]() |
|
![]() |
#12 |
Microsoft Dynamics
|
Цитата:
Сообщение от Nick
![]() Научили генератор выводить в Excel текстовые значения, даты и значения специальных процедур-функций, для того чтобы консультант или бухгалтер могли определять ячейку в генераторе по нормальному (понятному) имени из списка заранее запрограммированных для этих целей программистом процедур-функций (например, процедуры формирования развернутого сальдо
![]() После доработки пользователи на скорость формирования отчетности уже не жаловались ![]() + добавили еще копирование отчетов - упростив себе сопровождение и тиражирование ... |
|
![]() |
#13 |
Участник
|
Цитата:
![]() PS они до сих пор на 3-ке работают ...
__________________
Бей желтых пока не посинеют, бей синих пока не пожелтееют ![]() |
|
Теги |
бухгалтерский учет |
|
|