برای وارد کردن فاکتور ها از سایت به CRM ، با خطای زیر مواجه میشم:
The value '{"Id":"5204bde0-44c9-483b-a6a9-34decaa1db7b","Name":" "}' cannot be parsed as the type 'Guid'
کد:
$params = array(
'userName' => $username,
'password' => $password,
'invoiceInfo' => array(
'CrmObjectTypeCode' => 'customerInvoice',
'Description' => 'توضیحات تست',
'IdentityId' => $dataJSON,
'Subject' => 'تست',
'FinalValue' => '5000',
'Discount' => '500',
'DiscountPercent' => '10',
'InvoiceDate' => the_date(),
)
);
همونطور که در فایل مستندات گفته شده identityId رو با json و فقط id , name رو مقدار دهی کردم.
سلام کد های php برای ما قابل دیباگ کردن نیست فقط چیزی که متوجه نشدم مقدار identity رو چی مقدار دهی کردید
شما اگر در حالت افرودن هویت جدید هستید مقدار Identityid رو نمیخواد مقدار دهی کنید
وقتی Identityid رو مقدار دهی نکنم (از پارامتر حذفش کنم) خطا میده :
Nullable object must have a value.
الان یه سوالی برام پیش اومده شما فرمودید در مستندات گفته
همونطور که در فایل مستندات گفته شده identityId رو با json و فقط id , name رو مقدار دهی کردم.
این مستندات که میفرمایید دقیقا کجاست میشه آدرسشو بگید؟
شما یه لطفی کن اسم سرویس و کل info نوشته شده رو بفرما چیه که بشه برسی بیشتر کرد
شما اگر از سرویس identity استفاده میکنید داخل info هاتون اصلا چیزی به اسم identityid نباید وجود داشته باشه
منظورم از مستندات ، فایل های ورد مربوط به API پیام گستر.
من طبق فایل Invoice که برای ذخیره کردن فاکتور هست این پیام ها رو نوشتم.
http://xxx.xxx/Services/API/IInvoice.svc?wsdl
خب فکر کنم متوجه شدم
شما باید برای مقدار identityid مقدار id موجود در هوتی را وارد کنید که میخواهید فاکتور مرتبط با آن هویت ثبت شود
برای تست کافیه یکی از هویت های موجود در سیستم را باز کنید از توurl مقدار Id آن را کپی کنید و اینجا بزارید
identityid یک مقدار guid میپذیرد
مثال
'Identityid' => '7752d1da-5699-4226-b8a1-1ee6d20b0fbf'
تو فایل گفتن که باید json باشه.وقتی به صورت json دیتا رو برای پارامتر IdentityId قرار میدم همچین خطایی میده
The value '{"Id":"5204bde0-44c9-483b-a6a9-34decaa1db7b"}' cannot be parsed as the type 'Guid'
وقتی هم که به صورت مستقیم پارامترIdentityId رو مقدار دهی میکنم خطای زیر رو نشون میده
Nullable object must have a value.
Nullable object must have a value.
این بخاطر اینه که یک مقدار الزامی رو رعایت نکردید و ربطی به اون identityid نداره
لطفا کد بخشی که سرویس رو صدا میزنید رو کامل برام بنویسید اگر هم همون دیتایی هست که قبلا فرستادید باید عرض کنم برخی اطلاعات الزامی مثل اطلاعات محصولات ردیف فااکتور رو اصلا مقدار دهی نکردید