Set userdefined delivery address from Quote by scripts
Hier klicken um zu folgen
Is it possible to setup the values for the userdefined delivery address fields in the quote module by using scripts?
Alle Antworten (1)
Yes this is possible, but a bit awkward due to the handling of localized addresses and such, sample below (NOT production ready):
#setLanguageLevel 4;
Integer quoteId = 76;
NSQuoteAgent quoteAgent;
NSContactAgent contactAgent;
NSQuoteEntity quoteEntity = quoteAgent.GetQuoteEntity(quoteId);
NSQuoteVersion quoteVersion = quoteAgent.GetQuoteVersion(quoteEntity.GetActiveQuoteVersionId());
quoteVersion.SetHasOwnDeliveryAddress(true);
quoteAgent.SaveQuoteVersion(quoteVersion);
// complex type, see https://docs.superoffice.com/en/globalization-and-localization/address/index.html
// and https://docs.superoffice.com/en/globalization-and-localization/address/howto/crmscript/set-address.html
NSAddress[] quoteVersionAddressses = contactAgent.GetQuoteVersionAddresses(quoteVersion.GetQuoteVersionId());
NSAddress quoteDeliveryAddress;
foreach (NSAddress address in quoteVersionAddressses)
{
// delivery
if (address.GetStreet().GetAtypeIdx() == NSAddressType.QuoteShippingAddress)
{
NSStructuredAddress structuredDeliveryaddress = address.GetStreet();
structuredDeliveryaddress.SetAddress1("test delivery 1");
structuredDeliveryaddress.SetAddress2("test delivery 2");
structuredDeliveryaddress.SetAddress2("test delivery 3");
structuredDeliveryaddress.SetCity("delivery city");
structuredDeliveryaddress.SetZipcode("zip");
address.SetStreet(structuredDeliveryaddress);
quoteDeliveryAddress = address;
}
}
// list: general - country
Integer countryId = 527;
contactAgent.SaveQuoteVersionAddress(quoteVersion.GetQuoteVersionId(), quoteDeliveryAddress, NSAddressType.QuoteShippingAddress, countryId);
12. Apr. 2024 | 02:37 PM
Antwort hinzufügen
info
Zum Antworten bitte einloggen.