Очень часто программисты сталкиваются с проблемой автоматического переноса справочников из одной конфигурации в другую. Ведь при переводе учета на другую конфигурацию ручной перенос справочников занимает очень много времени. Автоматизировать это можно двумя способами. Это выгрузка справочника в текстовый файл из исходной конфигурации, а потом загрузка в требуемую конфигурацию. Второй способ (о котором я хочу рассказать) те же выгрузка и загрузка, только с использованием файла базы данных DBF. Предлагаю рассмотреть на примере. Есть исходная конфигурация со справочником «Товары». В справочнике три реквизита: «Код», «Наименование» и «Цена». Также есть требуемая конфигурация со справочником «ТМЦ», в которой такие же три реквизита. Реквизит «Цена» - периодический. В исходном справочнике элементы разбиты на группы. Количество уровней – два. Опишу последовательность действий. Сначала на жестком диске создаем папку для выгрузки/загрузки. Потом создаем обработку для экспорта. С помощью функции «СоздатьОбъект» создаем объект «XBase». Добавляем поля со свойствами реквизитов справочника. Задаем имя DBF файла с указанием пути папки выгрузки/загрузки, в него будут выгружаться элементы. Открываем его. С помощью функции «СоздатьОбъект» создаем объект «Справочник.Товары». Выбираем элементы. В цикле в созданную БД добавляем запись. Полям БД присваиваем значения соответствующих реквизитов справочника с помощью метода «УстановитьЗначениеПоля». Заходим в программу 1С, запускаем получившуюся обработку. В папке выгрузки/загрузки появится DBF файл с именем, которое Вы указали в обработке. Теперь создаем еще одну обработку для загрузки из DBF файла. В ней открываем полученный в процессе выгрузки DBF файл. Проходим по всем записям БД, начиная с первой. При каждой следующей записи в справочнике «ТМЦ» проверяем, нет ли уже в справочнике элемента с кодом из БД. Если нет - создаем новый элемент. Присваиваем реквизитам справочника «ТМЦ» соответствующие значения полей БД. Если есть периодические реквизиты, необходимо установить дату, на которую их записывать. Сохраняем каждый элемент справочника с помощью метода «Записать». Заходим в программу 1С и запускаем обработку. Если все сделано верно, в справочнике «ТМЦ» должны появиться записи из исходного справочника «Товары». Таким же образом можно переносить и документы. Правда, придется создавать две БД. Первая для переноса шапки документа, вторая для строчной части. Желаю всем удачи! Если возникнут вопросы, Вы всегда можете задать их на форуме.
С уважением Владислав Кучма
|