Как сделать поле неактивным 1с

Добавил пользователь Евгений Кузнецов
Обновлено: 04.10.2024

Сегодня мы поработаем с формой и научимся на ней прятать элементы - устанавливать видимость их (Рисунок 1).

На рисунке 1 изображена форма элемента, на которой есть элементы на форме в отображении списка - это синий прямоугольник, а на самой форме их нет - это жёлтый прямоугольник. То есть они есть, но они там не отображаются.

Это называется пользовательская видимость.

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

Снять/поставить галочку - это значит, что будет виден элемент или не будет виден. А если сказать иначе, то это Истина - галочка стоит и элемент виден, Ложь - галочка снята и элемент не виден.

Сохраните все изменения и увидите, что в пользовательском режиме они у вас теперь не будут отображаться, однако есть интересный момент: для поля "Наименование" установлено свойство "Проверка заполнения со значением Выдавать ошибку". Это свойство означает, что это поле обязательно должно быть заполнено и платформа выдаст ошибку, если оно будет пусто и не даст записать в базу. Запустите и нажмите кнопку "Записать и закрыть" и получите уведомление (Рисунок 3).

Как же так получается, что поля на форме нет, но платформа предупреждает нас, что это поле не заполнено?

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

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

Проще всего это сделать с полем, у которого отображение будет в виде галочки. То есть если галочка будет стоять, то поле будет видно, а иначе поле будет спрятано. Давайте попробуем сделать это. Для этого необходимо добавить на форму еще один реквизит с типом "Булево" (Рисунок 3).

После этого необходимо перейти на форму и переместить его на форму (Рисунок 4).

Обратите внимание на рисунок 4, у поля "Видимость" галочка не стоит, а значит по умолчанию стоит значение Ложь!

Теперь необходимо прописать процедуру. Чтобы прописать, необходимо понять как это будет работать!

А работать это будет следующим образом: как только мы меняем значение поля "Показать/Скрыть", так сразу исчезает/появляется поле "Число". Все происходит именно в таком порядке. Чтобы это работало у платформы есть специальные события, а в данном случае нужно событие "ПриИзменении".

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

Создадим на форме группу (папку) и поместим в нее элемент, который будем прятать (убирать видимость) - поле "Число" (Рисунок 5).

Выделим поле "Показать/Скрыть" и найдем свойство и оно же событие "ПриИзменении" (Рисунок 5).

Нажмем на значок увеличительного стекла и создадим процедуру на клиенте (Рисунок 6).

В создавшейся процедуре убираем закомментированную строку и вместо нее прописываем нашу (Рисунок 7).

Этот код означает следующее:

1. Если - начало условия;

2. Объект.ПоказатьСкрыть - обращение к элементу формы;

3. Объект.ПоказатьСкрыть = Истина - само условие;

4. Элементы.Группа1 - обращение в элементу "Группа1";

5. Видимость - пользовательская видимость;

6. Элементы.Группа1.Видимость = Истина - папка с находящимися в ней элементами будет видна;

7. Элементы.Группа1.Видимость = Ложь- папка с находящимися в ней элементами будет не видна. КонецЕсли - окончание выполнения условия.

Запустите пользовательский режим и проверьте изменения. Как только поставите галочку, ничего не изменится. Снимете галочку, поле "Число" исчезнет, а как поставите галочку, так сразу же оно и появится.

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

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

Ссылка для вступления телеграм-канал - t.me.Apiscourses

Подписаться в группу ВКонтакте

Прошлые уроки:

На этом все. Жду Вас на следующем занятии.

P.S. Подписывайтесь на мой канал :-)

программирование программирование 1с 1с предприятие обучение онлайн обучение 1с

Другие стандартные действия приведены на фрагменте интерфейса:

ЭлементПанели

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

ПроцедураНеОбнаружена

Управление видимостью кнопок

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

Пример добавления кнопки

Если вам требуется сохранять положение кнопки в нужной позиции, после добавления воспользуйтесь методом «Сдвинуть«.

Пример удаления кнопки

Легче сочинить десять правильных сонетов, чем хорошее рекламное объявление.

— Олдос Леонард Хаксли

И так что делать если у пользователей не отображается какой либо элемент на форме. Для начала нужно войти в 1С под администратором и если у него все ОК, проверяем настройки видимости.

На форме не видно элемент

1C не видно элемент

Не видны элементы управления на форме

В форме не видно добавленного элемента управления

Настройка видимости элементов формы

Закрываем сохраняем и обновляем конфигурацию. Обязательно нужно перезайтив в 1С чтобы увидеть изменения.

Разработчики 1С:Предприятие 8.3 добавляют все больше возможностей для изменения, совершенствования и модификации конфигурации силами пользователя без привлечения программиста. Если вам не хватает реквизита в каком-либо объекте программы, вы можете добавить дополнительную строку в большинство документов и карточек, не используя конфигуратор 1С. Это легко и безопасно – вы избежите любых возможных проблем с будущими обновлениями программы.

