Error calling CreateEnvelope : TAB_PAGE_NUMBER_NOT_SPECIFIED











up vote
1
down vote

favorite
1












I am a beginner in DocuSign API programming. I have a .cshtml page for create envelope for sending to customer. When I try to create envelop from DocuSign API it shows error message like:




Page number not specified in tab element. Page Number or AnchorTabItem missing for tab "SignHere"."




Please see my HTML and code below.



Html



 <span>
<br />
<br />
<span><b>SIGNATURE:</b></span> <span style="color:white;">pleasesignhereBP</span>
<br />
<br />
<span><b>DATE:</b></span><span style="color:white;">pleasedatehereBP</span>
<br />
<br />
</span>


Code



SignerModel objPerson = new SignerModel();

TabsModel objPersonTab = new TabsModel();
List<SignHereModel> lstPersonSignHere = new List<SignHereModel>();
SignHereModel objPersonSignHere = new SignHereModel();
objPersonSignHere.DocumentId = "1";
objPersonSignHere.PageNumber = "1";
objPersonSignHere.RecipientId = "2";
objPersonSignHere.AnchorString = "pleasesignhereBP";
objPersonSignHere.AnchorXOffset = ".2";
objPersonSignHere.AnchorYOffset = ".01";
objPersonSignHere.AnchorIgnoreIfNotPresent = "true";
objPersonSignHere.AnchorUnits = "cms";
lstPersonSignHere.Add(objPersonSignHere);
objPersonTab.SignHereTabs = lstPersonSignHere;

List<DateModel> lstPersonDateHere = new List<DateModel>();
DateModel objPersonDate = new DateModel();
objPersonDate.DocumentId = "1";
objPersonDate.PageNumber = "1";
objPersonDate.RecipientId = "1";
objPersonDate.AnchorString = "pleasedatehereBP";
objPersonDate.AnchorXOffset = ".2";
objPersonDate.AnchorYOffset = ".01";
objPersonDate.AnchorIgnoreIfNotPresent = "true";
objPersonDate.AnchorUnits = "cms";
objPersonDate.Value = DateTime.Now.ToShortDateString();
lstPersonDateHere.Add(objPersonDate);
objPersonTab.DateTabs = lstPersonDateHere;

objPerson.Tabs = objPersonTab;


I already added the objPersonDate.PageNumber = "1" but it's not working.



Updates



I have DocuSign.eSign library in my project solution. I refer this project my webapplication. Then i do some changes in the SetDocuSignSigners function of DocuSignCommunicator class.



objSHere.PageNumber = (!string.IsNullOrEmpty(objSHere.PageNumber)) ? objSHere.PageNumber : "1";


Please see my detailed code below.



    private List<Signer> SetDocuSignSigners(List<SignerModel> lstSignerModel)
{
List<Signer> lstSigner = new List<Signer>();
if (lstSignerModel != null && lstSignerModel.Count > 0)
{
foreach (SignerModel objModel in lstSignerModel)
{
Signer objSigner = new Signer();
objSigner.Name = objModel.Name;
objSigner.Email = objModel.Email;
objSigner.RecipientId = objModel.RecipientId;
objSigner.RoutingOrder = objModel.RoutingOrder;
Tabs objTab = new Tabs();
List<SignHere> lstSalesSignHere = new List<SignHere>();
List<DateSigned> lstSalesDateHere = new List<DateSigned>();
List<FullName> lstSalesNameHere = new List<FullName>();

if (objModel.Tabs != null)
{
if (objModel.Tabs.SignHereTabs != null && objModel.Tabs.SignHereTabs.Count > 0)
{
foreach (SignHereModel objSignHere in objModel.Tabs.SignHereTabs)
{
SignHere objSHere = new Model.SignHere();
objSHere.PageNumber = (!string.IsNullOrEmpty(objSHere.PageNumber)) ? objSHere.PageNumber : "1";
objSHere.AnchorString = objSignHere.AnchorString;
objSHere.DocumentId = objSignHere.DocumentId;
objSHere.RecipientId = objSignHere.RecipientId;
objSHere.AnchorXOffset = objSignHere.AnchorXOffset;
objSHere.AnchorYOffset = objSignHere.AnchorYOffset;
objSHere.AnchorUnits = objSignHere.AnchorUnits;
objSHere.AnchorIgnoreIfNotPresent = objSignHere.AnchorIgnoreIfNotPresent;
objSHere.AnchorMatchWholeWord = "true";
lstSalesSignHere.Add(objSHere);
}
}

if (objModel.Tabs.DateTabs != null && objModel.Tabs.DateTabs.Count > 0)
{
foreach (DateModel objDateHere in objModel.Tabs.DateTabs)
{
DateSigned objDSHere = new DateSigned();
objDSHere.PageNumber = (!string.IsNullOrEmpty(objDSHere.PageNumber)) ? objDSHere.PageNumber : "1";
objDSHere.AnchorString = objDateHere.AnchorString;
objDSHere.DocumentId = objDateHere.DocumentId;
objDSHere.RecipientId = objDateHere.RecipientId;
objDSHere.AnchorXOffset = objDateHere.AnchorXOffset;
objDSHere.AnchorYOffset = objDateHere.AnchorYOffset;
objDSHere.AnchorUnits = objDateHere.AnchorUnits;
objDSHere.AnchorIgnoreIfNotPresent = objDateHere.AnchorIgnoreIfNotPresent;
objDSHere.AnchorMatchWholeWord = "true";
////objDSHere.Value = objDateHere.Value;
lstSalesDateHere.Add(objDSHere);
}
}

if (objModel.Tabs.FullNameTabs != null && objModel.Tabs.FullNameTabs.Count > 0)
{
foreach (FullNameModel objDateHere in objModel.Tabs.FullNameTabs)
{
FullName objNameHere = new FullName();
objNameHere.PageNumber = (!string.IsNullOrEmpty(objNameHere.PageNumber)) ? objNameHere.PageNumber : "1";
objNameHere.AnchorString = objDateHere.AnchorString;
objNameHere.DocumentId = objDateHere.DocumentId;
objNameHere.RecipientId = objDateHere.RecipientId;
objNameHere.AnchorXOffset = objDateHere.AnchorXOffset;
objNameHere.AnchorYOffset = objDateHere.AnchorYOffset;
objNameHere.AnchorUnits = objDateHere.AnchorUnits;
objNameHere.AnchorIgnoreIfNotPresent = objDateHere.AnchorIgnoreIfNotPresent;
objNameHere.Value = objDateHere.Value;
objNameHere.AnchorMatchWholeWord = "true";
lstSalesNameHere.Add(objNameHere);
}
}
}

objTab.SignHereTabs = lstSalesSignHere;
objTab.DateSignedTabs = lstSalesDateHere;
objTab.FullNameTabs = lstSalesNameHere;
objSigner.Tabs = objTab;
lstSigner.Add(objSigner);
}
}

return lstSigner;
}


I don't know this is a best practice but my issue is solved. Please advice if this is not a good practice.



After the library change



Sadly it's not working in the signature placement in documents. I have two fields in my document Signature and Signaturedate but these fields are placed in wrong placement when I signed the document via DocuSign website. Please see the document below.



enter image description here



So assign page number is not a solution for my issue.










share|improve this question




















  • 1




    Can you capture exact JSON request posted to DocuSign? You can capture exact JSON by following steps explained here
    – Amit K Bist
    Mar 23 at 14:30










  • +Amit K Bist, good call, added to answer, hopefull +Ragesh S will be able to report back and update us!
    – David W Grigsby
    Mar 24 at 22:43










  • @Amit K Bist Thank you very much for your valuable comments.
    – Ragesh S
    Mar 26 at 6:11















up vote
1
down vote

favorite
1












I am a beginner in DocuSign API programming. I have a .cshtml page for create envelope for sending to customer. When I try to create envelop from DocuSign API it shows error message like:




Page number not specified in tab element. Page Number or AnchorTabItem missing for tab "SignHere"."




Please see my HTML and code below.



Html



 <span>
<br />
<br />
<span><b>SIGNATURE:</b></span> <span style="color:white;">pleasesignhereBP</span>
<br />
<br />
<span><b>DATE:</b></span><span style="color:white;">pleasedatehereBP</span>
<br />
<br />
</span>


Code



SignerModel objPerson = new SignerModel();

TabsModel objPersonTab = new TabsModel();
List<SignHereModel> lstPersonSignHere = new List<SignHereModel>();
SignHereModel objPersonSignHere = new SignHereModel();
objPersonSignHere.DocumentId = "1";
objPersonSignHere.PageNumber = "1";
objPersonSignHere.RecipientId = "2";
objPersonSignHere.AnchorString = "pleasesignhereBP";
objPersonSignHere.AnchorXOffset = ".2";
objPersonSignHere.AnchorYOffset = ".01";
objPersonSignHere.AnchorIgnoreIfNotPresent = "true";
objPersonSignHere.AnchorUnits = "cms";
lstPersonSignHere.Add(objPersonSignHere);
objPersonTab.SignHereTabs = lstPersonSignHere;

List<DateModel> lstPersonDateHere = new List<DateModel>();
DateModel objPersonDate = new DateModel();
objPersonDate.DocumentId = "1";
objPersonDate.PageNumber = "1";
objPersonDate.RecipientId = "1";
objPersonDate.AnchorString = "pleasedatehereBP";
objPersonDate.AnchorXOffset = ".2";
objPersonDate.AnchorYOffset = ".01";
objPersonDate.AnchorIgnoreIfNotPresent = "true";
objPersonDate.AnchorUnits = "cms";
objPersonDate.Value = DateTime.Now.ToShortDateString();
lstPersonDateHere.Add(objPersonDate);
objPersonTab.DateTabs = lstPersonDateHere;

objPerson.Tabs = objPersonTab;


I already added the objPersonDate.PageNumber = "1" but it's not working.



Updates



I have DocuSign.eSign library in my project solution. I refer this project my webapplication. Then i do some changes in the SetDocuSignSigners function of DocuSignCommunicator class.



objSHere.PageNumber = (!string.IsNullOrEmpty(objSHere.PageNumber)) ? objSHere.PageNumber : "1";


Please see my detailed code below.



    private List<Signer> SetDocuSignSigners(List<SignerModel> lstSignerModel)
{
List<Signer> lstSigner = new List<Signer>();
if (lstSignerModel != null && lstSignerModel.Count > 0)
{
foreach (SignerModel objModel in lstSignerModel)
{
Signer objSigner = new Signer();
objSigner.Name = objModel.Name;
objSigner.Email = objModel.Email;
objSigner.RecipientId = objModel.RecipientId;
objSigner.RoutingOrder = objModel.RoutingOrder;
Tabs objTab = new Tabs();
List<SignHere> lstSalesSignHere = new List<SignHere>();
List<DateSigned> lstSalesDateHere = new List<DateSigned>();
List<FullName> lstSalesNameHere = new List<FullName>();

if (objModel.Tabs != null)
{
if (objModel.Tabs.SignHereTabs != null && objModel.Tabs.SignHereTabs.Count > 0)
{
foreach (SignHereModel objSignHere in objModel.Tabs.SignHereTabs)
{
SignHere objSHere = new Model.SignHere();
objSHere.PageNumber = (!string.IsNullOrEmpty(objSHere.PageNumber)) ? objSHere.PageNumber : "1";
objSHere.AnchorString = objSignHere.AnchorString;
objSHere.DocumentId = objSignHere.DocumentId;
objSHere.RecipientId = objSignHere.RecipientId;
objSHere.AnchorXOffset = objSignHere.AnchorXOffset;
objSHere.AnchorYOffset = objSignHere.AnchorYOffset;
objSHere.AnchorUnits = objSignHere.AnchorUnits;
objSHere.AnchorIgnoreIfNotPresent = objSignHere.AnchorIgnoreIfNotPresent;
objSHere.AnchorMatchWholeWord = "true";
lstSalesSignHere.Add(objSHere);
}
}

if (objModel.Tabs.DateTabs != null && objModel.Tabs.DateTabs.Count > 0)
{
foreach (DateModel objDateHere in objModel.Tabs.DateTabs)
{
DateSigned objDSHere = new DateSigned();
objDSHere.PageNumber = (!string.IsNullOrEmpty(objDSHere.PageNumber)) ? objDSHere.PageNumber : "1";
objDSHere.AnchorString = objDateHere.AnchorString;
objDSHere.DocumentId = objDateHere.DocumentId;
objDSHere.RecipientId = objDateHere.RecipientId;
objDSHere.AnchorXOffset = objDateHere.AnchorXOffset;
objDSHere.AnchorYOffset = objDateHere.AnchorYOffset;
objDSHere.AnchorUnits = objDateHere.AnchorUnits;
objDSHere.AnchorIgnoreIfNotPresent = objDateHere.AnchorIgnoreIfNotPresent;
objDSHere.AnchorMatchWholeWord = "true";
////objDSHere.Value = objDateHere.Value;
lstSalesDateHere.Add(objDSHere);
}
}

if (objModel.Tabs.FullNameTabs != null && objModel.Tabs.FullNameTabs.Count > 0)
{
foreach (FullNameModel objDateHere in objModel.Tabs.FullNameTabs)
{
FullName objNameHere = new FullName();
objNameHere.PageNumber = (!string.IsNullOrEmpty(objNameHere.PageNumber)) ? objNameHere.PageNumber : "1";
objNameHere.AnchorString = objDateHere.AnchorString;
objNameHere.DocumentId = objDateHere.DocumentId;
objNameHere.RecipientId = objDateHere.RecipientId;
objNameHere.AnchorXOffset = objDateHere.AnchorXOffset;
objNameHere.AnchorYOffset = objDateHere.AnchorYOffset;
objNameHere.AnchorUnits = objDateHere.AnchorUnits;
objNameHere.AnchorIgnoreIfNotPresent = objDateHere.AnchorIgnoreIfNotPresent;
objNameHere.Value = objDateHere.Value;
objNameHere.AnchorMatchWholeWord = "true";
lstSalesNameHere.Add(objNameHere);
}
}
}

objTab.SignHereTabs = lstSalesSignHere;
objTab.DateSignedTabs = lstSalesDateHere;
objTab.FullNameTabs = lstSalesNameHere;
objSigner.Tabs = objTab;
lstSigner.Add(objSigner);
}
}

return lstSigner;
}


I don't know this is a best practice but my issue is solved. Please advice if this is not a good practice.



After the library change



Sadly it's not working in the signature placement in documents. I have two fields in my document Signature and Signaturedate but these fields are placed in wrong placement when I signed the document via DocuSign website. Please see the document below.



enter image description here



So assign page number is not a solution for my issue.










share|improve this question




















  • 1




    Can you capture exact JSON request posted to DocuSign? You can capture exact JSON by following steps explained here
    – Amit K Bist
    Mar 23 at 14:30










  • +Amit K Bist, good call, added to answer, hopefull +Ragesh S will be able to report back and update us!
    – David W Grigsby
    Mar 24 at 22:43










  • @Amit K Bist Thank you very much for your valuable comments.
    – Ragesh S
    Mar 26 at 6:11













up vote
1
down vote

favorite
1









up vote
1
down vote

favorite
1






1





I am a beginner in DocuSign API programming. I have a .cshtml page for create envelope for sending to customer. When I try to create envelop from DocuSign API it shows error message like:




Page number not specified in tab element. Page Number or AnchorTabItem missing for tab "SignHere"."




Please see my HTML and code below.



Html



 <span>
<br />
<br />
<span><b>SIGNATURE:</b></span> <span style="color:white;">pleasesignhereBP</span>
<br />
<br />
<span><b>DATE:</b></span><span style="color:white;">pleasedatehereBP</span>
<br />
<br />
</span>


Code



SignerModel objPerson = new SignerModel();

TabsModel objPersonTab = new TabsModel();
List<SignHereModel> lstPersonSignHere = new List<SignHereModel>();
SignHereModel objPersonSignHere = new SignHereModel();
objPersonSignHere.DocumentId = "1";
objPersonSignHere.PageNumber = "1";
objPersonSignHere.RecipientId = "2";
objPersonSignHere.AnchorString = "pleasesignhereBP";
objPersonSignHere.AnchorXOffset = ".2";
objPersonSignHere.AnchorYOffset = ".01";
objPersonSignHere.AnchorIgnoreIfNotPresent = "true";
objPersonSignHere.AnchorUnits = "cms";
lstPersonSignHere.Add(objPersonSignHere);
objPersonTab.SignHereTabs = lstPersonSignHere;

List<DateModel> lstPersonDateHere = new List<DateModel>();
DateModel objPersonDate = new DateModel();
objPersonDate.DocumentId = "1";
objPersonDate.PageNumber = "1";
objPersonDate.RecipientId = "1";
objPersonDate.AnchorString = "pleasedatehereBP";
objPersonDate.AnchorXOffset = ".2";
objPersonDate.AnchorYOffset = ".01";
objPersonDate.AnchorIgnoreIfNotPresent = "true";
objPersonDate.AnchorUnits = "cms";
objPersonDate.Value = DateTime.Now.ToShortDateString();
lstPersonDateHere.Add(objPersonDate);
objPersonTab.DateTabs = lstPersonDateHere;

objPerson.Tabs = objPersonTab;


I already added the objPersonDate.PageNumber = "1" but it's not working.



Updates



I have DocuSign.eSign library in my project solution. I refer this project my webapplication. Then i do some changes in the SetDocuSignSigners function of DocuSignCommunicator class.



objSHere.PageNumber = (!string.IsNullOrEmpty(objSHere.PageNumber)) ? objSHere.PageNumber : "1";


