1с 8.3 флажок на форме. Форма. Создание. Создание основной формы обработки

1. Способы создания формы
2. Конструктор форм

Способы создания формы

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

1. Из конструктора объекта 2 способа

2. Из дерева конфигурации через контекстное меню (правой кнопкой мыши на выделенном синим на рисунке объекте).

Конструктор форм

При создании новой формы появляется окно конструктора формы:

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

    Форма элемента(документа, набора значений)

    Форма списка

    Форма выбора

Флажок «Назначить форму основной » означает что, если форм данного типа будет несколько и при вызове формы этого типа не будет указана конкретная, то будет выведена основная. Например: существует форма списка «ФормаСпискаКраткая», которая является основной и «ФормаСпискаПолная», если вызвать форму списка и не указать конкретную, то будет выведена «ФормаСпискаКраткая».
Основные формы видны на закладке «Формы» конструктора изменяемого объекта.

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

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

Дальше идёт реквизит «Имя » он является идентификатором этой формы, нельзя создать у одного объекта двух форм с одинаковым идентификатором.
Реквизит «Синоним » будет выводиться в пользовательском режиме как имя этой формы.
Реквизит «Комментарий » хранит какие-либо заметки или пояснения.

Флажки «Командная панель сверху » и «Командня панель снизу » указывают где выводить командные панели. Командная панель это элемент формы который содержит кнопки. Например:

Для себя я использую в основном следующий метод создания формы, если объект новый то вызываю конструктор из объекта на закладке «Формы» группа «Основные формы», нажимая на значок «Открыть»(лупа)(рисунок 1). Если объект имеет основные формы, то вызываю конструктор из дерева метаданных методом «Добавить» из контекстного меню ветки «Формы»(рисунок 2).
Сделаю небольшое пояснение о связи формы с объектом. Вообще правильная установка свойств уменьшает необходимость писать код.
У формы есть свойство «Данные» оно является основным для формы и на закладке «Реквизиты» выделяется жирным шрифтом.

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

В статье рассказывается об использовании конструкции “ДЛЯ ИЗМЕНЕНИЯ” языка запросов 1С. Данный материал будет особенно полезен тем, кто хочет разобраться с особенностями блокировок регистров при работе с информационной базой в варианте клиент-сервер.

Применимость

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

Конструкция ДЛЯ ИЗМЕНЕНИЯ

При использовании автоматического режима блокировок чтение без опции ДЛЯ ИЗМЕНЕНИЯ и последующая запись в рамках одной транзакции может приводить к возникновению взаимоблокировок, вызванных использованием недостаточного уровня блокировки ресурса.

Конструкция ДЛЯ ИЗМЕНЕНИЯ используется, чтобы вместо разделяемой S-блокировки установить U-блокировку обновления, совместимость которой с другими блокировками хуже:

В таблице стоит знак «+», если блокировки на пересечении строки и столбца совместимы, «–» – в противном случае.

Рассмотрим кратко основные виды блокировок.

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

Блокировки обновления (U) предотвращают возникновение распространенной формы взаимоблокировки. В сериализуемой транзакции или транзакции с повторяющимся чтением транзакция считывает данные, запрашивает разделяемую (S) блокировку на ресурс, затем выполняет изменение данных, что требует преобразование блокировки в исключительную (X).

Если две транзакции запрашивают разделяемую блокировку на ресурс и затем пытаются одновременно обновить данные, то одна из транзакций пытается преобразовать блокировку в исключительную (X).

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

Начнется ожидание блокировки.

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

Чтобы избежать этой потенциальной взаимоблокировки, применяются блокировки обновления (U). Блокировку обновления (U) может устанавливать для ресурса одновременно только одна транзакция. Если транзакция изменяет ресурс, то блокировка обновления (U) преобразуется в исключительную (X) блокировку.

Исключительная (X) блокировка запрещает транзакциям одновременный доступ к ресурсу. Если ресурс удерживается исключительной (X) блокировкой, то другие транзакции не могут изменять данные.

Конструкция ДЛЯ ИЗМЕНЕНИЯ указывается в конструкторе запроса на закладке Дополнительно :

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

