Как и где выполняется в 1С проверка заполнения реквизитов форм

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

  • Неправильный выбор объекта;
  • Неверное количество или опечатка в наименовании;
  • Задвоение элементов справочников, их не уникальность или пересортица;
  • Игнорирование заполнения полей, критически важных для правильного расчета и бесперебойной работы программы.

Решением последней проблемы является, для восьмой версии программы 1С проверка заполнения реквизитов формы.

Проверка заполнения для обычной формы

При открытии формы пользователем, в случае если режим запуска «Обычное приложение», элементы, обязательные к заполнению выделяются красной пунктирной строкой (Рис.1).

Рис. 1

Как видно из приведенного примера, полями документа «Реализация товаров и услуг», обязательными для заполнения, являются «Номер» и «Контрагент». При этом поле «Номер» недоступно для редактирования. Это значит, что при записи документа в информационную базу оно автоматически будет заполнено в соответствии с правилами нумерации, заданными для данной организации.

Запись элементов справочников или проведение документов, содержащих незаполненные обязательные поля, будет вызывать исключительную ситуацию (Рис. 2).

Рис. 2

Более подробную информацию о том, какое конкретно поле не заполнено, можно увидеть в окне служебных сообщений.

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

  1. Открываем форму в Конфигураторе;
  2. Кликаем правой кнопкой мышки по элементу формы, и вызываем окно «Свойства»;
  3. Необходимо проставить флажки АвтоОтметкаНезаполненного и АвтоВыборНезаполненного в подменю «Использование» (Рис.3);

Рис.3

Непосредственная проверка, как правило, прописывается в модуле объекта.

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

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

Проверка в управляемых формах

Особенности работы платформы в клиент-серверном варианте накладывают свой отпечаток и на проверку заполнения.

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

Итак, после нажатия кнопки «Записать», «ОК», «Провести»:

  1. Вызывается процедура «Перед записью» на клиенте;
  2. Данные передаются на сервер и происходят события, прописанные в модуле формы на сервере (здесь можно запустить процедуру ОбработкаПроверкиЗаполненияНаСервере);
  3. Данные формы передаются в модуль объекта на сервер (появляется возможность запуска стандартной процедуры ОбработкаПроверкиЗаполнения);
  4. Данные из модуля возвращаются в модуль формы на сервер, и происходит процедура ПередЗаписьюНаСервере;
  5. Данные возвращаются в модуль объекта, и происходит еще одна процедура ПередЗаписью;
  6. Происходит непосредственная запись объекта в базу.

В любой момент этой схемы можно вставить функцию ПроверитьЗаполнение(). Пробежавшись по реквизитам, в свойствах которых реквизит «Проверка заполнения» имеет значение «Выдавать ошибку»(Рис.4), эта функция, если хоть один из них не заполнен, вернет «Ложь».

Рис.4

Различия между обработчиками ОбработкаПроверкиЗаполнения() и ОбработкаПроверкиЗаполненияНаСервере()

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

  1. Отказ (сюда после проверки передается ее результат);
  2. ПроверяемыеРеквизиты (тип данных – массив, если не заполнено, то будут проверяться все реквизиты, для которых в свойствах стоит «Проверять заполнение», в противном случае будут обрабатываться реквизиты, выбранные программно).

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

Процедура ОбработкаПроверкиЗаполнения() проверяет основные реквизиты.


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

Ваш e-mail не будет опубликован.

*

code


Оснащение для магазина с доставкой от компании Ru-Holod
Выбор оборудования зависит от цели его эксплуатации. В магазине оборудование для реализации продуктов питания, условия хранения которых требуют поддержания особой ...
Проверка отчетности 6-НДФЛ и 2-НДФЛ в 1С ЗУП 3.1
Какие проверки необходимо произвести для успешной сдачи отчетов 6-НДФЛ и 2-НДФЛ и какие средства в 1С ЗУП 3.1 в этом ...
Как сократить издержки в производственной компании малого бизнеса. Вебинар
18 февраля 2020 г. состоялся вебинар «Как сократить издержки в производственной компании малого бизнеса. Планирование, фактическая себестоимость, анализ в 1С:Управление ...
Интервью с Сергеем Кукановым
На предприятии есть производство, но вы ещё не доросли до крупных систем управления? Тогда вполне можете попробовать обойтись решением 1С:Управление ...
Годовая отчетность за 2019 г.: бухгалтерская и налоговая
Оформить заявку на участие в онлайн-семинаре "Годовая отчетность за 2019 г.: бухгалтерская и налоговая" https://buhexpert8.ru/dostup#buh ПРОГРАММА СЕМИНАРА НАЛОГОВАЯ ОТЧЕТНОСТЬ: • ...
Новое в ЗУП за 5 мин [выпуск от 17.02.2020]
Выпуск на нашем сайте - https://buhexpert8.ru/1s-zup#tt-5min В этом выпуске: • Разместили ответы на вопросы с семинара по СЗВ-ТД • Обновили ...
1С:ERP Урок 55. Исполнение заказа на производство
Пятьдесят пятый видеоурок вводного курса по «1С:ERP Управление предприятием». Тема на сегодня – исполнение заказа на производство (без использования пооперационного ...
Новое в учете и отчетности по НДФЛ в 2020 году
Изменения по НДФЛ в 2020 году. Изменения сроков и порядка представления отчетности по НДФЛ. Как представить отчетность по доходам по ...
Ошибки при учете договоров ГПХ в 1С ЗУП 3.1
Кого считать работниками по договорам ГПХ. Ошибки квалификации договоров ГПХ. Выплаты по договорам ГПХ в 1С ЗУП 3.1. Смотрите тест-драйва ...
Ответы на популярные вопросы по ЭТК - часть 2
Фрагмент вебинара по электронным трудовым от 11.02.2020 - Если все оставляют бумажные трудовые, можно ли не сдавать СЗВ-ТД? - Нужно ...
Юридическая и организационная (управленческая) структура Компании в 1С:ЗУП КОРП
✔️ Как настроить в 1С:ЗУП КОРП юридическую и организационную (управленческую) структуру Компании? ✔️ Какой отчет показывает сотрудников в разрезе оргструктуры? ...
1С:Электронные трудовые книжки - бесплатный сервис от фирмы 1С
Если вы не используете программу 1С, предлагаем вам воспользоваться сервисом для формирования отчета СЗВ-ТД совершенно бесплатно. Переходите по ссылке etk.1c.ru ...
Сведения о среднесписочной численности работников в 1С 8.3 ЗУП
Кем и в какие сроки сдаются сведения по среднесписочной численности. Что входит в понятие среднесписочная численность и как она рассчитывается ...