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

Предположим, вам необходимо выгрузить справочник «Номенклатура» из базы данных 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 строк.
  • Нажимаем кнопку «Сохранить». Наша задача выполнена.
  • Перенос различных данных является очень значимым действием в любой системе учета на платформе 1С. Перед тем как осуществлять экспорт справочника в другую базу, необходимо сделать резервное копирование, потому что выполненные изменения считаются необратимыми.

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

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

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

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

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

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

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

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

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

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

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

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

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

    Перемещение товаров в общую группу номенклатуры осуществляется несколькими способами:

    • перемещение товаров посредством всплывающего командного меню (быстрый способ);
    • перемещение товаров посредством командного меню, которое расположено в верхней панели, над списком товаров номенклатуры (функциональный способ);

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

    • открыть необходимые товары для переноса, нажав левой кнопкой мыши (далее ЛКМ) на наименовании группы номенклатуры (если установлен фильтр по иерархии). Если фильтр товаров не установлен, то данное действие выполнять не требуется;
    • нажать правой кнопкой мыши (далее ПКМ) на выбранных товарах и во всплывающем меню выберите действие “Переместить в группу”;

    Рис. 1

    На экране появится окно, где необходимо выбрать новую группу номенклатуры для выбранных товаров. Нажмите на соответствующую группу номенклатуры ЛКМ и далее нажмите “Выбрать”.

    Рис.2

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

    • открыть необходимые товары для переноса, нажав ЛКМ на наименовании группы номенклатуры (если установлен фильтр по иерархии). Если фильтр товаров не установлен, то данное действие выполнять не требуется;
    • выбрать необходимые элементы в списке товаров. Для того чтобы выбрать все товары, зажмите кнопку левый Ctrl или Shift и левой кнопкой мыши выберите необходимые товары для переноса. Для того чтобы отменить выделенные товары, зажмите левый Ctrl + ЛКМ;
    • в командном меню верхней панели выберите пункт “Изменить выделенные”. В результате появится окно изменения выделенных элементов.

    Рис.3

    В форме имеются два столбца: “Реквизит (свойство) ” и “Новое значение ”. В столбце “Реквизит (свойство) ” напротив строки “Группа ” проставьте галочку. В строке “Новое значение ”, справа от строки “Группа ”, нажмите два раза ЛКМ. В результате строка будет активна для изменений. Нажмите на троеточие ЛКМ и в списке выберите необходимую группу.

    Рис. 4

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

    Рис. 5

    Назад Вверх

    Выполняя переход с Бухгалтерии 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С
    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 sun-breeze.ru
    Новые идеи бизнеса - Животные и растения. Заработок в интернете. Автобизнес