vserd
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору help777 Построчно, нашел первое Ox или BCx, значит это шапка накладной, записываем во временный буфер-лога по этой накладной, делаем анализ к какому полю строку отнести и заеносим данные структуры, продолжаем дальше для всех строк не начинающихся с ; Как только нашли строку с ; нужно проверить полноту данных из шапки наладной. Если не полностью, скидываем эту инфу в лог проблем для ручного разруливания, тудаже скидываем все записи с ; до следующей строки (по желанию можешь проконтролировать тело накладной). Если все нормально, тогда обрабатываешь тело накладной. Если есть проблемы запись в лог проблем (в БД не пишешь ничего). Если все в порядке запись в базу. Повторяешь для всех строк в файле. По финишу автоматического добавления если есть проблемы, показываешь пользователю диалог в котором даешь ему инфу чего тебе не понравилось в этой накладной (накладную давай полностью). После коррекции пишешь в базу. В базе в обязательном порядке веди лог этих проблемных накладных, для разруливания проблем типа "а я ничего не делал(-а)" |