загрузка...
Дата публикации: 31.01.2018 11:57:50


Часть вторая . Реализация обмена нетиповой 1с с нетиповым сайтом

Реализация обмена нетиповой 1с с нетиповым сайтом реализована загрузка выгрузка членов само-регулируемой организации с их документами между сайтом и самописной конфигурацией 1с по учету членов само-регулируемой организации часть 2 сайт реализована php файлом /entry/export.php
 


<?

require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");



function AddUSER($F,$I,$O, $Mail){

	/*
LOGIN* - логин (имя входа)
NAME - имя пользователя
LAST_NAME - фамилия пользователя
SECOND_NAME - отчество пользователя
EMAIL* - E-Mail адрес пользователя
PASSWORD* - пароль пользователя
CONFIRM_PASSWORD* - подтверждение пароля (должно быть равным PASSWORD)
GROUP_ID - массив ID групп к которым будет приписан пользователь
ACTIVE - флаг активности пользователя [Y|N]
LID - ID сайта по умолчанию для уведомлений
ADMIN_NOTES - заметки администратора
*/
$UID="";
$DocID="";
$user = new CUser;
$arFields = Array(
  "NAME"              => $I,
  "LAST_NAME"         => $F,
  "SECOND_NAME"       => $O, 
  "EMAIL"             => $Mail,
  "LOGIN"             => $Mail,
  "LID"               => "s2",
  "ACTIVE"            => "Y",
  "GROUP_ID"          => 5,
  "PASSWORD"          => "q1w2e3R$",
  "CONFIRM_PASSWORD"  => "q1w2e3R$",
  "ADMIN_NOTES"       => "Добавлен из 1С"
);

$ID = $user->Add($arFields);
if (intval($ID) > 0)
    $UID=$ID;
else
    echo $user->LAST_ERROR;

$rsUser = CUser::GetByID($ID);
$arUser = $rsUser->Fetch();
$userName= $arUser["LAST_NAME"]." ".$arUser["NAME"];
$el = new CIBlockElement;
$PROP = array();
$PROP[189] = $ID;//$rsUser;  // свойству с кодом 12 присваиваем значение "Белый"
$arLoadProductArray = Array(
  "MODIFIED_BY"    => $ID, // элемент изменен текущим пользователем
  "IBLOCK_SECTION_ID" => false,          // элемент лежит в корне раздела
  "IBLOCK_ID"      => 34,
  "PROPERTY_VALUES"=> $PROP,
  "NAME"           => $userName,
  "ACTIVE"         => "Y",            // активен
  "PREVIEW_TEXT"   => "",
  "DETAIL_TEXT"    => "",
  "DETAIL_PICTURE" => ""
  );

if($PRODUCT_ID = $el->Add($arLoadProductArray))
  $DocID=$PRODUCT_ID;
else
  echo "Doc Error: ".$el->LAST_ERROR;

	echo $DocID."#".$UID; 
}


function UnLoadGA($id){
$FN="PROPERTY_GENERATED_APPLICATION_VALUE";
$arSelect =Array("ID", str_replace("_VALUE","",$FN) , "PROPERTY_AP_REG_ADDRESS" ,"PROPERTY_AP_INN" ,"PROPERTY_AP_POST_ADDRESS" ,"PROPERTY_AP_PASSPORT" ,"PROPERTY_AP_PASSPROT_DATE" ,"PROPERTY_AP_PASSPORT_WHOM" ,"PROPERTY_AP_CERTIFICATE_NUMBER" ,"PROPERTY_AP_CERTIFICATE_DATE" ,"PROPERTY_AP_CERTIFICATE_WHOME");
	//,"PROPERTY_AP_INN","PROPERTY_AP_SNILS","PROPERTY_AP_PASSPORT","PROPERTY_AP_PASSPROT_DATE","PROPERTY_AP_PASSPORT_WHOM" ,"PROPERTY_AP_CERTIFICATE_NUMBER","PROPERTY_AP_CERTIFICATE_DATE","PROPERTY_AP_CERTIFICATE_WHOME"
$arOrder = Array("created"=>"DESC");
$arFilter = Array("IBLOCK_ID"=> 34, "ID"=> $id);
$rsRes = CIBlockElement::GetList($arOrder, $arFilter, false, false, $arSelect);
while($ob = $rsRes->GetNextElement())
	{
	$arFields = $ob->GetFields();
	$af = CFile::GetFileArray($arFields[$FN]);
		//$file= CFile::GetPath($arFields[$FN]);
			echo $af["SRC"]." ; ".$af["CONTENT_TYPE"]." ; ".$af["FILE_NAME"]." ; ".$af["FILE_SIZE"]." ; ".$arFields["PROPERTY_AP_REG_ADDRESS_VALUE"]." ; ".$arFields["PROPERTY_AP_INN_VALUE"]." ; ".$arFields["PROPERTY_AP_POST_ADDRESS_VALUE"]." ; ".$arFields["PROPERTY_AP_PASSPORT_VALUE"]." ; ".$arFields["PROPERTY_AP_PASSPROT_DATE_VALUE"]." ; ".$arFields["PROPERTY_AP_PASSPORT_WHOM_VALUE"]." ; ".$arFields["PROPERTY_AP_CERTIFICATE_NUMBER_VALUE"]." ; ".$arFields["PROPERTY_AP_CERTIFICATE_DATE_VALUE"]." ; ".$arFields["PROPERTY_AP_CERTIFICATE_WHOME_VALUE"];
	}
}

