Duża Hydra - podpiąć się pod zatwierdzanie FZ
Moderator: mikey
Duża Hydra - podpiąć się pod zatwierdzanie FZ
Hej, jak w temacie. Czy ktoś z Was mógłby wrzucić kawałkiem przykładowego kodu callbacka który robi coś na zatwierdzanie dokumentu?
-
- Posty: 381
- Rejestracja: 19 lip 2012, 13:05
- Rola: Administrator CDN XL
- Wersja: 8.0
- Lokalizacja: Poznań, Września, Konin
- Kontakt:
Re: Duża Hydra - podpiąć się pod zatwierdzanie FZ
Hej,
Tu masz przykład, chwycenia zatwierdzenia dokumentu na ZS.
Tu masz przykład, chwycenia zatwierdzenia dokumentu na ZS.
Kod: Zaznacz cały
using System;
using System.Collections.Generic;
using System.Text;
using Hydra;
using System.Drawing;
using System.Windows.Forms;
using System.Data;
using System.Threading;
[assembly: CallbackAssemblyDescription("ZabezpieczenieAdresyWysylkowe", "PodniesienieFormatkiZBlednymWysylkowym",
"MAREK", "0.43", "20163", "13-03-2018")]
namespace PIK_HydraHortexTabZS
{
[SubscribeProcedure((Procedures)Procedures.ZaNZamEdycjaSpr, "HortexPromo")]
public class Class1:Callback
{
ClaWindow OknoGlowne;
ClaWindow HortexTab;
ClaWindow HortexGroup;
ClaWindow SaveButton;
ClaWindow Parent;
ClaWindow KodTowTXT;
ClaWindow LabelTXT;
ClaWindow UpdateButton;
ClaWindow LabelGratis;
ClaWindow IloscTXT;
ClaWindow IloscLabel;
MSSQL sql = new MSSQL();
int Saved = 0;
public override void Init()
{
AddSubscription(true, 0, Events.OpenWindow, new TakeEventDelegate(OnOpenWindow));
AddSubscription(true, 0, Events.CloseWindow, new TakeEventDelegate(OnCloseWindow));
Saved = 0;
}
public void InitObjects()
{
Saved = 0;
OknoGlowne = GetWindow();
SaveButton = OknoGlowne.AllChildren["?Cli_Zapisz"];
SaveButton.OnBeforeAccepted += new TakeEventDelegate(OnClickSaveButton);
}
bool OnClickSaveButton(Procedures ProcId, int ControlId, Events Event)
{
Saved = 1;
return true;
}
bool OnOpenWindow(Procedures ProcId, int ControlId, Events Event)
{
InitObjects();
OknoGlowne = GetWindow();
Parent = GetWindow();
HortexTab = OknoGlowne.AllChildren["?CurrentTab"].Children.Add(ControlTypes.tab);
HortexTab.TextRaw = "Hortex Promocje";
HortexTab.Bounds = new Rectangle();
HortexTab.Enabled = true;
HortexTab.Visible = true;
HortexGroup = HortexTab.AllChildren.Add(ControlTypes.group);
HortexGroup.Visible = true;
HortexGroup.BoxedRaw = "1";
HortexGroup.TextRaw = "Dodanie gratisu do zamówienia Hortex";
HortexGroup.Bounds = new Rectangle(10, 30, 300, 70);
KodTowTXT = HortexTab.AllChildren.Add(ControlTypes.text);
KodTowTXT.Visible = true;
KodTowTXT.TextRaw = "HT0840";
KodTowTXT.ToolTipRaw = "Kod towaru na jaki zostanie wygenerowane wydanie gratisu";
KodTowTXT.Bounds = new Rectangle(60, 50, 50, 10);
LabelTXT = HortexTab.AllChildren.Add(ControlTypes.prompt);
LabelTXT.Visible = true;
LabelTXT.TextRaw = "Kod Gratisu:";
LabelTXT.Bounds = new Rectangle(15, 50, 40, 10);
IloscTXT = HortexTab.AllChildren.Add(ControlTypes.text);
IloscTXT.Visible = true;
IloscTXT.TextRaw = "12";
IloscTXT.ToolTipRaw = "Ilosc towaru na jaki zostanie wygenerowane wydanie gratisu";
IloscTXT.Bounds = new Rectangle(60, 70, 50, 10);
IloscLabel = HortexTab.AllChildren.Add(ControlTypes.prompt);
IloscLabel.Visible = true;
IloscLabel.TextRaw = "Ilosc sztuk:";
IloscLabel.Bounds = new Rectangle(15, 70, 40, 10);
UpdateButton = HortexTab.Children.Add(ControlTypes.button);
UpdateButton.Visible = true;
UpdateButton.TextRaw = "Dodaj Gratis!";
UpdateButton.Bounds = new Rectangle(150, 60, 100, 20);
UpdateButton.OnAfterAccepted += new TakeEventDelegate(OnClick);
LabelGratis = HortexTab.AllChildren.Add(ControlTypes.prompt);
LabelGratis.Visible = true;
LabelGratis.TextRaw = sql.Gratisy_GetWydanie(ZamNag.ZaN_GIDNumer);
LabelGratis.Bounds = new Rectangle(15, 85, 250, 10);
return true;
}
bool OnClick(Procedures ProcedureId, int ControlId, Events Event)
{
try
{
sql.SetStatusWydrukowany(ZamNag.ZaN_GIDNumer, KodTowTXT.TextRaw.ToString(), Convert.ToDecimal(IloscTXT.TextRaw));
Runtime.WindowController.UnlockThread();
MessageBox.Show("Dodano gratis do wygenerowania!", "Sukces");
Runtime.WindowController.LockThread();
}
catch (Exception ex)
{
MessageBox.Show("Blad dodawania promocji hortex"+ ex.ToString(),"DUPA");
}
Runtime.WindowController.PostEvent(0, Events.FullRefresh);
return true;
}
private static void ApiCleanupThread()
{
FormatkClass.AttachThreadToClarion(0);
}
bool OnCloseWindow(Procedures ProcId, int ControlId, Events Event)
{
if (Saved == 1)
{
DialogResult result;
result= MessageBox.Show("ADRES DO WYSYŁKI: " + sql.WysylkowyGet(ZamNag.ZaN_AdWNumer), " SPRAWDŹ POPRAWNOŚĆ ADRESU DOSTAWY", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);
Runtime.WindowController.PostEvent(0, Events.FullRefresh);
if (result == System.Windows.Forms.DialogResult.No)
{
/*
ThreadStart ts = new ThreadStart(ApiCleanupThread);
Thread t = new Thread(ts);
t.Start();
*/
FormatkClass formatka = new FormatkClass(ZamNag.ZaN_GIDNumer);
formatka.Podnies();
int error = formatka.GetError();
MessageBox.Show(error.ToString());
Runtime.WindowController.PostEvent(0, Events.FullRefresh);
}
}
return true;
}
bool OnAfterAccepted(Procedures ProcId, int ControlId, Events Event)
{
return true;
}
public override void Cleanup()
{
}
}
}
Re: Duża Hydra - podpiąć się pod zatwierdzanie FZ
Swiety_M pisze: ↑21 sie 2019, 15:54Kod: Zaznacz cały
... MessageBox.Show("Blad dodawania promocji hortex"+ ex.ToString(),"DUPA"); ...
Całkiem offtop, ale miło zobaczyć, że nie tylko ja jestem skrzywiony i na czas testów daje komunikaty ze słowem kluczowym DUPA, o których oczywiście potem zdarza mi się zapomnieć
Swoją drogą to łapiesz tutaj zatwierdzanie zamówienia? W kodzie do końca tego nie widzę, bo dodatek raczej działa na otwarcie/zamknięcie okna, gdzie w tym drugim przypadku warunkiem jest naciśnięcie "dyskietki".
-
- Posty: 381
- Rejestracja: 19 lip 2012, 13:05
- Rola: Administrator CDN XL
- Wersja: 8.0
- Lokalizacja: Poznań, Września, Konin
- Kontakt:
Re: Duża Hydra - podpiąć się pod zatwierdzanie FZ
Hehe
zdarza się, potem user dzwoni z paniką, że coś mu wyskoczyło dziwnego.
Ale co wyskoczyło dokładnie?
No, DUPA
zdarza się, potem user dzwoni z paniką, że coś mu wyskoczyło dziwnego.
Ale co wyskoczyło dokładnie?
No, DUPA
Re: Duża Hydra - podpiąć się pod zatwierdzanie FZ
@elmiq możesz też coś podrzucić?
Re: Duża Hydra - podpiąć się pod zatwierdzanie FZ
@Swiety_M też nie widzę tego w Twoim kodzie. Wydaje się, że nie ma czegoś takiego jak podpięcie się pod zatwierdzenie dokumentu.
Trzeba kombinować na zasadzie: otwieram okno, odczytuję kontrolkę bufor, jak klikam na dyskietkę lub zamykam okno odczytuję kontrolkę bufor. porównuje. Coś w tym stylu. Czy otwieram okno checkbox jest zapisuję i go nie ma to zatwierdziłem.
Trzeba kombinować na zasadzie: otwieram okno, odczytuję kontrolkę bufor, jak klikam na dyskietkę lub zamykam okno odczytuję kontrolkę bufor. porównuje. Coś w tym stylu. Czy otwieram okno checkbox jest zapisuję i go nie ma to zatwierdziłem.
Re: Duża Hydra - podpiąć się pod zatwierdzanie FZ
Nie ma akcji na potwierdzanie dokumentu, bo to nie jest bezpośrednio związane z zachowaniem kontrolki, tylko jest to jakieś wyspecjalizowane zdarzenie. Oczywiście możesz się podpiąć pod kontrolkę i sprawdzać czy jest zmieniana, możesz na wejściu odczytywać stan kontrolek i przy zapisie znowu go sprawdzać, ewentualnie patrzeć co znajduje się na propach w samym obiekcie dostępnym w zarejestrowanej w dodatku procedurze, czyli w tym przypadku ZamNag.
Pozdrawiam,
Mateusz
Pozdrawiam,
Mateusz