В управляемом режиме блокировок описываемой проблемы не существует, поэтому конструкция ДЛЯ ИЗМЕНЕНИЯ ни на что не влияет.

На закладке Дополнительно сгруппированы доп.опции для построения запроса:

Рассмотрим их назначение.

  1. Первые (n) - позволяет выбрать заданное число записей, первых в запросе, с учетом заданного порядка записей. В тексте запроса сгенерит ключевое слово ВЫБРАТЬ ПЕРВЫЕ N
  2. Без повторяющихся - оставит в детальных записях выборки только уникальные записи. В тексте запроса сгенерит ключевое слово ВЫБРАТЬ РАЗЛИЧНЫЕ
  3. Разрешенные - необходимо для настройки ограничений прав доступа; будут показаны только разрешенные для данных полномочий записи (если опцию не ставить, то запрос модет не выполниться при ограниченных правах, вернуть ошибку). В тексте запроса опция сгенерит ключевое слово ВЫБРАТЬ РАЗРЕШЕННЫЕ
  4. Тип запроса - выборка данных либо создание временной таблицы . Опция временной таблицы позволяет задать ее имя; к данной таблице впоследствии можно будет обращаться как промежуточному источнику данных редактируемого запроса. В тексте запроса в этом случае появится ключевое слово ПОМЕСТИТЬ
  5. Блокировать полученные данные для последующего изменения - предполагается, что пока идет чтение из таблиц-источников, они блокируются на чтение в иных сессиях. В тексте запроса в случае включения опции появится ключевое слово ДЛЯ ИЗМЕНЕНИЯ. При этом можно указать, какие именно таблицы из числа задействованных в запросе блокируются; если этого не сделать, то заблокируются все.

Вопрос 07.21 экзамена 1С:Профессионал по платформе. Флаг "Без повторяющихся записей" на закладке "Дополнительно" конструктора запросов позволяет:

  1. Исключить из таблиц-источников данных одинаковые строки
  2. Исключить из результирующей таблицы запроса одинаковые строки. Данная операция распространяется как на детальные, так и на итоговые записи
  3. Исключить из результирующей таблицы запроса одинаковые строки. Данная операция распространяется только на детальные записи

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

Вопрос 07.22 экзамена 1С:Профессионал по платформе. Флаг "Первые 5 записей" на закладке "Дополнительно" конструктора запросов позволяет:

  1. Вывести в отчет первые 5 записей. Записи будут отобраны без учета правил упорядочивания, настроенных в конструкторе запросов
  2. Вывести в отчет первые 5 записей. Записи будут отобраны с учетом правил упорядочивания, настроенных в конструкторе запросов

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

Вопрос 07.23 экзамена 1С:Профессионал по платформе. Флаг "Для изменения" (в режиме автоматических транзакционных блокировок) на закладке "Дополнительно" конструктора запросов позволяет:

  1. Заблокировать на изменение данные указанных таблиц-источников при выполнении запроса (вне транзакции)
  2. Заблокировать на чтение данные указанных таблиц-источников в запросе (как вне, так и в рамках транзакции)
  3. Заблокировать данные указанных таблиц-источников на чтение (в рамках транзакции)
  4. Верны ответы 1 и 2

Правильный ответ третий. Блокировка снимается после завершения отрабатывающей транзакции.

Вопрос 07.24 экзамена 1С:Профессионал по платформе. При установке флага "Для изменения" (в режиме автоматических транзакционных блокировок) на закладке "Дополнительно" конструктора запросов происходят блокировки:

  1. На уровне таблиц базы данных
  2. На уровне записей таблиц базы данных
  3. В варианте файл-сервер - на уровне таблиц базы данных
  4. В варианте клиент-сервер - на уровне записей таблиц базы данных
  5. Верны ответы 3 и 4

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

Вопрос 07.25 экзамена 1С:Профессионал по платформе. При установке флага "Для изменения" (в режиме автоматических транзакционных блокировок) на закладке "Дополнительно" конструктора запросов будут блокироваться данные:

  1. Всех таблиц-источников в запросе
  2. Только виртуальных таблиц-источников в запросе
  3. Если список "Таблицы для изменения" - пуст, то всех таблиц, задействованных в запросе, иначе - только таблиц, указанных в списке

