Размыкая круг: изменение логики проверки заполнения обязательных реквизитов при обновлении «1С:ERP УХ» на 3.2.8

16.04.26

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

Проект обновления «1С:ERP Управление холдингом» с 3.2.1 на 3.2.8 принёс задачку: логика проверки заполнения обязательных реквизитов «переехала» с момента проведения на этап первичной записи документа.

В нашем случае для проекта обновления «1С:ERP УХ» 3.2.1.83 → 3.2.8.9 со сложными интеграционными цепочками — это обернулось невозможностью записи документов ВерсияСоглашенияКредит: система требовала наличия данных, которые физически не могут появиться в документе до момента его фиксации в ИБ.
 

Для заполнения реквизита — документ должен быть записан, для записи документа — иметь заполненный реквизит

В конфигурации «1С:ERP УХ» клиента в документ ВерсияСоглашенияКредит был добавлен обязательный реквизит, необходимый для корректного проведения. Исторически сложилась следующая схема работы:

  1. Пользователь создает и записывает документ, реквизит не заполнен.
  2. Выполняется автоматизированный обмен данными с внешней системой.
  3. В процессе обмена добавленный реквизит заполняется программно.
  4. Только после этого документ становится доступен для проведения.

Но после обновления на релиз 3.2.8.9 запись документа стала невозможна. Система требовала заполнения реквизита уже на этапе записи, создавая «замкнутый круг»: для заполнения реквизита через обмен документ должен быть в базе, то есть записан, но записать его нельзя из-за отсутствия этого реквизита.

В ходе отладки было установлено, что в старом релизе 3.2.1.83 процедура ОбработкаПроверкиЗаполненияНаСервере в модуле формы документа вызывалась исключительно при проведении. В новом релизе проверка сместилась на этап записи.

Причиной стало изменение в общем модуле ДоговорыКонтрагентовФормыУХКлиент. В метод ПередЗаписьюВерсииСоглашения разработчиками вендора был добавлен следующий код:
 



 

Вызов Форма. ПроверитьЗаполнение() инициирует проверку массива проверяемых реквизитов непосредственно перед фиксацией записи в ИБ. Поскольку добавленный реквизит присутствовал в этом массиве, так как он обязателен для проведения, запись блокировалась.
 

«Размыкая круг» с &ИзменениеИКонтроль

Поскольку реквизит должен оставаться обязательным для проведения, удаление его из состава ПроверяемыеРеквизиты недопустимо. Решением стала адаптация типового кода через расширение с использованием аннотации &ИзменениеИКонтроль.

Алгоритм решения заключался в проверке режима записи документа. Если инициирована простая запись, не проведение, принудительный вызов Форма.ПроверитьЗаполнение() должен игнорироваться.

Добавление проверки режима записи позволило восстановить последовательность заполнения документа.

Вероятно, изменение типового поведения в новых релизах «1С: ERP УХ» в сторону ужесточения проверок при записи — это осознанный тренд вендора на повышение качества данных «в моменте».

Однако при наличии сложных интеграционных цепочек, где объект заполняется в процессе обмена, такие изменения требуют оперативной адаптации. Использование &ИзменениеИКонтроль в данном случае является наиболее безопасным методом, так как позволяет быстро отследить дальнейшие изменения этого метода со стороны вендора и, при необходимости, например, если клиент пересмотрит последовательность заполнения документа, легко откатиться к типовой логике.

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

обновление 1с 1С:ERP Управление холдингом 1С: ERP УХ

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструменты администратора БД Обновление 1С Системный администратор Разработчик 1С 8.3 Абонемент ($m)

Если обновление 1С уже падало с "Записи регистра сведений стали неуникальными", вы знаете, что платформа называет только первый такой регистр, и каждый следующий всплывает новым запуском обновления. Проверьте заранее: снимите слепок регистров в базе с новой конфигурацией и нажмите "Проверить" в рабочей. Обработка покажет все регистры сведений, где записи после обновления совпадут по измерениям, и сами группы таких записей: укороченная строка, меньше знаков после запятой, укрупнённая периодичность, убранный из составного тип. Удалённое измерение называет, но записи по нему не считает. Что разобрать не может, называет с причиной и в "дублей не найдено" не записывает. Только чтение, без доступа к таблицам СУБД.

10 стартмани

09.11.2026    214    0    nedomolkov.ivan    0    

3

Архивирование (backup) Обновление 1С Системный администратор Разработчик 1С 8.3 Бесплатно (free)

Платформа 8.3.17, MS SQL Server: обновление конфигурации падает через 15 секунд на этапе обновления предопределённых данных, и конфигуратор при каждом входе предлагает только повторить. Проверьте у себя, когда сделана последняя полная копия базы: у нас её не было почти месяц. Разбор по минутам: что не помогло (перезапуск агента сервера 1С, перезагрузка, пакетный /UpdateDBCfg, три совета со стороны) и почему. Как ibcmd достал .dt из базы, которая не открывается, и как новую базу подставили под старым именем в кластере 1С через rac, не трогая пользователей. Простой 57 минут, потерь данных нет. Отдельно ошибки ИИ-агента Claude, который работал на сервере, и порядок действий на случай, если это случилось у вас.

03.11.2026    674    nedomolkov.ivan    13    

5

Обновление 1С Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)

Вторая часть серии о переходе ERP 2.5 на 2.6. Я сравнил чистые выгрузки 2.5.27.88, 2.6.1.70 и 2.6.2.59 и выписал то, чего нет в официальных описаниях версий: какие экспортные методы удалены поимённо, какие документы больше нельзя создать и при каком условии, что переименовали без предупреждения. Из двенадцати механизмов, от которых отказывается 1С, к 2.6.2 удалены только два, а большая часть удалённого к ним не относится. Отдельно разбираю, почему перехватчики &ИзменениеИКонтроль ломаются на процедурах, где поменялся только английский текст, и почему доработки выгоднее готовить сразу под 2.6.2. Будет полезно разработчикам, которые сопровождают расширения и внешние обработки на ERP 2.5.27, и тем, кто планирует сроки перехода.

20.10.2026    1043    lexatsch    8    

8

Обновление 1С Разработчик 1С 8.3 1С 8.5 Абонемент ($m)

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

3 стартмани

19.10.2026    345    1    InShallaH    0    

3

Обновление 1С Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Бесплатно (free)

1С считает, что перейти с ERP 2.5 на 2.6 не сложнее, чем обновиться между версиями длительной поддержки, а обязательным переход станет не раньше 30 апреля 2027 года. Я решил проверить это заранее на нашей доработанной ERP 2.5.27, где есть два больших расширения и 517 внешних отчётов и обработок. Форма готовности нашла четыре механизма, которые надо перевести, а про код промолчала. Проверка применимости на чистой 2.6.1 выдала 478 проблем, и настоящих среди них меньше сотни. А сверка кода со словарём изменений нашла ещё 63 проблемы, которых проверка применимости вообще не видит. Часть из них не даст открыть модуль, остальные вылезут уже у пользователей. Рассказываю, как проверить применимость расширения к 2.6.1 без записи в базу, что ловит компилятор, что ломается чаще всего и чем это заменить.

16.10.2026    683    lexatsch    0    

3

Инструментарий разработчика Обновление 1С Разработчик 1С 8.3 Бесплатно (free)

Бесплатная внешняя обработка: до обновления типовой показывает, какие ваши внешние обработки и печатные формы после него упадут. Находит в их коде вызовы общих модулей и менеджеров типовой и сверяет каждый с текущей конфигурацией и с выгрузкой нового релиза: есть ли метод, экспортный ли, сходится ли число параметров. Обработки берёт из справочника или из папки .epf и .erf, без конфигуратора. У каждого вызова статус, строка и причина.

29.09.2026    1219    140    nedomolkov.ivan    2    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. 1c-izh 181 16.04.26 10:24 Сейчас в теме
Алгоритм решения заключался в проверке режима записи документа. Если инициирована простая запись, не проведение, принудительный вызов Форма.ПроверитьЗаполнение() должен игнорироваться.Алгоритм решения заключался в проверке режима записи документа. Если инициирована простая запись, не проведение, принудительный вызов Форма.ПроверитьЗаполнение() должен игнорироваться.
Прикрепленные файлы:
2. SemandCheb 1 16.04.26 16:29 Сейчас в теме
Добавьте еще хештег "1С:Управление холдингом 3.2"
user1805342; +1 – Ответить
3. eashabalin 03.06.26 17:12 Сейчас в теме
где объект заполняется в процессе обмена


через форму и команды записи? притянуто за уши. Но да, тоже пришлось спотыкнуться через это нововведение.

и ключевое не смог придумать ответа на вопрос - зачем?

Проведение, запись проведенного - платформа выполняет проверку заполнения документа.
Отмена проведения - не выполняет.

Здесь же, принудительная проверка при записи нового или модифицированного (после чего платформа так же выполнит проверку).

(вдруг кто скажет "зачем", что это очевидно зачем, но я уловить пока так и не смог).
user1805342; +1 – Ответить
Для отправки сообщения требуется регистрация/авторизация