Skocz do zawartości

[sfera] [plugin] Menu plugin dla DokumentElektroniczny - czy nie działa?

Polecane posty

Dzień dobry, 

nie dodaje mi się menu w Rewizor-> Dokumenty pobrane. Chcę zrobić swoją funkcjonalność do drukowania pobranych dokumentów do PDF.

SDK: nexoSDK_60.1.1.9292.

Visual Studio 2026.

 

Robię dwoma sposobami - żaden nie dodaje menu:

1. Przerabiam przykład OperacjeSferyczne w taki sposób, że w "ZmienPolaWlasne.cs" zmieniam na DokumentElektroniczny:

namespace OperacjeSferyczne.OperacjeNaDokumentach
{
    public class ZmienPolaWlasne : OperacjaNaLiscieDanych<DokumentElektroniczny, int>
    {
        private static readonly MethodInfo _utworzParametrWyboruGenericMI = typeof(ZmienPolaWlasne).GetMethod(nameof(UtworzParametrListyWyboruGeneric), BindingFlags.Static | BindingFlags.NonPublic);
        private static readonly MethodInfo _utworzParametrListyWyboruEncjiGenericMI = typeof(ZmienPolaWlasne).GetMethod(nameof(UtworzParametrListyWyboruEncjiGeneric), BindingFlags.Static | BindingFlags.NonPublic);
....

2. Zaczynam od nowego projektu według schematu insert plugins i wskazuję w nim listę operacji DokumentElektroniczny.

 

Potem uruchamiam Instalator i dodaję do podmiotu Demo.  Rewizora restartuje.

 

Żadna metoda nie dodaje mi menu w Dokument Pobrany.

 

Metoda 1 działa jak zmienię na DokumentDoKsiegowania, ale wtedy dodaje do "Dekretacja dokumentów" moje menu, metody 2 nie próbowałem dla innych klas dokumentów.

 

Link to postu

Proszę spróbować w ten sposób:

public class PrzykladowaOperacja : OperacjaNaLiscieDanych<DokumentDoKsiegowania, int>
{
    public override string Nazwa => "Przykładowa operacja";

    private static readonly Guid DokumentyPobraneId = new Guid("{F29BDE2F-12F4-4CBC-BCB1-B6754D9A31BF}");
    private static readonly Guid DokumentyPobraneBiuroId = new Guid("{A8B95287-C5DC-40E9-BA8C-20FA181945BF}");

    protected override void Wykonaj(IReadOnlyCollection<int> identyfikatoryWybranychElementow, IKontekstListyDanych kontekstListyDanych, IKontekstOperacji kontekstOperacji)
    {
        throw new NotImplementedException();
    }

    protected override bool CzyPokazacWMenu(IKontekstListyDanych kontekstListyDanych)
    {
        return kontekstListyDanych.Identyfikator == DokumentyPobraneId || kontekstListyDanych.Identyfikator == DokumentyPobraneBiuroId;
    }
}

Niestety przyznam, że nie miałem czasu tego przetestować, ale w teorii powinno działać. Proszę pisać, gdyby były problemy.

Link to postu

Ma Pan rację. Sprawdziłem to jeszcze raz i rzeczywiście jest tak, jak Pan opisał.


Przyznam jednak, że trochę dałem się zmylić zdaniu: „Metoda 1 działa, jak zmienię na `DokumentDoKsiegowania`” 😉 Ten widok obecnie nie obsługuje rozszerzalności, więc taka zmiana nie mogła przynieść oczekiwanego efektu.
 

Zapisałem temat do realizacji, aby w jednej z kolejnych wersji dodać obsługę rozszerzalności również dla tego widoku.
 

  • Lubię to 1
Link to postu
×
×
  • Dodaj nową pozycję...