Jag funderar på att programmera mot SPCS APImen skulel vilja använda C#. Är det någon som testat och vet att det fungerar? Det fungerar fint. Koden blev dock väldigt svåröverskådlig så jag har byggt en .Net wrapper. Tyvärr är den inte gratis men kontakta mig om du är intresserad.C# för att arbeta med SPCS
Något speciellt att tänka påosv?Sv: C# för att arbeta med SPCS
Här är lite exempelkod som använder wrappern
Räkna ut förfallet belopp per kund och lagra det som kundens sorteringsbegrepp. Det går då snabbt att se i kundlistan vilka kunder som inte betalt.
static void Main(string[] args) {
using (SPCS.Company spcscompany = new SPCS.Company("", "Ovnbol")) {
SPCS.Invoice invoice = new SPCS.Invoice();
// Lista som innehåller förfallen summan per kund
SortedList<string, double> customersum = new SortedList<string, double>();
// Loopa över alla ej betalda fakturor
invoice.SortOrder = invoice.Sort.NotPaid.CustomerNumber;
for (invoice.MoveFirst(); !invoice.Eof; invoice.MoveNext()) {
if (invoice.DocumentDate2 >= DateTime.Today)
continue;
string custno = invoice.CustomerNumber;
// Hämta summan vi samlat på oss hittils
double balace;
customersum.TryGetValue(custno, balance);
customersum(custno) = balance + invoice.Balance;
}
// Loopa över alla kunder och fyll I det utestående beloppet
SPCS.Customer customer = new SPCS.Customer();
customer.SortOrder = customer.Sort.CustomerNumber;
for (customer.MoveFirst(); !customer.Eof; customer.MoveNext()) {
string custno = customer.CustomerNumber;
if (customersum.ContainsKey(custno)) {
// Formattera beloppen högerjusterat så vi kan sortera på fältet
string f;
f.Format("{0,8:f0}", customersum(custno));
customer.CustomerSortOrder = f;
customer.Update();
}
else if (customer.CustomerSortOrder != string.Empty) {
// Ta bort tidigare värde
customer.CustomerSortOrder = string.Empty;
customer.Update();
}
} // for customer
} // using