Skocz do zawartości

Pole własne z ZK na FV

Polecane posty

"Przejście" z FS do ZK jest też przez nagłówek dokumentu - DokumentyPowiazane. Trochę większy problem jest z polami własnymi zamówienie, bo zgodnie z tym co jest opisane w modelu danych DokumentyPowiazane przechowuje encje typu Dokument, a więc typu bazowego dla DokumentZK, który ma zdefiniowane pola własne. W wyniku tego, w edytorze raportów nie zobaczymy pól własnych dokumentów powiązanych. Trzeba więc postąpić wg. poniższej procedury:

  1. Dodać  referencję do biblioteki InsERT.Moria.Sfera.dll
  2. W zakładce Code dodać
    using InsERT.Moria.Sfera;

     

  3. Dodać metodę analogiczną do istniejącej PodajTekstDokumentowRealizowanych zbierającą i łączącą wartości pola własnego z realizowanych dokumentów:
    	private string PodajPolaWlasneRealizowanychZK(string nazwaPola) 
    	{
    		List<string> numery = new List<string>();
    		StringBuilder data = new StringBuilder();
    
    		Dokument.encjaDokumentu.DokumentyRealizowane.Connect();
    		Dokument.encjaDokumentu.DokumentyRealizowane.First();
    		
    		int i = 0;
    		while (!Dokument.encjaDokumentu.DokumentyRealizowane.IsEof)
    		{
    			i++;
    			var zk = Dokument.encjaDokumentu.DokumentyRealizowane.Current as InsERT.Moria.ModelDanych.DokumentZK;
    			if (zk != null)
    			{
    				var pw = zk.PobierzEncjeZaawansowanychPolWlasnych();
    				numery.Add((string)pw.PobierzWartoscPola(nazwaPola));
    			}
    			Dokument.encjaDokumentu.DokumentyRealizowane.Next();
    		}
    		return numery.Aggregate((c, n) => c + ", " + n);
    	}

     

  4. Wykorzystać metodę w zawartości pola:
    {PodajPolaWlasneRealizowanychZK("Nrrejestracyjny")}

    Przy czym podana nazwa pola musi odpowiadać nazwie kolumny w utworzonej tabeli z polami własnymi, w przypadku dokumentu ZK jest to tabela Dokumenty_PolaWlasneDokumentZK_Adv.

Link to postu
  • 1 rok później...
×
×
  • Dodaj nową pozycję...