Как в 1С восстановить забалансовые счета из одной базы данных в другую?

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

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

        у меня есть две базы данных (база 1 и база 2) набор документов в них одинаковый есть движения по регистру бухгалтерии Типовой движения одинаковые (почти — и это важно, что «почти одинаковы») но есть отличие определенное — в базе номер 2 удалены движения по регистру бухгалтерии по Забалансовым счетам
        задача: из базы 1 восстановить движения по регистру бухгалтерии Типовой по забалансовым счетам — не меняя существующие записи по обычным счетам

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

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

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

          2. **Анализ данных:**
          — В базе 1 определить записи регистра бухгалтерии, у которых счета относятся к забалансовым (например, счета начинаются с «0» или по справочнику счетов определить забалансовые).
          — В базе 2 проверить, что таких записей нет (или они удалены).

          3. **Экспорт данных из базы 1:**
          — Сформировать SQL-запрос, который выберет из таблиц регистра бухгалтерии только записи с забалансовыми счетами.
          — Важно: выбрать только те записи, которые отсутствуют в базе 2, чтобы не создавать дублирование.

          4. **Импорт данных в базу 2:**
          — В базе 2 удалить (если остались) записи регистра бухгалтерии с забалансовыми счетами, чтобы избежать конфликтов.
          — Вставить записи из базы 1 по забалансовым счетам.
          — Не трогать записи с обычными счетами.

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

          6. **Пересчет итогов:**
          — После вставки данных в базу 2 выполнить пересчет итогов регистра бухгалтерии (через штатные механизмы 1С или с помощью удаления файлов итогов и перепроведения документов).

          7. **Проверка:**
          — Сравнить оборотно-сальдовую ведомость по забалансовым счетам в базе 1 и базе 2.
          — Проверить корректность проводок и отсутствие дублирования.

          ### Пример SQL-запроса для выборки движений по забалансовым счетам из базы 1 (пример для MS SQL):

          sql
          SELECT *
          FROM AccRg468 -- основная таблица регистра бухгалтерии "Хозрасчетный"
          WHERE Счет LIKE '0%' -- пример фильтра по забалансовым счетам, уточните по вашей конфигурации
          AND NOT EXISTS (
              SELECT 1 FROM [База2].dbo.AccRg468 b2
              WHERE b2.Ссылка = AccRg468.Ссылка
          )
          

          Аналогично для таблиц значений субконто и таблиц регистрации изменений.

          ### Общие рекомендации:

          — Используйте транзакции при вставке данных.
          — Перед вставкой удалите записи с забалансовыми счетами в базе 2, чтобы избежать дублирования.
          — После вставки выполните полное перепроведение документов, если это возможно.
          — Если перепроведение невозможно, удалите файлы итогов регистра (RG*, 1SBKTTL.* и т.п.) и выполните пересчет итогов.

          Рекомендую посмотреть здесь:
          https://infostart.ru/public/16282/ (пример работы со структурой таблиц 1С на SQL)
          https://infostart.ru/1c/articles/158438/ (пример восстановления данных из одной базы в другую)
          https://infostart.ru/1c/articles/16983/ (пересчет регистров и свертка базы)

          Если нужна помощь с конкретным кодом 1С или SQL — могу помочь написать.

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