Добрый день!
Начали активно использовать раздел "Проекты" и оказалось, что не работает кнопка "Добавить в диаграмму Ганта".
Если быть точнее, то она сработала только для одного из тридцати проектов.
После выхода из программы проекты на диаграмме для конкретного пользователя не сохраняются.
Прошу подсказать решение данной проблемы.
Заранее спасибо :smile:

Нравится

1 комментарий

Николай Витальевич, проверьте, пожалуйста, отобразятся ли добавленные в диаграмму Ганта проекты после отключения всех фильтров и фокусировки на нужный период:
/system/files/16-12-2013_10-38-10.png
Для наглядности вложите, пожалуйста, скриншоты.

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

Доброго времени суток!
Задача состоит собственно вот в чем, каким образом можно "раскрасить" диаграмму Ганта в зависимости от того опережает/запаздывает проект относительно плана. Грубо говоря, если в плане начало работы стоит 01.04, а факт начала работы - 10.04, то промежуток времени между 1 и 10 апреля нужно "покрасить" в красный цвет

Нравится

7 комментариев

Добрый день!

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

Ознакомиться с возможностями и примерами использования диаграммы, Вы можете воспользовавшись поисковыми системами по ключевому слову ExG2antt.
Одним из популярных ресурсов является http://www.exontrol.com/exg2antt.jsp

http://www.community.terrasoft.ua/system/files/gant.png

В конфигурации Terrasoft изменения необходимо вносить в скрипт обработки диаграммы wnd_ProjectGanttAreaScript.

Благодарю за ответ, ресурс я посещал, и нашел там ответы на многие вопросы, но к сожалению не на все. Как пример, не совсем ясно указание цвета в функции CreateEstimatedWorkBar()

Bar.Color = 0x12000000;

Благодаря этой строке задается цвет (кстати не совсем ясно, почему синий??), плюс ко всему изменяется форма. А какое же число нужно указать, чтобы получить такой формы и размера линию, например зеленого цвета или красного?

Система определения цветов в 3.Х работает аналогично ядру, которое написано на Delphi. Необходимо учитывать, что rgb JavaScript будет bgr у 3.Х.
То есть FF0000 – в JavaScript, 0000FF – в 3.Х.

Подбор цветов можно делать здесь:
http://jscolor.com

http://www.community.terrasoft.ua/system/files/color.png

"Гакало Игорь Александрович" написал:

Система определения цветов в 3.Х работает аналогично ядру, которое написано на Delphi. Необходимо учитывать, что rgb JavaScript будет bgr у 3.Х.

То есть FF0000 – в JavaScript, 0000FF – в 3.Х.


Разобраться с тем, как указываются цвета в JavaScript - дело не хитрое, но если внимательно посмотреть на фрагмент из функции, упомянутой мною выше, то можно заметить, что для определения цвета используется шестнадцатиричное число длиной 8 знаков, а не 6
"Constantine" написал:

Bar.Color = 0x12000000;


Плюс ко всему, если я не ошибаюсь, цвет 0х120000 - темно-красный, практически черный, но никак не синий, который появляется в итоге на диаграмме

"Constantine" написал:для определения цвета используется шестнадцатиричное число длиной 8 знаков, а не 6

Последние два символа в указании цвета отвечают за Alpha level (уровень прозрачности).

"Constantine" написал:

Плюс ко всему, если я не ошибаюсь, цвет 0х120000 - темно-красный, практически черный, но никак не синий, который появляется в итоге на диаграмме


Bar.Color отвечает за цвет проекта на диаграмме:

http://www.community.terrasoft.ua/system/files/05-10-2012_13-00-37.png

Исходя из Вашего описание, цвет подставляется верный:

http://www.community.terrasoft.ua/system/files/05-10-2012_12-39-57.png

Добрый день!
Наконец, я разобрался с расцветкой в диаграмме, и к сожалению советы и подсказки, упомянутые в этой теме, не имели никакого смысла. Неужели нет разработчиков, которые занимались данным разделом?

"Гакало Игорь Александрович" написал:

Ознакомиться с возможностями и примерами использования диаграммы, Вы можете воспользовавшись поисковыми системами по ключевому слову ExG2antt.

