В процессе сопровождения типовых конфигураций 1С, таких как «Бухгалтерия предприятия 3.0», программисты часто сталкиваются с дилеммой: удовлетворить просьбу пользователя об изменении длины стандартного поля (например, «Водительское удостоверение» или «Наименование») или сохранить конфигурацию на полной поддержке для упрощения обновлений. Рассмотрим детально, какие существуют способы решения этой задачи, проанализируем технические нюансы и выясним, как избежать типичных ошибок, таких как потеря данных или нехватка памяти при обновлении.
Это наиболее современный и предпочтительный метод. Начиная с версии платформы 8.3.18, механизм расширений позволяет изменять свойства существующих реквизитов основной конфигурации, включая их длину. Однако здесь есть важное ограничение, которое мы сейчас разберем.
Проанализируем понятие РежимСовместимости. Даже если вы установили последнюю версию платформы (например, 8.3.22), сама конфигурация может работать в режиме совместимости с более старой версией (например, 8.3.17). Чтобы расширение могло изменять длину стандартного реквизита, режим совместимости основной конфигурации должен быть не ниже 8.3.15. В последних релизах БП 3.0 этот режим постепенно повышается, что открывает новые возможности для разработчиков.
Пошаговый алгоритм действий в расширении:
РеализацияТоваровУслуг).ВодительскоеУдостоверение) и добавляем его в расширение.Если конфигурация находится в режиме совместимости, который не позволяет менять стандартные поля через расширения, или вы категорически не хотите вмешиваться в структуру метаданных, рассмотрим стандартный функционал БСП (Библиотеки стандартных подсистем).
Дополнительные сведения и реквизиты позволяют добавить практически любое поле к документу в режиме «1С:Предприятие» без захода в конфигуратор. Выясним преимущества этого подхода:
Минус данного способа заключается в том, что стандартные печатные формы не увидят это поле автоматически. В этом случае нам все равно придется использовать расширение, но уже только для того, чтобы перехватить процедуру печати и подставить значение из дополнительного реквизита.
Если расширения не помогают, а бизнес-логика требует изменения именно стандартного поля, приходится снимать объект с поддержки. Разберем, как сделать это с минимальными рисками.
При изменении длины реквизита в основной конфигурации помните: при каждом обновлении вам придется вручную контролировать этот объект. Если при сравнении и объединении вы случайно нажмете «Установить по умолчанию» для этого поля, платформа обрежет хвосты у всех данных в базе, которые превышают стандартную длину. Восстановить их можно будет только из копии.
Для минимизации ошибок при ручном обновлении рекомендуем использовать механизм сохранения настроек. Рассмотрим, как это работает:
// При обновлении через "Сравнить и объединить с конфигурацией из файла"
// настройте правила (снимите галочки с реквизита, длину которого не надо менять)
// и сохраните эти настройки в XML-файл (кнопка "Сохранить настройки").
// В следующий раз просто загрузите этот файл, чтобы не настраивать всё вручную.
Часто при попытке обновить измененную конфигурацию «Бухгалтерия предприятия 3.0» (особенно тяжелые релизы) программист видит ошибку нехватки памяти. Это происходит потому, что 32-битный процесс конфигуратора имеет ограничение в 2-3 ГБ адресного пространства.
Проанализируем ситуацию: современные конфигурации при сравнении метаданных требуют огромных ресурсов. Единственное надежное решение — переход на 64-битную платформу клиента. Она позволяет конфигуратору использовать всю доступную оперативную память сервера или рабочей станции. Если у вас 32-битная система, никакие «чистки кэша» или «оптимизации» не помогут при обновлении ERP или БП 3.0 со значительными изменениями.
В процессе обсуждения был затронут важный вопрос: нужно ли удалять патчи перед обновлением? Выясним причину возможных конфликтов. Патчи — это временные расширения от 1С. При автоматическом обновлении они удаляются сами. Однако при ручном обновлении через конфигуратор (когда база снята с поддержки) патчи могут остаться и конфликтовать с новым кодом основного релиза.
Рекомендация: перед началом процесса обновления через конфигуратор зайдите в список расширений и удалите все установленные исправления (патчи). Программа сама предложит их установить заново после успешного обновления, если они еще актуальны для нового релиза.
Подводя итог, проанализируем лучший путь решения задачи. Если платформа и режим совместимости позволяют — используйте только расширения. Это сохранит вашу базу на поддержке и позволит бухгалтерам обновляться «по одной кнопке».
Если же вы решили вносить изменения в основную конфигурацию, помните о следующих правилах: