Как вносить значительные изменения в типовую конфигурацию 1С, сохранив возможность ее обновления с минимальными трудозатратами

10.04.13

База данных - Обновление 1С

На любое требование конечного пользователя у специалиста НЕ должен мгновенно срабатывать рефлекс «хватай и кодируй».

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Основные принципы при внедрении КИС
.doc 49,00Kb
47 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Основные принципы при внедрении КИС.

 

Организационные мероприятия

 

  1. Снабдить пакетами типовой документации отделы, в которых проходит внедрение.
  2. Необходима схема документооборота внутри каждого отдела с ответственными за каждый документопоток.

 

Модификация типовых решений (Конфигурирование)

 

На любое требование конечного пользователя у специалиста НЕ должен мгновенно срабатывать рефлекс «хватай и кодируй».

 

Прежде чем браться за Конфигуратор, специалист должен задать себе два вопроса:

 

  1. Можно ли решить поставленную задачу штатными средствами прикладного решения, не внося изменений в конфигурацию?
  2. Можно ли для решения задачи использовать универсальные механизмы, встроенные в прикладное решение?

 

И только если ответом будет «нет, нельзя», необходимо задать себе третий вопрос:

3.            Каким образом модифицировать прикладное решение, чтобы не усложнить процесс дальнейшего сопровождения?

 

Практика (в том числе личная практика автора) показывает, что примерно в половине случаев до третьего вопроса дело не доходит. Конечные пользователи часто требуют срочных «доработок», в то время как их задачи прекрасно решаются штатными средствами прикладного решения или при помощи встроенных универсальных механизмов. Ключ к решению таких задач не в умении быстро писать качественный код, а в отчетливом понимании функциональных возможностей типового решения и методологий, заложенных в решение производителем.

Можно выделить несколько универсальных правил, следование которым позволит существенно облегчить жизнь разработчику (фирме франчайзи).

 

1)      Использовать механизм подсистем. Перед тем как приступить к внесению в конфигурацию изменений и доработок, необходимо создать корневую подсистему НовыеФункции и две подчиненные подсистемы МодифицированныеОбъекты и НовыеОбъекты (имена подсистем, разумеется, могут быть любыми). К первой из подчиненных подсистем следует отнести все объекты прикладного решения, которые в ходе работ подверглись модификации, ко второй — объекты, которые были добавлены в конфигурацию. Для чего это нужно? Это позволит в любой момент (в том числе и при сравнении и объединении с новой конфигурацией поставщика) быстро выделить из конфигурации все объекты, которые были изменены или добавлены.

 

2)      Использовать префиксы в именах добавляемых объектов. Имя любого объекта, добавляемого в конфигурацию, должно начинаться с префикса (например, мы хотим добавить регистр сведений для хранения информации о прогнозе погоды, он должен получить имя вида преф_ПрогнозПогоды). Разумеется, в синонимах объектов никаких префиксов не требуется. Для чего это нужно? Мы получаем гарантию, что имена «наших» объектов и имена объектов, добавляемых в конфигурацию поставщиком, ни при каких обстоятельствах не совпадут. Это правило применяется абсолютно ко всем объектам, свойствам и реквизитам, в том числе и к подсистемам.

 

3)      Не модифицировать экранные формы, созданные поставщиком. Если требуется внести изменения в экранную форму какого-либо объекта (например, элемента справочника), следует скопировать форму, созданную поставщиком, сделать необходимые доработки в скопированной форме и назначить ее основной формой объекта. Для чего это нужно? Во-первых, при установке обновлений поставщика не придется забивать себе голову настройкой режима объединения экранных форм. Во-вторых, в конфигурации всегда будет доступна «родная» форма поставщика, которую можно проанализировать на предмет внесенных поставщиком доработок и исправленных ошибок.

 

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

 

