При открытии новых юридических лиц нередко возникает необходимость переноса данных физических лиц между одинаковыми конфигурациями ЗУП. Обнаружил, что стандартных средств для такой задачи 1С не предлагает. Поэтому, решив свою задачу, делюсь инструментом с сообществом. Буду рад, если кому-то пригодится представленный в статье способ решения задачи.
Решение предполагает использование стандартной обработки «Универсальный обмен данными в формате XML», доступной в любом ЗУПе. Правила обмена созданы с помощью КД2. Они собирают данные физ лиц, размазанные в ЗУПах по разным объектам – паспортные данные, места работы, адреса, родственники и т.д. Решение не претендует на полную универсальность. При необходимости можно добавить к переносу ещё какие-то данные или оптимизировать правила в отношении быстродействия. Решение соответствует условиям поставленной задачи: облегчить перенос данных физических лиц между базами ЗУП. Идея этих правил в том, чтобы иметь возможность управлять данными выгрузки, исключая какие-то объекты в зависимости от особенностей ведения учёта. Недостающие сведения могут дозанесены в базе-приёмнике вручную при условиях, когда основной объём данных перенесён.
Сначала, для скорости, сделал правила для перегрузки по одному физ лицу, задавая его в параметрах, но потом доработал решение до более универсального - выгрузки произвольного количества физ лиц через файл.
Получился 3х этапный процесс:
Подробная инструкция ниже.
На 1 этапе - определение, кого будем переносить – нужно сформировать файл стандартной командой «Вывести список» из меню «Еще» формы списка справочника ЗУП «Физические лица»:
В списке можно отметить только выделенные элементы, за счёт чего и решается вопрос выгрузки произвольного количества физических лиц:
Список нужно вывести в табличный документ, если у кого-нибудь возникнет желание, то правила можно доработать и под чтение текстового документа.
В табличном документе обязательно должны быть колонки «ФИО» и «ИНН», остальные – по желанию.
Оставлены для удобства пользователей – не нужно снимать «лишние» галки. Если какой-то из обязательных колонок не будет, при выгрузке будет выведено следующее сообщение:
Табличный документ, во внутреннем формате 1С «.mxl» или в формате Excel «.xlsx», нужно сохранить в папке, доступной пользователю с сервера, потому что код обработчика из правил обмена выполняется на нём.
На 2 этапе – выгрузка из источника – используется обработка «Универсальный обмен данными в формате XML», в которую нужно загрузить правила обмена – файл в приложении.
Параметров у правил обмена 2:
Физлицо – наследие первого решения – для переноса данных одного физического лица.
Значение параметра может не заполняться, если задан второй параметр: «ФайлФизЛиц» в виде полного имени сохранённого ранее файла, включающего все каталоги.
Значение параметра также может не заполняться при задании первого параметра.
Для переноса данных по одному физ лицу первый шаг не нужен.
Если файл, заданный в параметрах, найти не удастся, будет выведено следующее сообщение:
Если не задать значения ни одного из параметров, будет выведено сообщение:
На вкладке «Дополнительные настройки» обработки нужно снять галку «Безопасный режим»:
В другом случае может возникнуть ошибка при попытке прочитать содержимое файла.
Режим запуска обработки «Универсальный обмен данными в формате XML» - «На клиенте» или «На сервере» - неважен.
На этом второй этап завершён. В итоге данные физ лиц из файла в параметрах будут сохранены в указанный при выгрузке файл в формате XML, пригодном для загрузки в другую базу.
На 3 этапе – загрузка в приёмник – никаких особенностей нет. Данные в формате XML просто загружаются в базу ЗУП – приёмник из файла, сохранённого на 2 этапе.
Решение проверено на конфигурациях ЗУП 3.1.32.66, 3.1.34.3, платформа 8.3.25.1546.
Вступайте в нашу телеграмм-группу Инфостарт