при наличии одного основного реквизита формы можно ли добавить еще один основной реквизит
Основной реквизит формы и расширения формы в 8.2
В документации на диске ИТС сказано:
> Функциональность формы определяется реквизитами формы и связанными с ними элементами управления. В большинстве случаев функциональность формы обеспечивается за счет выбора основного реквизита формы. Он определяет наличие расширения формы и обеспечивает поведение формы, специфическое для конкретного прикладного объекта.
У меня 2 вопроса к уважаемым участникам форума.
1) Что такое «основной реквизит формы»? Это то, что в окне с формой на закладке «Реквизиты» выделяется жирным шрифтом? Его как-то можно задать вручную? Или он только задаётся автоматически при создании формы и всё?
2) Что в этой фразе имеется в виду под расширением формы? И как именно основной реквизит формы определяет наличие расширения формы?
Принадлежность формы тому или иному объекту конфигурации не определяет состав данных, которые отображаются в форме. То, что форма принадлежит, например, справочнику Номенклатура, позволяет назначить ее одной из основных форм для этого справочника, но никак не определяет, какие же именно данные будет отображать эта форма, и каково будет ее поведение.
Для того чтобы связать форму с данными, используются реквизиты формы, в которых указывается перечень данных, отображаемых формой. Все формы, сами по себе, имеют одинаковое поведение, независимо от того, какие данные они отображают. Однако один из реквизитов формы может быть назначен для нее основным (он выделяется жирным шрифтом), и в этом случае стандартное поведение формы и ее свойства будут дополнены в зависимости от того, какой тип имеет основной реквизит формы.
То есть изменение стандартного поведения формы и её дополнительные свойства и называются расширением формы?
При наличии одного основного реквизита формы можно ли добавить еще один основной реквизит
10.7 Что бы произвольной управляемой форме назначить основной реквизит.
10.8 Что бы произвольной обычной форме назначить основной реквизит.
10.9 При наличии одного основного реквизита формы можно ли добавить еще один основной реквизит?
10.10 Для чего нужны основные формы прикладных объектов?
10.11 В качестве основной формы можно назначить?
10.12 Как определяется рабочая область рабочего стола?
10.13 Разместить формы в области рабочего стола можно:
10.14 Рабочий стол можно отобразить:
10.15 Управляемые формы списков можно отобразить:
10.16 Настройка формы в режиме исполнения позволяет:
10.17 Настройка списка в режиме исполнения позволяет:
10.18 Какие возможности по настройке порядка обхода элементов в управляемой форме существуют в системе 1С:Предприятие 8?
10.19 Панель навигации может существовать:
10.20 Параметры формы предназначены:
10.21 При наличии одного ключевого параметра можно ли добавить еще один ключевой параметр формы?
10.22 Чем отличается ключевой параметр формы от обычного?
10.23 Для добавления команды в виде кнопки на управляемой форме можно:
10.24 Для добавления команды в виде кнопки на управляемой форме можно:
10.25 Для добавления команды в виде кнопки на обычной форме можно:
10.26 С помощью элемента управления «Индикатор» можно:
10.27 На рисунке представлена:
10.28 Поведение элементов управления.
10.29 С помощью элемента управления «Переключатель» можно:
10.30 Возможность системы создания «налету» форм по умолчанию в режиме «1С:Предприятие».
10.31 Какой из элементов управления предназначен для интерактивного анализа многомерных данных в графическом виде?
10.32 Для хранения значения элемента управления «Переключатель» можно использовать:
10.33 При использовании свойства диаграммы «МаксимумСерий-Количество», если количество серий превышает максимальное значение:
10.34 Для чего используются привязки в обычной форме?
10.35 При расположении в панели обычной формы элементов управления.
10.36 С помощью кнопки панели инструментов «Элементы управления, указанной на рисунке, будут созданы:
10.37 Значение типа «ЗначениеДиаграммы» позволяет получить:
10.38 Как включить возможность интерактивной перенастройки порядка обхода элементов управления обычной формы?
10.39 Элемент управления «Надпись» предназначен:
10.40 Свойство диаграммы «БазовоеЗначение» содержит:
10.41 При размещении элементов управления в форме нельзя.
10.42 Если для элемента управления «Надпись» в качестве источника данных указан реквизит справочника, то выводимая надписью информация будет определяться:
10.43 Сколько может быть создано форм, подчиненных справочнику «Номенклатура»?
10.47 Список значений, используемый в элементе управления «Поле выбора», может быть сформирован:
10.48 Можно ли, нажав на картинку, выполнить некоторые действия?
10.49 Для выбора значений из списков можно использовать следующие элементы управления:
10.50 С помощью элемента управления «Поле текстового документа» можно отображать и редактировать:
10.51 Элемент управления «Разделитель» позволяет:
10.52 Визуально объединять элементы управления, размещенные в форме, можно с помощью:
10.53 Поясняющая информация на элементе управления «Кнопка» может быть представлена в виде:
10.54 В качестве обработчика события «Нажатие» элемента управления «Кнопка» может быть:
10.55 Можно ли при нажатии на элемент управления «Кнопка» осуществить вызов подменю?
10.56 Сколько элементов управления «Командная панель» расположено на форме?
10.57 Для управления информацией, расположенной в форме, элемент управления «Командная панель» может содержать:
10.58 Каким образом для элемента управления «Командная панель» реализовать возможность его автоматического заполнения?
10.59 В конфигурацию добавлен новый справочник «Договора», подчиненный справочнику «Контрагенты». Каким образом, в режиме Конфигуратора, необходимо модернизировать основные формы списка и элемента справочника «Контрагенты», чтобы для конкретного контрагента имелась возможность просмотреть его договора? Каждая из форм имеет автоматически заполняемую командную панель.
10.60 Свойство «Вспомогательная» элемента управления «Командная панель» предназначено:
10.61 Элемент управления «Поле табличного документа» предназначен для размещения в форме:
10.62 Элемент управления «Табличное поле» предназначен для размещения в форме:
10.63 Данные в элементе управления «Табличное поле» могут быть отображены:
10.64 Можно ли одновременно создать элемент управления «Поле ввода» вместе с поясняющей надписью, представляющей элемент управления «Надпись»?
10.65 Элемент управления «Поле ввода» предназначен для:
10.66 Тонкая прерывистая линия красного цвета в поле ввода контрагента означает:
10.67 Если в качестве типа значения для элемента управления «Поле ввода» выбрано «СправочникСсылка.Номенклатура», то можно ли организовать быстрый выбор значения этого поля, набирая название конкретной позиции номенклатуры непосредственно в самом поле ввода?
10.68 Состав кнопок, расположенных справа у элемента управления «Попе ввода», определяется:
10.69 Какую кнопку необходимо создать у элемента управления «Поле ввода», чтобы для выбора значения можно было использовать выпадающий список?
10.70 Можно ли в один элемент управления «Поле ввода» вводить значения разных типов?
10.71 При ситуации, отображенной на картинке, если обратиться к «Сотрудник» в модуле формы документа, то.
10.72 На рисунке представлена:
10.73 В модуле объекта справочника «Номенклатура» объявлена процедура со словом «Экспорт». Может ли она быть вызвана «напрямую» из модулей подчиненных форм?
10.74 На рисунке представлена:
10.75 Различается ли набор свойств у элемента управления «Поле ввода», созданного в форме и расположенного в табличном поле этой формы?
10.76 Свойство «Тип значения» элемента управления формы.
10.77 При обращении к форме «извне» для считывания данных.
10.78 На рисунке представлена:
10.79 Для чего предназначены элементы управления?
10.80 Каким образом в основной форме списка регистра сведений отобразить список элементов справочника «Подразделения»?
10.81 Что произойдет, если нажать кнопку командной панели, отмеченную на рисунке?
10.82 Что произойдет, если нажать кнопку командной панели, отмеченную на рисунке?
Расположение дополнительных реквизитов на форме
Продолжаем цикл статей про механизм типовых конфигураций 1С «Дополнительные реквизиты». Чем полезен данный функционал можно почитать во вступлении.
Где найти дополнительные реквизиты на форме
В конфигурации 1С:Документооборот дополнительные реквизиты, добавленные в пользовательском режиме справочнику Внутренние документы по умолчанию, отображаются в форме на закладке «Свойства». Если реквизит носит факультативный характер, то в его расположении на этой закладке нет ничего страшного. Пользователь после заполнение основных реквизитов переходит на вкладку «Свойства» и там вносит дополнительную информацию. А что, если дополнительные реквизиты, назначенные какому-либо виду внутреннего документа, составляют основу для его наполнения. В этом случае желательно чтобы при открытии формы документа они сразу попадали в фокус внимания пользователя. В этом случае расположении реквизитов на закладке, «Свойства» которая «затеряна» среди прочих закладок формы мешает эффективной работе с документом. Напрашивается решение, которое позволит для определённых видов документов при их открытии сразу открывать закладку «Свойства». Это позволит показать пользователю всю основную информацию документа, без необходимости делать переходы по элементам формы.
Добавляем дополнительный реквизит
Допустим мы создали документ с видом «Заявка на прием». В данном документе мы хотим указывать СНИЛС для принимаемого сотрудника. Создаем дополнительный реквизит «СНИЛС».
Делаем привязку этого реквизита к виду документа «Заявка на прием». Создаем новый документ и видим, что на закладке «Свойства» появился наш дополнительный реквизит «СНИЛС».
Все отлично, кроме того, что, как мы говорили выше, кадровику придётся после открытия документа каждый раз переходить на закладку «Свойства» чтобы добраться до нужной информации. Давайте облегчим жизнь пользователям. Сделаем так, чтобы при открытии документа с видом «Заявка на прием», первое что видел пользователь была закладка «Свойства».
Переносим закладку дополнительных реквизитов
Для переноса закладки внесем дополнения в код программы. Для удобства добавим общий модуль, в который будет содержать процедуры и функции для работы с документами. Назовем его маг_РаботаСДокументами. Добавим туда такую процедуру:
Программное добавление реквизитов на форму документа. Без изменения самой формы.
Итак. В данном случае выводим новые реквизиты снизу формы. Исходим от того, что у нас в типовых формах есть процедура обновления заголовка, которая выводить текущее состояние документа (новый, проведен, не проведен или записан), в ней и вызовем процедуру вывода новых реквизитов.
Вкраце последовательность действий:
1. Выводиться форма
3. Обратно уменьшаем высоту растягиваемых элементов на n, а остальные элементы формы, которые прикреплены к нижнему краю, смещаем на n вверх.
4. Добавляем новые реквизиты, устанавливаем их свойства и привязки. Profit!
На форме появляются новые реквизиты, привязки корректно отрабатывают, так как мы их не трогали и не меняли. Раньше моя ошибка заключалась в том что я пытался отключить привязку элементов к нижней границе формы, а после добавления новых элементов, пытался их восстановить. В итоге формы нещадно глючили, ломались привязки. А решение оказалось на поверхности. Не надо трогать привязки, все корректируется высотой и положением самого элемента.
З.Ы. Возможно будут проблемы с элементами которые привязаны к нижней границе через другой элемент, но в моих 30 документах такого не наблюдалось. В крайнем случае можно сохранить параметры всех элементов на форме: верхняя точка и высота элемента. И после увеличения высоты формы восстановить эти параметры.
Примеры кода, думаю комментариев будет достаточно:
// Проверка на наличие дополнительных реквизитов
// Вывод или сохранение дополнительных реквизитов
// Если элемент формы существует то сохраняем значение
Если Элемент = Неопределено Тогда
ВысотаОбщаяДобавляемыхЭлементовПоВертикали = 27 ; // Общая высота всех добавляемых элементов
ВысотаНижнейПанели = 0 ; // будет вычислятся если нижняя панель есть
// Обработка элементов формы
// Исключаем нижнюю панель команд
// У растягиваемых элементов уменьшаем высоту, а элементы с фиксированной высотой смещаем вверх
// Создание поле ввода