Правильный ответ третий, разбор в посте.

Вопрос 07.47 экзамена 1С:Профессионал по платформе. При попытке выполнить запрос с текстом "Выбрать * Из Справочник.Номенклатура", в случае если на записи справочника были определены ограничения на чтение (в соответствующей роли) произойдет следующее:

  1. Будут получены все данные
  2. Будут получены данные только из разрешенных записей
  3. Произойдет ошибка

Правильный ответ третий. Для избежания ситуации, нужно выставить опцию "Разрешенные".

И так начнем. Для наглядности я создам реквизит формы с .

Разместим новый реквизит на форме. Это можно сделать двумя способами.

Первый способ: просто перетащить мышкой нужный реквизит в закладку элементы.

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

Я перетащу реквизит с типом Булево, и у него автоматически установится вид Поле флажка .

Сам флажок нам не интересен. Гораздо интереснее свойство Вид флажка , которое может принимать три значения – Авто , Флажок и Тумблер .

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

Конечно же, когда в переключателях тумблера написаны названия Истина и Ложь, это не очень то красиво. Поменяем их на более привычные. Для этого воспользуемся свойством элемента Формат редактирования , где на закладке Булево установим более подходящие для нас названия кнопок тумблера.

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

Более подробно работа с элементами формы на практичных примерах дается в книге «Основы разработки в 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

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

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

Кнопка является одним из наиболее часто используемых элементов управления в формах прикладных решений программы 1С:Предприятие. В этом видео-уроке мы вместе с вами создадим простейший прикладной объект 1С - так называемую "обработку", далее мы создадим основную форму обработки и научимся добавлять в эту форму такой важный элемент управления, называемый "Кнопка"

1. Создание тестовой обработки

Здравствуйте дорогие друзья! С вами Дегтярев Роман. Тренинг - Центр “Старт в 1С” .

Прочтите текст, и одновременно посмотрите короткую видео-шпаргалку, в которой речь пойдет о вставке интерфейсных элементов в форму какого-либо прикладного объекта 1С, (в том числе и обработки 1С, на примере которой мы рассмотрим этот процесс)

Видео, на котором показан весь процесс, расположено ниже.

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

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

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

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

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

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

Итак, мы вошли в режим конфигурирования прикладного решения. Давайте с вами создадим обработку. Правдой кнопкой мыши нажимаем на узле “Обработки” и выпадает меню.

Выбираем в выпавшем меню пункт с именем “добавить” . Откроется окно визуального конструктора обработки.

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

Например, давайте дадим нашей обработке имя “Тестовая обработка” . Вы сами называйте так как вам требуется, если вы создаете обработку.

После присвоения имени нашей обработке можем внизу окна конструктора сразу же нажать кнопку “Закрыть” - поскольку иных действий выполнять не требуется.

Тестовая обработка создана, мы видим ее имя в дереве конфигурации, в узле “Обработки” . Давайте, щелкнем мышью на имени нашей обработки, развернем этот пункт и увидим под-элементы, которые могут входить в состав нашей обработки: “Реквизиты”, “Формы”, “Макеты” и так далее.

2. Создание основной формы обработки

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

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

Давайте нажмем правой кнопкой мыши на узле “Формы” , далее, выбираем в появившемся контекстном меню пункт с именем “Добавить”

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

Но нам сейчас никаких особых настроек делать не нужно, поэтому мы просто нажимаем кнопку “Готово” , в нижней части окна конструктора формы обработки.

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

3. Теперь рассмотрим процесс создания кнопок в форме обработки

Итак, как же происходит вставка кнопок?

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

Нас же сейчас интересуют те кнопки, которые мы вставим сами, “вручную”.

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

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

Если кнопка на панели инструментов отсутствует (это зависит от настроек панелей инструментов), у нас имеет альтернативный путь: Когда перед нами на экране имеется окно конструктора формы, мы можем выбрать из главного меню конфигуратора пункт: “Форма”/ “Вставить элемент управления” .

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

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

