<?php
// ClearProperties()
// /dist/bitrix/modules/bizproc/classes/general/activity.php:129
protected function ClearProperties()
{
$rootActivity = $this->GetRootActivity();
$documentId = $rootActivity->GetDocumentId();
$documentType = $this->GetDocumentType();
/** @var CBPDocumentService $documentService */
$documentService = $this->workflow->GetService("DocumentService");
if (is_array($rootActivity->arPropertiesTypes) && count($rootActivity->arPropertiesTypes) > 0
&& is_array($rootActivity->arFieldTypes) && count($rootActivity->arFieldTypes) > 0)
{
foreach ($rootActivity->arPropertiesTypes as $key => $value)
{
if ($rootActivity->arFieldTypes[$value["Type"]]["BaseType"] == "file")
{
foreach ((array) $rootActivity->arProperties[$key] as $v)
{
if (intval($v) > 0)
{
$iterator = \CFile::getByID($v);
if ($file = $iterator->fetch())
{
if ($file['MODULE_ID'] === 'bizproc')
CFile::Delete($v);
}
}
}
}
$fieldType = \Bitrix\Bizproc\FieldType::normalizeProperty($value);
if ($fieldTypeObject = $documentService->getFieldTypeObject($documentType, $fieldType))
{
$fieldTypeObject->setDocumentId($documentId)
->clearValue($rootActivity->arProperties[$key]);
}
}
}
}