function UnLoadFile($id,$dtype){

$FN="";
	//["DISPLAY_PROPERTIES"]["LOGOLOGO"]["DISPLAY_VALUE"]
switch($dtype)
{
case '1': $FN="PROPERTY_ZAYAVLNIE_VALUE";break;
case '2': $FN="PROPERTY_ATESTAT_VALUE";break;
case '3': $FN="PROPERTY_SVIDETELSTVO_VALUE";break;
case '4': $FN="PROPERTY_PASPORT_VALUE";break;
case '5': $FN="PROPERTY_DOGOVOR_VALUE";break;
case '6': $FN="PROPERTY_DIPLOM_VALUE";break;
case '7': $FN="PROPERTY_SNILS_VALUE";break;
case '9': $FN="PROPERTY_SOGLOBPD_VALUE";break;
case '10': $FN="PROPERTY_SPRAVKAPOL_VALUE";break;
case '11': $FN="PROPERTY_SPRAVKANAL_VALUE";break;
default: echo "Not";break;
}

$arSelect =Array("ID", str_replace("_VALUE","",$FN));
$arOrder = Array("created"=>"DESC");
$arFilter = Array("IBLOCK_ID"=> 34, "ID"=> $id);
$rsRes = CIBlockElement::GetList($arOrder, $arFilter, false, false, $arSelect);
while($ob = $rsRes->GetNextElement())
	{
	$arFields = $ob->GetFields();
	$af = CFile::GetFileArray($arFields[$FN]);
		//$file= CFile::GetPath($arFields[$FN]);
		if(!empty($af)){
			echo $af["SRC"]." ; ".$af["CONTENT_TYPE"]." ; ".$af["FILE_NAME"]." ; ".$af["FILE_SIZE"];
		}else{ if($FN=="PROPERTY_ZAYAVLNIE_VALUE") UnLoadGA($id);}

}

 		//LocalRedirect($file);

}
function LoadFile($id,$dtype,$U){

$submit = ( isset($_POST['submit']) ) ? intval($_POST['submit']) : false; 
	//$decode = ( isset($_POST['decode']) ) ? intval($_POST['decode']) : false; 
$message = ( isset($_POST['message']) ) ? htmlspecialchars($_POST['message']) : ''; 

//Проверим user-agent, хотя большого толку от такой проверки нет. См. статью. 
	//if ( $_SERVER['HTTP_USER_AGENT'] != '1C+Enterprise/8.1' ) 
	//{ 
	//@header('HTTP/1.0 403 Forbidden'); 
	//die('Hacking attempt'); 
	//} 

if ( $submit ) 
{ 
    //Здесь работаем с содержимым переданного файла. 
    $uploadFile = $_FILES['datafile']; 
    $tmp_name = $uploadFile['tmp_name']; 
    $data_filename = $uploadFile['name']; 
    if ( !is_uploaded_file($tmp_name) )  
    { 
        die('Ошибка при загрузке файла ' . $data_filename); 
    }  
    else  
    { 
        //Считываем файл в строку 
        $data = file_get_contents($tmp_name); 

		// if ($decode) 
		//{ 
            //При необходимости декодируем данные 
		//   $data = base64_decode($data); 
		//} 
        //Теперь нормальный файл можно сохранить на диске 
		//if ( !empty($data) && ($fp = @fopen($data_filename, 'wb')) ) 
		//{ 
		//    @fwrite($fp, $data); 
		//    @fclose($fp); 
		//} 
		//else 
		//{ 
		//    die('Ошибка при записи файла ' . $data_filename); 
		//} 
	$PRODUCT_ID = $id;
	$el = new CIBlockElement;
//190	 01. Заполненное заявление установленного	Pdf
//191	 02. Копия квалификационного аттестата кадастрового инженера	Pdf
//192	 03. Копия свидетельства о постановке на учет в налоговом органе.	Pdf
//193	 04. Копия паспорта или иного документа, удостоверяющего личность в соответствии с законодательством Российской Федерации.	Pdf
//194	 05.  Копия свидетельства о государственной регистрации физического лица в качестве индивидуального предпринимателя или копию подписанного труд. догов.	Pdf
//195	 06. Копия документа о высшем или средне-профессиональном образовании.	Pdf
//196	 07. СНИЛС	Pdf
//8	 08. Фото	Pdf
//240	 09. Согласие на обработку персональных данных	Pdf
//241 10. Справка об отсутствии непогашенной или неснятой судимости за совершение умышленного преступления.	Pdf
//242 11. Справка об отсутствии наказания в виде дисквалификации.	Pdf	


$PROP = array();
$PROP[189] = $U;  // свойству с кодом 12 присваиваем значение "Белый"
switch($dtype)
{
case '1': $PROP[190] = $uploadFile;break;
case '2': $PROP[191] = $uploadFile;break;
case '3': $PROP[192] = $uploadFile;break;
case '4': $PROP[193] = $uploadFile;break;
case '5': $PROP[194] = $uploadFile;break;
case '6': $PROP[195] = $uploadFile;break;
case '7': $PROP[196] = $uploadFile;break;
case '9': $PROP[240] = $uploadFile;break;
case '10': $PROP[241] = $uploadFile;break;
case '11': $PROP[242] = $uploadFile;break;
default: echo "Not";break;
}

$arLoadProductArray = Array(
  "IBLOCK_SECTION_ID" => false,          // элемент лежит в корне раздела
  "IBLOCK_ID"      => 34,
  "PROPERTY_VALUES"=> $PROP
  );

if($el->Update($PRODUCT_ID,$arLoadProductArray))
  echo "Изменен ".$PRODUCT_ID;
else
  echo "Error: ".$el->LAST_ERROR;

        @header('HTTP/1.1 200 Ok'); 
        $answer = "\n" . 'Файл ' . $data_filename . ' успешно загружен. ' . "\n" . 'Переданное сообщение: ' . $message; 
        print ($answer); 
    } 
} 
}