5)      Не вносить никаких изменений в те обработчики объектов, к которым можно получить доступ через механизм подписки на события. Например, если требуется изменить логику формирования движений документа (скажем, добавить движения по вновь созданным регистрам накопления), не нужно модифицировать код модуля документа. Вместо этого необходимо создать новую подписку на событие, в качестве источника указать искомый документ и событие ОбработкаПроведения, а управляющий движениями документа код поместить в привязанный к подписке обработчик. Для чего это нужно? При установке обновлений поставщика не придется забивать себе голову настройкой режима объединения модулей объектов, а после обновления рыскать по обновленным модулям в поисках волшебного ключевого слова «//{{MRG[».

 

6)      Использовать механизм хранилища конфигурации, даже если разработка ведется одним человеком и вносимые в конфигурацию изменения незначительны. Хранилище конфигурации — это не только инструмент групповой разработки. Это полная история сделанных изменений (а если разработчик не ленится писать комментарии, то и полное описание проделанной работы). Это возможность отменить любое неудачное действие и вернуться в состояние «за полчаса до того, как в мою голову пришла эта глупая идея». Наконец, хранилище позволяет установить обновление поставщика и выполнить все необходимые проверки в тестовой информационной базе, а затем обновить конфигурацию рабочей информационной базы буквально двумя кликами.

 

7)      Использовать: Внешние отчеты, Внешние обработки, Внешние печатные формы

 

8)      Не модифицировать интерфейсы, созданные поставщиком. При необходимости внесения добавлений в интерфейс поставщика: создаем Новый интерфейс со свойством Непереключаемый, и доп.свойствами на интерфейс разработчика с которым необходимо объединиться.

 

 

Основные принципы поддержки и доработки прикладных тиражных конфигураций «1С:Предприятие 8». Итак:

 

* если есть возможность вообще обойтись без внесения изменений в типовую конфигурацию, ее нужно использовать. «Изменения ради изменений» — верный путь к проблемам;

 

* если все-таки требуется изменить типовую конфигурацию, нужно постараться спроектировать решение таким образом, чтобы объекты типовой конфигурации остались нетронутыми. Не стоит брать в руки скальпель без веской на то причины;

 

* и наконец, если без прямой модификации объектов типовой конфигурации нельзя обойтись, нужно, по крайней мере, производить модификацию с умом и тщательно документировать все вносимые изменения. В кризисных ситуациях (без которых не обходится ни одно внедрение) подобные документы спасли профессиональную репутацию не одному десятку специалистов.

 

АВТОР: Никита Зайцев Дата публикации: 19.05.2008

Материал переработал: Фасоля Олег  Дата публикации: 27.08.2009

http://pcmag.ru/solutions/detail.php?ID=15107

 

Дополнение.

Демонстрационная конфигурация "Библиотека стандартных подсистем" – является Образцом:

  1. разработки объектов конфигурации
  2. назначения свойств объектам конфигурации
  3. оформления модулей (стилистика исходного кода, оформление комментариев)
  4. нетиповую конфигурацию необходимо начинать разрабатывать на базе конфигурации "Библиотека стандартных подсистем"

 

Технологические вопросы крупных внедрений – позволят реализовать оптимальное решение по производительности.

http://kb.1c.ru/

 

Стандарты с диска ИТС: «Система стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8»

 

Материал дополнил: Фасоля Олег  Дата публикации: 29.10.2011

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Обновление 1С Программист 1С v8.3 Бесплатно (free)

Как быстро починить обновление при ошибках в данных без использования внешних обработок.

вчера в 18:05    887    VetalDV    6    

2

Обновление 1С Программист 1С v8.3 Бесплатно (free)

При обновлении конфигураций ЕРП/КА/УТ типовыми обновлениями можно получить ошибку  Превышен максимальный расход памяти сервера за один вызов". С чем это связано? Рассмотрим исправление этой ошибки.

18.08.2025    3437    iolko    10    

19

Обновление 1С Системный администратор Программист 1С v8.3 Россия Абонемент ($m)

