• Модуль: webdav
  • Путь к файлу: ~/bitrix/modules/webdav/classes/iblock.php
  • Класс: CWebDavIblock
  • Вызов: CWebDavIblock::findHistoryDocumentByFileId
function findHistoryDocumentByFileId($elementId, $fileId, $documentId)
{
	$elementId = (int)$elementId;
	$fileId = (int)$fileId;

	if($fileId <= 0 || $elementId <= 0 || empty($documentId))
	{
		return array();
	}

	if(($this->workflow != 'bizproc' && $this->workflow != 'bizproc_limited'))
	{
		return array();
	}

	$by      = "modified";
	$order   = "desc";
	$history = new CBPHistoryService();
	$dbDocumentHistory = $history->GetHistoryList(
		array(mb_strtoupper($by) => mb_strtoupper($order)),
		array(
			"DOCUMENT_ID" => $documentId,
		),
		false,
		array('nTopCount' => 20), //todo we search by OLD_FILE_ID this is not true. 20 - magic. And we trust in him
		array(
			"ID",
			"DOCUMENT_ID",
			"NAME",
			"MODIFIED",
			"USER_ID",
			"USER_NAME",
			"USER_LAST_NAME",
			"USER_LOGIN",
			"DOCUMENT",
			"USER_SECOND_NAME"
		)
	);

	while($document = $dbDocumentHistory->fetch())
	{
		if(!empty($document['DOCUMENT']['OLD_FILE_ID']) && $document['DOCUMENT']['OLD_FILE_ID'] == $fileId)
		{
			return $document;
		}
	}

	return $document;
}