Please see my detailed code below.



    private List<Signer> SetDocuSignSigners(List<SignerModel> lstSignerModel)
{
List<Signer> lstSigner = new List<Signer>();
if (lstSignerModel != null && lstSignerModel.Count > 0)
{
foreach (SignerModel objModel in lstSignerModel)
{
Signer objSigner = new Signer();
objSigner.Name = objModel.Name;
objSigner.Email = objModel.Email;
objSigner.RecipientId = objModel.RecipientId;
objSigner.RoutingOrder = objModel.RoutingOrder;
Tabs objTab = new Tabs();
List<SignHere> lstSalesSignHere = new List<SignHere>();
List<DateSigned> lstSalesDateHere = new List<DateSigned>();
List<FullName> lstSalesNameHere = new List<FullName>();

if (objModel.Tabs != null)
{
if (objModel.Tabs.SignHereTabs != null && objModel.Tabs.SignHereTabs.Count > 0)
{
foreach (SignHereModel objSignHere in objModel.Tabs.SignHereTabs)
{
SignHere objSHere = new Model.SignHere();
objSHere.PageNumber = (!string.IsNullOrEmpty(objSHere.PageNumber)) ? objSHere.PageNumber : "1";
objSHere.AnchorString = objSignHere.AnchorString;
objSHere.DocumentId = objSignHere.DocumentId;
objSHere.RecipientId = objSignHere.RecipientId;
objSHere.AnchorXOffset = objSignHere.AnchorXOffset;
objSHere.AnchorYOffset = objSignHere.AnchorYOffset;
objSHere.AnchorUnits = objSignHere.AnchorUnits;
objSHere.AnchorIgnoreIfNotPresent = objSignHere.AnchorIgnoreIfNotPresent;
objSHere.AnchorMatchWholeWord = "true";
lstSalesSignHere.Add(objSHere);
}
}

if (objModel.Tabs.DateTabs != null && objModel.Tabs.DateTabs.Count > 0)
{
foreach (DateModel objDateHere in objModel.Tabs.DateTabs)
{
DateSigned objDSHere = new DateSigned();
objDSHere.PageNumber = (!string.IsNullOrEmpty(objDSHere.PageNumber)) ? objDSHere.PageNumber : "1";
objDSHere.AnchorString = objDateHere.AnchorString;
objDSHere.DocumentId = objDateHere.DocumentId;
objDSHere.RecipientId = objDateHere.RecipientId;
objDSHere.AnchorXOffset = objDateHere.AnchorXOffset;
objDSHere.AnchorYOffset = objDateHere.AnchorYOffset;
objDSHere.AnchorUnits = objDateHere.AnchorUnits;
objDSHere.AnchorIgnoreIfNotPresent = objDateHere.AnchorIgnoreIfNotPresent;
objDSHere.AnchorMatchWholeWord = "true";
////objDSHere.Value = objDateHere.Value;
lstSalesDateHere.Add(objDSHere);
}
}

if (objModel.Tabs.FullNameTabs != null && objModel.Tabs.FullNameTabs.Count > 0)
{
foreach (FullNameModel objDateHere in objModel.Tabs.FullNameTabs)
{
FullName objNameHere = new FullName();
objNameHere.PageNumber = (!string.IsNullOrEmpty(objNameHere.PageNumber)) ? objNameHere.PageNumber : "1";
objNameHere.AnchorString = objDateHere.AnchorString;
objNameHere.DocumentId = objDateHere.DocumentId;
objNameHere.RecipientId = objDateHere.RecipientId;
objNameHere.AnchorXOffset = objDateHere.AnchorXOffset;
objNameHere.AnchorYOffset = objDateHere.AnchorYOffset;
objNameHere.AnchorUnits = objDateHere.AnchorUnits;
objNameHere.AnchorIgnoreIfNotPresent = objDateHere.AnchorIgnoreIfNotPresent;
objNameHere.Value = objDateHere.Value;
objNameHere.AnchorMatchWholeWord = "true";
lstSalesNameHere.Add(objNameHere);
}
}
}

objTab.SignHereTabs = lstSalesSignHere;
objTab.DateSignedTabs = lstSalesDateHere;
objTab.FullNameTabs = lstSalesNameHere;
objSigner.Tabs = objTab;
lstSigner.Add(objSigner);
}
}

return lstSigner;
}


I don't know this is a best practice but my issue is solved. Please advice if this is not a good practice.



After the library change



Sadly it's not working in the signature placement in documents. I have two fields in my document Signature and Signaturedate but these fields are placed in wrong placement when I signed the document via DocuSign website. Please see the document below.



enter image description here



So assign page number is not a solution for my issue.










share|improve this question















I am a beginner in DocuSign API programming. I have a .cshtml page for create envelope for sending to customer. When I try to create envelop from DocuSign API it shows error message like:




Page number not specified in tab element. Page Number or AnchorTabItem missing for tab "SignHere"."




Please see my HTML and code below.



Html



 <span>
<br />
<br />
<span><b>SIGNATURE:</b></span> <span style="color:white;">pleasesignhereBP</span>
<br />
<br />
<span><b>DATE:</b></span><span style="color:white;">pleasedatehereBP</span>
<br />
<br />
</span>


Code



SignerModel objPerson = new SignerModel();

TabsModel objPersonTab = new TabsModel();
List<SignHereModel> lstPersonSignHere = new List<SignHereModel>();
SignHereModel objPersonSignHere = new SignHereModel();
objPersonSignHere.DocumentId = "1";
objPersonSignHere.PageNumber = "1";
objPersonSignHere.RecipientId = "2";
objPersonSignHere.AnchorString = "pleasesignhereBP";
objPersonSignHere.AnchorXOffset = ".2";
objPersonSignHere.AnchorYOffset = ".01";
objPersonSignHere.AnchorIgnoreIfNotPresent = "true";
objPersonSignHere.AnchorUnits = "cms";
lstPersonSignHere.Add(objPersonSignHere);
objPersonTab.SignHereTabs = lstPersonSignHere;

List<DateModel> lstPersonDateHere = new List<DateModel>();
DateModel objPersonDate = new DateModel();
objPersonDate.DocumentId = "1";
objPersonDate.PageNumber = "1";
objPersonDate.RecipientId = "1";
objPersonDate.AnchorString = "pleasedatehereBP";
objPersonDate.AnchorXOffset = ".2";
objPersonDate.AnchorYOffset = ".01";
objPersonDate.AnchorIgnoreIfNotPresent = "true";
objPersonDate.AnchorUnits = "cms";
objPersonDate.Value = DateTime.Now.ToShortDateString();
lstPersonDateHere.Add(objPersonDate);
objPersonTab.DateTabs = lstPersonDateHere;

objPerson.Tabs = objPersonTab;


