پاک کردن شماره مشتری در هنگام ارسال فرم  


0

سلام

پیرو جلسه حضوری که  با خانم وحیدی داشتیم و ایشان شاهد مشکل پیش آمده بودند ، این مشکل به شرح ذیل بود

 وقتی برای کاربری که موجود فرم میسازم نام و شماره مشتری را حذف می کند

کد ساخت مشتری

$url=$this->url.'IPerson.svc?wsdl';
libxml_disable_entity_loader(false);
$SoapClient = new \SoapClient( $url );

$phoneNumberFull=explode('-',$phone_number);

$preCode=$phone_number?$phoneNumberFull[0]:'0';
$phone_number_pure=$phone_number?$phoneNumberFull[1]:'0';

$Params = array(
'username' => $this->username,
'password' => $this->password,
'person' => array(
'CrmObjectTypeCode' => 'haghighi',
'CrmObjectTypeIndex' => 24,
'Categories' =>
array(
array(
'Key' => $category
)
),
'IdentityType' => 'حقیقی',
// 'Gender' => 'مرد',
'FirstName' => $first_name,
'LastName' => $last_name,
'CustomerNumber' => (string) $customer_no,
'NationalCode' => (string)$national_code,
'PhoneContacts' => array(
array(
'PhoneNumber' => $mobile,
'PhoneType' => 'موبایل'
),
array(
'PhonePrefix'=>$preCode,
'PhoneNumber' => $phone_number_pure,
'PhoneType' => 'تلفن'
),
),
'AddressContacts' => array(
array(
'Country' => $country,
'State' => $county,
'AddressType' => 'سایر',
// 'City' => '',
// 'ZipCode' => '12365789654',
'Address' => ''
)
)
)
);

بعد از ساختن کاربر id آن را ذخیره می کنیم ولی وقتی بعدا می خواهیم برای همین کاربر فرم بسازیم فرم ساخته می شود اما نام کاربری و شماره مشتری پاک می شود

کد ساختن فرم بیمه نامه:

$url=$this->url.'IForm.svc?wsdl';
libxml_disable_entity_loader(false);
$SoapClient = new \SoapClient($url);

$extendedProperties=array(
['Name'=>'نوع خودرو','UserKey'=>'carmodel','Value'=>$car_model],
['Name'=>'شماره شاسی','UserKey'=>'vin','Value'=>$vin],
['Name'=>'نوع بیمه نامه','UserKey'=>'insurancetype','Value'=>$insurance_type],
['Name'=>'تاریخ فاکتور','UserKey'=>'invoicedate','Value'=>$invoice_date],
['Name'=>'تاریخ شروع بیمه نامه جاری','UserKey'=>'startdate','Value'=>$insurance_start_date],
['Name'=>'تاریخ انقضا بیمه نامه جاری','UserKey'=>'expiredate','Value'=>$insurance_expire_date],
['Name'=>'شماره موتور','UserKey'=>'engineno','Value'=>$engineno],
['Name'=>'شماره پلاک ','UserKey'=>'plateno','Value'=>$plateno],
['Name'=>'یدک','UserKey'=>'tow','Value'=>$tow],
['Name'=>'سال ساخت ','UserKey'=>'created','Value'=>$created],
['Name'=>'کاربری','UserKey'=>'usage','Value'=>$usage],
['Name'=>'وضعیت بیمه نامه','UserKey'=>'insuranceStatus','Value'=>$insuranceStatus],
['Name'=>'پرشده توسط وب سرویس','UserKey'=>'webservice','Value'=>$webservice],
['Name'=>'نام بازاریاب','UserKey'=>'seller','Value'=>$seller],
);

if($insurance_type=='بیمه ثالث'){
$insurance_type_pre_fix='thirdparty';
$start_date_name='تاریخ شروع بیمه نامه قبلی';
$expire_date_name='تاریخ انقضا بیمه نامه قبلی';
$company_name='شرکت بیمه گر ثالث قبلی';
// array_push($extendedProperties,['Name'=>'شرکت قبلی شخص ثالث','UserKey'=>'thirdpartycompany','Value'=>$insurance_company]);
}else{
$insurance_type_pre_fix='body';

$start_date_name='تاریخ شروع بیمه بدنه قبلی';
$expire_date_name='تاریخ انقضا بیمه بدنه قبلی';
$company_name='شرکت بیمه گر بدنه قبلی';
}

