1С форма списка

На прошлых занятиях мы изучили примитивные типы данных Число, Строка, Дата и Буллево, ознакомьтесь с этими материалами, прежде чем приступить к изучению этого.

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

Тип – представляет собой объект для управления допустимыми типами значений данных.

Присвоение значения объекту «Тип данных» посредством чтения реквизита

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

  • Число
  • Строка
  • Дата
  • Буллево
  • Неопределено

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

Сразу добавим в нее следующие реквизиты:

  • НашаПеременная, укажем для нее Составной тип данных: Строка, Число, Дата и Булево

  • ПрисвоеныйТип – Строка длинной 15 символов
  • Комментарий — Строка неограниченной длины

Затем поместим реквизиты на созданную конструктором форму.

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

На первом этапе объявим переменную А и создадим предопределенную процедуру-обработчик ПриОткрытии. Обработчик будет подтягивать в поле Комментарий примитивный тип данных реквизита НашаПеременная.

Обратите внимание, что программа не выполнит процедуру-обработчик, если мы не привяжем его к событию. В данном случае мы вызвали выполнение процедуры ТипЗначения (А), объявив ее в другой процедуре.

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

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

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

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

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

Присвоение значения объекту «Тип данных» посредством команды

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

Так, чтобы присвоить переменной А тип Строка, создадим команду ТипСтрока и выведем ее на форму.

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

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

Для заполнения реквизита формы ПрисвоенныйТип создадим процедуру заполнения этого реквизита полученным значением.

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

Теперь создадим на управляемой форме аналогичные команды и процедуры-обработчики для присвоения переменной переменной А примитивных типов:

  • Число
  • Дата
  • Булево
  • Неопределено

Вы можете попробовать сделать это самостоятельно.

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

Освойте навыки разработчика 1С на очных специализированных курсах от крупнейшей компании-франчайзи 1С.

Разработка интерфейса в 1С состоит из двух частей – разработка меню или рабочего стола и разработка экранных форм 1С. Окна, с которыми пользователь работает в 1С, называют экранные формы 1С или просто формы 1С.

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

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

К сожалению, этот подход ошибочен, так как пользователи привыкли работать с типовыми формами 1С, которых в конфигурации большинство. Рисовать собственный велосипед, помечать его надписями Courier вида «Copyright Vasya Pupkin» — это явно дурной тон.

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

Что такое Формы 1С

Форма 1С – это метод представления объекта 1С пользователю. Обычно форма представляет собой ряд полей, которые требуется заполнить и набор кнопок (команд меню) для управления. Форма 1С есть у большинства объектов 1С.

В толстом клиенте 1С используются «обычные» формы 1С. Это значит, что программист просто рисует мышкой форму 1С также как это делается в Visual Studio и других фреймфорках.

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

Большинство форм 1С типовых конфигураций в 1С имеют свое, типовое представление, привычное пользователю.

  • Форма списка 1С
    В 1С есть множество списков. Когда мы говорим «справочник номенклатуры», то подразумеваем «список элементов номенклатуры (т.е. товаров)». Когда мы говорим документы банка, то имеем ввиду «список документов ПКО и РКО».

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

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

  • Форма элемента/документа 1С
    Когда с помощью списка пользователь определился, с каким конкретным документом он собирается работать – открывается форма документа/элемента справочника 1С.

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

  • Форма выбора 1С
    Похожа на форму списка 1С. Зачастую форма списка 1С и используется в качестве формы выбора 1С. Она используется в том случае, когда при заполнении документа (или элемента справочника) пользователь нажимает кнопку выбора «…» и открывается форма 1С для выбора значения.

  • Форма отчета 1С
    o Верхняя командная панель, обычно с кнопкой Настройка, по нажатию на которую открывается вторая форма отчета 1С – форма Настроек
    o Выбор периода «С .. ПО .., кнопка изменения периода»
    o Одно или несколько полей быстрых отборов (например организация)
    o Большое табличное поле, куда будет выведен отчет
    o Кнопка формирования обычно вверху, крайняя справа «Сформировать».

  • Форма обработки 1С
    o Имеет часто две командных панели – вверху и внизу, кнопка запуска и закрытия обычно внизу справа.
    o Может не иметь формы вообще (см. использование обработок как классы)
    o У отчетов и обработок формы списка нет.

Как работают формы 1С

Логика (порядок) работы пользователя в 1С следующая:

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

  • Пользователь выбирает пункт меню или гиперссылку на рабочем столе – открывается форма списка 1С

  • В форме списка 1С пользователь выбирает команду (например добавить) или существующий элемент списка (элемент справочника или документ) и начинает работать с формой 1С.
  • Закончив работать с документом, пользователь закрывает форму документа 1С и возвращается в форму списка 1С. Закончив с ней – возвращается к меню.

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

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

Задача формы 1С – открыться и ждать действий пользователя. При действии – отреагировать. Таким образом основу модуля формы 1С составляют обработчики событий. Это такие функции, которые вызываются тогда, когда пользователь совершает какое то действие на форме 1С.

Где находятся формы 1С

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

В конфигураторе, в окне конфигурации, выберите нужный Вам объект, раскройте его ветку, чтобы увидеть вложенную ветку Формы 1С.

Другой вариант – открыть редактор объекта (два раза мышкой или поставить курсор и Enter) и перейти на закладку Формы 1С.

Здесь расположен список форм 1С. Одну из добавленных форм 1С можно добавить как форма по-умолчанию (форма списка 1С, форма элемента 1С и так далее).

Создание форм 1С

Чтобы добавить новую форму 1С, нужно нажать кнопку Добавить (Ins на клавиатуре). Чтобы войти в существующую – нажмите на нее два раза мышкой.

Конструктор предложит Вам выбрать вид формы 1С – форма элемента 1С, списка. Здесь же можно добавить или убрать командные панели на форме 1С. Чаще всего эти настройки оставляются как есть, по умолчанию.

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

Ненужные реквизиты можно удалить. Для этого выделите одно или несколько полей и нажмите Del.

Чтобы в освободившееся место сдвинуть другие реквизиты –выделите их так же и перетащите мышкой.

Чтобы добавить на форму 1С новые реквизиты, нажмите кнопку на панели Размещение данных (меню Форма/Размещение данных), установите галочки на тех элементах, которые нужно добавить, а также галочки «Вставить надписи» и «Разместить автоматически».

По другому можно просто добавить элемент управления, нажав соответствующую кнопку на панели внизу или выбрав в меню Форма/Вставить элемент управления. Нажмите на элементе управления (поле) два раза левой кнопкой мыши и откроются его свойства. Свойство «Данные» содержит название реквизита объекта 1С. Здесь его можно изменить или назначить.

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

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

Чтобы изменить размер формы 1С, просто подведите курсор к краю формы 1С, нажмите левую кнопку мышки и просто перетащите край формы 1С.

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

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