Дополнительное поле может понадобиться, чтобы лучше оптимизировать программу к различным особенностям рынка и бизнеса, для совершенствования возможностей аналитики, и просто для удобства работы сотрудников. На примере программы 1С:Бухгалтерия 8 (ред. 3.0) мы модифицируем карточку контрагента, добавив к ней новый реквизит.

Чтобы добавить новое поле в нужную карточку, во-первых, зайдите в программу 1С с правами администратора. В административном разделе откройте Общие настройки.

добавить поле реквизита в 1С через административный раздел

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

создать дополнительный реквизит контрагента 1С

Теперь выберите объект, которому вы хотите добавить дополнительный реквизит. В данном случае мы выбрали объект Контрагенты. Теперь нажмите кнопку Добавить в левом верхнем углу, Новый, чтобы создать реквизит (кнопка Из другого набора позволит вам скопировать раннее созданный реквизит из другого объекта в текущий).

создать новую строчку в карточке в 1С бухгалтерии 8.3

В данном примере мы создадим реквизит с названием Надежный. Реквизит может принимать одно из двух значений – да или нет, которым соответствует установленный или отсутствующий флаг. Такой тип данных, который задается установкой флага, называется Буллево. Вы можете выбрать этот, или любой другой тип данных в поле Тип значения.

настройка нового поля реквизита в 1С бухгалтерии 8.3

Помимо Буллево, расскажем о некоторых других самых распространенных типах значений для нового реквизита:

  • Дата – реквизит, содержащий дату и время. Можно использовать, например, чтобы сохранять какие-либо значимые даты, связанные с объектами.
  • Строка – произвольный набор символов, как правило слово или фраза. Подойдет, если вам нужно дополнительное поле с комментарием, или если вам не нужна избыточная функциональность.
  • Число – то же, что и строка, но могут использоваться только числовые символы.
  • Дополнительное значение – вы можете настроить перечень возможных значений реквизита, система создаст под этот реквизит отдельный справочник. Дополнительное значение (иерархия) – то же самое, но перечень значений можно сделать иерархическим.
  • Другой реквизит – вы можете выбрать какой-либо элемент справочника или документ в качестве реквизита. Например, добавив к карточке контрагента реквизит с типом значения Физическое лицо, можно указать ответственного за работу с компанией.
  • Составной тип данных – позволит выбрать сразу несколько типов данных и даст возможность заполнять реквизит любым из них.

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

  • Активировать установку реквизита по гиперссылке (стандартно реквизита можно заполнить сразу в карточке или документе)
  • Настроить видимость и доступность реквизита в соответствии с любыми условиями
  • Указать обязательность заполнения реквизита
  • Добавить всплывающую подсказку; заголовок, который отображается при добавлении нового значения реквизита; заголовок окна со списком возможных значений; комментарий
  • Указать стандартное значение, которое будет использоваться по умолчанию
  • Добавить варианты значений в соответствующей вкладке.

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

настройка нового поля реквизита в 1С бухгалтерии 8.3

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

Плагины и Шаблоны для Wordpress

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

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

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

Плагины и Шаблоны для WordPress



Пример


Подключение библиотеки jQuery

Первым шагом будет подключение в шапку перед закрывающимся head или в подвал перед закрывающимсяbody библиотеки jQuery.

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

Скрипт блокировки кнопки отправки

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

В строках 2,3,4 задаем наши поля, а именно их ID в будущей форме и присваиваем им имена для работы скрипта. Как говорил их три, так что по нужде можно лишние убрать или добавить нужные.

В 6 строке задаются параметры по количеству символов в полях. В данном коде указан параметр != 0, то есть, если в поле ничего нет оно не разблокирует кнопку, если вбить хоть один символ, это поле считается заполненным. И как видно у нас указано три поля и каждое имеет одинаковый параметр.

Если Вам нужно задать другое минимальное количество символов, то нужно немного изменить код. Если Вы просто замените "0" на нужную цифру, то это ничего не даст. Чтобы все работало нужно заменить:

!= 0 на >=7

То есть мы задаем параметр разрешить отправку, если в поле больше равно 7 символов. То есть кнопка не активируется пока в поле, где указанный данный параметр не будет 7 или больше символов. Давайте зададим следующие параметры. Для имени 2 знака, для почты - 5 и номер 7. Готовая 6 строка скрипта выглядит так:

Для тех кого интересует вопрос - А как указать максимальное количество символов?. Ответ: в HTML коде, в поле input пропишите атрибут

который устанавливает ограничение в 15 символов. Просто укажите свое число.

HTML код

Теперь вставим простую форму с тремя полями. Наша форма будет отправлять имя, почту и телефон. Вы же можете использовать свою форму.

Чтобы все сработало, во-первых - к нужным полям нужно добавить событие -

которое запускает работу нашего скрипта.

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

В-третьих у полей input должен быть ID, который так же указывается и в скрипте, как я и говорил выше.

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

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

На этом все, спасибо за внимание. 🙂

Если Вам был полезным мой труд, можете финансово поддержать сайт или отключить блокировщик рекламы, что займет 2 минуты :)

Читайте также: