با سلام و تشکر بابت راهنمایی های شما تا به این لحظه لطفا در رابطه با موارد ذیل راهنمایی بفرمایید:
1- کد:
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header/>
<s:Body>
<SaveInvoice xmlns="http://tempuri.org/">
<username>admin</username>
<password>admin</password>
<invoice
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>SalesInvoice</d4p1:CrmObjectTypeCode>
<d4p1:IdentityId>4631b8e4-b360-4c8d-ae3c-d34c43b88fbd</d4p1:IdentityId>
<d4p1:Subject>فاکتور تست SOAP</d4p1:Subject>
<d4p1:AssignedTo>Admin</d4p1:AssignedTo>
<d4p1:InvoiceDate>2025-11-13T02:55:21.283</d4p1:InvoiceDate>
<d4p1:VatPercent>9</d4p1:VatPercent>
<d4p1:Details>
<d4p1:InvoiceDetailInfo>
<d4p1:ProductId>46da9490-ee92-42df-ba61-64d62b4da6b9</d4p1:ProductId>
<d4p1:ProductCode>Product-1</d4p1:ProductCode>
<d4p1:ProductName>محصول اول</d4p1:ProductName>
<d4p1:IsService>false</d4p1:IsService>
<d4p1:ProductUnitTypeName>قطعه</d4p1:ProductUnitTypeName>
<d4p1:BaseUnitPrice>100000</d4p1:BaseUnitPrice>
<d4p1:Count>1</d4p1:Count>
<d4p1:FinalUnitPrice>109000</d4p1:FinalUnitPrice>
<d4p1:TotalUnitPrice>100000</d4p1:TotalUnitPrice>
<d4p1:TotalVat>9000</d4p1:TotalVat>
</d4p1:InvoiceDetailInfo>
</d4p1:Details>
<d4p1:TotalValue>100000</d4p1:TotalValue>
<d4p1:Vat>9000</d4p1:Vat>
<d4p1:FinalValue>109000</d4p1:FinalValue>
</invoice>
</SaveInvoice>
</s:Body>
</s:Envelope>
روی دامنه ی دمو درخواست میشه اما خطای
با سلام و احترام
1. کد create invoice شما اصلاح شد.
سلام وقت بخیر
کد به این شکل تنظیم شد:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<SaveInvoice xmlns="http://tempuri.org/">
<userName>admin</userName>
<password>admin</password>
<invoiceInfo xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:d4p1="http://schemas.datacontract.org/2004/07/Septa.PayamGostar.ServiceLayer.Contract.PGContracts.DataContracts">
<d4p1:CrmObjectTypeCode>FACTOR</d4p1:CrmObjectTypeCode>
<d4p1:CrmObjectTypeId>97a23dc2-b54c-495b-8133-80c0c37adebf</d4p1:CrmObjectTypeId>
<d4p1:CrmObjectTypeIndex>5</d4p1:CrmObjectTypeIndex>
<d4p1:IdentityId>a3968425-049a-43ea-a798-8811e88a46fd</d4p1:IdentityId>
<d4p1:Subject>تست ن8ن (فاکتور فروش)</d4p1:Subject>
<d4p1:FinalValue>3612188</d4p1:FinalValue>
<d4p1:TotalValue>3663200</d4p1:TotalValue>
<d4p1:Discount>42738.5</d4p1:Discount>
<d4p1:DiscountPercent>3.5</d4p1:DiscountPercent>
<d4p1:Toll>0</d4p1:Toll>
<d4p1:TollPercent>0</d4p1:TollPercent>
<d4p1:Vat>0</d4p1:Vat>
<d4p1:VatPercent>0</d4p1:VatPercent>
<d4p1:TotalDiscountPercent>3.5</d4p1:TotalDiscountPercent>
<d4p1:InvoiceType>Invoice</d4p1:InvoiceType>
<d4p1:Details>
<d4p1:InvoiceDetailInfo>
<d4p1:ProductId>405a20b2-603e-467c-a098-a0ba7c5f4cec</d4p1:ProductId>
<d4p1:ProductCode>gold-18k-parsian-2pack-kids50-1</d4p1:ProductCode>
<d4p1:IsService>false</d4p1:IsService>
<d4p1:Count>1</d4p1:Count>
<d4p1:BaseUnitPrice>11202000</d4p1:BaseUnitPrice>
<d4p1:FinalUnitPrice>1178361.5</d4p1:FinalUnitPrice>
<d4p1:TotalUnitPrice>1178361.5</d4p1:TotalUnitPrice>
<d4p1:InvoiceProperty0>0</d4p1:InvoiceProperty0>
<d4p1:InvoiceProperty1>9</d4p1:InvoiceProperty1>
<d4p1:InvoiceProperty2>1</d4p1:InvoiceProperty2>
<d4p1:InvoiceProperty3>0</d4p1:InvoiceProperty3>
<d4p1:InvoiceProperty4>0</d4p1:InvoiceProperty4>
<d4p1:TotalDiscount>42738.5</d4p1:TotalDiscount>
<d4p1:TotalToll>8200</d4p1:TotalToll>
<d4p1:TotalVat>0</d4p1:TotalVat>
</d4p1:InvoiceDetailInfo>
</d4p1:Details>
</invoiceInfo>
</SaveInvoice>
</s:Body>
</s:Envelope>
در خروجی به این صورت میاد:
a
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><SaveInvoiceResponse xmlns="http://tempuri.org/"><SaveInvoiceResult xmlns:a="http://schemas.datacontract.org/2004/07/Septa.PayamGostar.ServiceLayer.Contract.PGContracts.DataContracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><a:Message>ردیفی برای فاکتور تعریف نشده است</a:Message><a:Success>false</a:Success><a:CrmId>00000000-0000-0000-0000-000000000000</a:CrmId></SaveInvoiceResult></SaveInvoiceResponse></s:Body></s:Envelope>
چندین متغیر رو عوض کردم اما بازم خطا میگیرم
این هم خروجی soapui واقعی فاکتورم:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<FindInvoiceByIdResponse xmlns="http://tempuri.org/">
<FindInvoiceByIdResult xmlns:a="http://schemas.datacontract.org/2004/07/Septa.PayamGostar.ServiceLayer.Contract.PGContracts.DataContracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:Message i:nil="true"/>
<a:Success>true</a:Success>
<a:InvoiceInfo>
<a:CreatDate>2025-11-16T10:11:45.813</a:CreatDate>
<a:CrmId>a3ddc04a-9f53-484f-9f10-04a4aa5a6e7d</a:CrmId>
<a:CrmObjectTypeCode>FACTOR</a:CrmObjectTypeCode>
<a:CrmObjectTypeId>97a23dc2-b54c-495b-8133-80c0c37adebf</a:CrmObjectTypeId>
<a:CrmObjectTypeIndex>5</a:CrmObjectTypeIndex>
<a:CrmObjectTypeName>فاکتور فروش (شمش،سکه)</a:CrmObjectTypeName>
<a:ExtendedProperties>
<a:BaseCrmObjectExtendedPropertyInfo>
<a:Name>ننننن</a:Name>
<a:UserKey>fgfgf</a:UserKey>
<a:Value/>
</a:BaseCrmObjectExtendedPropertyInfo>
</a:ExtendedProperties>
<a:ModifyDate>2025-11-16T10:11:46.283</a:ModifyDate>
<a:ParentCrmObjectId>e891dd2d-251c-4b69-b1f8-9bf49f787aef</a:ParentCrmObjectId>
<a:ProcessStateIndex i:nil="true"/>
<a:RefId/>
<a:Stage/>
<a:StageId i:nil="true"/>
<a:Tags xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"/>
<a:Description/>
<a:IdentityId>1c8ddc2e-810d-432d-836b-c070584db02a</a:IdentityId>
<a:Subject>تست</a:Subject>
<a:BillableObjectState>تایید و شماره گذاری شده</a:BillableObjectState>
<a:FinalValue>5869228.00</a:FinalValue>
<a:Number>6817</a:Number>
<a:AdditionalCosts>69000.00</a:AdditionalCosts>
<a:AssignedTo>admin</a:AssignedTo>
<a:AssignedToId>cbebf403-74a7-496d-b989-4a4472aeec6f</a:AssignedToId>
<a:Details>
<a:InvoiceDetailInfo>
<a:BaseUnitPrice>11184000.00</a:BaseUnitPrice>
<a:Count>0.5000</a:Count>
<a:DetailDescription/>
<a:DiscountPercent>3.200</a:DiscountPercent>
<a:FinalUnitPrice>5792028.00</a:FinalUnitPrice>
<a:Id>10823</a:Id>
<a:InventoryCode/>
<a:InventoryName/>
<a:InvoiceProperty0>0</a:InvoiceProperty0>
<a:InvoiceProperty1>7.000</a:InvoiceProperty1>
<a:InvoiceProperty10/>
<a:InvoiceProperty11/>
<a:InvoiceProperty12/>
<a:InvoiceProperty13/>
<a:InvoiceProperty14/>
<a:InvoiceProperty15/>
<a:InvoiceProperty16/>
<a:InvoiceProperty17/>
<a:InvoiceProperty18/>
<a:InvoiceProperty19/>
<a:InvoiceProperty2>1</a:InvoiceProperty2>
<a:InvoiceProperty3>0.00</a:InvoiceProperty3>
<a:InvoiceProperty4>0.00</a:InvoiceProperty4>
<a:InvoiceProperty5/>
<a:InvoiceProperty6/>
<a:InvoiceProperty7/>
<a:InvoiceProperty8/>
<a:InvoiceProperty9/>
<a:IsService>false</a:IsService>
<a:ProductCode>parsian 0.500</a:ProductCode>
<a:ProductId>0ad2f6d8-df57-480f-9fdf-c40679f7dcca</a:ProductId>
<a:ProductName>سکه پارسیان ۵۰۰ سوت (۰٫۵۰۰گرمی طلای ۱۸ عیار) [وزن]: 0.5 [اج ساخته]: 0 [اج درصدسکه]: 7 [اج ثابت ]:</a:ProductName>
<a:ProductUnitTypeName>گرم</a:ProductUnitTypeName>
<a:ReturnedCount>0</a:ReturnedCount>
<a:Serial/>
<a:TotalDiscount>191472.00</a:TotalDiscount>
<a:TotalToll>0.00</a:TotalToll>
<a:TotalUnitPrice>5983500.00</a:TotalUnitPrice>
<a:TotalVat>0.00</a:TotalVat>
</a:InvoiceDetailInfo>
</a:Details>
<a:Discount>191472.00</a:Discount>
<a:DiscountPercent>3.20</a:DiscountPercent>
<a:ExpireDate i:nil="true"/>
<a:InvoiceDate>2025-11-16T10:11:45.843</a:InvoiceDate>
<a:InvoiceType>Invoice</a:InvoiceType>
<a:PriceListName i:nil="true"/>
<a:QuoteId i:nil="true"/>
<a:Toll>8200.00</a:Toll>
<a:TollPercent>0</a:TollPercent>
<a:TotalDiscountPercent>3.20</a:TotalDiscountPercent>
<a:TotalValue>5983500.00</a:TotalValue>
<a:Vat>0.00</a:Vat>
<a:VatPercent>0</a:VatPercent>
</a:InvoiceInfo>
<a:InvoiceInfoList i:nil="true"/>
</FindInvoiceByIdResult>
</FindInvoiceByIdResponse>
</s:Body>
</s:Envelope>
با متد rest هم این کد رو میفرستم و crmid میگیرم:
{
"crmObjectTypeCode": "FACTOR",
"identityId": "a3968425-049a-43ea-a798-8811e88a46fd",
"subject": "تست (فاکتور فروش)",
"discountPercent": 3.5,
"invoiceDate": "2025-11-17T21:01:38.844Z",
"expireDate": "2025-11-17T21:01:38.844Z",
"details": [
{
"productId": "405a20b2-603e-467c-a098-a0ba7c5f4cec",
"productCode": "gold-18k-parsian-2pack-kids50-1",
"isService": false,
"count": 1,
"baseUnitPrice": 11202000,
"totalUnitPrice": 11202000,
"discountPercent": 3.5,
"totalToll": 8200,
"invoiceProperty0": 0,
"invoiceProperty1": 9,
"invoiceProperty2": 1,
"invoiceProperty3": 0,
"invoiceProperty4": 0
}
]
}
اما مشکلی که اینجا هم دارم اینه که مقادیر invoiceproperty نمیشینه
هر کردوم از راههای بالا رو بگید که به نتیجه برسم ممنون میشم ولی اگه متد rest رو بگید بهتر ممنونم
این رو هم اضافه کنم که فاکتور های من از نوع محاسباتیه و اکسل و فرمول داره که توی crm بارگذاری و تعریف شده
@haghanigold
با سلام
invoiceproperty فیلد های اضافه ردیف فاکتور هستن که به فاکتور اضافه میشوند. من متوجه نشدم این فیلدها محاسباتی هستن یا extended property های اضافه شده به فاکتور؟
سلام ممنونم
بله این ها invoiceproperty هستند مثلا اجرت یا سود یا هزینه ی ارسال یا هزینه ی جعبه و مقادیرش هم ریالی یا درصدی هستند، اون موضوعی که عرض کردم این بود که فاکتورم از نوع محاسباتیه یعنی در تنظیمات فاکتور تیک محاسباتی رو زدم و یک اکسل فرمول دار رو بارگذاری کردم و invoiceproperty رو روش تنظیم کردم
با سلام و احترام
با سلام و احترام
در rest api ها متاسفانه invoiceproperty مشکل دارد که به زودی توسط تیم فنی مرتفع خواهد شد.
در سرویس های soap مشکلی ندارند.
اروری که ارسال فرمودید "ردیفی برای فاکتور تعریف نشده است" میباشد مربوط به invoiceproperty نمیباشد.
نمونه کد زیر بدون خطا میباشد.
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
</s:Header>
<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>sales_invoice</d4p1:CrmObjectTypeCode>
<d4p1:ExtendedProperties>
<d4p1:BaseCrmObjectExtendedPropertyInfo>
<d4p1:Name>تست متن</d4p1:Name>
<d4p1:UserKey>Text_1</d4p1:UserKey>
<d4p1:Value>تست</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>