private static Document ProcessWaybill(DocumentReceiveLog log, string filename) { if (log.DocumentType == DocType.Reject) { return(null); } var settings = WaybillSettings.Find(log.ClientCode.Value); if (log.DocumentSize == 0) { return(null); } // ждем пока файл появится в удаленной директории if (!log.FileIsLocal()) { ShareFileHelper.WaitFile(filename, 5000); } var doc = SessionHelper.WithSession(s => { var detector = new WaybillFormatDetector(); var result = detector.Parse(s, filename, log); WaybillFormatDetector.Process(s, result); return(result); }); // для мульти файла, мы сохраняем в источнике все файлы, // а здесь, если нужна накладная в dbf формате, то сохраняем merge-файл в dbf формате. if (doc != null) { Exporter.ConvertIfNeeded(doc, settings); } return(doc); }