Exemplo n.º 1
0
    CModule::IncludeModule("sale");
    $personTypes = CCrmPaySystem::getPersonTypeIDs();
    $arFields = array("ORDER_TOPIC" => GetMessage("CRM_DEMO_INVOCIE_1_SUBJ"), "STATUS_ID" => "P", "DATE_INSERT" => ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'FULL'), "DATE_BILL" => ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'SHORT'), "PAY_VOUCHER_DATE" => ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'FULL'), "DATE_PAY_BEFORE" => ConvertTimeStamp(time() + 8000009 + CTimeZone::GetOffset(), 'SHORT'), "RESPONSIBLE_ID" => 1, "UF_CONTACT_ID" => $arContacts["45"]['ID'], "PAY_VOUCHER_NUM" => 456, "DATE_MARKED" => ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'FULL'), "PRODUCT_ROWS" => array(array("ID" => 0, "PRODUCT_ID" => $arProduct["ID"], "PRODUCT_NAME" => $arProduct["NAME"], "QUANTITY" => 1, "PRICE" => $arProduct["PRICE"])), "PERSON_TYPE_ID" => $personTypes["CONTACT"], "INVOICE_PROPERTIES" => array());
    $paySystems = CCrmPaySystem::GetPaySystems($personTypes["CONTACT"]);
    foreach ($paySystems as $id => $paySystem) {
        $arFields["PAY_SYSTEM_ID"] = $id;
    }
    $arAllProps = CCrmInvoice::GetPropertiesInfo($personTypes["CONTACT"]);
    foreach ($arAllProps as $arProps) {
        foreach ($arProps as $key => $prop) {
            if ($key == "FIO") {
                $arFields["INVOICE_PROPERTIES"][$prop["ID"]] = $arContacts["45"]["LAST_NAME"];
            }
        }
    }
    $arInvoices[] = $arFields;
    $arFields = array("ORDER_TOPIC" => GetMessage("CRM_DEMO_INVOCIE_2_SUBJ"), "STATUS_ID" => "N", "DATE_INSERT" => ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'FULL'), "DATE_BILL" => ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'SHORT'), "PAY_VOUCHER_DATE" => ConvertTimeStamp(time() + CTimeZone::GetOffset(), 'FULL'), "DATE_PAY_BEFORE" => ConvertTimeStamp(time() + 8000009 + CTimeZone::GetOffset(), 'SHORT'), "RESPONSIBLE_ID" => 1, "UF_COMPANY_ID" => $arCompany["38"]['ID'], "PRODUCT_ROWS" => array(array("ID" => 0, "PRODUCT_ID" => $arProduct["ID"], "PRODUCT_NAME" => $arProduct["NAME"], "QUANTITY" => 1, "PRICE" => $arProduct["PRICE"])), "PERSON_TYPE_ID" => $personTypes["COMPANY"], "INVOICE_PROPERTIES" => array());
    $paySystems = CCrmPaySystem::GetPaySystems($personTypes["COMPANY"]);
    foreach ($paySystems as $id => $paySystem) {
        $arFields["PAY_SYSTEM_ID"] = $id;
    }
    $arAllProps = CCrmInvoice::GetPropertiesInfo($personTypes["COMPANY"]);
    foreach ($arAllProps as $arProps) {
        foreach ($arProps as $key => $prop) {
            if ($key == "COMPANY") {
                $arFields["INVOICE_PROPERTIES"][$prop["ID"]] = $arCompany["38"]["TITLE"];
            }
        }
    }
    $arInvoices[] = $arFields;
}
Exemplo n.º 2
0
 public static function __MakePayerInfoString($arInvoiceProperties)
 {
     $strPayerInfo = '';
     if (!self::$INVOICE_PROPERTY_INFOS) {
         self::$INVOICE_PROPERTY_INFOS = CCrmInvoice::GetPropertiesInfo(0, true);
     }
     $i = 0;
     foreach (self::$INVOICE_PROPERTY_INFOS as $person => $props) {
         $index = 0;
         foreach ($props as $code => $fields) {
             if ($fields['TYPE'] === 'TEXT' || $fields['TYPE'] === 'TEXTAREA') {
                 $value = trim($arInvoiceProperties['PR_INVOICE_' . $fields['ID']]['VALUE']);
                 if ($value != '') {
                     if ($i > 0) {
                         $strPayerInfo .= ', ';
                     }
                     $strPayerInfo .= $value;
                     $i++;
                 }
             }
         }
     }
     return $strPayerInfo;
 }
