Если в модуле формы объявить глобальную переменную с директивой &НаСервере,то её значение будет сохраняться только в рамках одного обращения к серверу. Если объявить переменную &НаКлиенте, то она будет сохранять свое значение на время открытия формы. Передавать её значение можно в качестве параметра серверных процедур.
Для каждой подсистемы задается командный интерфейс. Если у подсистемы не стоит галка "Включать в командный интерфейс", то подсистема не будет отображаться на панели разделов.
Для объектов подсистемы проставляется видимость. Дальше идет видимость по ролям. Сколько ролей создано в системе, столько и будет столбцов. Видимость по ролям может быть в трех состояниях:
Не установлено - для роли объект на виден
установлено - объект виден
серая галка - видимость объекта определяется галкой в столбце "Видимость"
Если у пользователя 2 роли, и у одной из них не установлена видимость, а у другой установлена, то объект будет виден.
Нельзя указывать экспортные переменные. Глобальный – процедуры будут доступны из вне напрямую, т.е. доступны в глобальном контексте (не пишем название модуля и через точку имя процедуры, а сразу имя процедуры). (-) чем больше глобальных модулей, тем медленнее загружается программа, так как глобальный модуль загружается при запуске программы. Если модуль не глобальный, то его загрузка происходит при первом обращении к процедурам модуля. Привилегированный модуль выполняется без учета прав пользователей. Это ускоряет работу, так как программа не тратит время на обработку прав. По этой причине привилегированные модули используют при массовых вычислениях. Привилегированные модули могут быть скомпилированы только на сервере. Их используют для того, чтобы временно добавить права пользователю, например у пользователя нет доступа к справочнику, но при проведении документа, реквизит содержащий этот справочник должен заполнятся, для этого процедуру проведения или часть выводим в привилегированный модуль, тем самым обходим ограничение на права пользователя.
В обычных общих модулях в свойствах надо указать в каком контексте будут скомпилированы процедуры. Если поставить несколько галок (Клиент, Сервер, Внешнее соединение), то при компиляции будут созданы одновременно несколько экземпляров модулей для каждого из контекста, которые не смогут обращаться друг к другу внутри модуля (т.е. нельзя будет из клиентского метода модуля вызвать серверный метод того же модуля), но из других модулей обращение к ним возможно. В таких модулях место компиляции процедур задаются директивами компилятора (&НаСервере, &НаКлиенте). Если их не указать, то процедуры будут скомпилированы одновременно на всех контекстах, которые указаны в свойствах общего модуля. В таком случае в тексте процедур надо рулить инструкциями препроцессора, чтобы разделить контекст. Контекст вызываемых процедур общего модуля без инструкций препроцессора будет определяться контекстом вызываемых их модулей.
Правилом хорошего тона не указывать директивы компиляции у процедур, а задавать их в свойствах модуля и указывать в имени модуля.
Если общий модуль скомпилирован на сервере, то его процедуры доступны только для вызова с сервера, но есть возможность сделать их доступными для вызова из клиентских модулей. Для этого ставиться свойство «Вызов сервера».
Свойство «Вызов сервера» работает только если указано, что модуль будет компилироваться только на сервере. Если поставить галки «Клиент», «Сервер» и при этом будет указана директива процедуры &НаСервере, то процедуры станет недоступной для клиентских модулей.
Свойство «Повторное использование возвращаемых значений».
Доступно только для не глобальных общих модулей и для процедур, которые вызываются с параметрами и не обращаются к базе данных. В этом случае, результат выполнения кэшируется, и при повторном вызове с такими же параметрами вернет запомненное значение.
Очистка кэша происходит через 20 мину после попадания в кэш. Так же время задается одним из следующих значений: «На время вызова» (Упрощенно действует до окончания процедуры) или «На время сеанса» (Упрощенно действует до завершения сеанса), но 20 минут ему к не переплюнуть.
СправочникиМенеджер – управляет всеми справочниками. Обращение: Справочники.
СправочникМенеджер.<Имя справочника> - предназначен для управления конкретным справочником. Можно искать элемент справочника, создавать элемент и группу, получать форму справочника, получить пустое значение справочника и т.д. Обращение: Справочники.<имя>, например Справочники.Номенклатура
СправочникСсылка.<Имя справочника> - позволяет прочитать значение и реквизиты справочника. Используется только для ЧТЕНИЯ.
СправочникОбъект.<Имя справочника> - позволяет модифицировать (записывать) и удалять элемент справочника.
Получить можно с помощью метода ПолучитьОбъект() от ссылки.
СправочникВыборка.<Имя справочника> - предназначен для перебора элементов справочника. Получается при вызове метода «Выбрать» объекта СправочникМенеджер.
Если тип реквизита отображается в скобках, то этот тип не доступен на клиенте, и для его отображения на форме потребуется его преобразование, например ТаблицаЗначений
Нельзя присвоить такому реквизиты значение. Нужно использовать метод ЗначениеВДанныеФормы(<Значение>, <Объект>),
например ЗначениеВДанныеФормы(Таб, Таблица1). Здесь Таб - это созданная программно таблица значений, а Таблица1 - это реквизит на форме
В реквизит формы Таблица1 перенесутся только те столбцы, которые есть в программно созданной таблице,остальные проигнорируются. Сработает аналог процедуры ЗаполнитьЗначенияСвойств().