// array_push($extendedProperties,['Name'=>$start_date_name,'UserKey'=>$insurance_type_pre_fix.'StartDate','Value'=>$insurance_start_date]);
// array_push($extendedProperties,['Name'=> $expire_date_name,'UserKey'=>$insurance_type_pre_fix.'ExpireDate','Value'=>$insurance_expire_date]);
array_push($extendedProperties,['Name'=>$company_name,'UserKey'=>$insurance_type_pre_fix.'Company','Value'=>$insurance_company]);

$params = array(
'userName' => $this->username,
'password' => $this->password,
'formInfo' => array(
'IdentityId' => $crm_id,
'Subject' => "$vin انقضا : $insurance_expire_date",
'CrmObjectTypeCode' => 'insurance',
'ExtendedProperties'=>$extendedProperties
),
);
$result = $SoapClient->SaveForm($params);

 

 

تصاویر ضمیمه

6 Answers
0

کد ارسالی بررسی شد، امکان حذف شماره مشتری بعد از فراخوانی سرویس WCF ذخیره فرم غیرممکن است. لطفاً از طریق سی‌آرام همین روال را به صورت دستی انجام دهید و ببینید که آیا با کلیک بر روی دکمه ذخیره فرم، شماره مشتری هویت پاک خواهد شد یا خیر، اگر پاسخ بله است لطفاً با واحد پشتیبانی تماس بگیرید جهت ثبت باگ و در غیر اینصورت با داخلی 101 واحد فنی تماس حاصل فرمایید جهت ریویو کدهای PHP و تست توسط واحد فنی.

چگونه غیر ممکن است؟
در صورتیکه خانم وحیدی بعنوان نماینده شرکت پیام گستر شاهد این ماجرا بودند که این کدها برای یک کاربر درست کار می کرد و بعد برای کاربر دیگر به این صورت باعث پاک کردن شماره مشتری و نام می شود
این کدها API هست که خود شرکت پیام گستر به ما داده و اصلا آپدیتی نباید انجام دهد

دوست گرامی، آیا از طریق Browser همین روال رو تست کردید و آیا با ذخیره فرم شماره مشتری پاک نشد؟ اگر بتوانید این رو انجام بدید و اینجا پاسخ بدید ممنون میشم.

0

عنوان تاپیک مشخص است مشکل ما استفاده از وب سرویس است نه خود پنل 

بله از طریق پنل درست کار می کند 

ولی وب سرویس با مشکل کار می کند که نماینده شرکت پیام گستر این مشکل را مشاهده کرد

کد های اسفتاده شده هم دقیقا در اینجا گذاشته شده است و مشکل بیان شده است

ما اگر می خواستیم از طریق پنل انجام دهیم که از وب سرویس استفاده نمی کردیم و هیچ صحبتی هم در رابطه با پنل نکردیم که شما می گویید از پنل استفاده کنید

در هر صورت مشکلی وجود دارد چرا که ما بدون اینکه از وب سرویس edit /update استفاده کنیم دارد مشخصات مشتری را تغییر می دهد

یک هفته پیش ما این تاپیک را ایجاد کردیم بعد از یک هفته گفتید کدها را ایمیل کنید در صورتیکه کد را می توانستید خودتان کپی کنید و در ویرایش گر چپ چین کنید و اکنون می گویید از پنل استفاده کنید در صورتیکه ما با پنل مشکلی نداریم و مشکل ما aPI است

This post was modified 50 سال قبل by chatr_asayesh
0

من یک احتمال دیگر می دهم بعضی از مشتریان ما گروهشان عوض می شود 

ولی ما فقط گروه کاربر را عوض می کنیم نه نام و شماره مشتری  ولی نام خانوادگی باقی می ماند

public function addCategoryToUser($crm_id,$category){

$url=$this->url.'IPerson.svc?wsdl';

libxml_disable_entity_loader(false);

$SoapClient = new \SoapClient( $url );

 

$Params = array(

'username' => $this->username,

'password' => $this->password,

'person' => array(

'CrmObjectTypeCode' => 'haghighi',

'CrmObjectTypeIndex' => 24,

'CrmId' => $crm_id,

'Categories' =>

array(

array(

'Key' => $category

)

),

'IdentityType' => 'حقیقی',

 

)

);

$Result = $SoapClient->SavePerson($Params);

if ($Result->SavePersonResult->Success)

{

return $Result->SavePersonResult->CrmId;

}

else {

return false;

}

 

}

This post was modified 50 سال قبل by chatr_asayesh
0

"گروه عوض می‌شود" منظورتون مقدار Category است یا نه فیلد دیگری؟

0

بله من می خواهم یک مشتری را عضو یک category دیگر بکنم

0

در سیستم تست چنین باگی مشاهده نشده، لطفاً زمانی در نظر بگیرید که با همدیگر کد را بررسی نمایم.

Share: