В практике администрирования и поддержки решений на платформе «1С:Предприятие 8» нередко возникают ситуации, когда бизнес отказывается от использования специализированного (отраслевого) функционала. Например, компания приобрела программный продукт «Аренда и управление недвижимостью для 1С:Бухгалтерия 8», какое-то время вела в нём учёт, а затем передала бухгалтерию на аутсорсинг или просто решила вернуться к стандартному учёту. При возврате базы внутреннему бухгалтеру часто требуется привести конфигурацию к полностью типовому виду «1С:Бухгалтерия предприятия 3.0» (БП 3.0), а также объединить накопленные в разных базах данные.
В рамках этой статьи мы подробно разберем два ключевых вопроса:
---
Отраслевые решения, разработанные на базе БП 3.0 (такие как продукты от «ЭЛИАС ВЦ», «Софт-Портал» и др.), представляют собой надстройку над стандартной бухгалтерией. Это значит, что в базе присутствуют все типовые объекты 1С, но к ним добавлены уникальные справочники, документы, регистры и программный код. Наша задача — аккуратно «отрезать» отраслевую часть, сохранив при этом весь стандартный бухгалтерский и налоговый учёт.
Рассмотрим по шагам, как выполнить этот переход безболезненно.
Шаг 1. Анализ использования отраслевых объектов
Прежде чем предпринимать какие-либо действия в конфигураторе, необходимо выяснить, вводились ли в базу уникальные отраслевые данные. Если пользователи работали только со стандартными документами (например, РеализацияТоваровУслуг, ПоступлениеТоваровУслуг) и не использовали документы аренды, то процесс пройдёт максимально просто.
Для экспресс-анализа заполненности отраслевых таблиц мы можем запустить в режиме «1С:Предприятие» простой программный код (через внешнюю обработку или групповую обработку данных), который проверит наличие записей в отраслевых метаданных:
// Выясним, есть ли данные в отраслевых документах
Для Каждого Док Из Метаданные.Документы Цикл
// Предположим, что отраслевые объекты содержат в имени префикс разработчика или ключевое слово
Если СтрНачинаетсяС(Док.Имя, "Аренда") Или СтрНачинаетсяС(Док.Имя, "УН") Тогда
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 Ссылка ИЗ Документ." + Док.Имя;
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Сообщить("ВНИМАНИЕ: Найдены заполненные данные в документе: " + Док.Синоним);
КонецЕсли;
КонецЕсли;
КонецЦикла;
Если в ходе проверки выяснилось, что отраслевые документы и справочники использовались, нам потребуется предварительно перенести эти данные в стандартные аналоги (например, договоры аренды — в стандартный справочник ДоговорыКонтрагентов, а начисления аренды — перевыставить стандартными документами реализации).
Шаг 2. Резервное копирование
Перед любыми манипуляциями с конфигурацией в обязательном порядке создаем резервную копию базы данных (файл .dt или копия файла 1Cv8.1CD для файловой версии).
Шаг 3. Снятие с поддержки и подготовка типового файла конфигурации
Для успешного перехода нам понадобится файл конфигурации (.cf) типовой БП 3.0. Критически важно: версия (релиз) типового .cf должна в точности совпадать с версией БП, на которой базируется текущая отраслевая конфигурация. Узнать точную версию базового релиза можно в окне «О программе».
Выполняем следующие действия в конфигураторе:
Шаг 4. Загрузка типовой конфигурации
После снятия с поддержки у нас есть два пути интеграции типового решения:
Рассмотрим вариант с полной загрузкой как наиболее быстрый и чистый:
.cf БП 3.0 нужного релиза.После успешного применения изменений наша база становится полностью типовой. Теперь её можно без проблем обновлять в автоматическом режиме через стандартные сервисы «1С».
---
Вторая задача, озвученная автором темы — объединение данных двух баз «1С:Бухгалтерия 8». Чаще всего это требуется, когда учет по одной из организаций велся обособленно (например, у аутсорсера), а теперь его необходимо вернуть в общую базу, где уже ведется учет по другим юридическим лицам.
Проанализируем два основных сценария слияния баз.
Этот способ является наиболее простым и быстрым в реализации, но требует строгого соблюдения правил соответствия релизов. Обе конфигурации (база-источник и база-приемник) должны быть абсолютно одинакового релиза.
Для работы нам понадобится стандартная обработка ВыгрузкаЗагрузкаДанныхXML83.epf (её можно найти на диске ИТС или в каталоге установленного дистрибутива «Конвертации данных»).
Порядок действий:
Критически важный нюанс сценария А: Борьба с дублями по GUID
Обработка XML-переноса сопоставляет объекты по их уникальным внутренним идентификаторам (GUID). Если в базе-источнике и базе-приемнике вручную создавались одинаковые контрагенты, договоры или элементы номенклатуры, то после загрузки они не объединятся автоматически. В базе появится два одинаковых элемента с разными GUID (например, два контрагента «ООО Ромашка» с одинаковым ИНН).
Для исправления этой ситуации выполним следующие действия в объединенной базе:
Контрагенты), задаем правило сравнения (по совпадению ИНН и КПП) и выполняем поиск.Если базы имеют разные релизы или вы хотите полностью исключить появление дублей еще на этапе загрузки, лучшим решением станет использование конфигурации «Конвертация данных 2.1» (или 3.0).
С помощью этого инструмента мы можем гибко настроить правила поиска объектов:
Контрагенты настроим поиск по полям ИНН и КПП (вместо поиска по умолчанию по идентификатору).Номенклатура настроим сопоставление по реквизиту Артикул или по наименованию.ФизическиеЛица настроим поиск по СНИЛС или ИНН.При такой настройке в момент загрузки система сначала попытается найти объект в базе-приемнике по ключевым полям. Если объект будет найден, новые документы привяжутся к нему. Если объект отсутствует, программа создаст новый элемент.
---
Чтобы избежать хаоса в учете после объединения данных, рекомендуем придерживаться следующих правил:
Подводя итог, можно утверждать: задача по переводу отраслевой конфигурации на типовую БП 3.0 и последующее объединение баз вполне реализуемы штатными средствами платформы «1С:Предприятие». Главное — уделить должное внимание предварительному анализу структуры данных и тщательному тестированию результатов на копиях баз данных.