/// <summary>
        /// Выполнить запрос к 1С.
        /// </summary>
        /// <typeparam name="T">Уберем потом.</typeparam>
        /// <param name="url">Относительный URL запроса.</param>
        /// <param name="data">Данные, передаваемые ва 1С.</param>
        /// <param name="requestTransform">Если что-то с умолчаниями запроса нужно поменять.</param>
        /// <param name="method">Метод запроса.</param>
        /// <returns>Информация о транзакции.</returns>
        protected C1Rescponse <T> Request <T>(string url, object data, Action <RestRequest> requestTransform = null, Method method = Method.POST)
        {
            Argument.Require(!string.IsNullOrEmpty(url), "URL метода пустой.");
            Argument.Require(data != null, "Переданные данные пустые.");
            string message = JsonConvert.SerializeObject(data);

            byte[] msgBytes         = this.ServiceApiEncoding.GetBytes(message);
            byte[] encodedSignature = CryptographyUtility.Sign(msgBytes);

            RestRequest request = new RestRequest(url, method);

            request.AddHeader("Content-type", "multipart/form-data");
            request.AddFileBytes("request", encodedSignature, "request.json", "application/json");
            requestTransform?.Invoke(request);
            IRestResponse <C1Rescponse <T> > response = this.ServiceApiClient.Execute <C1Rescponse <T> >(request);

            Argument.Require(IsSuccessStatusCode(response.StatusCode), "Возникла ошибка при выполнении запроса к 1С.", new Exception(response.Content));

            return(response.Data);
        }