21. November 2016 11:10
21. November 2016 11:45
bennyb hat geschrieben:Da NAV2016 nun C# deutlich besser unterstützt, wäre es irgendwie auch möglich den gesamten C#-Code aus der DLL direkt in eine Codeunit zu stecken?
21. November 2016 11:51
Kowa hat geschrieben:Direkt nicht, nur über die zugehörigen Objektmetadaten.
Für normale Anwendung ist so etwas tabu, ein Neukompilieren des Codeunits würde die Metadaten auch wieder überschreiben.
21. November 2016 12:02
22. November 2016 12:44
Kowa hat geschrieben:Die obige Webseite ist die umfangreichste Quelle zum Thema
namespace Reporting
{
[ControlAddInExport("Reporting")]
public interface IControlAddIn
{
void doSomething(bool bla);
[ApplicationVisible]
event EmptyEventHandler ControlReady;
}
[ClassInterface(ClassInterfaceType.None), Guid("xxx")]
public class MainClass : IControlAddIn
{
public event EmptyEventHandler ControlReady;
public void doSomething(bool bla)
{ /// }
}
22. November 2016 17:20
23. November 2016 09:19
fiddi hat geschrieben:Was macht deine Automation eigentlich.
23. November 2016 09:36
23. November 2016 09:53
fiddi hat geschrieben:was du willst, ist kein Controlladdin (Es sei denn du möchtest es auf dem Bildschirm anzeigen).
Außerdem kannst du DotNet direkt in NAV nutzen, d.h. du programmierst in C/AL nutzt aber DotNet- Funktionen.
private class Menu
{
public string menu;
public string description;
public int count;
public int countHosp;
public int countAllnotHosp;
public int countAllHosp;
}
private List<Menu> menuListe = new List<Menu>();
public void addMenuCode(string menux, string desc)
{
menuListe.Add(new Menu
{
count = 0,
countHosp = 0,
menu = menux,
description = desc
});
}
public void refreshMenuCounts(string menu, int c, int ch)
{
menuListe.Where(w => w.menu == menu).ToList().ForEach(s => s.count = c);
menuListe.Where(w => w.menu == menu).ToList().ForEach(s => s.countHosp = ch);
//menuListe.Where(w => w.menu == menu).ToList().ForEach(s => s.countAll += ch + c);
menuListe.Where(w => w.menu == menu).ToList().ForEach(s => s.countAllnotHosp += c);
menuListe.Where(w => w.menu == menu).ToList().ForEach(s => s.countAllHosp += ch);
}
23. November 2016 10:33
23. November 2016 10:40
23. November 2016 10:43
Kowa hat geschrieben:Konstruktor
fiddi hat geschrieben:aus NAV oder von wo anders
23. November 2016 10:48
23. November 2016 11:01
fiddi hat geschrieben:wenn ich dich jetzt richtig verstehe, kommen die Daten, die dort Zählst aus NAV!?
fiddi hat geschrieben:Hast du dich schon mal mit NAV-Tabellen und vor allem FlowFields auseinander gesetzt?
23. November 2016 11:14
Ich glaube mit einer Tabelle ist das nicht so einfach zu realisieren, dass ich diese in eine Liste getrennt nach Menü stecken kann.
public int count;
public int countHosp;
public int countAllnotHosp;
public int countAllHosp;
23. November 2016 11:33
fiddi hat geschrieben:Flowfields in deine wahrscheinlich vorhandene Tabelle mit den Menüs einfügt, und das ganze ist fast erledigt. Dann noch die passenden Flowfilter (Uhrzeit, Datum) eingefügt
Von Bis Menu 1 Menu 1 bewirtet Menu 2 Menu 2 bewirtet Menu3 Menu 3 bewirtet Gesamt
12:00:00 12:14:59 14 0 0 0 0 0 14
12:15:00 12:29:59 18 0 1 0 12 0 31
12:30:00 12:44:59 24 0 1 0 6 0 31
12:45:00 12:59:59 13 4 0 0 7 0 24
13:00:00 13:14:59 9 0 0 0 3 0 12
13:15:00 13:29:59 0 0 0 0 3 0 3
13:30:00 13:44:59 8 0 1 0 5 0 14
13:45:00 13:59:59 1 0 0 0 0 0 1
14:00:00 14:14:59 1 0 0 0 0 0 1
Gesamt 88 4 3 0 36 0 131
davon Chipzahlungen 127
davon Bewirtungen 4
23. November 2016 11:49
23. November 2016 11:57
fiddi hat geschrieben:1. gibt es eine Menü-Posten- Tabelle?
fiddi hat geschrieben:2. Sind die Zeiträume die du anzeigst fix, also immer 12.00 - 1215, 12.15 -12.30., und es sind nur diese neun?
fiddi hat geschrieben:3. Könnte man die Achsen vertauschen, also Zeit auf der X-Achse und Menüs auf der Y-Achse?
23. November 2016 12:14
23. November 2016 15:29
fiddi hat geschrieben:Eine solche Page kannst du dir einfach kopieren. Du musst dann die Füllfunktionen und die Filter- Felder im Kopf anpassen, und du hast eine Online- Übersicht.
25. November 2016 09:15
28. November 2016 10:42
fiddi hat geschrieben:Das ganze kannst du auch mit einem Bericht machen, den du oder der Empfänger planen kann planen kann. Im RDLC ist das sogar noch etwas einfacher, da dort sowohl Zeilen (Zeiträume) als auch Spaltengruppen (Menüs) möglich sind
28. November 2016 10:50
28. November 2016 10:54
fiddi hat geschrieben:wenn du das als Background, d.h. auf dem Servicetier laufen lassen willst bzw. musst, dann muss alles in DotNet sein, keine Automations. D.h. da hast du sicherlich auch was zu tun.
28. November 2016 11:42
bennyb hat geschrieben:Also z.B. Auto-Klasse mit Speed, Gewicht.. Davon mehrere Objekte generieren in eine Liste und dann mit foreach z.B. durch jedes Objekt durch und Speed/Gewicht anpassen - da fehlt mir so die Idee, wie ich das mit den DotNet-Typen in C/AL umsetzen kann.