Кастомизированное поле из продаж в планирование

Добрый день! В планировании производится расчет Плана, Факта и Потенциала, стоит задача значения Факта заменить на кастомизированное поле из продаж. Как это можно сделать? И какой пакет за это отвечает?

Нравится

4 комментария

Игорь, здравствуйте!

Вычисления – в пакете CoreForecast.

Значение нужно вычислять в хранимке tsp_RecalculateForecastFact, в блоке

SET @SQLText = N'
SELECT
(SELECT SUM(ISNULL(fiv.[Value], 0))
FROM [ForecastItemValue] fiv
WHERE fiv.[ForecastItemId] = @P5
AND fiv.[PeriodId] = @P6
AND fiv.[ForecastIndicatorId] = @P7
) PlanAmount,
(SELECT SUM(ISNULL(o.[Amount], 0))
FROM [Opportunity] o
WHERE o.[StageId] = @P1
AND o.[DueDate] >= @P2
AND o.[DueDate] < @P3
AND o.' + @ColumnName + N' = @P4
) FactAmount,
(SELECT SUM(ISNULL(o.[Amount], 0) * ISNULL(o.[Probability], 0) / 100)
FROM [Opportunity] o
INNER JOIN [OpportunityStage] os ON os.[Id] = o.[StageId]
WHERE os.[End] = 0
AND o.[DueDate] >= @P2
AND o.[DueDate] < @P3
AND o.' + @ColumnName + N' = @P4
) PotentialAmount'

Заголовок индикатора нужно менять в таблице ForecastIndicator. Изменять нужно только Name, поле Code не трогать.

Спасибо!

"Арменчу Артём Александрович" написал:

Заголовок индикатора нужно менять в таблице ForecastIndicator. Изменять нужно только Name, поле Code не трогать.


Спасибо! А если нет доступа к таблицам?
можно сделать так?

(SELECT SUM(ISNULL(fiv.[Value], 0))
FROM [ForecastItemValue] fiv
WHERE fiv.[ForecastItemId] = @P5
AND fiv.[PeriodId] = @P6
AND fiv.[ForecastIndicatorId] = @P7
) PlanAmount,
(SELECT SUM(ISNULL(o.[UsrMarginAmount], 0))
FROM [Opportunity] o
WHERE o.[StageId] = @P1
AND o.[DueDate] >= @P2
AND o.[DueDate] < @P3
AND o.' + @ColumnName + N' = @P4
) FactAmount,
(SELECT SUM(ISNULL(o.[UsrMarginAmount], 0) * ISNULL(o.[Probability], 0) / 100)
FROM [Opportunity] o
INNER JOIN [OpportunityStage] os ON os.[Id] = o.[StageId]
WHERE os.[End] = 0
AND o.[DueDate] >= @P2
AND o.[DueDate] < @P3
AND o.' + @ColumnName + N' = @P4
) PotentialAmount'

И ещё уточнение, я же не могу править пакет CoreForecast. поэтому просто создаю tsp_RecalculateForecastFact в Custom?

Игорь, пользователь в принципе может выполнить любой скрипт, имея доступ в конфигурацию.

Для этого необходимо перейти в конфигурацию, выбрать пакет Custom и перейдя на вкладку "SQL-сценарии" добавить нужный скрипт. Далее для него выполнить действие «Установить выбранные элементы» в меню «SQL скрипт».
Но настоятельно рекомендуем перед применением скриптов выполнять бэкап.

По сути вопроса: да, хранимку Вы можете поправить так, как написали. Только следует скопировать полный текст оригинальной хранимки, внести свои изменения и выполнить действие установки.

По индикатору планирования: нужно создать в пакете Custom скрипт:

UPDATE ForecastIndicator
SET Name = <Новое название индикатора в одинарных кавычках>
WHERE Code = 'Fact'

и его также установить.

"Арменчу Артём Александрович" написал:По индикатору планирования: нужно создать в пакете Custom скрипт:

Спасибо, вроде всё получилось. пока нет данных особо не проверить, но на первый взгляд всё хорошо.

Показать все комментарии