Exemplo n.º 3
0
// PAYER PROPERTIES
//foreach ($arInvoiceProperties as $propertyId => $property)
//{
//	if ($property['FIELDS']['CODE'] !== 'LOCATION')
//	{
//		$arResult['FIELDS']['tab_1'][] = array(
//			'id' => $propertyId,
//			'name' => $property['FIELDS']['NAME'],
//			'type' => ToLower($property['FIELDS']['TYPE']),
//			'value' => $property['VALUE']
//		);
//	}
//}
// ----------- Payer info dialog settings ----------->
$dlgSettings = array('personTypeId' => $personTypeId);
$arInvoicePropertiesInfo = CCrmInvoice::GetPropertiesInfo(0, true);
$index = 0;
foreach ($arInvoicePropertiesInfo as $person => $props) {
    $index = 0;
    foreach ($props as $code => $fields) {
        if ($fields['TYPE'] === 'TEXT' || $fields['TYPE'] === 'TEXTAREA') {
            $dlgSettings[$person][$index++] = array('ID' => $fields['ID'], 'CODE' => $fields['CODE'], 'TYPE' => $fields['TYPE'], 'NAME' => $fields['NAME'], 'SIZE1' => $fields['SIZE1'], 'SIZE2' => $fields['SIZE2'], 'SORT' => $fields['SORT'], 'PROPS_GROUP_ID' => $fields['PROPS_GROUP_ID'], 'GROUP_NAME' => $fields['GROUP_NAME'], 'GROUP_SORT' => $fields['GROUP_SORT']);
        }
    }
}
$dlgSettings['personTypes'] = $arPersonTypes;
$dlgSettings['FORM_ID'] = $arResult['FORM_ID'];
$dlgSettings['PAYER_INFO_EDIT_LINK_ID'] = $arResult['PAYER_INFO_EDIT_LINK_ID'];
$dlgSettings['INVOICE_PROPS_DIV_ID'] = $arResult['INVOICE_PROPS_DIV_ID'];
$dlgSettings['PAYER_INFO_FIELD_ID'] = $arResult['PAYER_INFO_FIELD_ID'];
$dlgSettings['messages'] = array('TITLE' => GetMessage('CRM_INVOICE_PROPS_DLG_TITLE'), 'SAVE' => GetMessage('CRM_INVOICE_PROPS_DLG_SAVE'), 'CANCEL' => GetMessage('CRM_INVOICE_PROPS_DLG_CANCEL'));
Exemplo n.º 4
0
 public static function PrepareInvoiceClientInfoFormat($personTypeID)
 {
     $personTypeID = intval($personTypeID);
     if ($personTypeID <= 0) {
         return '';
     }
     if (!self::$INVOICE_PROPERTY_INFOS) {
         self::$INVOICE_PROPERTY_INFOS = CCrmInvoice::GetPropertiesInfo(0, true);
     }
     $propertyInfos = isset(self::$INVOICE_PROPERTY_INFOS[$personTypeID]) ? self::$INVOICE_PROPERTY_INFOS[$personTypeID] : null;
     if (!is_array($propertyInfos)) {
         return '';
     }
     $result = array();
     foreach ($propertyInfos as $code => &$fields) {
         $type = $fields['TYPE'];
         if ($type !== 'TEXT' && $type !== 'TEXTAREA') {
             continue;
         }
         $result[] = $code;
     }
     unset($fields);
     return implode(',', $result);
 }
Exemplo n.º 5
0
 private static function getInvoiceDataByID($ID)
 {
     $arInvoice = CCrmInvoice::GetByID($ID);
     if (!is_array($arInvoice)) {
         throw new RestException('Not found.');
     }
     $arProperties = CCrmInvoice::GetProperties($ID, $arInvoice['PERSON_TYPE_ID']);
     $arAllowedProperties = CCrmInvoice::GetPropertiesInfo($arInvoice['PERSON_TYPE_ID'], true);
     $arAllowedProperties = is_array($arAllowedProperties[$arInvoice['PERSON_TYPE_ID']]) ? array_keys($arAllowedProperties[$arInvoice['PERSON_TYPE_ID']]) : array();
     $arPropertiesResult = array();
     foreach ($arProperties as $k => $v) {
         if ($k !== 'PR_LOCATION') {
             if (in_array($v['FIELDS']['CODE'], $arAllowedProperties)) {
                 $arPropertiesResult[$v['FIELDS']['CODE']] = $v['VALUE'];
             }
         } else {
             $arInvoice['PR_LOCATION'] = $v['VALUE'];
         }
     }
     $arProducts = CCrmInvoice::GetProductRows($ID);
     $result = $arInvoice;
     if (count($arPropertiesResult) > 0) {
         // ua company name hack
         if (!isset($arPropertiesResult['COMPANY']) && isset($arPropertiesResult['COMPANY_NAME'])) {
             $arPropertiesResult['COMPANY'] = $arPropertiesResult['COMPANY_NAME'];
             unset($arPropertiesResult['COMPANY_NAME']);
         }
         $result['INVOICE_PROPERTIES'] = $arPropertiesResult;
     }
     if (count($arProducts) > 0) {
         $result['PRODUCT_ROWS'] = $arProducts;
     }
     return $result;
 }