W systemie CRM najważniejszą informacją są dane kontrahentów. Użytkownicy naszych programów Sz@rk mają ułatwione zadanie, ponieważ wszystkie dane są współdzielone i lista kontrahentów w poszczególnych grupach jest natychmiast dostępna. Dane są na bieżąco aktualizowane, gdyż wszystkie moduły pracują na tej samej bazie SQL, w tym oczywiście klienci wykonujący połączenia zdalne poprzez Internet.
Dla użytkowników posiadających inne programy lub dane adresowe w postaci plików przygotowaliśmy dedykowany Kreator Importu Kontrahentów.
Dane można zaimportować wg 3 różnych sposobów
- Z tabeli zapisanej w pliku Excel (XLS). Kolumny tabeli muszą mieć odpowiednie nazwy wg załączonego wzoru
- Z baz danych Microsoft SQL. Aktualnie można importować z innych firm Sz@rk SQL oraz CDN OPTIMA
- Ostatnia opcja dla zaawansowanych umożliwia import za pomocą własnego skryptu C#. Możemy pobrać dane z dowolnego źródła i zwrócić w postaci DataTable. Do programu dołączono przykład wykonujący import z CDN OPTIMA, który można modyfikować wg własnych potrzeb.
Drugi krok dla importu z pliku XLS
Drugi krok dla importu z MS SQL Server (CDN OPITMA)
Drugi krok importu za pomocą własnego skryptu C#.
Odczytane dane z wybranego źródła. W naszym przykładzie są to dane CDN_DEMO OPTIMA
Ustawiamy opcje dołączania danych do bazy Sz@rk SQL
Przygotowane i sprawdzone dane, które zostaną zaimportowane
Po zatwierdzeniu tabela kontrahentów zostanie zasilona nowymi adresami.
Poniżej pełny kod C# do importu danych z CDN OPTIMA
using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace Szark
{
public class Class1
{
public Class1(object sender)
{
}
public DataTable GetCustomers()
{
SqlConnection conn = new SqlConnection(GetConnectionString());
try
{
conn.Open();
SqlCommand cmd = new SqlCommand(SqlKontrahenci(), conn);
using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
{
DataSet ds = new DataSet();
adapter.Fill(ds, "kontrahenci");
return ds.Tables[0];
}
}
catch (Exception ex)
{
MessageBox.Show("Nie mogę odczytać danych: " + ex.Message, "Błąd",
MessageBoxButtons.OK, MessageBoxIcon.Error);
return null;
}
finally
{
if (conn != null)
conn.Dispose();
}
}
private string GetConnectionString()
{
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder.DataSource = "localhost\SQLEXPRESS";
builder.InitialCatalog = "CDN_Demo";
builder.IntegratedSecurity = true;
return builder.ConnectionString;
}
private string SqlKontrahenci()
{
return "SELECT Knt_KntId AS kod, Knt_Kod AS skrot, Knt_Nazwa1 AS nazwa1, " +
"Knt_nazwa2 AS nazwa2, Knt_Ulica AS ulica, Knt_NrDomu AS nr_domu, " +
"Knt_KodPocztowy AS kod_pocztowy, Knt_Miasto AS miasto, Knt_Kraj AS kraj, " +
"Knt_NipE AS nip, Knt_Telefon1 AS telefon_1, Knt_Telefon2 AS telefon_2, " +
"Knt_Fax AS fax, Knt_Email AS e_mail, Knt_OsEmail AS e_mail2, " +
"Knt_URL AS adres_www FROM CDN.kontrahenci ";
}
}
}