При проверке заполненности данных произошли ошибки 1с как убрать
Перейти к содержимому

При проверке заполненности данных произошли ошибки 1с как убрать

  • автор:

v8.3: Как убрать Терминирующее сообщение при проверке документа.

Есть документы, которые нельзя провести из-за не правильного заполнения, и это логично, так и должно быть.

Правильно или не правильно, определяется в обработке проверки заполнения.

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

Как можно обойти этот механизм, что бы пользователям не нужно было нажимать «ОК»?

А документ должен проверятся или нет?

Да, что бы работало так же, как и всегда, но без этого сообщения Вы думали на счет стандартного инструмента «ПроведениеДокументов»? Если да, но это не подходит, к сожалению.

если выдается сообщение — значит в документе не все правильно! — надо же исправить проблему

или вам все-равно как проводится!?

Да я же не против того, что не проводится. Проблема в самом сообщении, вот нужно пользователю провести 20 документов, он в списке их выделил, нажал «Провести», а там 10 ошибок (которые и так видно в окне сообщений), и он должен еще 10 раз нажать на «ОК». Зачем? Вот именно это и нужно убрать. Просто что бы не выдавалось терминирующее сообщение, с кнопкой «Ок», всё, что нужно, пользователь видит в обычных сообщениях.

Тогда код нужно исправлять, другого варианта не вижу

Конфига изменена, так что, проблемы изменения кода нет. Но где его менять.

Для примера: создаю новую конфигу, добавляю документ, в модуле объекта делаю только одну проц. «ОбработкаПроверкиЗаполнения» и пишу одну строку Отказ = Истина; И этого достаточно, что бы выходило сообщение при проведении из списка.

Нужно понять каким образом выводится это предупреждение:

1. Это механизм платформы — проверка заполнения реквизита:

2. это написано в коде

Проверить можно отладчиком и отключить это механизм проверки

В ответе №6, можно понять, что это механизм платформы, сообщение выдаётся, когда Отказ в стандартных проц. равен истине.

Но что делать дальше?

Отказ = истине, когда что-то не правильно, и так должно быть (Иначе бы воспользовался стандартной «Проведение документов»).

отключите проверку на реквизиты по которым ругается

Кроме проверки реквизитов происходит еще куча дополнительных проверок, которые обязательны. Отключение части проверок — не вариант. Нужно только отключить сообщение при отказе, но сам отказ должен остаться. Я так понимаю, что на данный момент, это не возможно. Напишу письмо в 1С, вдруг.

Попробуйте, действительно, вдруг. 😉

Можно попробовать использовать команду ВОЗВРАТ при невыполнении условия проверки, без использования команды ОТКАЗ.

Чтоб документ не проводился — вам всего лишь нужно не выполнить процедуру ОбработкаПроведения до конца, прервать ее в нужном вам месте. Значение флажка ОТКАЗ на это никак не влияет

Снять проверку заполнения программно

Как убрать проверку заполнения через модуль?
Как убрать проверку заполнения через модуль? Добавлено через 6 минут Ну типо Проверка.

Как написать проверку заполнения Табличной части документа
Здравствуйте многоуважаемые форумчане. Обращаюсь к Вам за помощью так я уже совсем запутался.

Условие на проверку заполнения поля
Здравствуйте. Подскажите с составлением условия на проверку заполненности свойства Text.

проверку правильности заполнения таблицы истинности
Помогите добавить проверку правильности заполнения таблицы истинности и проверку, избавляющую от.

Сообщение от GreenkA

Лучший ответСообщение было отмечено AleXadr999 как решение

Решение

Программно снять галочку с MenuItem
Доброго времени суток! В проекте есть меню. 2 меню итема со свойством "IsCheckable". Подскажите.

Как программно снять объединение ячеек?
надо на выделенном диапазоне ячеек,если стоит галка на фОРМАТ ЯЧЕЕК -> ОБЪЕДИНЕНИЕ ЯЧЕЕК . убрать.

Как программно снять фокус с кнопки
В общем создал фейк-объект и передаю ему фокус, но может есть какие-то нормальные способы.

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

Программно снять флажки с 20 боксов сразу
Подскажите пожалуйста как программно снять флажки с 20 боксов сразу, (Value = False) нажатием на.

Как убрать проверку обязательности заполнения поля email в форме?
есть файл для отправки заявок на почту. Как убрать проверку обязательности заполнения поля email в.

При проверке заполненности данных произошли ошибки 1с как убрать

markus —> markus Подменю пользователя

Просмотр профиля
Найти сообщения пользователя
andr_andrey —> andr_andrey Подменю пользователя

Просмотр профиля
Найти сообщения пользователя
markus —> markus Подменю пользователя