Одним из популярных ресурсов является http://www.exontrol.com/exg2antt.jsp


Довольно элегантное предложение погуглить:smile:Хотя, как в конце концов оказалось, именно на этом сайте и нашлось решение.
"Гакало Игорь Александрович" написал:

Последние два символа в указании цвета отвечают за Alpha level (уровень прозрачности).

Никакого Alpha-канала не используется в данной диаграмме. Почитав внимательно документацию на указанном выше сайте можно узнать, что при указании цвета в 16тиречной форме, старший 7 бит указывает на маску изображения. Сия маска храниться в "64-base encoding", в скрипте эту строку можно найти в константах диаграммы

var gskWorkEstimatedBar = 'gBFLBCJwBAEHh...XoZhuEAQIC';

и именно в ней определен синий цвет:smile:
0x12 - номер под которым сохраняется маска

InitializeGantGraphics() {
	...
	Gantt.VisualAppearance.Add(0x12, gskWorkEstimatedBar);
        ...

для того, чтобы определить свою маску и соответственно использовать свои цвета на том же сайте можно скачать программу-конвертор файлов в эту кодировку.
ИМХО, в общем довольно интересно получается, либо в службе поддержки и понятия не имеют, как и кем писался данный модуль, либо просто напросто ответы - итог 5ти минутного "гугления", при чем даже без хотя бы беглого чтения своих же ссылок

Зато теперь все будут это знать. Спасибо за исследование, Constantine!

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

Здравствуйте!
Пересмотрев задачу Диаграммы Ганта с другой стороны, пришли к выводу, отобразить на одной линии 3 показателя (пояснения на приложенном рисунке).

Пройдясь по коду скрипта wnd_ProjectGanttAreaScript, я обнаружила, что используется ActiveXObject Exontrol.G2antt.1. Прогуглив я обнаружила разные виды диаграмм объекта Exontrol и нашла визуальное отображение, которое нам подходит "exg2antt" (http://www.exontrol.com/exg2antt.jsp) и хочу заменить старую диаграммую на нее.

Подскажите пожалуйста, что необходимо для этого.

Нравится

14 комментариев

Валентина, в Terrasoft используется данная компонента версии 4.3.1.7 (Exontrol ExG2antt Component, ExG2antt.dll в папке с бинарными файлами), по ссылке версия 5.1.1.1, насколько я понял она отличается лишь более красивым отображением, если вы хотите подменить данный компонент, то вы его можете скачать его evolution версию с сайта http://www.exontrol.net/content/products/g2antt.zip и подменить ActiveXGUID свойство в InitializeGanttObject (wnd_ProjectGanttAreaScript) далее возможно придется переписать некоторые функции работы с данным COM объктов, основные функции работы описаны в scr_ProjectGanttAreaUtils. Некоторые примеры работы с объектом описаны в документации которые предоставляет сам компонент (они доступны после установки дистрибутива, или на самом сайте exontrol.net)
Замечу, что данный компонент является платным и вы сможете бесплатно использовать только его триальную версию (в случае 5.1.1.1)

Здравствуйте, Алексей!

Для начала отмечу, что эти диаграммы отличаются не только красивым отображением. Если вы заметили, на той картинке, которую я прикрепила визуально отображаются 3 показателя
на одной линии (http://www.exontrol.com/images/exg2anttf.jpg тут побольше картинка и виднее). Мне необходимо отобразить три показателя на одной линии о проектам, в любом виде. Но этот вариант мне показался наиболее подходящим, для нашего случая.

Тоже заметила, что компонент версии 5.1.1.1 является платным и триальная версия нам не подходит.

Как вы думаете, если я начну изменять scr_ProjectGanttAreaUtils под ту диаграмму которую нам необходимо, будет ли тот исход, который я ожидаю?
Или мне следовать вашему совету: "если вы хотите подменить данный компонент, то вы его можете скачать его evolution версию с сайта http://www.exontrol.net/content/products/g2antt.zip и подменить ActiveXGUID свойство в InitializeGanttObject (wnd_ProjectGanttAreaScript) далее возможно придется переписать некоторые функции работы с данным COM объктов, основные функции работы описаны в scr_ProjectGanttAreaUtils."

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

Для начала следует разобрать примеры, подключить только ActiveX объект и попытаться нарисовать с помощью компоненты ExG2antt необходимое отображение, для понимания в принципе работы. На данном этапе scr_ProjectGanttAreaUtils может служить в качестве примера работы с компонентой

Здравствуйте, Алексей!

Спасибо за полезную подсказку.

Для начала я определилась, как будет выглядить шкала. Может отразить ее как на первом рисунке(Gantt1), но можно и попробывать другой вариант (Gantt2).
Мне необходимо отобразить показатель "Начало факт" и "Завершение факт". "Начало факт" есть вероятность, что будет начинаться не в период, когда начинается "Начало план". Поэтому решила создать отдельную шкалу, которая будет отображать "Начало факт" и "Завершение факт".

Основываясь на примере шкалы "Начало план" и "Завершение план", подумала, что анологично можно сделать и шкалу по фактическим данным.

Для этого сделала следующее:
sq_ProjectElements

Direct Elements (добавила "основная колонка")
-ActualStartDate
-ActualDueDate

Linked Elements (добавила "основная колонка")
-ActualStartDate
-ActualDueDate

(Скопировала dataset, для того чтобы вносить изменения)
ds_ProjectElementsTest добавила 2 поля "Поле дата/время"
-ActualStartDate
-ActualDueDate

в коде "scr_ProjectGantAreaUtilsTest" (тоже этот скрипт скопировала, для того чтобы вносить изменения) сразу изменила ds_ProjectElementsTest

function IsProjectExists(ProjectID) {
var ProjDataset = GetOpenedDatasetByUSIWithFilter('ds_ProjectElementsTest', 'ProjectID', ProjectID); // change on the ds_ProjectElementsTest (ds_ProjectElements)
return (!ProjDataset.IsEmptyPage);
}

wnd_ProjectGanttArea
-amiGotoActualDate

Разобрала как подключается ActiveX объект. Визуально изменила шкалу, которая показывает "Начало план, Завершение план". Нашла среднее между тем что нам нужно.

Но когда я начала работать с скриптом scr_ProjectGanttAreaUtilsTest, возникли проблемы. Я внесла измения в scr_ProjectGanttAreaUtilsTest, в приложении закоментировала, какие измения были внесены в коде, также изменила код wnd_ProjectGanttAreaScript. Но так и не добилась эффекта, который ожидала.
Возникает ошибка: "Ошибка выполнения метода 'dlDataOnDatasetAfterOpen'. 'ActualProjectBarName' is undefined «Call Stack»"

Что вы можете посоветовать, для реализации второй шкалы. Может, я что-то я не так делаю.

P.S. Нашла полезную ссылку, с которой работала (http://www.exontrol.com/content/products/exg2antt/help/Bars_Add.htm)

Здравствуйте Валентина,
Проверили скрипты,
"Ошибка выполнения метода 'dlDataOnDatasetAfterOpen'. 'ActualProjectBarName' is undefined «Call Stack»" воспроизвети не получилось, если ошибка еще воспроизводится у вас, предлагаю рассмотреть варианты передачи бэкапа вашей бд нам, для тестирования, или выгрузки всех сервисов конфигурации

Алексей, спасибо большое!
Я от Вас получила письмо, но оно пришло в спам.:sad:
Я Вам подробно отпишусь письмом.

Валентина, мы не получили ответ от Вас по поводу передачи бэкапа. Возможно некие проблемы с почтой, напишите, пожалуйста, в данной теме о статусе вопроса.

Спасибо большое за помощь!
Все получилось, так как хотели :)

Решение , на базе компонента внедренного в коробочную версию Terrasoft

//-----------------------------------------------------------------------------
// wnd_ProjectGanttAreaScript
//-----------------------------------------------------------------------------

…………

AreaObject.RequiredFieldsArray = new Array(
'ActualStartDate','ActualDueDate',
'EstimatedStartDate', 'EstimatedDueDate', 'Deadline',
'CompletionPercent', 'IsPlanFixated',
'LockedByID', 'SortPath', 'CalendarID', 'IsProjectNeedToBeCalculated',
'Duration', 'IsElementNeedToBeCalculated', 'PlanningType',
'NearestParentID', 'HasChilds', 'StateColor', 'StateIsFinish');

……..

function AddGanttItem(Dataset) {
var Items = Gantt.Items;
var RecordID = Dataset.Values('ID');
var ParentID = Dataset.Values('ParentID');
var Item = 0;
var ValuesArray = GetItemValuesArray(Dataset);
if (ParentID) {
var SortPath = Dataset.Values('SortPath');
if (SortPath != AreaObject.PreviousSortPath) {
AreaObject.PreviousSortPath = SortPath;
AreaObject.CurrentParentItem = GetItemByID(ParentID);
}
if (AreaObject.CurrentParentItem != 0) {
Item = Items.InsertItem(AreaObject.CurrentParentItem, RecordID, ValuesArray);
} else {
Log.Write(1, FormatStr("Элемент ID = '%1'не был добавлен. Не существует родительская запись ParentID = '%2' или ошибка пути Path = '%3'",
RecordID, ParentID, Dataset.Values('Path')));
return 0;
}
} else {
Item = Items.AddItem(ValuesArray);
Gantt.Items.ItemData(Item) = RecordID;
var DisplayedProjectIDsArray = GetDisplayedProjectIDsArray();
AddItemToArray(DisplayedProjectIDsArray, RecordID);
CalculateMixAndMaxEstimatedDate(AreaObject, Dataset);
}
Gantt.Items.ItemForeColor(Item) =
GetTextColorForGridRowByDataset(Dataset);
var BackColor = GetBackgroundColorForGridRowByDataset(Dataset);
if (BackColor) {
Gantt.Items.ItemBackColor(Item) = BackColor;
}
CreateItemBarByBarKey(Dataset, Item, EstimatedBarKey,
Dataset('EstimatedStartDate'), Dataset('EstimatedDueDate'), true);
if ((!Dataset.DataFields('ActualStartDate').ValIsNull) && (!Dataset.DataFields('ActualDueDate').ValIsNull)) {
CreateItemBarByBarKey(Dataset, Item, ActualBarKey,
Dataset('ActualStartDate'), Dataset('ActualDueDate'), true);
}

if (!IsEmptyValue(Dataset('Deadline'))) {
CreateItemBarByBarKey(Dataset, Item, DeadlineBarKey,
Dataset('Deadline'), Dataset('Deadline'), true);
}
Gantt.Items.ItemBar(Item, EstimatedBarKey, exBarPercent) = Dataset('CompletionPercent') / 100;
return Item;
}

Пример работы:
1

Здравствуйте!
Возникла необходимость, сгруппировать проекты по определенному параметру. А именно, если состояние проекта, варьирует от 0 до 100%. Но группировать проекты в зависимости от показателя состояние, Группировка должна происходить постоянно.
Вот таким образом
[Название проекта] - 1%
[Название проекта] - 1%
[Название проекта] - 2%
[Название проекта] - 2%
[Название проекта] - 10%
[Название проекта] - 14%
[Название проекта] - 14%
[Название проекта] - 15%

Подскажите пожалуйста, каким методом сгруппировать проекты.
Я думаю, что нужно создать запрос в sq_Project. Но какой еще пока не могу понять.
Благодарю за помощь!

Здравствуйте, Валентина
Возможно, вы имеете в виду сортировку? Т.е задача с том, что бы отобразить в гриде записи по возрастанию колонки " Фактически завершено, %"

Да я имею в виду сортировку. Я попробовала в запросе sq_Project в поле CompletionPercent установила тип сортировки "По возростанию". Но не происходит сортировка. Хотелось чтобы при добавлении нового проекта автоматически происходила распределение проектов по полю "Фактически завершено, %".

Валентина, дело в том, что для раздела [Проекты] используется древовидный реестр и завязано много дополнительной функциональности именно которая перекрывает сортировку.

Если для Вас критично – сортировать проекты в реестре, то тогда Вам необходимо в Terrasoft Administrator скрипте scr_ProjectUtils закомментировать текст функции SetProjectDatasetSortOrder, как показано на скриншоте ниже, сохранить изменения и перезапустить систему:
1

После этого сортировка в реестре будет работать, но не будут работать кнопки с помощью которых Вы можете упорядочить стадии, работы по проекту и передвигать проекты в гриде.
2

Понятно, спасибо Вам. Я подумаю над этим, если возникнут вопросы, отпишусь.

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

Здравствуйте уважаемые коллеги!

Хотела бы с вами посоветоваться и проконсультироваться, как можно реализовать поставленную задачу.

Тематика моя связана с проектным управление портфелем проектов и ведение проектов для ИТ компании.

1. Задача была, построить бизнес-процессы 3х категорий проектов. (Я их сделала)
2. Задача состоит в том чтобы отслеживать стадии проекта, а именно распределить проекты по степени сложности и за какой период выполнились задачи. И нужно как-то объединить "действия" бизнес-процесса с "задачу", "стадию" и "Работу" диаграммы Ганта. Что вы можете посоветовать?

Скришоты прикрепляю.
Диаграмма Ганта : Изображено для проекта 1 категории.
Бизнес-процесс: Опредление потребностей для проекта 1 категории.

Может я даже допустила ошибки про постороении диаграммы Ганта, к сожалению я их ранешь не строила.

Заранее спасибо!

Нравится

14 комментариев

Здравствуйте, Валентина.

Прежде всего, хотелось бы обратить Ваше внимание на то, что по своей сути диаграмма Ганта является визуальным отображением проектов, которые ведутся в системе. То есть, сроки выполнения проектов/работ/стадий, их последовательность, проценты выполнения и прочая информация, которая наглядно видна на диаграмме Ганта, берется из карточек соответствующих элементов, а редактирование этой информации из окна диаграммы, в свою очередь приводит к изменению ее в карточке.
Если эти элементы создаются у Вас в системе по БП, то для их отображения на диаграмме Ганта это не важно. Добавление проекта для отображения в этой вкладке осуществляется просто нажатием на кнопку "Добавить в диаграмму Ганта".
Исходя из всего написанного выше, не совсем понятна Ваша задача: что имеется ввиду под возможностью

"Капустина Валентина" написал:объединить "действия" бизнес-процесса с "задачу", "стадию" и "Работу" диаграммы Ганта

Во вложении Вы также найдете руководство пользователя в котором в разделе 4.1.2 (стр.244) описаны принципы работы с диаграммой Ганта. Пожалуйста, ознакомьтесь с данным руководством, а если у Вас возникнут дополнительные вопросы, мы обязательно на них ответим.

Инна Безверхняя,
II линия службы поддержки Terrasoft.

Спасибо за информацию. Постораюсь объяснить более понятным образом. Наверное дело в том, что я не могу пока себе представить как это сделать. Но суть такая: у меня есть к примеру бизнес-процесс по проекту (2-ой категрии). У этого проекта есть действия, которые необходимо выполнить ответственным. Разработав бизнес-процесс я его запускаю, и могу только видеть в разделе "Анализ", "Процессы", на какой стадии сейчас мой бизнес-процесс и какие определенные действия выполняются и в каком находятся состоянии. И мне необходимо отобразить все действия бизнес-процесса в диаграмме Ганта, причем, если у меня несколько бизнес-процессов и чтобы они отображались в диаграмме и было наглядно видно какие действия выполнены, а какие действия отстаются в режиме ожидания. Т. е. Необходимо создать синхронность выполнения бизнес-процесса с диараммой Ганта.
Это необходимо сделать, чтобы визуально было видно какие проекты (бизнес-процесс) и действия (из бизнес-процесса) за какой период были выполнены или наоборот не выполнены еще. Я понимаю, что можно в разделе Проекты, добавить этот же проект в ручную, но вот нужно сделать так чтобы автоматически проект был включен в раздел Проекты и изображен на диграмме Ганта. Вот как.

Я пока сейчас нахожусь в поисках как это сделать, но пока есть сложности.

Высылаю вам бизнес-процессы I , II и III категории проектов. Также в документе приложены скрипты, в которых у меня вызываются необходимые документы при определенных действиях, которые подразумевают работу с документами. Но это не относится к задачи с диаграммой Ганта. Высылаю вам эти скрипты, чтобы вам была ясна вся картина.

Благодарю за помощь.

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

Для того, чтобы это сделать, необходимо создать параметр по которому мы будем их связывать.

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

Фактически, необходимо создать Перечисление (enm_) для конкретного бизнес-процесса, куда внести каждую его стадию. Затем при переходе на новый этап в скрипте бизнес-процесса присваивать идентификатор стадии.

По данному идентификатору можно будет связать конкретный элемент бизнес-процесса с конкретным элементом проекта.

Реализовать это можно либо вручную (выпадающий список стадий бизнес-процесса) либо скриптами неявно, в зависимости от логики проектов.

Вопрос визуализации элемента бизнес-процесса на диаграмме Ганта следует рассмотреть отдельно.

Alimova Anna
Спасибо большое за подробное описание и за идеи, основываясь на них я попытаюсь начать.
Я решила на примере простого бизнес-процесса ("Заключение контракта") попробовать реализовать, поставленную задачу.
Итак, как я начала и что я сделала.
1. Создала перечесления для конкретного бизнес-процесса ("Заключение контракта"):
enm_ConclusionOfaContract
-Заполнения контракта (Код:FillTheContract);
-Анализ контракта (Код:AnalysisoftheContract);
-Встреча с заказчиком (Код:MeetingWithCustomer).
2. Для элементов:
-Заполнения контракта
-Анализ контракта
-Встреча с заказчиком
в бизнес-процессе я создала параметры "Перечсиление" и определела для каждого Значение. Фактически я связала определенные этапы бизнес-процесса с идентификаторами стадии. А Вы предлагали создать скрипт с помощью, которого присвоить индентификатор стадии. "Фактически, необходимо создать Перечисление (enm_) для конкретного бизнес-процесса, куда внести каждую его стадию. Затем при переходе на новый этап в скрипте бизнес-процесса присваивать идентификатор стадии." Правильно ли сделала? И правельно ли я Вас поняла?

Валентина,

попробую расписать алгоритм определения стадии бизнес-процесса. Файл в приложении.

Анна, спасибо за подробное описание, определения стадии бизнес-процесса.
В соответствии с документом выполнила. Прикрепляю документ, с реализацией.

Валентина,

видимо, я недостаточно подробно объяснила: такой параметр должен быть один. И его значение должно меняться на каждом этапе схемы, а не присваиваться новой переменной.

Дело в том, что мы всякий раз будет обращаться к переменной (в моем примере StageID) чтобы получить текущую стадию БП.

Т.е. скрипт должен выглядеть так:

// wd_ConclusionOfaContractScript
//-----------------------------------------------------------------------------
//Заполнения контракта
function wda_ContractFillingOnBeforeExecute(ActionItem) {
	StageID=FillTheContract;
	}
//Анализ контракта
function wda_ContractReviewOnBeforeExecute(ActionItem) {
	StageID=AnalysisoftheContract;
	}
function wda_MeetingWithCustomerOnBeforeExecute(ActionItem) {
	StageID= MeetingWithCustomer;
	}

А затем значение переменной StageID можно будет вытянуть по идентификатору БП и строить нужную диаграмму.

Анна, я вас поняла и все исправила.

Для того чтобы реализовать графически БП на диаграмме, начала рыться в коде, нашла маленькие намеки. Сложно идет...может я ищу не там...в общем рассматриваю скрипт wnd_ProjectGanttAreaScript.

Предлагаю вам рассмотреть функцию btnAddToGanttOnClickи с wnd_ProjectGanttAreaScript

function btnAddToGanttOnClick(Control) {
	var Container = Self.ParentContainer;
	if (!Assigned(Container)) {
		return;
	}
	var SelectedIDsArray = GetArrayByCollection(grdData.SelectedIDs);
	var ProjectIDsArray = GetProjectIDsArrayBySelectedIDs(SelectedIDsArray, dlData.Dataset);
	var Workspace = Container.ParentWindow;
	var GanttWindow = Workspace.ComponentsByName('wndGanttArea').Window;
	var GanttProjectIDsArray = GetProjectIDsArray(GanttWindow);
	DoArrayJunction(GanttProjectIDsArray, ProjectIDsArray);
	GanttWindow.Attributes('DatasetWasRefreshed') = false;
}

, по аналогии написать аналогичную функцию и вызывать ее в элементе Скрипт в SelectedIDsArray передавать ID элементов проекта, в ProjectIDsArray передавать ID проекта по БП.
Вместо Workspace.ComponentsByName('wndGanttArea').Window; попробуйте задать явный вызов окна диаграммы Ганта

Дело в том, что при ранее созданых параметров в БП, тип которых-"Перечсиление". При запуске БП результат задачи пустой, потому что я не указала взаимосвязь между элементрами. И не могу проверить, активируется ли моя функция или нет. И при изменении типа, у меня ничего не получается. А связать элементы друг с другом в БП, не получается из-за того что тип "перечисление" не совподает с тем типом, которые необходимо объединить. Вот и в ступоре...

function btnAddToGanttOnClick(Control) {
        var Container = Self.ParentContainer;
       if (!Assigned(Container)) {
              return;
       }
    var SelectedIDsArray = '{F6D163DE-405B-4726-9C30-33882FBB8DEF,5B8E83E0-99BA-4474-A79E-AA661074FA87, 416D0752-4453-4296-B16F-A57C2B4B8E2E, 7DB326FC-03AC-4D0C-BB93-CA295136F66F}';
    var ProjectIDsArray = OfferID;
    var Workspace = Container.ParentWindow;
    var GanttWindow =('wnd_ProjectGanttArea');
    var GanttProjectIDsArray = GetProjectIDsArray(GanttWindow);
    DoArrayJunction(GanttProjectIDsArray, ProjectIDsArray);
    GanttWindow.Attributes('DatasetWasRefreshed') = false;
}

"SelectedIDsArray передавать ID элементов проекта"-правельно ли я Вас поняла, что "ID элементов проекта", это элементы которые я указала в перечисление (enm_ConclusionOfaContract) или это ID элементы которые находят в закладке "проект"?

Здравствуйте!
Вопрос такой.

Необходимо отобразить в д.Ганта, вместо одной линии продолжительности проекта, три линии:
1. Черный:Фактическая продолжительность
2. Синий: Плановый продолжительность
3. Красный: Сдвиги (это разница между план. и факт.)

Как изменить временную шкалу на денежную, что бы использовать Д.Ганта для изображения финансовых показателей?

"Капустина Валентина" написал:И не могу проверить, активируется ли моя функция или нет.

Для того, чтобы проверить, отрабатывает ли скрипт, необходимо в функцию добавить строку debugger;
Это вызовет отладчик в момент захода в функцию. Убедитесь также, что у Вас активирован отладчик.

"Капустина Валентина" написал:"перечисление" не совподает с тем типом

А почему оно не совпадает? Следовало создать в ds_Project поле, связанное с тем же перечислением.

"Капустина Валентина" написал:Необходимо отобразить в д.Ганта, вместо одной линии продолжительности проекта, три линии:
1. Черный:Фактическая продолжительность
2. Синий: Плановый продолжительность
3. Красный: Сдвиги (это разница между план. и факт.)

Для этого нужно существенно переделать базовый функционал, т.к. на данный момент в атрибуты окна диаграммы передается только один параметр - идентификатор процесса, а Вам необходимо извлекать и обрабатывать массив.

"Капустина Валентина" написал:Как изменить временную шкалу на денежную, что бы использовать Д.Ганта для изображения финансовых показателей?

Это будет уже не диаграмма Ганта. В случае, если планируется заниматься рисованием в данной области, то речь идет не об изменении диаграммы Ганта, а о создании совершенного нового функционала рисования, и переделка существующих функций будет более трудоемкой, чем создание новых.

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

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

Здравствуйте!

Иногда возникает необходимость возможности печати диаграммы Ганта из раздела [Проекты].
В прикреплённом файле находится полная инструкция по реализации данного функционала.

Приятной работы!

Нравится

Поделиться

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

Круто!
И скриншот делать не надо :)

--
Cogito, ergo sum

А теперь расскажи как это все показать клиенту на презентации !!!

"Виталий Ковалишин aka samael" написал:И скриншот делать не надо :)

Да! Чтото мне это напомнило, про скриншот, не напомнишь? :)

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