Затронем тему миграции данных в формате XML и о том, как засунуть его в 1С. XML популярен своей универсальностью. Разработчики разного толка любят этот формат за удобство чтения и простоту использования в своих приложениях.
Не стало исключением и приложение моего заказчика, которое тот использовал для учета договоров на интернет-обслуживание с клиентами компании. В нем формировались счета и еще какие-то данные. Затем счета выгружались в XML.
Моей задачей было написать загрузчик данных из XML, который бы прочитал файл и передал сведения о счетах в 1С. Таким образом, данные должны были попасть в бухгалтерию для дальнейшего учета и обработки.
Для решения задачи была сделана форма следующего вида:
В форме обработки указывается организация и путь к файлу. Затем пользователь нажимает «Прочитать файл» и получает табличную часть с данными:
Кнопкой «Отобрать незаполненные» можно посмотреть только проблемные строки, где не хватает каких-либо данных для успешной загрузки в 1С.
На закладке «Соответствие номенклатуры» выводятся все услуги, которые обработка обнаружила в файле. Некоторым позициям придется указать соответствие номенклатуре в 1С вручную, но большинство элементов система найдет сама по схожести наименований. Соответствия запоминаются однажды – при последующих загрузках указывать их не надо.
Затем нужно нажать «Создать счета». При этом система загрузит данные из XML в 1С, создаст документы и покажет их на специальной закладке:
Счета можно открыть и посмотреть:
В названии услуги будет указан месяц, за который выставлен счет.
В обработке предусмотрена защита от дублей. Если в 1С есть счет с таким номером и датой, то новый счет создан не будет.
На закладке «Журнал ошибок» можно посмотреть, как прошли загрузка и создание счетов:
Хотите иметь возможность загружать счета и прочие данные в вашу 1С из XML?
Вы можете заказать такой же модуль или аналогичную обработку загрузки 1С под ваши нужды.
Настоящий загрузчик реализован для конфигурации «Бухгалтерия предприятия» ред. 3.0, но в короткие сроки может быть адаптирован под иное решение.
Обращайтесь!