Exporteren van gegevens op basis van de selectie in ReflexBlue
ReflexBlue maakt het mogelijk om vanuit bepaalde overzichtsschermen alleen de gegevens te exporteren die je hebt geselecteerd.
Om dit te kunnen is het belangrijk om eerst een exportdefinitie aan te maken vanuit het Import/Export definities overzichtsscherm. Deze exportdefinitie moet je dan verder aanpassen zodat alleen de geselecteerde gegevens geëxporteerd worden.
Exportdefinitie configureren voor selectie
De exportscripts in de standaard exportdefinities zijn voorzien van functies die gegevens exporteren op basis van een query die aangepast kan worden. Om alleen geselecteerde gegevens te exporteren, gebruik je in het exportscript de functies die daarvoor beschikbaar zijn in ReflexBlue.
In de onderstaande tabel zijn enkele functies te zien waarmee gegevens kunnen worden opgevraagd in exportscripts. Voor elke entiteit is er een functie waarmee gegevens kunnen worden opgevraagd op basis van een query en een functie waarmee alleen de geselecteerde gegevens kunnen worden opgevraagd.
| Entiteit | Functie met query | Functie voor geselecteerde gegevens | Functie voor nieuwe gegevens |
|---|---|---|---|
| Artikelen | GetArticlesAsync(query) | GetSelectedArticlesAsync() | |
| Controlepunten | GetControlPointRegistrationsAsync(query) | GetSelectedPointRegistrationsAsync() | |
| Relaties | GetRelationsAsync(query) | GetSelectedRelationsAsync() | |
| Calls | GetCallsAsync(query) | GetSelectedCallsAsync() | |
| Productiecharges | GetProductionChargesAsync(query) | GetSelectedProductionChargesAsync() | |
| Inkooporders | GetPurchaseOrdersAsync(query) | GetSelectedPurchaseOrdersAsync() | GetNewPurchaseOrdersAsync() |
| Verkooporders | GetSalesOrdersAsync(query) | GetSelectedSalesOrdersAsync() | GetNewSalesOrdersAsync() |
| Pakbonnen | GetPackingSlipsAsync(query) | GetSelectedPackingSlipsAsync() | GetNewPackingSlipsAsync() |
Door deze functies te vervangen in het exportscript zorg je ervoor dat alleen de gegevens die je hebt geselecteerd worden geëxporteerd.
Voorbeeld sjabloon
Onderstaand is een voorbeeld van een exportscript voor relaties die standaard wordt gebruikt in de Relaties exporteren exportdefinitie. Door de functie GetRelationsAsync te veranderen naar GetSelectedRelationsAsync maak je het exportscript geschikt voor het exporteren van relaties op basis van de selectie.
@using ReflexNG.ImportsExports.Domain.Templating.Formatters
@using ReflexNG.ImportsExports.Domain.Templating.Relations
@inherits ReflexNG.ImportsExports.Domain.Templating.Relations.RelationsExportTemplate
@{
var csvOptions = CsvOptions.Default.WithSeparator(';');
WriteCsvHeaders(
csvOptions,
"Relatie nummer",
"Relatie naam",
"Korte naam",
//other headers
);
var query = RelationsQuery.Create();
/* Sort options */
query.SortByName();
// Change "GetRelationsAsync(query)" to "GetSelectedRelationsAsync()"
// to export only the selected data
await foreach (var relation in GetRelationsAsync(query))
{
// Samples: How to access dynamic fields
// relation.Dynamic().Common.Common.DYNAMICFILED_ONE
WriteCsv(
csvOptions,
Formatter.Create(relation.Code),
Formatter.Create(relation.Name),
Formatter.Create(relation.ShortName)
//other columns
);
}
} Toepassingsschermen voor geselecteerde gegevensexport
Onderstaand zijn de overzichtsschermen waar het exporteren van gegevens op basis van de selectie mogelijk is:
- Artikelen overzichtsscherm
- Relaties overzichtsscherm
- Calls overzichtsscherm
- Controlepunten registraties overzichtsscherm
- Charges overzichtsscherm
- Inkooporders overzichtsscherm
- Verkooporders overzichtsscherm
- Pakbonnen overzichtsscherm
Procedure voor het exporteren op basis van de geselecteerde gegevens
Om de procedure voor het exporteren van gegevens op basis van de selectie uit te leggen zullen we het Relaties overzichtsscherm als voorbeeld nemen. Stel dat je alleen bepaalde relaties zou willen exporteren, dan zijn hieronder de stappen die je kunt volgen:
-
Selecteer uit de lijst in het Relaties overzichtsscherm de relaties die je wil exporteren, eventueel na het filteren van de relaties.
-
Selecteer Relaties exporteren om de geselecteerde relaties te exporteren.
-
Vervolgens wordt er een lijst van exportdefinities getoond. Selecteer daaruit een exportdefinitie.
Indien de lijst van exportdefinities leeg is, dan zal je eerst een exportdefinitie moeten toevoegen voor relaties via het Import/Export definities overzichtsscherm.
De geselecteerde exportdefinitie moet reeds aangepast zijn voor gebruik bij het exporteren van alleen de geselecteerde gegevens zoals bovenstaand uitgelegd.
-
De export wordt gestart. Nadat de gegevens zijn geëxporteerd krijg je een notificatie te zien en kan het exportbestand worden gedownload. Selecteer Download om het exportbestand op te slaan.
De andere overzichtsschermen volgen hetzelfde principe voor het exporteren van gegevens op basis van de selectie. Je kunt daar dezelfde stappen uitvoeren.
Procedure voor het exporteren van nieuwe gegevens
Om het exporteren van nieuwe gegevens te verduidelijken, nemen we de pakbonnen als voorbeeld. Wil je alleen de pakbonnen exporteren die je nog niet hebt verwerkt? Volg dan deze stappen:
-
Maak een nieuwe pakbonnen export definitie aan en geef de definitie een naam en een omschrijving indien nodig
-
Stel de exportmodus in op Nieuwe Pakbonnen. Zo zorg je ervoor dat alleen de nieuwste gegevens worden meegenomen.
-
Wil je alleen pakbonnen van bepaalde klanten exporteren? Selecteer dan de gewenste relatie of relatiegroep.
Zorg ervoor dat je gebruik maakt van de juiste export functie
GetNewPackingSlipsAsync(). Deze functie is speciaal ontworpen om nieuwe pakbonnen op te halen. -
Sla de export definitie op en klik op Nieuwe import/export om de export te starten.
-
De export wordt gestart. Nadat de gegevens zijn geëxporteerd krijg je een notificatie te zien en kan het exportbestand worden gedownload. Selecteer Download om het exportbestand op te slaan.
Het exporteren van nieuwe gegevens volgt hetzelfde principe voor de entiteiten Inkooporders en Verkooporders.