Внешняя обработка "Запуск процедур обновления" предназначена для запуска процедур обновления в типовых конфигурациях, а также в конфигурациях, где поддерживается типовой механизм обновления по подсистемам. Это может быть полезно тем, кто разрабатывает и поддерживает свои подсистемы на базе типового механизма. Тестировщики, разработчики.

1 стартмани

16.07.2025    1171    7    lastpioneer    0    

9

Рефакторинг и качество кода Обновление 1С Программист 1С v8.3 Бесплатно (free)

Проблемы и их решение из реальных проектов сложного обновления 1С, когда нужно было сохранить целостность данных, ускориться и уложиться в оцененные и утвержденные сроки.

02.07.2025    5255    1c-izh    9    

13

DevOps и автоматизация разработки Обновление 1С Системный администратор Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление холдингом Абонемент ($m)

Продолжаем делиться опытом ICL SOFT – в этой статье рассказываем о сложном обновлении сильно доработанной конфигурации "1С:ERP Управление холдингом с версии 3.1.8.15" до актуальной версии редакции 3.2. Публикации о сложных обновлениях, которые можно найти в открытых источниках, содержат мало подробной информации об использованных инструментах и решениях. Часто в них отсутствует информация о том, что находится под капотом этих решений. Будем рады, если наша статья окажется полезной

1 стартмани

01.07.2025    2904    vladimir_iclsoft    1    

22

Рефакторинг и качество кода Обновление 1С Программист 1С v8.3 Бесплатно (free)

Тестовая база обновлена через все ключевые релизы, всё протестировано, остатки сведены, вы готовы обновить «боевую» базу, но…по замерам для этого потребуется целая неделя, а у вас есть всего пара выходных. Знакомая ситуация? Расскажем, как увеличить скорость отработки промежуточных конфигураций!

18.06.2025    4571    1c-izh    14    

12

Обновление 1С Программист Стажер 1С v8.3 Бесплатно (free)

Наша компания перманентно занимаемся обновлением «старых» и, к тому же, сильно нетиповых конфигураций. Хочется поделиться опытом по работе с важным этапом подобных проектов — поиску и оптимизации промежуточных конфигураций 1С. Первый материал будет полезен начинающим специалистам 1С, а в последующих, надеемся, найдется интересная информация и для матерых разработчиков.

04.06.2025    4477    1c-izh    13    

17
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 10.04.13 18:10
Сообщение было скрыто модератором.
...
2. пользователь 10.04.13 18:13
Сообщение было скрыто модератором.
...
3. Новиков 292 10.04.13 19:23 Сейчас в теме
Демонстрационная конфигурация "Библиотека стандартных подсистем" – является

Образцом самой что ни на есть истинной лени разработчика демо-конфы. Мало того, собственные стандарты в оной в отдельных местах, НЕ соблюдаются.
4. Cifer 158 10.04.13 20:39 Сейчас в теме
Ну а как быть если важно быстродействие?
Вспоминается поговорка: заставь дурака богу молиться...
5. mosAdm 135 11.04.13 09:53 Сейчас в теме
Это статья не "Как вносить значительные изменения ..." а больше "Будь осторожен не нагадь". МИНУС МНЕ ОНА НЕ ПОНРАВИЛАСЬ.
6. AVK_Alex 4 17.04.13 13:57 Сейчас в теме
Я бы добавил п. 2.5. Рассказать ответственному с той стороны о трудностях последующего обновления / сопровождения. Так сказать, с одной стороны весов лежат плюсы (которые видит заказчик), с другой стороны - положить минусы. Пускай решает: а оно ему надо?
7. wingedmen 1 18.04.13 04:48 Сейчас в теме
Хоть статья и старая, но для некоторых очень полезная. Потому что, когда видишь, как "умельцы" дописывают в конфу то, что там и так есть, но в другом месте, только диву даешься. А несчастные клиенты этих "умельцев" чаще всего потом сидят на старых релизах и не обновляются, т.к. "умельцы" уже исчезли в неизвестном направлении, а передел "обратно" стоит не только денег, но и потерянного времени и информации и нервов...
Для отправки сообщения требуется регистрация/авторизация