Сейчас же нас интересует элемент “Кнопка” . По умолчанию, после открытия окна “Вставка элемента управления” , для вставки как раз выбран именно первый элемент из списка возможных и этот элемент управления - “Кнопка” .

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

То есть, перед вставкой какого-то элемента управления в форму, его можно предварительно “подготовить”, установив основные его свойства: имя, заголовок, текст подсказки при наведении мыши, и некоторые другие свойства.

Например, любому элементу, в том числе и “кнопке”, мы можем присвоить какое то имя перед вставкой. Это имя будет являться именем объекта на встроенном языке 1С:Предприятие, именем программного объекта.

Это то имя, к которому потом можно будет обращаться из встроенного языка программирования.

Аналогично, мы можем присвоить какой то заголовок кнопке, надпись на ней. В нашем примере присвоим кнопке заголовок “Наша кнопка” .

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

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

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

Все, подготовка перед вставкой завершена, теперь нажимаем кнопку “Ок” .

После этого окно “Вставка элемента управления” закрывается и теперь мы можем вставить нашу кнопку в произвольное место нашей формы. Значок курсора мыши временно изменен на крупный “плюс” - таким образом система подсказывает, что мышью нужно указать конкретное место на форме, куда мы собираемся вставить элемент управления.

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

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

Давайте, все-таки, вернемся на закладку “Диалог” (закладки конструктора формы находятся снизу окна) и убедимся, что кнопка в форме появилась. Да, наша кнопка здесь!

Мы можем поменять ее размер, “потянув мышью” за угол кнопки, или куда-то сдвинуть нашу кнопку в пределах окна формы.

А перейдя снова в программный модуль (закладка “Модуль” ) -мы можем писать код на языке программирования, для выполнения действий по нажатию нашей кнопки.

Впишем некоторый код, пусть он, для простоты, состоит всего из одной строчки “Сообщить(“Нажата наша кнопка!”);

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

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

Далее, выберем в главном меню пункт “Операции”/”Обработки” . Вспоминаем, что мы создали обработку и назвали ее “Тестовая обработка” , поэтому обработку с таким именем мы и выбираем из открывшегося списка.

Тмк, мы видим перед собой форму нашей обработки. В форме мы видим нашу кнопку с заголовком “Наша кнопка” . Обратите внимание, подсказка “Это наша кнопка” появляется при наведение курсора мыши над кнопкой.

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

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

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

С вами был Дегтярев Роман.

Тренинг-центр “Старт в 1С”

Как научиться программировать в 1С с нуля?

Как работать программистом 1С и получать до 150 000 рублей в месяц?

ЗАПИШИСЬ НА БЕСПЛАТНЫЙ

2-НЕДЕЛЬНЫЙ КУРС

"ПРОГРАММИРОВАНИЕ в 1С ДЛЯ НОВИЧКОВ"

Курс придет на электронную почту. Стань программистом, выполняя пошаговые задания.

Для участия нужен только компьютер и интернет

Бесплатный доступ на курс:

Sp-force-hide { display: none;}.sp-form { display: block; background: #eff2f4; padding: 5px; width: 270px; max-width: 100%; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; font-family: Arial, "Helvetica Neue", sans-serif; background-repeat: no-repeat; background-position: center; background-size: auto;}.sp-form input { display: inline-block; opacity: 1; visibility: visible;}.sp-form .sp-form-fields-wrapper { margin: 0 auto; width: 260px;}.sp-form .sp-form-control { background: #ffffff; border-color: #cccccc; border-style: solid; border-width: 1px; font-size: 15px; padding-left: 8.75px; padding-right: 8.75px; border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; height: 35px; width: 100%;}.sp-form .sp-field label { color: #444444; font-size: 13px; font-style: normal; font-weight: bold;}.sp-form .sp-button { border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; background-color: #f4394c; color: #ffffff; width: 100%; font-weight: 700; font-style: normal; font-family: Arial, "Helvetica Neue", sans-serif; box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none; background: linear-gradient(to top, #e30d22 , #f77380);}.sp-form .sp-button-container { text-align: center; width: auto;}