Менеджер переноса справочника номенклатуры. Менеджер переноса справочника номенклатуры Менеджер переноса справочника номенклатуры

Перенос различных данных является очень значимым действием в любой системе учета на платформе 1С. Перед тем как осуществлять экспорт справочника в другую базу, необходимо сделать резервное копирование, потому что выполненные изменения считаются необратимыми.

Самый популярный и при этом достаточно простой способ переноса справочника в 1С 8.3 -выполнить обработку информационных данных в XML виде.

Для выполнения этой задачи потребуется использовать файл обработки выгрузка/загрузка для 8.2 или для 1С 8.3. Такой способ является универсальным и самым оптимальным, подходит практически для любой установленной конфигурации.

Выгрузка данных

Для этого первоначально потребуется зайти в интерфейс программы и выполнить ряд действий:

1. Заполнить поле «Имя файла». При помощи данного пути будет впоследствии создан файл информационных данных для загрузки в базу.

2. В области таблиц «Данные для выгрузки» выбрать информацию из справочника, которую требуется выгрузить из имеющейся базы.

3. После этого, когда необходимые объекты выделены, произвести наложение отбора в правой части таблиц.

4. После завершения установки всех требуемых настроек выполнить экспорт справочника.

Загрузка данных в справочник

Чтобы в 1С перенести справочники, потребуется выполнить ряд действий:

1. Запустите обработку в базе, куда требуется загрузить информационные данные, и воспользуйтесь вкладкой «Загрузка».

2. Затем выберите ранее выгруженный файл и используйте команду «Загрузить данные».

После выполнения этого действия миграция справочника из одной базы в другую считается полностью завершенной.

Предположим, вам необходимо выгрузить справочник «Номенклатура» из базы данных 1С: Предприятие. Причин для этого может быть множество, например перенос справочника в пустую базу или создание прайс-листа. Рассмотрим простейший способ выполнения данной задачи.

Вам понадобится

  • база данных

