Обычное приложение, управляемая форма. Не срабатывает ОбработкаПроверкиЗаполнения

1. nick_krsk 19 24.09.13 18:56 Сейчас в теме
Добрый день!
Проблема вот в чем: в обычном приложении есть документ, у которого есть управляемая форма. У этого документа есть реквизиты, у которых в свойстве Проверка заполнения выбрано Выдавать ошибку. Но, несмотря на это, документ записывается и проводится, если эти реквизиты незаполнены. Смотрю в отладчике — в процедуру ОбработкаПроверкиЗаполнения система не заходит. С чем может быть связано такое поведение системы и как его исправить?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Поручик 4674 24.09.13 22:22 Сейчас в теме
(1) Сама процедура ОбработкаПроверкиЗаполнения у вас назначена обработчиком события формы или болтается в модуле сама по себе?
2. 1cUserAndrew 63 24.09.13 20:42 Сейчас в теме
Посмотрите в форме документа, не создано ли событие "ОбработкаПроверкиЗаполненияНаСервере", и не очищаются ли там ПроверяемыеРеквизиты.
5. nick_krsk 19 25.09.13 05:13 Сейчас в теме
(2)Нет, не создана.
(3)Пишу:
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
Отказ = НЕ ПроверитьЗаполнение();
КонецПроцедуры

В модуле объекта выдает ошибку (Процедура или функция с указанным именем не определена (ПроверитьЗаполнение), в модуле формы ничего не меняет. В процедуру ОбработкаПроверкиЗаполнения() не заходит, документ дает сохранить и провести.

(4)Это же процедура модуля объекта, с обработчиками формы ее связывать не нужно, насколько мне известно.
6. Поручик 4674 25.09.13 07:27 Сейчас в теме
(5) ПроверитьЗаполнение() - метод модуля формы, а не объекта.
8. nick_krsk 19 25.09.13 09:38 Сейчас в теме
(6)ПроверитьЗаполнение() должна инициировать вызов ОбработкаПроверкиЗаполнения()? У меня этого не происходит.
(7)У меня при проведении не срабатывает.
9. Поручик 4674 25.09.13 09:45 Сейчас в теме
(8) Синтаксис-помощник по ПроверитьЗаполнение почитать не предлагать?
10. nick_krsk 19 25.09.13 11:03 Сейчас в теме
(9)Дак я читал:Выполнение метода приводит к возникновению события ОбработкаПроверкиЗаполнения. У меня не происходит этого. Проверяемые реквизиты в форме подчеркнуты красным, но документ проводится.
3. Romeo_1c_programmer 29 24.09.13 21:13 Сейчас в теме
Попробуйте вызывать обработчик принудительно, например,
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
	//ПроверитьЗаполнение() возвращает: 
	//Истина - ошибок не обнаружено, 
	//Ложь - в противном случае.
	Если ПроверитьЗаполнение() = Ложь Тогда
		отказ = Истина;
	КонецЕсли;
КонецПроцедуры
Показать
7. vx_gas 26 25.09.13 08:47 Сейчас в теме
Проверка заполнения срабатывает только при проведении, на сколько я помню
mars207; kiyamov; +2 Ответить
17. kiyamov 3 19.06.20 15:57 Сейчас в теме
(7)И вот спрашивается: зачем всякие проверки значений реквизитов туда засовывать (не только на заполненность, а на равенство другому значению)? Я этот момент в актуальной ЕРП увидел, когда при программном проведении - не ругается на склад, а при интерактивном ругается и документ не проводится.
11. Korolev 49 25.09.13 11:17 Сейчас в теме
В модуле формы не определен ли обработчик "ОбработкаПроверкиЗаполненияНаСервере"?
Может там проверяемые реквизиты удаляются?
12. nick_krsk 19 25.09.13 11:26 Сейчас в теме
13. Поручик 4674 25.09.13 12:08 Сейчас в теме
(12) А если запустить конфу в управляемом режиме и посмотреть, что будет.
14. SuhoffGV 14.04.14 18:33 Сейчас в теме
Хоть тема старая но может и пригодится потомкам. Получил такой же баг на обычной форме. Как выяснилось, предыдущий разработчик сбросил свойство формы "ПроверятьЗаполнениеАвтоматически" и написал все проверки руками. Убил полчаса пока не заметил.
shima; МирославаЯсная; +2 Ответить
15. sulfur17 59 21.07.17 14:05 Сейчас в теме
(14) у меня на обычной форме на 8.2.19 эта галочка ни на что не влияет - и с ней и без нее событие формы ОбработкаПроверкиЗаполнения не вызывается.
Зато независимо от нее срабатывает автоматическая проверка на заполение реквизитов у которых в метаданных стоит свойство "Проверка заполнения - Выдавать ошибку".
Похоже на баг платформы.
16. rainscald 2 21.09.17 18:22 Сейчас в теме
есть подозрение, что такая ошибка из-за режима совместимости вызывается.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот