Trigger, o którym wspomniałem mógłby wyglądać np. tak:
CREATE TRIGGER TransactionAutoMail
ON tr__Transaction
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
update tr__Transaction SET tr_AutoMailDisabled = 1 WHERE tr_CheckoutFormId <> '' AND tr_Id IN (SELECT tr_ID FROM inserted)
END
Polecenie to tworzy trigger w bazie danych, który jest uruchamiany przy dodawaniu nowej transakcji. Jeśli transakcja ta nie posiada identyfikatora zamówienia Allegro (czyli jest dodana np ręcznie, lub przez import ZK) to zostanie w niej zaznaczony znacznik wyłączający wysyłania maila.
Problem jest tylko taki, że nie zadziała to dla zdarzenia nowej transakcji, bo mail jest generowany przed zapisem transakcji w bazie, zaś mechanizm działa dopiero w trakcie zapisu danych do bazy. Ale kolejne maile, np z informacją o paczkach nie będą już wysyłane, bo znacznik będzie zaznaczony a paczka dziedziczy ustawienia tego znacznika po transakcji.
Trzeba również pamiętać, aby po aktualizacji bazy danych do nowej wersji programu, ponownie dodać ten trigger, gdyż Sello usunie go przy aktualizacji jako nieznany obiekt.
W razie problemów, można ten trigger usunąć z bazy poniższym poleceniem:
DROP TRIGGER TransactionAutoMail
Zalecam przed dokonaniem zmian zrobić kopię zapasową bazy. Polecenia można wykonać np w programie serwisowym.