I already added the objPersonDate.PageNumber = "1" but it's not working.



Updates



I have DocuSign.eSign library in my project solution. I refer this project my webapplication. Then i do some changes in the SetDocuSignSigners function of DocuSignCommunicator class.



objSHere.PageNumber = (!string.IsNullOrEmpty(objSHere.PageNumber)) ? objSHere.PageNumber : "1";


Please see my detailed code below.



    private List<Signer> SetDocuSignSigners(List<SignerModel> lstSignerModel)
{
List<Signer> lstSigner = new List<Signer>();
if (lstSignerModel != null && lstSignerModel.Count > 0)
{
foreach (SignerModel objModel in lstSignerModel)
{
Signer objSigner = new Signer();
objSigner.Name = objModel.Name;
objSigner.Email = objModel.Email;
objSigner.RecipientId = objModel.RecipientId;
objSigner.RoutingOrder = objModel.RoutingOrder;
Tabs objTab = new Tabs();
List<SignHere> lstSalesSignHere = new List<SignHere>();
List<DateSigned> lstSalesDateHere = new List<DateSigned>();
List<FullName> lstSalesNameHere = new List<FullName>();

if (objModel.Tabs != null)
{
if (objModel.Tabs.SignHereTabs != null && objModel.Tabs.SignHereTabs.Count > 0)
{
foreach (SignHereModel objSignHere in objModel.Tabs.SignHereTabs)
{
SignHere objSHere = new Model.SignHere();
objSHere.PageNumber = (!string.IsNullOrEmpty(objSHere.PageNumber)) ? objSHere.PageNumber : "1";
objSHere.AnchorString = objSignHere.AnchorString;
objSHere.DocumentId = objSignHere.DocumentId;
objSHere.RecipientId = objSignHere.RecipientId;
objSHere.AnchorXOffset = objSignHere.AnchorXOffset;
objSHere.AnchorYOffset = objSignHere.AnchorYOffset;
objSHere.AnchorUnits = objSignHere.AnchorUnits;
objSHere.AnchorIgnoreIfNotPresent = objSignHere.AnchorIgnoreIfNotPresent;
objSHere.AnchorMatchWholeWord = "true";
lstSalesSignHere.Add(objSHere);
}
}

if (objModel.Tabs.DateTabs != null && objModel.Tabs.DateTabs.Count > 0)
{
foreach (DateModel objDateHere in objModel.Tabs.DateTabs)
{
DateSigned objDSHere = new DateSigned();
objDSHere.PageNumber = (!string.IsNullOrEmpty(objDSHere.PageNumber)) ? objDSHere.PageNumber : "1";
objDSHere.AnchorString = objDateHere.AnchorString;
objDSHere.DocumentId = objDateHere.DocumentId;
objDSHere.RecipientId = objDateHere.RecipientId;
objDSHere.AnchorXOffset = objDateHere.AnchorXOffset;
objDSHere.AnchorYOffset = objDateHere.AnchorYOffset;
objDSHere.AnchorUnits = objDateHere.AnchorUnits;
objDSHere.AnchorIgnoreIfNotPresent = objDateHere.AnchorIgnoreIfNotPresent;
objDSHere.AnchorMatchWholeWord = "true";
////objDSHere.Value = objDateHere.Value;
lstSalesDateHere.Add(objDSHere);
}
}

if (objModel.Tabs.FullNameTabs != null && objModel.Tabs.FullNameTabs.Count > 0)
{
foreach (FullNameModel objDateHere in objModel.Tabs.FullNameTabs)
{
FullName objNameHere = new FullName();
objNameHere.PageNumber = (!string.IsNullOrEmpty(objNameHere.PageNumber)) ? objNameHere.PageNumber : "1";
objNameHere.AnchorString = objDateHere.AnchorString;
objNameHere.DocumentId = objDateHere.DocumentId;
objNameHere.RecipientId = objDateHere.RecipientId;
objNameHere.AnchorXOffset = objDateHere.AnchorXOffset;
objNameHere.AnchorYOffset = objDateHere.AnchorYOffset;
objNameHere.AnchorUnits = objDateHere.AnchorUnits;
objNameHere.AnchorIgnoreIfNotPresent = objDateHere.AnchorIgnoreIfNotPresent;
objNameHere.Value = objDateHere.Value;
objNameHere.AnchorMatchWholeWord = "true";
lstSalesNameHere.Add(objNameHere);
}
}
}

objTab.SignHereTabs = lstSalesSignHere;
objTab.DateSignedTabs = lstSalesDateHere;
objTab.FullNameTabs = lstSalesNameHere;
objSigner.Tabs = objTab;
lstSigner.Add(objSigner);
}
}

return lstSigner;
}


I don't know this is a best practice but my issue is solved. Please advice if this is not a good practice.



After the library change



Sadly it's not working in the signature placement in documents. I have two fields in my document Signature and Signaturedate but these fields are placed in wrong placement when I signed the document via DocuSign website. Please see the document below.



enter image description here



So assign page number is not a solution for my issue.







c# asp.net-mvc docusignapi digital-signature docusigncompositetmplts






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 21 at 22:41









halfer

14.2k757106




14.2k757106










asked Mar 23 at 10:09









Ragesh S

1,9961083117




1,9961083117








  • 1




    Can you capture exact JSON request posted to DocuSign? You can capture exact JSON by following steps explained here
    – Amit K Bist
    Mar 23 at 14:30










  • +Amit K Bist, good call, added to answer, hopefull +Ragesh S will be able to report back and update us!
    – David W Grigsby
    Mar 24 at 22:43










  • @Amit K Bist Thank you very much for your valuable comments.
    – Ragesh S
    Mar 26 at 6:11














  • 1




    Can you capture exact JSON request posted to DocuSign? You can capture exact JSON by following steps explained here
    – Amit K Bist
    Mar 23 at 14:30










  • +Amit K Bist, good call, added to answer, hopefull +Ragesh S will be able to report back and update us!
    – David W Grigsby
    Mar 24 at 22:43










  • @Amit K Bist Thank you very much for your valuable comments.
    – Ragesh S
    Mar 26 at 6:11








1




1




Can you capture exact JSON request posted to DocuSign? You can capture exact JSON by following steps explained here
– Amit K Bist
Mar 23 at 14:30




