protected static function getPaySystemsByDeliveryId($deliveryId = 0) { if ($deliveryId == 0) { return array(); } $result = DeliveryPaySystemTable::getLinks($deliveryId, DeliveryPaySystemTable::ENTITY_TYPE_DELIVERY, self::$preparedData); return $result; }
} } if ($arParams["DELIVERY_TO_PAYSYSTEM"] == "p2d") { $arD2P = array(); } if ($arParams["DELIVERY_TO_PAYSYSTEM"] == "d2p" && !empty($arUserResult['DELIVERY_ID']) || $arParams["DELIVERY_TO_PAYSYSTEM"] == "p2d") { if ($arUserResult["PREPAYMENT_MODE"] && IntVal($arUserResult["PAY_SYSTEM_ID"]) > 0) { $arFilter["ID"] = $arUserResult["PAY_SYSTEM_ID"]; } $preparedPSData = \Bitrix\Sale\Internals\DeliveryPaySystemTable::prepareData(array(), \Bitrix\Sale\Internals\DeliveryPaySystemTable::ENTITY_TYPE_PAYSYSTEM); $bFirst = true; $dbPaySystem = CSalePaySystem::GetList(array("SORT" => "ASC", "PSA_NAME" => "ASC"), $arFilter); while ($arPaySystem = $dbPaySystem->Fetch()) { //if (count($arD2P[$delivery]) <= 0 || in_array($arPaySystem["ID"], $arD2P[$delivery])) //{ $checkByDelivery = in_array($arUserResult["DELIVERY_ID"], \Bitrix\Sale\Internals\DeliveryPaySystemTable::getLinks($arPaySystem["ID"], \Bitrix\Sale\Internals\DeliveryPaySystemTable::ENTITY_TYPE_PAYSYSTEM, $preparedPSData)); if (strlen($arUserResult["DELIVERY_ID"]) <= 0 || $arParams["DELIVERY_TO_PAYSYSTEM"] == "p2d" || $checkByDelivery) { if (!CSalePaySystemsHelper::checkPSCompability($arPaySystem["PSA_ACTION_FILE"], $arOrder, $arResult["ORDER_PRICE"], $arResult["DELIVERY_PRICE"], $arUserResult["DELIVERY_LOCATION"])) { continue; } if ($arPaySystem["PSA_LOGOTIP"] > 0) { $arPaySystem["PSA_LOGOTIP"] = CFile::GetFileArray($arPaySystem["PSA_LOGOTIP"]); } $arPaySystem["PSA_NAME"] = htmlspecialcharsEx($arPaySystem["PSA_NAME"]); $arResult["PAY_SYSTEM"][$arPaySystem["ID"]] = $arPaySystem; $arResult["PAY_SYSTEM"][$arPaySystem["ID"]]["PRICE"] = CSalePaySystemsHelper::getPSPrice($arPaySystem, $arResult["ORDER_PRICE"], $arResult["DELIVERY_PRICE"], $arUserResult["DELIVERY_LOCATION"]); if (IntVal($arUserResult["PAY_SYSTEM_ID"]) == IntVal($arPaySystem["ID"]) || IntVal($arUserResult["PAY_SYSTEM_ID"]) <= 0 && $bFirst) { //$arPaySystem["CHECKED"] = "Y"; $arResult["PAY_SYSTEM"][$arPaySystem["ID"]]["CHECKED"] = "Y"; $arUserResult["PAY_SYSTEM_ID"] = $arPaySystem["ID"]; }
echo $arPersonType["ID"]; ?> " value=""> </td> </tr> </table> <?php } $tabControl1->End(); ?> </td></tr> <?php $tabControl->EndTab(); $tabControl->BeginNextTab(); if ($ID > 0) { $deliveryIds = \Bitrix\Sale\Internals\DeliveryPaySystemTable::getLinks($ID, \Bitrix\Sale\Internals\DeliveryPaySystemTable::ENTITY_TYPE_PAYSYSTEM); } elseif (isset($_POST["DELIVERY_HANDLERS"]) && is_array($_POST["DELIVERY_HANDLERS"])) { $deliveryIds = $_POST["DELIVERY_HANDLERS"]; } else { $deliveryIds = array(); } ?> <tr> <td width="40%"> <?php echo GetMessage('SPS_DELIVERY_HANDLERS'); ?> : </td> <td width="60%"> <select multiple="multiple" size="5" name="DELIVERY_HANDLERS[]">