function export(){
$arSelect =Array("ID","PROPERTY_USER","CREATED_DATE");
$arOrder = Array("created"=>"DESC");
$arFilter = Array("IBLOCK_ID"=> 34, "PROPERTY_STATE_VALUE"=>"Участник");
$rsRes = CIBlockElement::GetList($arOrder, $arFilter, false, false, $arSelect);
while($ob = $rsRes->GetNextElement())
	{
	$arFields = $ob->GetFields();
	echo $arFields["ID"]."; ";
	echo $arFields["PROPERTY_USER_VALUE"]."; ";
		//	echo $arFields["PROPERTY_STATE_VALUE"]."; ";
	$rsUser = CUser::GetByID($arFields["PROPERTY_USER_VALUE"]);
	$arUser = $rsUser->Fetch();
	echo $arUser["LAST_NAME"]."; ".$arUser["NAME"]."; ".$arUser["SECOND_NAME"]."; ".$arUser["EMAIL"]."; ";
	echo $arFields["CREATED_DATE"];
	echo "\n";
	}
}

function exportR(){
$arSelect =Array("ID","PROPERTY_USER","CREATED_DATE","PROPERTY_GENERATED_APPLICATION","PROPERTY_ZAYAVLNIE");
$arOrder = Array("created"=>"DESC");
	//$arFilter = Array("IBLOCK_ID"=> 34, "PROPERTY_STATE_VALUE"=>"Участник");
$arFilter = Array("IBLOCK_ID"=> 34);
$rsRes = CIBlockElement::GetList($arOrder, $arFilter, false, false, $arSelect);
while($ob = $rsRes->GetNextElement())
	{
	$arFields = $ob->GetFields();
		if((!empty($arFields["PROPERTY_GENERATED_APPLICATION_VALUE"])) || (!empty($arFields["PROPERTY_ZAYAVLNIE_VALUE"]))){
	echo $arFields["ID"]."; ";
	echo $arFields["PROPERTY_USER_VALUE"]."; ";
		//	echo $arFields["PROPERTY_STATE_VALUE"]."; ";
	$rsUser = CUser::GetByID($arFields["PROPERTY_USER_VALUE"]);
	$arUser = $rsUser->Fetch();
	echo $arUser["LAST_NAME"]."; ".$arUser["NAME"]."; ".$arUser["SECOND_NAME"]."; ".$arUser["EMAIL"]."; ";
	echo $arFields["CREATED_DATE"];
			//echo "\n";
			echo "
"; } } } CModule::IncludeModule("iblock"); $APPLICATION->SetTitle("export"); global $USER; if($USER->IsAdmin()){ $param=$_REQUEST["param"]; $id=$_REQUEST["id"]; $dtype=$_REQUEST["dtype"]; $F=$_REQUEST["F"]; $I=$_REQUEST["I"]; $O=$_REQUEST["O"]; $Mail=$_REQUEST["Mail"]; $U=$_REQUEST["U"]; switch($param) { case 'addu': AddUSER($F,$I,$O, $Mail); break; case 'loadf':LoadFile($id,$dtype,$U); break; case 'uloadf':UnLoadFile($id,$dtype); break; case 'myf':exportR();break; default: export();break; } } ? >

Назад в раздел

Личный кабинет

Логин:
Пароль:
Регистрация
Забыли свой пароль?
Войти как пользователь:
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:

Ссылки

Яндекс.Метрика

Последняя новость

18.06.2019 новое лицо сайта b-tema.ru
Закончена работа над ребрендингом сайта b-tema.ru, теперь это современный адаптивный одностраничный лэндинг.
подробнее тут

О погоде

Яндекс.Погода


SPRINTHOST.RU: быстрый и надежный хостинг!