     case completed // COMPLETED=Задача завершена
     case interrupted_by_timeout // INTERRUPTED_BY_TIMEOUT=Задача отменена по таймауту
     case interrupted_by_system // INTERRUPTED_BY_SYSTEM=Задача отменена сервисом
+    case unknownState
 }
 
 public struct MSNotificationRetailShift: Decodable {

}

public class NotificationDataExchange: BaseNotification {
    public let message: String
    public let errorMessage: String?
    public let createdDocumentName: String?
    /// Тип экспорта

    
    required init(from decoder: Decoder) throws {
        let container = try decoder.container(keyedBy: ExportCompletedCodingKeys.self)
        self.message = try? container.decode(String.self, forKey: .message)
        self.errorMessage = try? container.decode(String.self, forKey: .errorMessage)
        self.createdDocumentName = try? container.decode(String.self, forKey: .createdDocumentName)
        self.taskType = (try? container.decode(TaskType.self, forKey: .taskType)) ?? TaskType.unknownTaskType
        self.taskState = (try? container.decode(TaskState.self, forKey: .taskState)) ?? TaskState.unknownState
        try super.init(from: decoder)
    }
}