Can you capture exact JSON request posted to DocuSign? You can capture exact JSON by following steps explained here
– Amit K Bist
Mar 23 at 14:30












+Amit K Bist, good call, added to answer, hopefull +Ragesh S will be able to report back and update us!
– David W Grigsby
Mar 24 at 22:43




+Amit K Bist, good call, added to answer, hopefull +Ragesh S will be able to report back and update us!
– David W Grigsby
Mar 24 at 22:43












@Amit K Bist Thank you very much for your valuable comments.
– Ragesh S
Mar 26 at 6:11




@Amit K Bist Thank you very much for your valuable comments.
– Ragesh S
Mar 26 at 6:11












1 Answer
1






active

oldest

votes

















up vote
2
down vote



accepted










Please update above with actual code change, because with what you are showing and what you "Say" below it seems in conflict.



It looks like you are missing the "TabId" aka "Tab Item"



              "name": "sample string 1",
"tabLabel": "sample string 2",
"scaleValue": 3.1,
"optional": "sample string 4",
"documentId": "sample string 5",
"recipientId": "sample string 6",
"pageNumber": "sample string 7",
"xPosition": "sample string 8",
"yPosition": "sample string 9",
"anchorString": "sample string 10",
"anchorXOffset": "sample string 11",
"anchorYOffset": "sample string 12",
"anchorUnits": "sample string 13",
"anchorIgnoreIfNotPresent": "sample string 14",
"tabId": "sample string 15",
"conditionalParentLabel": "sample string 16",
"conditionalParentValue": "sample string 17"


https://www.docusign.net/restapi/help



I really suggest using PostMan Client and / or SoapUI to validate you can make your api call, especially in the beginning. This way you can see the actual error returned, as it will say more about the error in the response for very common mistakes. PostMan or SoapUI will issue the actual API calls successfully (Demo or Prod once you have passed prod API certification) showing you the actual response without having to worry about coding typo's, properties of objects or debugging logging to see what really came back.



This allows you to learn the DocuSign API while using your choice of SDK. You did the right thing asking for help here on Stack Overflow.



I have a couple links for you to get started:



DocuSign Developer Center where you probably found the PHP SDK https://developers.docusign.com/esign-rest-api/sdk-tools