Просмотр профиля
Найти сообщения пользователя

А ларчик просто открывался, вроде и Esс нажимала. Спасибо огромное!

Vofka —> Vofka Подменю пользователя

Просмотр профиля
Найти сообщения пользователя

Проверка заполнения реквизитов формы

Механизм проверки заполнения позволяет автоматически проверить, заполнены ли указанные реквизиты объекта. Для этого нужно воспользоваться свойством ПроверкаЗаполнения , которое есть у реквизитов объектов конфигурации.

Если установить это свойство в значение «Выдавать ошибку», поле Поставщик в форме будет помечено как обязательное для заполнения. А при записи накладной платформа будет контролировать заполненность этого реквизита. Если реквизит окажется не заполнен, платформа выдаст автоматическое сообщение и запись накладной будет отменена.

Разработчик может повлиять на стандартную проверку заполнения, выполняемую платформой. Для этого у него есть два события:

  • Одно событие — ОбработкаПроверкиЗаполненияНаСервере — можно обработать в модуле формы.
  • Другое событие — ОбработкаПроверкиЗаполнения — можно обработать в модуле прикладного объекта.

У формы, как правило, есть основной реквизит (редактируемый объект) и могут быть реквизиты, не относящиеся к редактируемому объекту, а являющиеся лишь частью формы:

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

Напротив, событие объекта ОбработкаПроверкиЗаполнения предназначено для для того, чтобы проверить реквизиты основного реквизита формы.

Обработчики обеих событий имеют параметр ПроверяемыеРеквизиты , в который платформа передает массив имен тех реквизитов, которые подлежат проверке. Если после выхода из обработчика в этом массиве все еще останутся какие-то имена реквизитов — платформа выполнит автоматическую проверку оставшися реквизитов.

Поэтому существует несколько сценариев того, как разработчик может встроить свой алгоритм в механизм проверки заполнения:

  • самостоятельно проверить заполненность всех реквизитов и очистить массив ПроверяемыеРеквизиты , чтобы платформа не выполняла их проверку
  • проверить часть реквизитов самостоятельно, удалить их из массива ПроверяемыеРеквизиты , а оставшиеся оставить на проверку платформе
  • добавить в массив ПроверяемыеРеквизиты какие-то реквизиты, чтобы платформа проверила и их тоже
  • вообще отказаться от проверки заполненности реквизитов, очистив массив

Все эти сценарии реализуются довольно просто. Например, чтобы самостоятельно проверить заполненность реквизитов, можно выполнить следующий код:

Чтобы проверить лишь часть реквизитов, можно выполнить такой код:

Добавить в массив проверяемых реквизитов еще один реквизит можно следующим образом:

А очистить массив проверяемых реквизитов, чтобы ничего не проверять ни самому, ни платформе, можно так:

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

Справка

ОбработкаПроверкиЗаполненияНаСервере(Отказ, ПроверяемыеРеквизиты)

  • Отказ . Тип: Булево . Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина , то запись выполнена не будет. Значение по умолчанию Ложь .
  • ПроверяемыеРеквизиты . Тип: Массив . Массив путей к реквизитам, для которых будет выполнена проверка заполнения. Массив может быть модифицирован удалением или добавлением путей к необходимым реквизитам.

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

Позволяет разработчику самостоятельно реализовать проверку заполнения в обработчике события. При этом в обработчике можно полностью отказаться от системной обработки (очистив список проверяемых реквизитов), отказаться от проверки системой части реквизитов (выполнив проверку отдельных реквизитов особенным образом и исключив эти реквизиты из списка), а также добавить для проверки другие реквизиты, проверка которых не была указана.

Для формы документа, если при конфигурировании для документа свойство Проведение установлено в Разрешить , событие вызывается только при проведении. Если документ не проводится (свойство Проведение установлено в Запретить ), то вызывается при записи.

ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)

  • Отказ . Тип: Булево . Если в теле процедуры-обработчика установить данному параметру значение Истина , то будет выполнен отказ от продолжения работы после выполнения проверки заполнения. Значение по умолчанию Ложь .
  • ПроверяемыеРеквизиты . Тип: Массив . Массив путей к реквизитам, для которых будет выполнена проверка заполнения. Массив может быть модифицирован удалением или добавлением путей к необходимым реквизитам.

Вызывается расширением формы при необходимости проверки заполнения реквизитов при записи или при проведении документа в форме, а также при выполнении метода ПроверитьЗаполнение() . Если для документа при конфигурировании свойство Проведение установлено в Разрешить , то вызывается только при проведении. Если документ не проводится (установлено Запретить ), то вызывается при записи.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *