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

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

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

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

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

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

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

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

Рис. 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кто такие Контрагенты? Это юридические или физические лица, являющиеся вашими заказчиками, покупателями или партнерами. У каждого юридического лица имеются реквизиты, т. е. уникальные данные (ИНН, КПП, юридический и фактический адреса), которые принадлежат только этой организации. Вот этими данными и нужно будет заполнять карточку контрагента в программе.

Приступим. Находим слева в меню надпись «Справочники», нажимаем. Перед нами разделы программы, ищем «Покупки и продажи», подраздел «Контрагенты»:

Заходим в раздел. Чтобы было удобно ориентироваться в процессе работы, создадим папки по видам: «Покупатели», «Поставщики» и «Прочее».

Нажимаем на надпись «Создать группу». В выпадающем окошке в поле «Наименование» вводим название группы «Покупатели»:

Аналогичным образом создаем остальные папки «Поставщики» и «Прочее»:

Создадим по одному элементу в каждой папке. Начнем с «Покупатели». Заходим, выбираем «Создать»:

Открывается страница для заполнения. Это карточка контрагента. Верхнее поле, обозначенное желтым цветом, предназначено для автоматического заполнения информации по контрагенту путем ввода ИНН. Это будет работать только при подключенной функции «1С Контрагент».

Мы рассмотрим заполнение вручную. Допустим, нашим покупателем будет являться организация ООО «СТИЛЬ». В поле «Вид контрагента» оставляем Юридическое лицо. В поле «Наименование» вводим название организации. Для удобства поиска обычно вводят СТИЛЬ ООО, т.е. сначала название, а потом организационно правовая форма. Можно оставить просто одно название. Поле «Полное наименование» должно содержать правильное написание названия данной организации – ООО «СТИЛЬ» или с расшифровкой - Общество с ограниченной ответственностью. Эта будет отображаться при печати документов. Поле «Входит в группу» заполняется автоматически. Далее, поля: ИНН, КПП, ОГРН заполняются предоставленными реквизитами данной организации. Очень важный пункт в карточке «Основной банковский счет». Нажмем маленькую кнопочку слева. Перед нами открылись два поля, обязательные к заполнению:

В первое поле необходимо ввести БИК банка, в котором обслуживается организация. Во второе поле вводим номер расчетного счета. Далее пункт «Адрес и телефон». Развернем его:

Здесь заполняются юридический и фактический адреса. Мы видим уведомление, в котором нам предлагают загрузить Адресный классификатор. Это работает только при подключенной функции «1С Контрагенты». Пропускаем. Нажимаем надпись «Заполнить» справа от юридического адреса. Перед нами открывается окошко для ввода необходимых данных. Заполняем и нажимаем ОК:

Строка «Фактический адрес» заполнится автоматически. Если у организации юридический и фактический адреса разные, то необходимо снять соответствующую галочку возле надписи «Фактический адрес совпадает с юридическим адресом» и заполнить вручную. Записать. Аналогично и с полем «Почтовый адрес». В пункт «Дополнительная информация» вы можете прописать какой-либо комментарий. Проверяем, все ли заполнено и нажимаем «Записать» в верхней части.

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

Перед нами открылась страница «Договор (создание)»:

Приступим к заполнению. Первое поле «Вид договора». Так как мы заполняем карточку организации, которая у нас будет покупать что-либо, то нужно выбрать соответствующий вид – «С покупателем». Если изначально указать неправильный вид, то изменить будет проблематично. Следующее поле «Номер договора» говорит само за себя - вводим номер договора. Справа выбираем дату, которой заключен договор. Поле «Наименование» формируется автоматически на основании введенных данных. При необходимости можно поправить и прописать, как нам будет удобно и понятно. Далее развернем и рассмотрим следующие вкладки. «Расчеты». Здесь выбираем в какой валюте будут происходить расчеты с нашим покупателем. В поле «НДС» необходимо выбрать порядок регистрации счет-фактур конкретно по этому договору.

Если нашим покупателем (организацией) предоставлена информация о руководителях, то можно заполнить поля в разделе «Подписи». Это будет отображаться при печати документов. Если этих данных нет, то пропускаем. В разделе «Дополнительная информация» вводится срок действия договора, если он обозначен. Можно оставить поле пустым. И можно выбрать «Вид расчетов». С этим договором мы закончили. Нажимаем «Записать и закрыть». Теперь мы можем увидеть, что у нашего контрагента «СТИЛЬ» появился договор «С покупателем». Обратите внимание на функцию «Использовать как основной». Если мы отметим ее, то данный тип договора будет по умолчанию проставляться в документы:

Помимо договора очень важная вкладка «Банковские счета»:

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

Допустим, есть контрагент, у которого два договора: «С поставщиком» и «С покупателем». Один используется более часто, именно этот договор, мы можем отметить основным для упрощения ввода информации.

Во вкладке «Контактные лица» на главной странице прописываются данные лица со стороны контрагента, к которому мы при необходимости сможем обратиться. Это может быть директор, бухгалтер или менеджер:

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

Возвращаемся на страницу с новым контрагентом. Если нажмем ссылку «Еще», будут доступны «Счета расчета с контрагентом»:

Это аналогичный справочник «Счета учета номенклатуры», только для контрагента. Здесь обычно используются 60 и 62 счета.

Ввод покупателя на этом окончен.

Аналогичным образом создадим поставщика - ООО «Эдельвейс». Возвращаемся в папку «Поставщики» и нажимаем «Создать». Весь процесс заполнения данными такой же, как и у Покупателя. Только вид договора будет указываться «С поставщиком»:

Также отмечаем во вкладках «Договоры» и «Банковские счета» настройку «Использовать как основной». С поставщиком разобрались.

Вернемся теперь в папку «Прочее». Здесь заводятся банки, налоговые службы и т.д. Заведем здесь аналогично банк для отображения поступления банковских комиссий:

Для таких контрагентов вид договора необходимо использовать «Прочие»:

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

Механизм ввода на основании - это один из прикладных механизмов платформы . Он позволяет упростить работу пользователя с прикладным решением и избавить его от повторного ввода данных, которые уже хранятся в информационной базе.

Рассмотрим простой пример. Допустим, в прикладном решении существует документ Поступление товара , который фиксирует факт появления в организации некоторых позиций номенклатуры:

После того, как номенклатура получена от поставщика, следует оформить документ Оплата товаров и услуг , в котором указать поставщика и сумму, которую ему необходимо перечислить за поставленный товар:

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

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

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

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

  • Подстановка единственного значения
  • Подстановка значения по отбору
  • Заполнение реквизитов по статистике
  • Подстановка ранее введенных реквизитов
  • Подстановка значений по шаблону
  • Ввод нового документа копированием

Подстановка единственного значения на который у пользователя есть права.

Допустим, в вашей организации есть три склада, они введены в базу. При этом менеджеру разрешено продавать товар только с какого-то одного. При создании нового документа этот склад будет подставляться автоматически. Это работает на основе установленных прав доступа у пользователя. То есть, выключая права на объекты, с которыми пользователь не работает, можно автоматизировать ввод данных.

Подстановка значения по отбору, указанному в форме списка.

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

Заполнение реквизитов по статистике.

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

будут заполнены все те данные, которые были определены в соглашении или договоре;

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

Подстановка значений по шаблону.

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

Ввод нового документа копированием.

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

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

Как быстро ввести значение реквизитов в 1С?

Управление формой осуществляется посредством различных элементов формы, которые расположены иерархически на закладке Элементы конструктора формы. Самым главным элементом является сама форма, которая расположена вверху иерархии элементов, а остальные элементы ей подчинены.

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

Добавление элементов на форму

Делается это достаточно просто: необходимо выделить элемент Форма в окне Элементы конструктора формы и нажать на кнопку «Добавить». После этого откроется окно, в котором необходимо выбрать нужный тип элемента

После выбора, элемент нужного появится в окне Элементы .

Элемент управляемой формы Поле

Разберем элемент управляемой формы Поле . Этот элемент нужен для ввода информации на форме. А также для отображения какой-либо информации. После того, как Вы добавите этот элемент на форму, справа откроется палитра свойств элемента формы. Пока Вас должны интересовать два свойства – ПутьКДанным и Вид.

В свойстве ПутьКДанным разработчик может связать элемент формы с нужным реквизитом формы. Обратите внимание, что после того, как был добавлен элемент Поле ввода на форму он не отобразился на самой форме. Это произошло потому, что наш новый элемент не связан с . Для примера я создал на форме обработки несколько реквизитов с разными примитивными типами и один реквизит с ссылочным типом.

Теперь свяжем наш недавно добавленный элемент формы с одним из реквизитов, для этого выберем нужный реквизит с свойстве элемента ПутьКДанным.

После этого заполнятся свойства ПутьКДанным и Вид, а сам элемент отобразится в представлении формы.

Обратите внимание на свойство элемента Вид . При помощи этого свойства определяется функциональность поля ввода. Можно выбрать различные значения этого свойства.

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

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

Теперь добавим новый элемент формы с типом Поле ввода и свяжем его с реквизитом РеквзитДата посредством уже знакомого нам свойства ПутьКДанным

Как Вы видите вид поля ввода поменялся, а так же поменяется возможный выбор значений свойства Вид.

Таким образом, делаем вывод – функциональность поля ввода зависит от типа реквизита.

Для реквизита с типом Булево будут доступны следующие значения свойства Вид.

А для реквизита с ссылочным типом будут доступны иные значения свойства Вид.

Более подробно работа с элементами формы на практичных примерах дается в книге «Основы разработки в 1С:Такси. Разработка управляемого приложения за 12 шагов» .

Иногда кажется, что изучить язык программирование в 1С сложно и трудно. В действительности программировать в 1С — легко. Помогут Вам легко и быстро освоить программирование в 1С мои книги: и «Основы разработки в 1С: Такси»

Изучите программирование в 1С с помощью моей книги «Программировать в 1С за 11 шагов»

  1. Без сложных технических терминов.
  2. Более 700 страниц практического материала.
  3. Каждое задание сопровождается рисунком (скриншот).
  4. Сборник задач для домашней проработки.
  5. Книга написана понятным и простым языком — для новичка.

Эта книга подойдёт тем, кто уже начал программировать и испытывает определенные сложности с этой темой и тем, кто уже давно программирует, но ни разу еще не работал с управляемыми формами 1С

  1. Без сложных технических терминов;
  2. Более 600 страниц практического материала;
  3. Каждый пример сопровождается рисунком (скриншот);
  4. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!

Промо-код на скидку в 15% — 48PVXHeYu


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

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Вступайте в мои группы.