Размыкая круг: изменение логики проверки заполнения обязательных реквизитов при обновлении «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 1С:Комплексная автоматизация 2.х Абонемент ($m)

Я при обновлениях ноу хау никогда не использовал, всегда действовал вручную несколько часов, сливая новый код вендора со старыми изменениями. Почитал тут статью "Использование нейросети для обновления расширений 1С: GPT, Git и анализ эффективности на 33 реальных проектах", ну и времени всегда мало, приходится искать варианты, как сделать, чтобы его было достаточно. Мое мнение в том, что методы 1С по тысячам строк, которые приходится лопатить, сначала дорабатывать а потом обновлять, плохо влияют на здоровье, интерес к различным средствам автоматизации процесса обновлений у меня очень высок. Делюсь своими потугами после первого применения. Вывод - ИИ оказался полезным. Простые случаи выгоднее обновлять ручным слиянием традиционно так как ИИ как такси, на обновлениях жрет очень много контекста. Для сложных, которые жрут не меньше, но убивают больше нервов, нашаманил скилл. Описываю процесс, подробно обо всем понемногу. Возможно, у Вас получится лучше, я торопился.

1 стартмани

24.08.2026    535    ksnik    4    

3

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

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

05.08.2026    1044    1c-izh    4    

4

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

На проекте сложного обновления 1С:ERP 2.4.14.181 до версии 2.5.22.106 нам было нужно уложить обновление в технологическое окно 48 часов (выходные). Исходный замер, с учетом промежуточных релизов 2.5.8.443, 2.5.12.270, 2.5.17.234, 2.5.22.106, показал требуемое время в 659 часов…

07.07.2026    5637    1c-izh    21    

21

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

Обновление ролей в расширении 1С отличается от аналогичного процесса в основной конфигурации. Ситуация осложняется, когда доработки вносятся не в «обычное», а в поставляемое расширение.

26.06.2026    2499    1c-izh    3    

6

Обновление 1С Программист 1С 8.3 Россия Бесплатно (free)

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

25.06.2026    1776    153    akeeela    8    

18

Нейросети Обновление 1С Программист 1С:Предприятие 8 1С:Комплексная автоматизация 2.х Россия Бесплатно (free)

Делюсь практикой переноса доработок при обновлении 1С:КА с 2.5.22 на 2.5.27 с помощью Claude, подключённого к конфигурации в EDT через MCP. Что у ИИ получилось хорошо, где он бессилен, что он осознанно отказался переносить — и какой главный вывод я сделал для следующего раза.

18.06.2026    3674    Angoleiro    2    

6

Нейросети Обновление 1С Бесплатно (free)

Когда доработанную 1С не обновляли годами, начинать приходится не с переноса кода, а с разбора того, что вообще накопилось в базе. Там могут быть десятки обработок, расширения, правки типовых объектов, а документации либо нет, либо она давно не актуальна. На примере реального обновления разбираем, как кодовые агенты, MCP-серверы и языковые модели помогают навести порядок в доработках, собрать план миграции, понять, где при переносе будут проблемы, и автоматизировать часть исправлений.

05.06.2026    8135    wonderboy    6    

29

Обновление 1С Обмен с ГосИС Программист 1С 8.3 1С:Управление торговлей 10 Абонемент ($m)

ВАЖНО! Обновление предназначено для технических специалистов! Поддержка формата обмена V2 в локальном модуле ЧЗ. Поддержка формата обмена V2 в модуле ПиоТ. Поддержка многих видов маркируемой продукции.

10 стартмани

04.06.2026    3810    62    andrew.ab    174    

7
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. 1c-izh 172 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 Ответить
Для отправки сообщения требуется регистрация/авторизация