Как правильно перенести отраслевое решение с 1С 7.7 на 1С 8.3 с сохранением возможности обновлений

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет Сфера услуг, туризм и социальный сектор
← На главную

Переход с платформы 1С 7.7 на 1С 8.3 для тиражного решения — это не просто перенос кода, а полная смена архитектуры. Ситуация осложняется, если у вас более 200 клиентов, работающих на глубоко модифицированной конфигурации (например, «Общепит»), и вам необходимо обеспечить им регулярные обновления вслед за изменениями законодательства (особенно актуально для Республики Беларусь). Рассмотрим подробную стратегию того, как реализовать этот переход максимально эффективно.

Выбор базовой конфигурации: фундамент системы

Первым делом проанализируем, на какой базе строить новое решение. Писать систему с нуля (вариант «нетленки») для учета, включающего бухгалтерию и зарплату, в современных реалиях нерационально. Вы не сможете в одиночку оперативно отслеживать изменения законодательства РБ, такие как формы ЭСЧФ, ЭТТН или алгоритмы расчета налогов.

Наиболее правильный путь — взять за основу типовую конфигурацию Бухгалтерия для Беларуси (на базе БСП). Рассмотрим, почему это важно:

Стратегия разработки: сохраняем типовой функционал чистым

Главная проблема при доработке типовых конфигураций — сложность последующих обновлений. Чтобы избежать «кошмара» при обновлении 200 баз, проанализируем современные инструменты платформы 8.3:

1. Использование расширений конфигурации

Расширения позволяют добавлять новые справочники, документы и реквизиты, не меняя основную конфигурацию. В современных версиях платформы (8.3.15+) расширения позволяют даже хранить данные в собственных таблицах БД. Рассмотрим преимущества:

2. Подписки на события

Если вам нужно изменить логику проведения стандартного документа (например, изменить проводки Реализации товаров и услуг под специфику общепита), не нужно править модуль объекта. Используем Подписки на события. Рассмотрим пример реализации:


// В отдельном общем модуле создаем процедуру-обработчик
Процедура ПриЗаписиДокументаДляОбщепита(Источник, Отказ) Экспорт
    Если Источник.ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;
    
    // Добавляем логику формирования дополнительных записей в регистры
    // Источник — это сам документ
КонецПроцедуры

Создав подписку на событие ОбработкаПроведения, вы сможете дополнять или корректировать движения документа, не внося ни одной строчки кода в типовой модуль.

3. Вынос логики в собственные общие модули

При необходимости написания сложной калькуляции или логики списания ингредиентов, создадим свои общие модули (например, _ОбщепитСервер). Посмотрим на этот подход: даже если вам пришлось вызвать свою функцию из типового кода, это будет всего одна строка. Однако, используя расширения и аннотации &После или &Вместо, можно избежать и этого.

Архитектурные особенности учета в Общепите

Перенося функционал с 7.7, важно понимать различия в архитектуре. В 7.7 часто всё строилось на одной табличной части и бухгалтерских итогах. В 8.3 проанализируем следующие возможности:

  1. Регистры накопления: Для оперативного учета остатков продуктов, калорийности и химического состава блюд используем регистры накопления, а не только план счетов. Это обеспечит высокую скорость отчетов.
  2. Дополнительные реквизиты и сведения: Если клиенту нужно добавить пару полей (например, «Номер столика»), используем типовой механизм Дополнительные реквизиты и сведения, который вообще не требует программирования.
  3. Динамические формы: Вместо изменения типовых форм документов, рассмотрим программное добавление элементов на форму в событии ПриСозданииНаСервере через расширение. Это гарантирует, что при обновлении формы вендором ваши элементы не пропадут.

Организация процесса обновлений для 200 клиентов

Рассылка файлов вручную — это путь к деградации продукта. Разберем, как автоматизировать этот процесс:

Создание собственной поставки

Вы создаете Конфигурацию поставщика. Ваши клиенты будут иметь две поддержки: от фирмы 1С (типовая бухгалтерия) и от вас (отраслевой модуль). Это позволяет выпускать файлы обновлений .cfu, которые будут содержать только ваши изменения.

Автоматизация рассылки

Проанализируем возможность создания простого веб-сервиса (сервера обновлений). В конфигурацию клиентов добавим небольшую обработку, которая при запуске:

Специфика Республики Беларусь

При разработке под РБ учтем, что в конфигурации Бухгалтерия для Беларуси активно используется БСП. Посмотрим на критические точки:

Резюме для разработчика

Рассмотрим краткий алгоритм действий:

  1. Берем актуальную Бухгалтерия для Беларуси 2.1 (на управляемых формах).
  2. Создаем Расширение, в которое переносим уникальные объекты из 7.7 (Справочник Рецептуры, Регистр ОстаткиПродуктов и т.д.).
  3. Логику калькуляции выносим в отдельные модули в расширении.
  4. Стыковку с типовыми документами (например, списание продуктов при продаже) реализуем через Подписки на события.
  5. Для 200 клиентов внедряем механизм автоматической проверки обновлений с вашего HTTP-сервера.

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

← На главную