void BillingEngine_EinvNodeAdded(object sender, MercatorUi.Engine.Gescom.BillingEngine.EinvNodeAddedEventArgs e)
{
    MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)sender;
    if ((e.Node.Name == "cac:PartyLegalEntity") && (e.Node.ParentNode.ParentNode.Name == "cac:AccountingCustomerParty") && (billingEngine.PIEDS["id_tact1"].ToString() != string.Empty))
    {
        DataSet ds = Api.Zselect(Globals.RepData, "select rtrim(t_nom) as nom,rtrim(t_num_tel) as num_tel,rtrim(t_email) as email from TACT where t_id=@t_id", new MercatorSqlParam("@t_id", billingEngine.PIEDS["id_tact1"], SqlDbType.Char));
        if ((ds != null) && (ds.Tables[0].Rows.Count > 0))
        {
            XmlNode n = billingEngine.EinvAddNode(e.eInvoiceEnum, e.ParentNode, "cac:Contact");
            billingEngine.EinvAddNode(e.eInvoiceEnum, n, "cbc:Name", ds.Tables[0].Rows[0]["nom"].ToString());
            if (ds.Tables[0].Rows[0]["num_tel"].ToString() != string.Empty)
                billingEngine.EinvAddNode(e.eInvoiceEnum, n, "cbc:Telephone", ds.Tables[0].Rows[0]["num_tel"].ToString());
            if (ds.Tables[0].Rows[0]["email"].ToString() != string.Empty)
                billingEngine.EinvAddNode(e.eInvoiceEnum, n, "cbc:ElectronicMail", ds.Tables[0].Rows[0]["email"].ToString());
        }
    }
}