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.