Link for info on PostMan (older version, you can get the latest one - aka Orange Rocket Man logo vs blue world, for Chrome or Mac Standalone - https://blog.grigsbyconsultingllc.com/postman-rest-client-a-google-chrome-app/



X-DocuSign-Authentication Header Q&A on StackOverflow How should the header X-DocuSign-Authentication be used for REST and SOAP?



I like the concept of the DocuSign API explorer to start with, sad part is it doesn't work against prod, so you still have to use something else when you move from demo to prod.



And as mention above by "Amit K Bist" you can you capture exact JSON request posted your PHP | API calls by following steps explained at this DocuSign support article https://support.docusign.com/guides/ndse-user-guide-api-request-logging



Best of Luck and Enjoy your DocuSign API journey!






share|improve this answer























  • Thank you very much for your valuable and detailed reply.
    – Ragesh S
    Mar 26 at 6:11






  • 1




    @RageshS Thank you and you are welcome. Thanks for updating us! May I make a suggestion for the sake of others using StackOverflow to find specific solutions? Let's break your project into the separate issues. Aka, first was the "Tab error" which was this question. So let's mark this question answered (only you can do this) and that the "TabItem id" was probably the issue.
    – David W Grigsby
    Mar 26 at 11:21






  • 1




    @RageshS (con't) Then post a new question about "Fixed vs Anchor" locations and then I or others can jump in and help you with that. I suspect the PDF is an image only, with no "text or white text added by you" to allow the anchor to be found, and since you said okay if not found to still place, it put them at the top (default action when location x,y not specified or anchor text missing.
    – David W Grigsby
    Mar 26 at 11:21











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














 

draft saved


draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f49447151%2ferror-calling-createenvelope-tab-page-number-not-specified%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
2
down vote



accepted










Please update above with actual code change, because with what you are showing and what you "Say" below it seems in conflict.



It looks like you are missing the "TabId" aka "Tab Item"



              "name": "sample string 1",
"tabLabel": "sample string 2",
"scaleValue": 3.1,
"optional": "sample string 4",
"documentId": "sample string 5",
"recipientId": "sample string 6",
"pageNumber": "sample string 7",
"xPosition": "sample string 8",
"yPosition": "sample string 9",
"anchorString": "sample string 10",
"anchorXOffset": "sample string 11",
"anchorYOffset": "sample string 12",
"anchorUnits": "sample string 13",
"anchorIgnoreIfNotPresent": "sample string 14",
"tabId": "sample string 15",
"conditionalParentLabel": "sample string 16",
"conditionalParentValue": "sample string 17"


https://www.docusign.net/restapi/help



I really suggest using PostMan Client and / or SoapUI to validate you can make your api call, especially in the beginning. This way you can see the actual error returned, as it will say more about the error in the response for very common mistakes. PostMan or SoapUI will issue the actual API calls successfully (Demo or Prod once you have passed prod API certification) showing you the actual response without having to worry about coding typo's, properties of objects or debugging logging to see what really came back.



This allows you to learn the DocuSign API while using your choice of SDK. You did the right thing asking for help here on Stack Overflow.



I have a couple links for you to get started:



DocuSign Developer Center where you probably found the PHP SDK https://developers.docusign.com/esign-rest-api/sdk-tools



Link for info on PostMan (older version, you can get the latest one - aka Orange Rocket Man logo vs blue world, for Chrome or Mac Standalone - https://blog.grigsbyconsultingllc.com/postman-rest-client-a-google-chrome-app/



X-DocuSign-Authentication Header Q&A on StackOverflow How should the header X-DocuSign-Authentication be used for REST and SOAP?



I like the concept of the DocuSign API explorer to start with, sad part is it doesn't work against prod, so you still have to use something else when you move from demo to prod.



And as mention above by "Amit K Bist" you can you capture exact JSON request posted your PHP | API calls by following steps explained at this DocuSign support article https://support.docusign.com/guides/ndse-user-guide-api-request-logging



Best of Luck and Enjoy your DocuSign API journey!






share|improve this answer























  • Thank you very much for your valuable and detailed reply.
    – Ragesh S
    Mar 26 at 6:11






  • 1




    @RageshS Thank you and you are welcome. Thanks for updating us! May I make a suggestion for the sake of others using StackOverflow to find specific solutions? Let's break your project into the separate issues. Aka, first was the "Tab error" which was this question. So let's mark this question answered (only you can do this) and that the "TabItem id" was probably the issue.
    – David W Grigsby
    Mar 26 at 11:21






  • 1




    @RageshS (con't) Then post a new question about "Fixed vs Anchor" locations and then I or others can jump in and help you with that. I suspect the PDF is an image only, with no "text or white text added by you" to allow the anchor to be found, and since you said okay if not found to still place, it put them at the top (default action when location x,y not specified or anchor text missing.
    – David W Grigsby
    Mar 26 at 11:21















up vote
2
down vote



accepted










Please update above with actual code change, because with what you are showing and what you "Say" below it seems in conflict.



It looks like you are missing the "TabId" aka "Tab Item"



              "name": "sample string 1",
"tabLabel": "sample string 2",
"scaleValue": 3.1,
"optional": "sample string 4",
"documentId": "sample string 5",
"recipientId": "sample string 6",
"pageNumber": "sample string 7",
"xPosition": "sample string 8",
"yPosition": "sample string 9",
"anchorString": "sample string 10",
"anchorXOffset": "sample string 11",
"anchorYOffset": "sample string 12",
"anchorUnits": "sample string 13",
"anchorIgnoreIfNotPresent": "sample string 14",
"tabId": "sample string 15",
"conditionalParentLabel": "sample string 16",
"conditionalParentValue": "sample string 17"


https://www.docusign.net/restapi/help



I really suggest using PostMan Client and / or SoapUI to validate you can make your api call, especially in the beginning. This way you can see the actual error returned, as it will say more about the error in the response for very common mistakes. PostMan or SoapUI will issue the actual API calls successfully (Demo or Prod once you have passed prod API certification) showing you the actual response without having to worry about coding typo's, properties of objects or debugging logging to see what really came back.



This allows you to learn the DocuSign API while using your choice of SDK. You did the right thing asking for help here on Stack Overflow.



I have a couple links for you to get started:



DocuSign Developer Center where you probably found the PHP SDK https://developers.docusign.com/esign-rest-api/sdk-tools



Link for info on PostMan (older version, you can get the latest one - aka Orange Rocket Man logo vs blue world, for Chrome or Mac Standalone - https://blog.grigsbyconsultingllc.com/postman-rest-client-a-google-chrome-app/



X-DocuSign-Authentication Header Q&A on StackOverflow How should the header X-DocuSign-Authentication be used for REST and SOAP?



I like the concept of the DocuSign API explorer to start with, sad part is it doesn't work against prod, so you still have to use something else when you move from demo to prod.



And as mention above by "Amit K Bist" you can you capture exact JSON request posted your PHP | API calls by following steps explained at this DocuSign support article https://support.docusign.com/guides/ndse-user-guide-api-request-logging



Best of Luck and Enjoy your DocuSign API journey!






share|improve this answer























  • Thank you very much for your valuable and detailed reply.
    – Ragesh S
    Mar 26 at 6:11






  • 1




    @RageshS Thank you and you are welcome. Thanks for updating us! May I make a suggestion for the sake of others using StackOverflow to find specific solutions? Let's break your project into the separate issues. Aka, first was the "Tab error" which was this question. So let's mark this question answered (only you can do this) and that the "TabItem id" was probably the issue.
    – David W Grigsby
    Mar 26 at 11:21






  • 1




    @RageshS (con't) Then post a new question about "Fixed vs Anchor" locations and then I or others can jump in and help you with that. I suspect the PDF is an image only, with no "text or white text added by you" to allow the anchor to be found, and since you said okay if not found to still place, it put them at the top (default action when location x,y not specified or anchor text missing.
    – David W Grigsby
    Mar 26 at 11:21













up vote
2
down vote



accepted







up vote
2
down vote



accepted






Please update above with actual code change, because with what you are showing and what you "Say" below it seems in conflict.



It looks like you are missing the "TabId" aka "Tab Item"



              "name": "sample string 1",
"tabLabel": "sample string 2",
"scaleValue": 3.1,
"optional": "sample string 4",
"documentId": "sample string 5",
"recipientId": "sample string 6",
"pageNumber": "sample string 7",
"xPosition": "sample string 8",
"yPosition": "sample string 9",
"anchorString": "sample string 10",
"anchorXOffset": "sample string 11",
"anchorYOffset": "sample string 12",
"anchorUnits": "sample string 13",
"anchorIgnoreIfNotPresent": "sample string 14",
"tabId": "sample string 15",
"conditionalParentLabel": "sample string 16",
"conditionalParentValue": "sample string 17"


https://www.docusign.net/restapi/help



I really suggest using PostMan Client and / or SoapUI to validate you can make your api call, especially in the beginning. This way you can see the actual error returned, as it will say more about the error in the response for very common mistakes. PostMan or SoapUI will issue the actual API calls successfully (Demo or Prod once you have passed prod API certification) showing you the actual response without having to worry about coding typo's, properties of objects or debugging logging to see what really came back.



This allows you to learn the DocuSign API while using your choice of SDK. You did the right thing asking for help here on Stack Overflow.



I have a couple links for you to get started:



DocuSign Developer Center where you probably found the PHP SDK https://developers.docusign.com/esign-rest-api/sdk-tools



Link for info on PostMan (older version, you can get the latest one - aka Orange Rocket Man logo vs blue world, for Chrome or Mac Standalone - https://blog.grigsbyconsultingllc.com/postman-rest-client-a-google-chrome-app/



X-DocuSign-Authentication Header Q&A on StackOverflow How should the header X-DocuSign-Authentication be used for REST and SOAP?



I like the concept of the DocuSign API explorer to start with, sad part is it doesn't work against prod, so you still have to use something else when you move from demo to prod.



And as mention above by "Amit K Bist" you can you capture exact JSON request posted your PHP | API calls by following steps explained at this DocuSign support article https://support.docusign.com/guides/ndse-user-guide-api-request-logging



Best of Luck and Enjoy your DocuSign API journey!






share|improve this answer














Please update above with actual code change, because with what you are showing and what you "Say" below it seems in conflict.



It looks like you are missing the "TabId" aka "Tab Item"



              "name": "sample string 1",
"tabLabel": "sample string 2",
"scaleValue": 3.1,
"optional": "sample string 4",
"documentId": "sample string 5",
"recipientId": "sample string 6",
"pageNumber": "sample string 7",
"xPosition": "sample string 8",
"yPosition": "sample string 9",
"anchorString": "sample string 10",
"anchorXOffset": "sample string 11",
"anchorYOffset": "sample string 12",
"anchorUnits": "sample string 13",
"anchorIgnoreIfNotPresent": "sample string 14",
"tabId": "sample string 15",
"conditionalParentLabel": "sample string 16",
"conditionalParentValue": "sample string 17"


https://www.docusign.net/restapi/help



I really suggest using PostMan Client and / or SoapUI to validate you can make your api call, especially in the beginning. This way you can see the actual error returned, as it will say more about the error in the response for very common mistakes. PostMan or SoapUI will issue the actual API calls successfully (Demo or Prod once you have passed prod API certification) showing you the actual response without having to worry about coding typo's, properties of objects or debugging logging to see what really came back.



This allows you to learn the DocuSign API while using your choice of SDK. You did the right thing asking for help here on Stack Overflow.



I have a couple links for you to get started:



DocuSign Developer Center where you probably found the PHP SDK https://developers.docusign.com/esign-rest-api/sdk-tools



Link for info on PostMan (older version, you can get the latest one - aka Orange Rocket Man logo vs blue world, for Chrome or Mac Standalone - https://blog.grigsbyconsultingllc.com/postman-rest-client-a-google-chrome-app/



X-DocuSign-Authentication Header Q&A on StackOverflow How should the header X-DocuSign-Authentication be used for REST and SOAP?



I like the concept of the DocuSign API explorer to start with, sad part is it doesn't work against prod, so you still have to use something else when you move from demo to prod.



And as mention above by "Amit K Bist" you can you capture exact JSON request posted your PHP | API calls by following steps explained at this DocuSign support article https://support.docusign.com/guides/ndse-user-guide-api-request-logging



Best of Luck and Enjoy your DocuSign API journey!







share|improve this answer














share|improve this answer



share|improve this answer








edited Mar 24 at 22:40

























answered Mar 23 at 10:52









David W Grigsby

1,4011920




1,4011920












  • Thank you very much for your valuable and detailed reply.
    – Ragesh S
    Mar 26 at 6:11






  • 1




    @RageshS Thank you and you are welcome. Thanks for updating us! May I make a suggestion for the sake of others using StackOverflow to find specific solutions? Let's break your project into the separate issues. Aka, first was the "Tab error" which was this question. So let's mark this question answered (only you can do this) and that the "TabItem id" was probably the issue.
    – David W Grigsby
    Mar 26 at 11:21






  • 1




    @RageshS (con't) Then post a new question about "Fixed vs Anchor" locations and then I or others can jump in and help you with that. I suspect the PDF is an image only, with no "text or white text added by you" to allow the anchor to be found, and since you said okay if not found to still place, it put them at the top (default action when location x,y not specified or anchor text missing.
    – David W Grigsby
    Mar 26 at 11:21


















  • Thank you very much for your valuable and detailed reply.
    – Ragesh S
    Mar 26 at 6:11






  • 1




    @RageshS Thank you and you are welcome. Thanks for updating us! May I make a suggestion for the sake of others using StackOverflow to find specific solutions? Let's break your project into the separate issues. Aka, first was the "Tab error" which was this question. So let's mark this question answered (only you can do this) and that the "TabItem id" was probably the issue.
    – David W Grigsby
    Mar 26 at 11:21






  • 1




    @RageshS (con't) Then post a new question about "Fixed vs Anchor" locations and then I or others can jump in and help you with that. I suspect the PDF is an image only, with no "text or white text added by you" to allow the anchor to be found, and since you said okay if not found to still place, it put them at the top (default action when location x,y not specified or anchor text missing.
    – David W Grigsby
    Mar 26 at 11:21
















Thank you very much for your valuable and detailed reply.
– Ragesh S
Mar 26 at 6:11




Thank you very much for your valuable and detailed reply.
– Ragesh S
Mar 26 at 6:11




1




1




@RageshS Thank you and you are welcome. Thanks for updating us! May I make a suggestion for the sake of others using StackOverflow to find specific solutions? Let's break your project into the separate issues. Aka, first was the "Tab error" which was this question. So let's mark this question answered (only you can do this) and that the "TabItem id" was probably the issue.
– David W Grigsby
Mar 26 at 11:21




@RageshS Thank you and you are welcome. Thanks for updating us! May I make a suggestion for the sake of others using StackOverflow to find specific solutions? Let's break your project into the separate issues. Aka, first was the "Tab error" which was this question. So let's mark this question answered (only you can do this) and that the "TabItem id" was probably the issue.
– David W Grigsby
Mar 26 at 11:21




1




1




@RageshS (con't) Then post a new question about "Fixed vs Anchor" locations and then I or others can jump in and help you with that. I suspect the PDF is an image only, with no "text or white text added by you" to allow the anchor to be found, and since you said okay if not found to still place, it put them at the top (default action when location x,y not specified or anchor text missing.
– David W Grigsby
Mar 26 at 11:21




@RageshS (con't) Then post a new question about "Fixed vs Anchor" locations and then I or others can jump in and help you with that. I suspect the PDF is an image only, with no "text or white text added by you" to allow the anchor to be found, and since you said okay if not found to still place, it put them at the top (default action when location x,y not specified or anchor text missing.
– David W Grigsby
Mar 26 at 11:21


















 

draft saved


draft discarded



















































 


draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f49447151%2ferror-calling-createenvelope-tab-page-number-not-specified%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

What visual should I use to simply compare current year value vs last year in Power BI desktop

Alexandru Averescu

Trompette piccolo