Importeren met CSV bestanden in ReflexBlue
Bij importdefinities waarmee je gegevens importeert vanuit CSV-bestanden in ReflexBlue, zijn er configuratie-instellingen beschikbaar waarmee je bepaalt welke gegevens je importeert en hoe deze worden gekoppeld en verwerkt.
In deze handleiding lees je hoe je CSV importdefinities configureert in de ReflexBlue Desktop Client.
Een CSV importdefinitie configureren
Om een CSV importdefinitie te configureren open je eerst een importdefinitie vanuit het Import/Export definities overzichtsscherm. In het Algemeen tabblad van het detailscherm zijn er subtabbladen beschikbaar met de configuratie-instellingen.
CSV Ontvangen tab
De regels in een CSV-bestand vertegenwoordigen entiteiten in ReflexBlue. In deze tab stel je in welk type entiteit elke regel voorstelt.
- Selecteer Nieuw om een entiteit toe te voegen.
- Selecteer Verwijder om een entiteit te verwijderen.
Volg deze stappen voor de configuratie:
- Stel één of meer entiteiten in op basis van de structuur van het CSV-bestand.
- Bevat de eerste regel van het CSV-bestand een kopregel? Zet dan Heeft kopregel aan.
- Is de data gescheiden met een komma (
,) of puntkomma (;)? Selecteer dan Auto bij Scheidingsteken. Gebruik anders het juiste teken. - Stel het gewenste Aanhalingsteken in als waarden in het bestand zijn omgeven door bijvoorbeeld
"of'. - Worden alle waarden omgeven door aanhalingstekens? Selecteer dan Alle bij Aanhalingsteken gebruik. Alleen sommige waarden? Kies Waar nodig. Nooit? Selecteer Geen.
- Selecteer de juiste bestandscodering. De bestandscodering bepaalt hoe tekens worden opgeslagen en gelezen. Zonder de juiste codering kunnen er vreemde tekens verschijnen na importeren. In West-Europa wordt vaak de Windows-1252 codering gebruikt voor CSV-bestanden.
De naam van het type entiteit vind je in de lijst met beschikbare entiteiten.
Regels koppelen tab
De optie Controleer op dubbele regels is standaard aan wanneer er één of meer relaties zijn ingesteld. Je kunt deze optie alleen uitzetten als er geen relaties zijn geconfigureerd.
Meerdere entiteiten in één bestand
Staan er meerdere entiteiten in één bestand? Stel dan de relaties tussen deze entiteiten in. Zo begrijpt het systeem hoe ze zich tot elkaar verhouden.
Onderstaand voorbeeld toont een CSV-bestand met drie entiteiten: order, orderregel en orderregelregistratie.
"O1", "L1", "R1"
"O1", "L2", "R2"
"O1", "L1", "R3"
"O1", "L2", "R4"
"O2", "L1", "R5"
"O2", "L2", "R6"
"O2", "L1", "R7"
"O2", "L2", "R8" Dit bestand bevat twee orders, elk met twee orderregels (vier in totaal) en twee registraties per orderregel (acht in totaal).
Een juiste configuratie voor deze structuur is als volgt:
-
Oudertype:
entity://orders.order
Ouder positie:A
Kindtype:entity://orders.orderline
Kind positie:A;B -
Oudertype:
entity://orders.orderline
Ouder positie:A;B
Kindtype:entity://orders.orderlineregistration
Kind positie:A;B
Velden koppelen tab
Voor elk veld in het CSV-bestand koppel je het veld aan een entiteit-veld in het systeem. Je kiest uit een vaste set entiteit-velden. Bij een nieuwe definitie zijn standaardvelden al toegevoegd.
Volg deze stappen:
- Pas de posities aan op basis van de structuur van de CSV-regel. Bewerk hiervoor de cel onder Positie.
- Is een waarde verplicht in ReflexBlue, maar mogelijk leeg in de CSV? Geef dan een Standaard waarde op.
- Deselecteer Overschrijven als de waarde niet mag worden overschreven in ReflexBlue.
- Wil je de sleutels sorteren op positie? Selecteer dan Sorteer op positie.
Heb je de kopregel nodig om ergens te plakken? Selecteer dan Naar klembord kopiëren.
Script tab
Gebruik een script om data te bewerken. Bijvoorbeeld als het formaat niet klopt of als een waarde moet worden omgezet tijdens het importeren.
Onderstaand voorbeeld converteert een datum van dag-maand-jaar naar jaar-maand-dag:
var bezorgDatum = GetColumnValue("ORDER_DELIVERYDATE");
if (!string.IsNullOrEmpty(bezorgDatum))
{
var parsedDate = DateTime.ParseExact(bezorgDatum, "dd-MM-yyyy", CultureInfo.InvariantCulture);
parsedDate = parsedDate.AddDays(0);
var universalDateFormat = parsedDate.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture);
SetColumnValue("ORDER_DELIVERYDATE", universalDateFormat);
}