Добрый день. На днях на ткнулся на очередную ошибку (недочет) платформы 1С. Это мелочь, на которой, по большому счету, и внимание заострять не стоит, но я придерживаюсь мнения, что если какой-либо функционал есть, он должен работать без сбоев. И так, как и в предыдущих случаях, мы имеем:
Рабочая система: 1С 8.3.16.1063 + MSSQL 2012.
Создаем документ с табличной частью. Создаем форму документа и размещаем на ней реквизиты, включая табличную часть. Теперь наша задача — отследить изменения пользователя реквизитов табличной части и по установленным нами правилами сделать пересчет служебных данных, проверки корректности заполнения и т.д.
И в этой ситуации мы выявляем небольшой косячок платформы 1С: если для поля табличной части определено событие «ПриИзменении» (и в соответствущей процедуре есть хоть одна строчка кода), то событие элемента табличной части «ПередОкончанием редактирования» не вызывается. От слова совсем.
Не совсем понятна в этом случае зависимость от наличия кода в процедуре события «ПриИзменении» элемента табличной части. Даже если событие определено и процедура есть в модуле формы, но в процедуре нет ни одной стройки действующего кода (все строки закомментированы), то все работает как часики.
На выявление этого косяка я потратил 30 минут. Печально, но это 1С и подобных косяков будет еще великое множество (на их официальном портале их тысячи неисправленных висит и никак не уменьшается).
Удачи вам в неравной борьбе с 1С.