Уже не нужно...Сам нашёл решение.
Первый момент с полным местоположением Документа я решил следующем образом.
Создал переменную "dir" и создал элемент "php-код" со следующем кодом:
При этом если заменить $dir_full = ''; на $dir_full = $ar_res['NAME']; то в переменную передаст и имя файла.
Хотя тех.поддержка прислал следующий код. В котором я даже не стал разбираться, т.к. за то время пока они отвечали, я уже нашёл решение.
-----------
Второй вопрос я решил достаточно просто, создав переменную user и вставив следующий php-код:
----
P.S.: Сразу скажу, что никогда не программировал на PHP и столкнулся с ним только месяца два назад. Так что не судите строго.
Первый момент с полным местоположением Документа я решил следующем образом.
Создал переменную "dir" и создал элемент "php-код" со следующем кодом:
Код |
---|
$res = CIBlockElement::GetByID({=Document:ID}); if($ar_res = $res->GetNext()) { $dir_full = ''; $dir_id = $ar_res['IBLOCK_SECTION_ID']; while ($dir_id <> ''): $red = CIBlockSection::GetByID($dir_id); if($ar_red = $red->GetNext()) { $dir_full = $ar_red['NAME'].chr(47).$dir_full; $dir_id = $ar_red['IBLOCK_SECTION_ID']; } endwhile; } $rootActivity = $this->GetRootActivity(); $rootActivity->SetVariable("dir",$dir_full); |
При этом если заменить $dir_full = ''; на $dir_full = $ar_res['NAME']; то в переменную передаст и имя файла.
Хотя тех.поддержка прислал следующий код. В котором я даже не стал разбираться, т.к. за то время пока они отвечали, я уже нашёл решение.
Код |
---|
$runtime = CBPRuntime::GetRuntime(); $documentService = $runtime->GetService("DocumentService"); $arDocumentFields = $documentService->GetDocumentFields($documentType); |
-----------
Второй вопрос я решил достаточно просто, создав переменную user и вставив следующий php-код:
Код |
---|
$rootActivity = $this->GetRootActivity(); $rootActivity->SetVariable("user",CUser::GetID()); |
----
P.S.: Сразу скажу, что никогда не программировал на PHP и столкнулся с ним только месяца два назад. Так что не судите строго.