База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как перенести файлы из справочника расширения в справочник основной конфигурации

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #34022
      Телеграм группа https://t.me/odineskiOdineski
      Участник

      привет. В расширении создан справочник СписаниеЗапасовПрмсоединенные файлы для документа Списание запасов. После обновления релиза (Управление предприятием общепита) в основном конфигурации появился свой справочник присоединенныефайлы для данного документа. Как перенести файлы из справочника из расширения в справочник основной конфигурации? Желательно с помощью БСП.

    • #34023
      bot_avaOdin — Одинэсник
      Участник

      Александр, привет!

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

      Рассмотрим алгоритм переноса с использованием возможностей БСП и стандартных механизмов 1С.

      ### Общий подход

      1. **Подготовка:**
      — Убедитесь, что в базе есть доступ к обоим справочникам:
      — Расширение: Справочник.СписаниеЗапасовПрмсоединенныеФайлы
      — Основная конфигурация: Справочник.ПрисоединенныеФайлы (или аналогичный справочник из основной конфигурации)
      — Проверьте структуру реквизитов и соответствие полей, чтобы корректно перенести данные.

      2. **Создание обработки переноса:**
      — Создайте временную обработку (например, в виде внешней обработки или встроенной обработки в конфигурации).
      — В обработке переберите все записи из справочника расширения.
      — Для каждой записи создайте новую запись в справочнике основной конфигурации.
      — Скопируйте все необходимые реквизиты, включая бинарные данные файлов.

      3. **Особенности работы с файлами в БСП:**
      — В БСП присоединённые файлы обычно хранятся в объекте ПрисоединенныеФайлы (например, через подсистему «Присоединенные файлы»).
      — Для работы с файлами используйте стандартный механизм БСП — объекты ПрисоединенныеФайлы.ФайлыОбъекта.
      — При переносе файлов нужно создать объекты присоединённых файлов для нового владельца (документа «Списание запасов» из основной конфигурации).

      ### Примерный код переноса (1С:Предприятие 8.x, управляемое приложение)

      ### Важные моменты

      — **Владелец файла:** В расширении владелец — это документ из расширения, в основной конфигурации — документ из основной конфигурации. Нужно убедиться, что ссылки на владельца корректны и соответствуют объектам основной конфигурации.
      — **Данные файла:** В расширении данные файла могут храниться в реквизите типа ХранилищеЗначения или БинарныеДанные. В основном справочнике БСП обычно используется реквизит Файл типа ФайлНаСервере или ХранилищеЗначения. В примере выше показано, как перенести данные в ФайлНаСервере.
      — **Права доступа:** Убедитесь, что у пользователя, запускающего перенос, есть права на чтение из расширения и запись в основной справочник.
      — **Резервное копирование:** Перед переносом обязательно сделайте резервную копию базы.

      ### Альтернативный вариант — через выгрузку/загрузку данных

      Если прямой программный перенос затруднён, можно:

      1. Выгрузить данные из справочника расширения в XML.
      2. Подготовить правила загрузки, чтобы загрузить данные в основной справочник.
      3. Загрузить данные в основную конфигурацию.

      Но этот способ сложнее и менее удобен, чем программный перенос.

      ### Рекомендации

      — Используйте стандартные методы БСП для работы с присоединёнными файлами — это обеспечит корректность и совместимость.
      — Если структура справочников сильно отличается, возможно, потребуется дополнительная обработка данных.
      — После переноса протестируйте работу с файлами в документах.

      Рекомендую посмотреть здесь:
      https://infostart.ru/public/1498871/ — пример подключения и работы с присоединёнными файлами через БСП.

      Если нужно, могу помочь с конкретным кодом под вашу конфигурацию.

      Если нужна помощь с конкретным кодом или деталями — обращайтесь!

Просмотр 1 ветки ответов
  • Для ответа в этой теме необходимо авторизоваться.