Код:
create.in.objectTypes=contract:BgbillingInet
#
processShowProcessLinks=1
processShowMessages=1
# скрытие в редакторе процесса ссылки полной правки описания
hideDescriptionChange=1
# шаблон текста при добавлении в описание процесса текста кнопкой "Добавить"
descriptionAddPattern=(${description}\n)[(${time}) (${user})]\t(${text})
# произвольный шаблон времени для добавляемого текста
descriptionAddPattern.timePattern=dd.MM HH:mm
#
processReference.1.objectTypes=processCard
processReference.1.stringExpression="<span class='title'>#" + process.getId() + " Заявка: " + u.toString( processParam.addressValues( 4 ) ) + "</span> <span>" + u.escapeXml( process.getDescription() ) + "</span>"
processReference.2.objectTypes=linkProcessList
processReference.2.stringExpression=u.toString( processParam.addressValues( 4 ) ) + " "
#
# открыт - Адрес
requireFillParamIdsBeforeStatusSet.1=4
#
processCreateLink.1.title=Сформировать заявку
processCreateLink.1.processTypeId=41
processCreateLink.1.linkType=processLink
# копирование привязок
processCreateLink.1.copyLinks=1
processCreateLink.1.copyParams=4,16,33
#
onProcessEvent.1.events=messageAdded;executorsChanged;statusChanged
onProcessEvent.1.commands=newsPopupNotifyExecutors
#
onProcessEvent.3.events=linkAdded;createdAsLink
onProcessEvent.3.commands=bgbilling:getLinkedContractAddressParam:BgbillingInet:8:4
onProcessEvent.4.events=statusChanged;messageAdded;descriptionAdded
onProcessEvent.4.doExpression=<<END
text = process.getId() + "<br></END>" + process.getDescription();
mobile.sendMessageToExecutors("Изменился процесс, в котором вы исполнитель", text);
END
# Выполнена
onProcessEvent.5.events=statusChanged:1
onProcessEvent.5.doExpression=setPriority(4);
# Отказ
onProcessEvent.6.events=statusChanged:5
onProcessEvent.6.doExpression=setPriority(6);
#Выполнена частично
onProcessEvent.7.events=statusChanged:3
onProcessEvent.7.doExpression=setPriority(3);
# На проверке
onProcessEvent.8.events=statusChanged:7
onProcessEvent.8.doExpression=setPriority(5);
# Не выполнена
onProcessEvent.9.events=statusChanged:2
onProcessEvent.9.doExpression=setPriority(1);
# Перенос
onProcessEvent.10.events=statusChanged:6
onProcessEvent.10.doExpression=setPriority(7);
#
#Добавление текста в описание процесса при смене статуса
onProcessEvent.11.events=statusChanging
onProcessEvent.11.doExpression=<<END
dao = new("ru.bgcrm.dao.process.ProcessDAO", conSet.getConnection());
change = event.getStatusChange();
change = ctxUserMap[change.getUserId()].getTitle() + " => " + ctxProcessStatusMap[change.getStatusId()].getTitle() + " [" + change.getComment() + "]";
process.setDescription(process.getDescription() + NEW_LINE + change);
dao.updateProcess(process);
END
#
onProcessEvent.12.events=linkAdded;createdAsLink
onProcessEvent.12.commands=refreshCurrentQueue;open
onProcessEvent.13.events=statusChanging
onProcessEvent.13.commands=refreshCurrentQueue;open
#
cnt=1
#
BILLING_ID=BgbillingInet
#
createWizard.step.{@inc:cnt}.class=ru.bgcrm.model.process.wizard.JexlStep
createWizard.step.{@cnt}.title=Информация о заявке
createWizard.step.{@cnt}.doExpression=<<END
message = "";
paramDao = new("ru.bgcrm.dao.ParamValueDAO", conSet.getConnection());
linkDao = new("ru.bgcrm.dao.process.ProcessLinkDAO", conSet.getConnection());
addrDao = new("ru.bgcrm.dao.AddressDAO", conSet.getConnection());
contractDao = new("ru.bgcrm.plugin.bgbilling.proto.dao.ContractDAO", ctxUser, "{@BILLING_ID}");
message += "ID заявки: <b>" + process.getId() + "</b><br/>";
message += "Тип заявки: <b>";
message += ctxProcessTypeMap.get(process.getTypeId()).getTitle();
message += "</b><br/>";
message += "Время: <b>";
timeFrom = paramDao.getParamDateTime(process.getId(), 5);
if (timeFrom != null)
message += tu.format(timeFrom, "ymdhm");
message += " - ";
timeTo = paramDao.getParamDateTime(process.getId(), 10);
if (timeTo != null)
message += tu.format(timeTo, "ymdhm");
message += "</b><br/>";
message += "Договор: <b>";
contractLink = u.getFirst(linkDao.getObjectLinksWithType(process.getId(), "contract%"));
if (contractLink != null)
message += contractLink.getLinkedObjectTitle();
message += "</b><br/>";
if (contractLink != null ) {
message += "Пароль: <b>";
pswd = contractDao.getContractStatisticPassword(contractLink.getLinkedObjectId());
message += pswd;
message += "</b><br/>";
}
message += "Адрес: <b>";
addr = paramDao.getParamAddress(process.getId(), 4, 1);
if (addr != null)
message += addr.getValue();
message += "</b><br/>";
if (addr != null) {
message += "Информация по дому: <b>";
house = addrDao.getAddressHouse(addr.getHouseId(), false, false, false);
if (house != null)
message += house.getComment();
message += "</b><br/>";
}
message += "Телефон: <b>";
phone = paramDao.getParamPhone(process.getId(), 16);
if (phone != null)
message += phone.getValue();
message += "</b><br/>";
return {"filled": true, "message": message};
END
#
createWizard.step.{@inc:cnt}.class=ru.bgcrm.model.process.wizard.SetDescriptionStep
#createWizard.step.{@cnt}.title=Описание
#
createWizard.step.{@inc:cnt}.class=ru.bgcrm.model.process.wizard.FillParamsStep
createWizard.step.{@cnt}.title=Файлы
createWizard.step.{@cnt}.parameterIds=14
#
createWizard.step.{@inc:cnt}.class=ru.bgcrm.model.process.wizard.SetStatusStep
createWizard.step.{@cnt}.title=Статус
#
workload:groupLoad.userGroupIds=4,5,6,8,10,11,12,13,14,21,23
workload:groupLoad.processTypeIds=51,95,54,50,33,42
workload:groupLoad.dateFromParamId=5
workload:groupLoad.dateToParamId=10
workload:groupLoad.addressParamId=4