Инструкция

  • 1С: предприятие позволяет выгрузить любой справочник, не прибегая к написанию сложных обработок загрузки/выгрузки, пользуясь только встроенными средствами. Для начала нам необходимо определиться, в каком формате мы хотим получить данные:*.mxl – внутренний формат табличных данных 1С, подходит для загрузки в другую базу данных 1С;*.xls – электронные таблицы Excel;*.pdf – электронный документ Adobe Reader;*.html – веб-страница для публикации в интернете;*.txt – простой текстовый файл, пригодится для загрузки в любую базу данных.Если справочник иерархический, то в форматы *.mxl и *.xls список выгрузится с сохранением иерархии и с возможностью свернуть/развернуть группы. Во все остальные форматы выгрузка произойдет простым списком, с перечислением элементов группы после ее наименования.

  • Откроем справочник, который нам необходимо выгрузить. В нашем случае это «Номенклатура». Операции -> Справочники -> Номенклатура. Можно выгрузить не весь справочник, а только определенную группу, для этого нужно зайти в эту группу. При больших объемах данных имеет смысл выгружать по группам в разные файлы, для ускорения работы.

  • На любой строке открывшегося списка щелкнем правой кнопкой мыши и выберем пункт «Вывести список». Появится окошко настроек.

  • В окошке настроек оставим флажки только для тех полей, которые нам нужны в конечном документе. В поле «Выводить в …» оставим пункт «Табличный документ» (можно выбрать и «Текстовый документ», но табличный более универсальный). Нажимаем кнопку «ОК».
  • На экране появится табличный документ со списком номенклатуры. Установим курсор мыши на одну из ячеек документа, для этого достаточно щелкнуть мышкой на первой ячейке.
  • Для дальнейшей работы файл необходимо сохранить. Выбираем в меню Файл -> Сохранить копию. Пункты «Сохранить» и «Сохранить как…» можно выбрать, только если вы сохраняете во внутренний формат 1С.
  • В появившемся окошке пишем имя файла и выбираем нужный нам формат. Если объем данных очень большой (более 10 тысяч строк), то между табличными форматами *.mxl и *.xls стоит предпочесть первый – это существенно ускорит сохранение документа. Также нужно помнить, что в Excel существует ограничение по количеству строк:в Excel ниже 97 – не более 16384 строк;в Excel 97-2003 – не более 65536 строк;в Excel 2007 и выше – не более 1048576 строк.
  • Нажимаем кнопку «Сохранить». Наша задача выполнена.
  • Выполняя переход с Бухгалтерии 7.7 (Предприниматель 7.7) на Бухгалтерию 8.2 иногда возникает ситуация, когда требуется выполнить перенос из нескольких баз на семерке (например две бухгалтерии и одна предприниматель), плюс уже ведется учет по магазину в рознице 1.0.

    Допустим, нам нужно перенести данные из семерок в одну Бухгалтерию 8.2 и настроить обмен с розницей.

    Все было бы ничего, но возникает вопрос, как переносить номенклатуру, если в каждой из баз ее несколько тысяч, причем вся номенклатура сходна по наименованиям, имеет сложную иерархию групп. Перенос 1с 8 версии стандартным методом привел бы к полной неразберихе в справочнике.

    Одним из вариантов решения, в таком случае, будет перенос номенклатуры каждой базы 7.7 в отдельную группу номенклатуры. Это можно сделать и вручную, но тогда возникают проблемы при повторном переносе, так как из-за изменившейся структуры групп в справочнике появляются элементы и группы, дублирующие уже существующие. Повторный же перенос может понадобиться, если например, остатки были перенесены на начало года, а закрытия еще доделывались в базах семерок, для переноса изменившихся остатков. При этом не забудем, что в нашем случае есть база розницы также имеющая номенклатуру, которую требуется закачать.

    Для решения этой проблемы потребуется немного изменить стандартные правила конвертации. Стандартные правила и выгрузку можно взять из конфигурации бухгалтерии 8.2: макеты справочника КонвертацииИзИнформационныхБазПредыдущихВерсий.

    Для конфигурации Предприниматель по этим правилам справочник номенклатуры переносится без изменения структуры групп, для Бухгалтерии - автоматически создаются группы Материалы, Продукция, Товары, Услуги, Полуфабрикаты и номенклатура распределяется в зависимости от ее типа по этим группам.

    Внести нужные изменения несложно с помощью конфигурации «КонвертацияДанных». Порядок действий следующий:

    • Создайте новую конвертацию и выберите конфигурацию источник и приемник (для их создания нужно запустить в базах обработки для выгрузки структуры, это файлы MD77Exp.ert и MD82Exp.epf, они идут в составе поставки конфигурации конвертация данных).


    В обработчике прописано, что если элемент находится в корне справочника, то конвертация его родителя выполняется с помощью правила «ГруппаНоменклатуры».

    Код передающий обработку родителя правилу «ГруппаНоменклатуры»:

    ИсходящиеДанные = СоздатьОбъект(" СписокЗначений " ) ; ИсходящиеДанные. Установить(" Наименование " , ИмяГруппы) ; ИмяПКО = " ГруппаНоменклатуры " ; Значение = " 1 " ;

    Это правило находим в разделе «ДополнительныеСведения», нас интересует только правило для реквизита «Родитель». Для выполнения нашей задачи (перенести в итоге все в одну группу) нам понадобится в обработчике «Перед выгрузкой» родителя в правиле «ГруппаНоменклатуры» прописать следующий код и создать соответствующее (я назвал его «КорневаяГруппаНоменклатуры») правило конвертации:

    Новое правило конвертации:

    Для наименования ставим флаг «Получить из входящих данных», родитель - пустое значение, это группа равно единица.

    Результат конвертации будет выглядеть следующим образом:

    Аналогично меняем конвертацию для базы Предприниматель, отличие лишь в том, что там нет автоматически создаваемых групп и правила «ГруппаНоменклатуры», а обработчик вызова ПКО «КорневаяГруппаНоменклатуры» прописывается для родителя в правиле переноса самой номенклатуры. В результате, после переноса из двух баз, в Бухгалтерии 8.2 создадутся две группы в справочнике номенклатуры, для каждой фирмы своя и при повторных выгрузках, при условии, что данная структура групп не будет меняться вручную, элементы не задвоятся, и пользователи не будут путаться с номенклатурой.

    В заключении, хочу добавить, что в моем случае, когда есть еще и обмен с розницей, сначала для пустой базы Бухгалтерии 8.2 нужно настроить и выполнить первый обмен с ней (при этом для обоих баз настроить префиксы), а уже после этого загружать данные из баз семерки, иначе, ранее перенесенная структура номенклатуры в базе бухгалтерии будет изменена.

    Наверное, каждый специалист по 1С сталкивался с ситуацией необходимости перенести данные из одной информационной базы в другую. В том случае, когда конфигурации разные, приходится писать правила конвертации данных. Данные правила создаются в конфигурации 1С «Конвертация данных».

    Так же данные можно переносить при помощи . Во многих конфигурациях 1С 8.3 есть типовой функционал для настройки синхронизации данных между различными конфигурациями и бесшовная интеграция с 1С Документооборот.

    Но когда данные необходимо перенести данные между абсолютно идентичными конфигурациями, можно упростить себе задачу и воспользоваться стандартной обработкой выгрузки и загрузки через XML. Обратите внимание, что такой способ, как и конвертация данных сопоставляет между собой объекты по уникальному идентификатору (GUID), а не по наименованию.

    Скачать данную обработку можно на диске ИТС, либо по ссылкам:

    Она является универсальной и подойдёт для любой конфигурации.

    Рассмотрим пример выгрузки справочника «Номенклатура» из одной информационной базы 1С 8.3 Бухгалтерия 3.0 в другую. Обязательным условием будет отбор по родителю (группе) «Деревообработка».

    Выгрузка данных из 1С в XML

    Зайдите в ту информационную базу, откуда будут выгружаться данные (источник). Обязательно проверьте их, предусмотрев все возможные условия во избежание возникновения нежелательных последствий.

    Откройте обработку выгрузки и загрузки данных XML (Ctrl+O).

    Нас интересует вкладка «Выгрузка». Первым делом укажите имя файла, в который будут выгружены данные и путь для сохранения. В данном случае данные выгружаются «В файл на сервере».

    В шапке обработки настраивается период, по которому будет осуществляться отбор. Так же, для периодических регистров можно указать способ применения отбора по периоду. В случае необходимости выгрузки движений вместе с документами, устанавливается соответствующий флаг. В данном случае мы перегружаем справочник, поэтому в шапке ничего настраивать не нужно.

    Перейдем к выбору данных для выгрузки. В табличной части формы обработки отметьте флажками те объекты конфигурации, которые вам нужно перенести.

    Колонка «Выгружать при необходимости» означает, необходимо ли перегружать данный объект, если на него ссылается реквизит перегружаемого нами справочника. Например, позиция перегружаемой вами номенклатуры имеет такую единицу измерения, которой нет в базе – приемнике. Если напротив справочника с единицами измерения будет установлен флаг в колонке «Выгружать при необходимости», создастся новая позиция. В противном случае в качестве значения реквизита будет надпись «<Объект не найден>» и его уникальный идентификатор.

    В простом случае без отборов настройка перегрузки номенклатуры будет выглядеть следующим образом.

    В данном примере нужно отобрать только ту номенклатуру, которая находится в папке «Деревообработка».

    Аналогичная обработка для 8.2 позволяет в удобной форме устанавливать отборы для каждого объекта конфигурации. В 8.3, к сожалению, такого функционала нет. Одним из вариантов выхода в данной ситуации будет отбор необходимых позиций на вкладке «Дополнительные объекты для выгрузки».

    Добавить объекты здесь можно как вручную (кнопка «Добавить»), так и запросом («Добавить запросом…»). При большом их количестве предпочтительнее второй вариант.

    В данном случае запрос будет следующим. Заполните параметры, выполните запрос, проверив данные, и нажмите на кнопку «Выбрать результат».

    После того, как вы указали все необходимые объекты и дополнительные элементы для выгрузки, нажмите на кнопку «Выгрузить данные». Они попадут в XML файл, имя и путь нахождения которого указывали ранее. Результаты данной операции отобразятся в сообщениях.

    В данном примере необходимо было выгрузить только 3 позиции, но выгрузилось пять. Всё потому, что напротив справочника «Номенклатура» в колонке «Выгружать при необходимости» был установлен флаг. Вместе с нужными позициями перегрузились их родители.

    Загрузка справочника из XML

    После успешной выгрузки данных из конфигурации – источника в XML файл, откройте базу – приемник. Структура объектов и их реквизитов должны совпадать между собой. В данном случае перенос осуществляется между двумя типовыми конфигурациями 1С:Бухгалтерия 3.0.

    Откройте обработку в базе – приемнике. Данная обработка используется как для выгрузки, так и для загрузки данных. Перейдите на вкладку «Загрузить» и укажите путь к XML файлу, в который ранее были выгружены данные. После этого нажмите на кнопку «Загрузить данные».

    Результат загрузки отобразится в сообщениях. В нашем случае всё прошло успешно.

    Справочник «Номенклатура» в базе – приемнике не был заполнен. Теперь в нем пять элементов: три номенклатурных позиции и две группы.

    Я поставил перед собой задачу сделать такой перенос, чтобы:

    1. Он переносил товары между основными типовыми конфигурациями 1С
    2. Был чрезвычайно прост в использовании
    3. Позволял делать отбор по списку групп
    4. Позволял делать отбор номенклатуры по списку документов
    5. Не требовал настроек по согласованию, сам определял тип конфигурации
    6. Согласовывал новые товары с уже имеющимися в базе
    7. Мог использоваться в задачах постоянного согласования товаров

    Мой перенос позволяет делать выгрузку-загрузку номенклатуры в любом направлении между конфигурациями:

    1С:Бухгалтерия 7.7 типовая, 1С:Бухгалтерия 7.7 УСН, 1С:Торговля и склад 7.7, 1С:Предприятие 7.7 Комплексная конфигурация. Также он позволяет выгружать товары из 1С:Управление торговлей 8.1 (10.3)

    Настроек не требуется, кроме указания папки обмена и выбора режима выгрузки товаров: весь справочник, по списку групп, по списку документов. Документы можно выбирать одновременно различного типа, выборочно или все за некоторый период.

    При загрузке также выбирается папка обмена и указывается режим согласования справочника номенклатуры: по коду, по наименованию, по наименованию и артикулу, по комментарию, по коду переноса.

    Режим согласования "по комментарию" используется для загрузки товаров из УТ:8. При этом, код товара записывается в комментарий, поскольку длина кода может не совпадать с длиной кода в справочниках конфигурации 7.7. Режим согласования "по коду переноса" требуется в том случае, если в справочнике номенклатуры имеется дополнительный реквизит "КодПереноса".

    ОГРАНИЧЕНИЯ НА ИСПОЛЬЗОВАНИЕ

    Программисту Выложенная версия позволит коллегам-программистам без труда выполнить поставленную клиентом задачу по выгрузке-загрузке товаров, например, при закрытии периода, переносу данных в новую базу, при переходе на другую конфигурацию. Ограничений на использование не имеется. Код открыт для изменений и доработок.

    Клиентам Для тех, кто оценил идею моей разработки и хочет использовать ее в работе своей фирмы, чтобы постоянно согласовывать справочники товаров по нескольким базам, например, между Торговлей и Бухгалтерией, для таковых имеется коммерческий вариант, включающая блок согласования. Выложенная здесь версия позволяет только копировать номенклатуру без согласования с уже имеющимися в базе товарами. Пишите в приват для получения более детальной информации.

    Также имеется расширение этой разработки, позволяющее переносить документы списком, за выбранный период. При этом, номенклатура, используемая в этих документах, выгружается автоматически и согласовывается с помощью этого переноса.

    Желаю всем успехов!

    Купи премиум доступ - поддержи наше Сообщество!

    Если Вы приобретаете премиум-аккаунт с этой страницы, то я, как автор, предоставляю Вам гарантированную скидку 10 % на все мои платные разработки, которые Вас заинтересуют... Для приобретения премиум-аккаунта перейдите по этой

    2024 logonames.ru. Финансовые советы - Портал полезных знаний.