Уважаемые коллеги!

Подскажите пжл. - Как выделить в реестре активностей просроченные задачи красным цветом?

Нравится

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

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

Пример описан по ссылке:
https://academy.terrasoft.ru/documents/technic-sdk/7-8/kastomizaciya-ot…

В условии необходимо сравнивать значение поля Due с текущей датой/временем. Эту логику необходимо реализовать в схеме ActivitySectionV2.

Спасибо, Илья!

К сожалению, я не программист...
Не могли бы Вы помочь с кодом?

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

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

На точечные вопросы готов ответить и оказать помощь.

Спасибо, Илья!

Я так и делаю... И даже курс разработки прошел...
Только, вот, попробуйте возьмите любой пример по программированию и увидите,ЧТО ДАВНО НАДО БЫЛО ПОМЕНЯТЬ ТЕКСТ РУКОВОДСТВА ПО ОБУЧЕНИЮ (см. материал в Академии)...

Наши и/или Ваши коллеги, что-то не сильно заморачиваются актуализировать данные руководства... Половина руководства не соответствует актуальным версиям...
Поэтому и спрашиваю про КОД более опытных коллег с соответствующей просьбой помочь по программному коду....
В любом случае, огромное Вам спасибо за помощь!!!

Здравствуйте.
Инструкция https://academy.terrasoft.ru/documents/technic-sdk/7-8/kastomizaciya-ot…
корректна для версии, для которой она и написана.
Вот код, который раскрасит все активности у которых дата\время завершения меньше текущей даты\времени:

define("ActivitySectionV2", [], function() {
	return {
		entitySchemaName: "Activity",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
		methods: {
			prepareResponseCollectionItem: function(item) {
					this.callParent(arguments);
					item.customStyle = null;
					var dueDate = item.get("DueDate");
					if (dueDate <= new Date()) {
						item.customStyle = {
							"color": "darkgrey",
							"background": "#FF8A8A"
						};
					}
				}
		}
	};
});
Показать все комментарии

Описание задачи:
Поставили задачу всегда выводить просроченные задачи в гриде "все задачи", т.к. не пользователи проверяли просроченные задачи в соответствующей вкладке и теряли их из виду.

Описание решения:
Вот как я решил эту проблему:

1. В сервисе sq_Task в ветке where - TaskPeriods - TaskDate выставил логические операторы OR
2. В наборе фильтров TaskDate создал еще два набора фильтров TaskDateNew, с логическим оператором AND, и OverDue - с логическим оператором AND
3. В наборе фильтров TaskDateNew я создал фильтр сравнения TaskStartLessThanToDate с условием tbl_Task.StartDate Parameter: ToDate
4. В наборе фильтров TaskDateNew создал еще один набор фильтров TaskEndFilter - с логическим оператором OR
5. В наборе фильтров TaskEndFilter создал фильтр сравнения TaskDueDateMoreThanStartDate c условием: tbl_Task.DueDate >= Parametr: StartDate
6. Теперь выводим просроченные задачи. В наборе фильтров TaskDate создаем набор фильтров OverdueTasks с логическим оператором AND
7. В наборе фильтров OverdueTasks создаем 2 фильтра сравнения: TimeOverdue (с условием - tbl_Task.DueDate Parameter: CurrentDay) и NotFinished ( с условием tbl_Task.IsFinish > Parameter: IsFinish)

Простая манипуляция, но может кому-то пригодится :)

Нравится

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

Андрей, спасибо что вы поделились своим опытом, мы очень ценим ваш вклад в развитие сообщества, но если вам не сложно, оформляйте сообщения в виде личного блога

ок, извиняйюсь :)

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

Объясните мне в терминах фильтра для динамической группы, как это организовать?
Я всегда считал, что просроченное событие - это событие, дата которого уже прошла, т.е. необходимо выполнить условие для задачи:
Дата завершения(планируемая) Меньше Даты текущей, но при выборе условия Меньше, для даты есть возможность поставить только конкретную дату, как это обойти?
P.S. Понятно, что мы еще выберем дополнительные условия
-Состояние - В работе
-Дата фактического завершения - Пусто...но как установить главное условие?

Нравится

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

Добрый день, Руслан.
Для версии 3.2.0 уже доступен фильтр, который в английской версии называется "Less Or Equal Now". В текущих версиях 3.2.0.17 этот фильтр называется "Меньше или равно", и не позволяет вводить аргументы. Название неудачное, правильный перевод - "Меньше или равно текущей даты", в скором времени это будет исправлено в новой версии 3.2.0.x. Главное - операция сравнения "Меньше или равно" работает правильно и сравнивает с текущей датой, то есть вполне пригодна для Вашей задачи.
Желаю успехов!

Cпасибо, а я блин, толку туда "Меньше или равно", а у меня аргумент исчезает, ну думаю, видать - глюк, под форму основного окна уходит....расширил окно, все равно нет аргумента, думал уже описать...а оказывается все правильно :-D.

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