/// <summary> /// Отправить ответ на заказ в систему EDI /// </summary> /// <param name="order">отправляемый заказ</param> internal static void SendOrdrsp(DocumentOrderResponse order) { if (order == null) { Utilites.Error("При отправке ответа на заказ: не выбран заказ"); return; } if (order.DocumentParties == null) { Utilites.Error("При отправке ответа на заказ: отсутсвуют части документа(DocumentParties)"); return; } if (order.DocumentParties?.Receiver == null) { Utilites.Error("При отправке ответа на заказ: отсутствует отправитель"); return; } if (String.IsNullOrEmpty(order.DocumentParties.Receiver.ILN)) { Utilites.Error("При отправке ответа на заказ: у отправителя отсутствует GLN"); return; } if (SelectedRelationship == null || SelectedRelationship.documentType == null) { Utilites.Error("При отправке ответа на заказ: не выбран клиент"); return; } if (SelectedRelationship.partnerIln == null) { Utilites.Error("Невозможная ошибка: у клиента отсутствует GLN (звоните в IT-отдел!)"); return; } if (order.DocumentParties.Receiver.ILN != SelectedRelationship.partnerIln) { Utilites.Error("Нельзя отправить документ другому клиенту! Выберите соответствующего документу клиента и повторите отправку."); return; } var sendOrder = XmlService <DocumentOrderResponse> .Serialize(order); EdiService.Send(SelectedRelationship.partnerIln, "ORDRSP", "", "", "", "", sendOrder, 20); var sql = SqlConfiguratorService.Sql_UpdateEdiDocSetIsInEdiAsORDRSP(order.OrderResponseHeader.OrderResponseNumber); DbService.Insert(sql); }
/// <summary> /// Отправить извещение об отгрузке в систему EDI /// </summary> /// <param name="advice">отправляемый заказ</param> internal static void SendDesadv(DocumentDespatchAdvice advice) { if (advice == null) { Utilites.Error("При отправке уведомления об отгрузке: не выбран заказ"); return; } if (advice.DocumentParties == null) { Utilites.Error("При отправке уведомления об отгрузке: отсутсвуют части документа(DocumentParties)"); return; } if (advice.DocumentParties?.Receiver == null) { Utilites.Error("При отправке уведомления об отгрузке: отсутствует отправитель"); return; } if (String.IsNullOrEmpty(advice.DocumentParties.Receiver.ILN)) { Utilites.Error("При отправке уведомления об отгрузке: у отправителя отсутствует GLN"); return; } if (SelectedRelationship == null) { Utilites.Error("При отправке уведомления об отгрузке: не выбран покупатель"); return; } if (SelectedRelationship.partnerIln == null) { Utilites.Error("Невозможная ошибка: у покупателя отсутствует GLN (звоните в IT-отдел!)"); return; } if (advice.DocumentParties.Receiver.ILN != SelectedRelationship.partnerIln) { Utilites.Error("Нельзя отправить документ другому покупателю! Выберите соответствующего документу покупателя и повторите отправку."); return; } var doc = XmlService <DocumentDespatchAdvice> .Serialize(advice); EdiService.Send(SelectedRelationship?.partnerIln, "DESADV", "", "", "", "", doc, 200); var sql = SqlConfiguratorService.Sql_UpdateEdiDocSetIsInEdiAsDESADV(advice.DespatchAdviceHeader.DespatchAdviceNumber); DbService.Insert(sql); }