سلام وقت بخیر. دو سوال دارم :
یک پیش فاکتور به وسیله API در پیام گستر ثبت کرده ام. کاربر ثبت کننده و کارشناس فروش (بازاریاب) را چطور ثبت کنم؟ لطفا همه موارد را در نظر بگیرید.
نکته اول - کاربر من توی نرم افزار حسابداری مثلا حسن (hasan) است ، این کاربر را در پیام گستر چطور پیدا کنم که بتونم پیش فاکتور را با آن کاربر ثبت کنم. بر اساس چه موردی باید جستجوی کاربر انجام شود؟
نکته دوم - بازاریاب من در نرم افزار حسابداری محمد (با کد 12345) است ، این بازاریاب را چطوری توی پیام گستر پیدا کنم؟ چطوری توی پیش فاکتور ثبتش کنم؟
نکته سوم - اگر کاربر یا بازاریاب در پیام گستر تعریف نشده بودند چگونه ثبتشون کنم؟
نکته چهارم - چه آیتم اطلاعاتی (مثلا کد یا نام یا موبایل و ...) برای Sync بین نرم افزار پیام گستر و نرم افزار حسابداری در مورد کاربر و بازاریاب باید در نظر بگیرم؟ نرم افزار پیام گستر چگونه از ثبت اطلاعات تکراری (کاربر و بازاریاب) جلوگیری می کند؟
سوال دوم : می خوام توسط یک API جدید ، اون پیش فاکتور را به فاکتور تبدیل کنم. چگونه باید اینکار را انجام بدم.
نکته اول - آیا می توان بخشی از پیش فاکتور را به فاکتور تبدیل کرد؟
نکته دوم - آیا می توان اقلامی به فاکتور اضافه کرد؟
ممنون میشم برای موارد گفته شده نمونه کد postman بدید.
با سلام و احترام
کاربر ایجاد کننده آیتم همان یوزری هست که در api در userName و password وارد میکنید. لازم به ذکر است اگر این یوز ادمین نباشد باید برای ایجاد invoice در پیام گستر پرمیشن های لازم را داشته باشد. فیلد "فروشنده"را میتوانید در "AssignedTo" مشخص کنید.
در خصوص بازاریاب ، در پیام گستر فیلدی به اسم بازاریاب نداریم .میتوانید یک فیلد اضافه از نوع کاربر در پیام گستر ایجاد کنید سپس در وب سرویس invoice در ExtendedProperties مقداردهی نمایید.
نکته اول: get یوزر را میتوانید با username یا identityid انجام دهید.
نکته دوم: در صورتیکه بخواهید در فیلد یوزر بازاریاب را وارد کنید باید بازاریاب هم به عنوان یوزردر پیام گستر ثبت شده باشد.
نکته سوم: منظورتان ثبت کاربر (اپراتور) در پیام گستر با api هست یا دستی؟
نکته چهارم :در پیام گستر نام کاربری یونیک میباشد و از ثبت یوزر تکراری جلوگیری میکند.
api ای برای تبدیل پیش فاکتور به فاکتور هم موجود نیست.
اضافه کردن اقلام به فاکتور هم در "InvoiceDetailInfo" انجام میشود.
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<SaveInvoice xmlns="http://tempuri.org/">
<userName>admin</userName>
<password>***</password>
<invoiceInfo xmlns:d4p1="http://schemas.datacontract.org/2004/07/Septa.PayamGostar.ServiceLayer.Contract.PGContracts.DataContracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<d4p1:CrmObjectTypeCode>test_invoice</d4p1:CrmObjectTypeCode>
<d4p1:ExtendedProperties>
<d4p1:BaseCrmObjectExtendedPropertyInfo>
<d4p1:Name>بازاریاب</d4p1:Name>
<d4p1:UserKey>bazaryab</d4p1:UserKey>
<d4p1:Value>mohammad</d4p1:Value>
</d4p1:BaseCrmObjectExtendedPropertyInfo>
</d4p1:ExtendedProperties>
<d4p1:IdentityId>de6ebafa-117c-4f34-892c-8e6301658d09</d4p1:IdentityId>
<d4p1:Subject>تست</d4p1:Subject>
<d4p1:Details>
<d4p1:InvoiceDetailInfo>
<d4p1:BaseUnitPrice>100</d4p1:BaseUnitPrice>
<d4p1:Count>1</d4p1:Count>
<d4p1:FinalUnitPrice>100</d4p1:FinalUnitPrice>
<d4p1:IsService>false</d4p1:IsService>
<d4p1:ProductCode>A1</d4p1:ProductCode>
<d4p1:ReturnedCount>0</d4p1:ReturnedCount>
<d4p1:TotalDiscount>0</d4p1:TotalDiscount>
<d4p1:TotalToll>100</d4p1:TotalToll>
<d4p1:TotalUnitPrice>100</d4p1:TotalUnitPrice>
<d4p1:TotalVat>0</d4p1:TotalVat>
</d4p1:InvoiceDetailInfo>
<d4p1:InvoiceDetailInfo>
<d4p1:BaseUnitPrice>200</d4p1:BaseUnitPrice>
<d4p1:Count>1</d4p1:Count>
<d4p1:FinalUnitPrice>200</d4p1:FinalUnitPrice>
<d4p1:InvoiceProperty0>100</d4p1:InvoiceProperty0>
<d4p1:InvoiceProperty1>200</d4p1:InvoiceProperty1>
<d4p1:IsService>false</d4p1:IsService>
<d4p1:ProductCode>A100</d4p1:ProductCode>
<d4p1:ReturnedCount>0</d4p1:ReturnedCount>
<d4p1:TotalDiscount>0</d4p1:TotalDiscount>
<d4p1:TotalToll>200</d4p1:TotalToll>
<d4p1:TotalUnitPrice>200</d4p1:TotalUnitPrice>
<d4p1:TotalVat>0</d4p1:TotalVat>
</d4p1:InvoiceDetailInfo>
</d4p1:Details>
<d4p1:Discount>0</d4p1:Discount>
<d4p1:InvoiceType>Invoice</d4p1:InvoiceType>
<d4p1:Toll>0</d4p1:Toll>
<d4p1:TollPercent>0</d4p1:TollPercent>
<d4p1:TotalDiscountPercent>0</d4p1:TotalDiscountPercent>
<d4p1:TotalValue>300</d4p1:TotalValue>
<d4p1:Vat>0</d4p1:Vat>
<d4p1:VatPercent>0</d4p1:VatPercent>
</invoiceInfo>
</SaveInvoice>
</s:Body>
</s:Envelope>
ممنون. ولی نکته اصلی اینجاست. من چطوری به سیستم اعلام کنم که این فاکتور مربوط به پیش فاکتور فلان است. فرض کنیم من یک پیش فاکتور با شماره 100 داریم. حالا می خواهم فاکتور ثبت کنم. می خوام بگم این فاکتور مربوط به پیش فاکتور 100 است.
@mojtabakamankesh
با سلام واحترام
در وب سرویس invoice در QuoteId میتوانید id پیش فاکتور مربوطه را وارد نمایید.