При выполнении задач по обновлению или сравнению конфигураций в среде 1С:Предприятие 8.3 программисты часто сталкиваются с ситуацией, когда в окне сравнения-объединения объект (например, документ) помечен как измененный, а в строке Стандартные реквизиты стоит отметка о различиях. Однако при попытке детально изучить эти изменения в окне свойств или дереве метаданных никакой разницы не обнаруживается. Разберем подробно, почему так происходит, и какими инструментами воспользоваться для выявления скрытых модификаций.
Прежде всего, проанализируем, что платформа 1С включает в понятие стандартных реквизитов. Это не только визуально понятные Номер или Дата. В зависимости от типа объекта метаданных (Справочник, Документ, План видов характеристик), состав стандартных реквизитов может включать в себя:
Ссылка (Reference)ПометкаУдаления (DeletionMark)Предопределенный (Predefined)Родитель (Parent) и Владелец (Owner)Наименование (Description) и Код (Code)Проведен (Posted)Для каждого из этих полей существуют свои свойства: Синоним, Проверка заполнения, Подсказка, Быстрый выбор. Разберем ситуацию: если разработчик в конфигурации поставщика изменил синоним для стандартного поля Ссылка (например, вместо стандартного «Ссылка» написал «Документ-основание»), платформа пометит узел Стандартные реквизиты как измененный. При этом в обычном списке реквизитов документа вы этого не увидите, так как эти свойства скрыты за отдельной кнопкой в палитре свойств объекта.
Рассмотрим первый и самый простой метод проверки. Для этого нам необходимо открыть свойства конкретного объекта (например, Документ.СчетФактураВыданныйАванс) в обеих сравниваемых конфигурациях.
Синоним, Использование или Проверка заполнения.Часто различия кроются в многоязычных синонимах. Если в вашей базе заполнен синоним только для русского языка, а в конфигурации поставщика — для английского, платформа зафиксирует различие, которое не всегда очевидно при беглом просмотре.
Если визуальный поиск в свойствах не принес результатов, воспользуемся мощным встроенным инструментом — текстовым отчетом. Окно сравнения-объединения в древовидном виде иногда группирует или скрывает мелкие детали, в то время как отчет выводит информацию максимально подробно.
Выполним следующие шаги:
В таком отчете платформа часто прямо указывает: «Стандартные реквизиты.Ссылка.Синоним: значения различаются». Это позволяет избежать ручного перебора всех полей в конфигураторе.
Иногда возникают ситуации, когда различия вызваны не логическими изменениями, а техническими особенностями хранения метаданных в XML-структуре. Например, изменился порядок следования тегов или версия платформы, в которой сохранялся объект, добавила новые служебные атрибуты.
Выясним причину с помощью внешних инструментов сравнения:
.cf).Проанализируем фрагмент структуры стандартных реквизитов, который может выглядеть примерно так:
<StandardAttributes>
<Item>
<Name>Ref</Name>
<Synonym>
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Ссылка на документ</v8:content>
</v8:item>
</Synonym>
<FillChecking>DontCheck</FillChecking>
</Item>
</StandardAttributes>
Сравнение на уровне кода файлов позволит увидеть даже «невидимые» для интерфейса 1С изменения, такие как лишние пробелы в описаниях или скрытые технические флаги ExtendedEdit и другие.
Проанализируем ситуацию, описанную в сообщениях форума, когда при повторном сравнении строка о различиях пропадает. Это классический признак проблем с кэшем конфигуратора. Платформа 8.3.13 (и соседние версии) иногда некорректно строит дерево сравнения из-за устаревших временных файлов.
Если вы подозреваете ошибку платформы, выполните следующие действия:
%LOCALAPPDATA%\1C\1cv8\).Также попробуйте выполнить сравнение не напрямую с «Конфигурацией поставщика» через внутреннюю ссылку базы, а предварительно сохранив конфигурацию поставщика в файл .cf и выбрав этот файл как объект сравнения. Это принудительно заставит платформу пересчитать хэш-суммы объектов.
Важно помнить, что на отображение стандартных реквизитов влияет Режим совместимости конфигурации. Если ваша база работает в режиме 8.3.10, а конфигурация поставщика выпущена для 8.3.14, то при сравнении платформа может пытаться «нормализовать» свойства под текущий режим. Это часто вызывает ложные срабатывания в узлах Стандартные реквизиты и Свойства документа (например, изменение длины номера или типа кода), даже если фактически разработчик ничего не менял.
Всегда проверяйте соответствие версий платформы и режимов совместимости перед началом процесса объединения крупных конфигураций, таких как 1С:Комплексная автоматизация 2 или ERP.
Подводя итог, если вы видите изменения в стандартных реквизитах, но не понимаете, в чем они заключаются, действуйте по следующему алгоритму:
.cf.Помните, что такие параметры как Длина номера или Периодичность номера являются свойствами самого объекта метаданных «Документ», а изменения внутри узла Стандартные реквизиты относятся именно к полям данных, создаваемым платформой автоматически.