Формат входного файла XML в формате EnterpriseData, кодировка UTF-8. Файл содержит два типа документов:
Документ.СчетНаОплатуПокупателю – счёт на оплату Документ.РеализацияТоваровУслуг – УПД / реализация услуг
Также в файле присутствуют справочники:
Справочник.Контрагенты – покупатели Справочник.Организации – наши компании Справочник.Номенклатура – услуги Справочник.БанковскиеСчета – расчётные счета организаций
Пример файла прилагается.
Поля документов Счёт на оплату:
Номер, дата Организация (поиск по ИНН) Контрагент (поиск по ИНН) Расчётный счёт организации (по БИК + номер счёта) Валюта (643 = рубль) Табличная часть: наименование услуги, количество, цена, сумма без НДС, ставка НДС, сумма НДС, итого
Реализация товаров и услуг:
Номер, дата Вид операции: Услуги Организация (поиск по ИНН) Контрагент (поиск по ИНН) Расчётный счёт организации Валюта (643 = рубль) Признак проведения: Истина Табличная часть: наименование услуги, количество, единица измерения (штука, код 796), цена, сумма без НДС, ставка НДС, сумма НДС, итого
Правила сопоставления объектов Контрагент:
Искать по ИНН Если не найден – создать новый с заполнением: наименование, полное наименование, ИНН, КПП, ОГРН, юридический адрес, фактический адрес, телефон Если найдено несколько с одинаковым ИНН – брать первый, писать предупреждение в журнал
Организация (наша компания):
Искать по ИНН среди справочника Организации Если не найдена – выдавать ошибку, документ не создавать
Номенклатура:
Искать по наименованию (точное совпадение) Если не найдена – создать новую в группе «Загружено из SmartLog», тип «Услуга», единица измерения «шт» Проставлять признак «создано обработкой» через дополнительный реквизит если есть, иначе через комментарий
Расчётный счёт:
Искать по БИК и номеру счёта среди банковских счетов организации Если не найден – не заполнять, продолжить создание документа
Требования к реализации
Не использовать типовой механизм ВыгрузкаЗагрузкаEnterpriseData – только прямой парсинг XML через ЧтениеXML и явное создание объектов Парсить XML самостоятельно, не через XDTO Каждый документ создавать явно: Новый Документ.СчетНаОплатуПокупателю и Новый Документ.РеализацияТоваровУслуг Проверять дубли перед созданием: искать документ по номеру и дате, если найден – пропускать или обновлять (на усмотрение, но поведение должно быть настраиваемым) Вести журнал загрузки: что создано, что пропущено, что вызвало ошибку В конце показывать итоговый отчёт: сколько документов создано, сколько пропущено, список ошибок
Интерфейс обработки
Кнопка выбора файла Кнопка «Загрузить» Флажок «Проводить документы автоматически» Флажок «Обновлять существующие документы» Поле для вывода журнала загрузки