Все элементы сразу после загрузки из файла должны получить такой статус. Он означает, что сервер должен проанализировать данные из документа и найти в Логусе соответстующие для разнесения счета.
По ИНН нужно попытаться найти компанию, если компания найдена, её номер счёта подставляется в счёт-получатель.
Если в настройке указан флаг "Разносить оплату по броням", то дополнительно следует произвести ещё следующие действия:
По числовым комбинациям в назначении платежа следует попытаться определить номер брони, которой скорее всего соответствует этот платёж. Шаблоны нумерации примерно следующие (нужно предусмотреть их поиск через Regex):
123456-1
1234567/12
12345678-12
Т.е. 6-8 цифр, затем суффикс в виде дефиса или слэша, затем 1-3 цифры.
Далее из этих номеров следует вычленить номер брони, отбросив суффикс и всё что после него. После этой операции анализируем, сколько разных номеров броней встретилось в назначении платежа.
Если ровно 1, то загружаем бронь с таким номером, убеждаемся что она находится в статусе IN, TMPOUT или RES, убеждаемся что у брони указана компания-плательщик и она совпадает с плательщиком из банковской выписки (её номер был проаналищирован на предыдущем шаге), и если так, то устанавливаем эту бронь в качестве получателя безналичного платежа (т.е. в этом случае цепочка такая - банковским платежом деньги падают на компанию, а затем безналичным платежом происходит оплата этой брони).
Оплата должна попасть на счёт с номером, указанном в соответствующей документу строке. В случае успеха статус нужно изменить на "Обработана", в случае ошибки - на статус "Ошибка" и в специально отведённое поле дописать текст ошибки.
Каждая строка должна обрабатываться отдельной транзакцией и не прерывать работу загрузки в случае ошибки в одной из записей.
Такие записи не подвергаются никакой обработке
Указывает, что запись уже была обработана и повторно её загружать не нужно, тоже пропускаются