Константы в 1С:Предприятие используются для хранения информации, которая либо не меняется никогда, либо меняется – но очень редко. Константы содержатся в ветви
Имя: ТекстСообщения
Тип: Строка
Длина: 50
Включим константу в состав подсистемы УчетРаботыМастеров. Предполагается, что данная константа будет использоваться для показа сообщения пользователям, входящим в систему.
(рис 2.1) Настройка параметров новой константы
Посмотрим, как включение константы в подсистему ., что в разделе Учет работы мастеров, под панелью разделов, появилась еще одна панель. Она называется панелью действий. В панель действий автоматически включаются команды, разбитые на группы – Сервис, Создать, Отчеты. Группы в панели действий можно создавать и самостоятельно. В нашем случае в панели действий видна группа Сервис, содержащая команду для работы с только что созданной константой.
(рис 2.2) Константа в панели действий в разделе Учет работы мастеров
В левой части окна программы можно видеть еще одну панель – она называется панелью навигации. Сейчас она отображает ссылку для доступа к справочнику Сотрудники, который мы создавали в предыдущей лекции. Свободная часть окна – это рабочая область, в которой, например, открываются списки справочников.
Щелкнем по команде . и нажмем на кнопку Записать и закрыть.
(рис 2.3) Форма редактирования константы Текст сообщения
Если мы не хотим сохранять внесенные изменения, можно просто закрыть окно с помощью стандартной кнопки Закрыть, для записи изменений без закрытия формы служит кнопка Записать объект.
Для того, чтобы воспользоваться дополнительными возможностями по работе с формой, можно использовать меню .
(рис 2.4) Меню Все действия
Отчасти оно дублирует кнопки, имеющиеся на форме, в нем так же имеется одна специфичная для платформы 1С:Предприятие 8.2. команда. А именно, речь идет о команде Изменить форму.
Форма, которую мы видим, сформирована автоматически. Однако, в режиме 1С:Предприятие мы можем вносить в нее некоторые изменения. Выполним команду .
(рис 2.5) Окно Настройка формы
Нужно учитывать, что пользователь сможет настраивать внешний вид форм в том случае, если для него установлено право . В нашем случае оно установлено.
(рис 2.6) Право Сохранение данных пользователя
(рис 2.7) Отредактированный заголовок объекта
Перейдем в режим конфигурирования, создадим еще одну константу (она пригодится нам позже):
Имя: ПрефиксНомера
Тип: Строка
Длина: 2
Включим эту константу в подсистему Администрирование. В режиме 1С:Предприятие доступ к этой константе будет организован в группе Сервис панели действий раздела Администрирование. Кроме того, мы можем организовать доступ к константам из других мест нашего приложения. Мы можем самостоятельно включить команду для вызова формы просмотра и редактирования константы, отредактировав командный интерфейс, можем так же создать специальную форму, называемую формой констант.
Для создания формы констант нужно вызвать контекстное меню ветви ., нужно оставить тип формы в значении Форма констант, при необходимости заполнить другие поля и нажать на кнопку Далее.
(рис 2.8) Конструктор общих форм
В появившемся окне, . можно настроить состав формы констант, в нашем случае нас устраивает то, что в нее включены обе созданные в конфигурации константы, поэтому нажмем на кнопку Готово.
(рис 2.9) Конструктор общих форм, состав формы констант
В ветви .
(рис 2.10) Окно редактирования формы
При разработке командного интерфейса в 1С:Предприятие 8.2. используется концепция декларативного описания. Это означает, что разработчик задает схематичное описание элементов интерфейса, их группировку, свойства. При построении интерфейса для конкретного пользователя система создает его, опираясь на описание, сделанное разработчиком, учитывая различные дополнительные факторы, например, такие как права пользователя и пользовательские настройки интерфейса.
Форму констант так же нужно включить в одну из подсистем. Включим ее в подсистему .
(рис 2.11) Окно редактирования формы
Мы видим, что форма констант доступна в группе ., снять флаг Видимость для команды Префикс номера группы Сервис панели действий.
(рис 2.12) Настройка панели действий
Теперь при запуске в режиме 1С:Предприятие ненужная команда отображаться не будет.
Выше мы создавали константу . Нас интересует обработчик ПриНачалеРаботыСистемы.
(рис 2.13) Выбор обработчика ПриНачалеРаботыСистемы
В модуле появится пустое тело обработчика, в которое нам нужно ввести команду для вывода сообщения пользователям. Если попытаться обратиться к константе напрямую из модуля управляемого приложения – мы столкнемся с ошибкой. Дело в том, что исполнение модуля управляемого приложения происходит на клиенте, в контексте которого нет доступа к константам. Поэтому нам понадобится код, который выполняется на сервере и возвращает значение константы. В данном примере мы можем возложить на серверную часть примера и вывод сообщения (функция Сообщить, которой можно здесь воспользоваться, работает и на клиенте, и на сервере). Но гораздо полезнее, в плане перспектив повторного использования кода серверной процедуры, "вытащить" серверные данные в метод, который выполняется на клиенте.
Создадим новый общий модуль (в ветви .
(рис 2.14) Общий модуль СерверныеФункции, свойства
Откроем
//Экспортная функция для вызова из других модулей
Функция ПолучитьКонстанту() Экспорт
//Возвращаем полученное значение константы
Возврат(Константы.ТекстСообщения.Получить());
КонецФункции
(рис 2.15) Общий модуль СерверныеФункции, код
Теперь нам нужно вызвать эту функцию в подходящем месте кода обработчика события ПриНачалеРаботыСистемы в модуле управляемого приложения. Например, это можно сделать так:
Процедура ПриНачалеРаботыСистемы()
//Выводим сообщение пользователю
Сообщить(СерверныеФункции.ПолучитьКонстанту());
КонецПроцедуры
В результате при входе в систему мы получим сообщение следующего вида, .
(рис 2.16) Вывод сообщения пользователю
Обратите внимание на то, что сообщение выводится в область Сообщения основного рабочего окна. Если сообщение вызвано из модуля какого-либо отдельного окна, например, из модуля формы констант, которая создана ранее, то, по умолчанию, сообщение будет выведено в этом окне.
Посмотрим на этот механизм в действии. Откроем окно редактирования формы констант (.:
НаКлиенте
Процедура ПриОткрытии(Отказ)
Сообщить("Вы открыли форму констант!");
КонецПроцедуры
(рис 2.17) Вывод сообщения пользователю из модуля формы констант
Благодаря этому коду при открытии формы констант будет появляться следующее сообщение, .
(рис 2.18) Вывод сообщения в форму констант
Обратите внимание на директиву компиляции НаКлиенте, которая, в вышеописанном участке кода, автоматически размещена перед описанием процедуры ПриОткрытии(). Создавая решение для 1С:Предприятие 8.2 разработчик должен четко разграничивать код, исполняемый в клиентской и серверной частях приложения. Причем, на клиенте (в контексте клиента) и на сервере (в контексте сервера) доступны различные объекты, различные программные механизмы. Основная задача серверного кода заключается во взаимодействии с базой данных, клиентский код занимается отображением этих данных и взаимодействием с пользователем. А задача разработчика заключается в том, чтобы создать код с учетом клиент-серверного взаимодействия.
Если перед описанием процедуры, функции или переменной в модуле формы отсутствует директива компиляции, по умолчанию считается, что код будет исполняться на сервере. В явном виде это задается указанием директивы НаСервере.
Попытаемся в нашем модуле формы вывести в окно сообщения значение константы. Для этого мы можем добавить в модуль функцию, возвращающую значение константы, которая должна выполняться в контексте сервера. Например, это можно сделать одним из следующих способов – ниже приведена дополненная процедура ПриОткрытии и еще пара процедур, заданных в коде модуля формы:
НаКлиенте
Процедура ПриОткрытии(Отказ)
Сообщить("Вы открыли форму констант!");
Сообщить(ПолучитьКонстанту()+" - из функции модуля формы без директивы");
Сообщить(СерверныеФункции.ПолучитьКонстанту()+" - из общего модуля");
Сообщить(ПолучитьКонстантуНаСервере()+" - из функции модуля формы с директивой НаСервере");
КонецПроцедуры
//По умолчанию функция считается серверной
Функция ПолучитьКонстанту()
//Возвращаем полученное значение константы
Возврат(Константы.ТекстСообщения.Получить());
КонецФункции
//Директива компиляции задана явно
НаСервере
Функция ПолучитьКонстантуНаСервере()
//Возвращаем полученное значение константы
Возврат(Константы.ТекстСообщения.Получить());
КонецФункции
Здесь мы создали
На . вы можете видеть вывод сообщений, выполненный вышеприведенным кодом.
(рис 2.19) Вывод сообщения в форму констант, разные варианты работы с серверными данными
Вернемся к директивам компиляции. Они могут использоваться не только в модулях форм, но и в общих модулях, и в модулях команд. Таблица 2.1. содержит описание возможности применения директив компиляции в различных модулях
| Директивы компиляции | Модули | Переменные | ||
|---|---|---|---|---|
| Модуль формы | Модуль команды | Общий модуль | ||
| НаКлиенте | Да | Да | Да | Да |
| НаСервере | Да | Да | Да | Да |
| НаКлиентеНаСервере | Нет | Да | Нет | Нет |
| НаСервереБезКонтекста | Да | Нет | Нет | Нет |
| НаКлиентеНаСервереБезКонтекста | Да | Нет | Нет | Нет |
Опишем основные особенности их применения:
НаКлиенте – эта директива предназначена для клиентских процедур и функций. Из такого метода могут быть вызваны любые процедуры и функции. Кроме того, с данной директивой можно объявлять переменные – их называют клиентскими. Такая переменная существует столько же, сколько существует клиентская часть формы. Из метода с данной директивой доступны другие клиентские переменные модуля формы.
НаСервере – эта директива предназначена для серверных процедур и функций. Из такой процедуры могут быть вызваны серверные и клиент-серверные внеконтекстные методы, а так же методы неглобальных серверных общих модулей. Допустимо объявление переменных с данной директивой – такие переменные существуют во время выполнения вызова сервера. Из серверных методов доступны серверные переменные, объявленные в модуле формы.
НаКлиентеНаСервере – предназначена для описания процедур и функций, выполняемых на клиенте и на сервере. Такие процедуры и функции могут вызывать клиентские и серверные процедуры общих модулей. Не подходит для объявления переменных.
НаСервереБезКонтекста – такая процедура или функция исполняется на сервере вне контекста формы, в модуле которой она описана. Из нее можно вызывать лишь другие внеконтекстные процедуры или функции. Использование этой директивы позволяет сократить объем данных, передаваемых между сервером и клиентом. Не подходит для объявления переменных.
НаКлиентеНаСервереБезКонтекста – такая процедура или функция может исполняться на клиенте и на сервере, без доступа к контексту формы. Не подходит для объявления переменных.
Помимо директив компиляции в модуле управляемой формы можно пользоваться инструкциями препроцессору. Инструкции препроцессору обрабатываются до того, как будут обработаны директивы компиляции.
Обсудив основы работы с константами и основные положения клиент-серверного программирования, перейдем к работе со справочниками. Обычно разработка системы справочников относится к начальному этапу разработки любой конфигурации, так как на типах данных, заданных справочниками, основываются другие механизмы системы. Но прежде чем начать разговор, о, собственно, справочниках, давайте поговорим об общих реквизитах.
Общие реквизиты являются новой возможностью, которая была добавлена в 14-й
Сейчас мы создадим общие реквизиты, которые планируется использовать именно как реквизиты для других объектов конфигурации. В частности, общий
В нашем учебном примере мы собираемся вести в базе данных учет по нескольким организациям. Для этого нам понадобится, чтобы все объекты конфигурации, для которых уместен данный
Второй
Прежде чем продолжать работу над общими реквизитами, создадим следующие объекты конфигурации, не настраивая их дополнительных свойств – справочник с именем Организация, и документ с именем ПоступлениеМатериалов. Включим их в подсистему ОперативныйУчетМатериалов.
Создадим новый .:
Имя: Комментарий
Тип: Строка, длина 50
(рис 2.20) Настройка общего реквизита
Обратите внимание на параметр Автоиспользование. В данном случае мы оставляем его в значении по умолчанию – Не использовать. То есть – состав общего реквизита мы будем настраивать вручную. Этот общий
Преимущества использования общих реквизитов напоминают использование процедур и функций в общих модулях, к которым обращаются из многих других методов. Если возникает необходимость в изменении общего реквизита – например – в процессе работы в конфигурации оказалось, что длину комментария нужно увеличить – достаточно изменить параметры типа общего реквизита, и это изменение затронет все объекты конфигурации, включенные в его состав.
Создадим второй общий
Имя: Организация
Тип: СправочникСсылка.Организации
Автоиспользование: Использовать
Этот
(рис 2.21) Настройка общего реквизита
Откроем нашу конфигурацию в режиме 1С:Предприятие и посмотрим, как выглядит документ ПоступлениеМатериалов и справочники Организации и Сотрудники.
Для начала перейдем на вкладку . Можно отметить, что помимо стандартных реквизитов (Наименование, Код) данный справочник не содержит ничего другого – это неудивительно, мы исключили его из состава общего реквизита Организация.
(рис 2.22) Справочник Организации
Теперь откроем список справочника .
(рис 2.23) Справочник Сотрудники
Откроем, наконец, окно создания документа .
(рис 2.24) Документ ПоступлениеМатериалов
В этой лекции мы научились создавать константы и программно работать с ними. Так же здесь мы начали обсуждение вопросов клиент-серверного программирования, в частности, использовали директивы компиляции НаСервере, НаКлиенте. Мы познакомились с использованием экспортных методов общих модулей, с модулем управляемого приложения, с модулем формы, рассмотрели использование общих реквизитов.
Для данной лекции подготовлен видеоурок.
Константы в 1С:Предприятие используются для хранения информации, которая либо не меняется никогда, либо меняется – но очень редко. Константы содержатся в ветви
Имя: ТекстСообщения
Тип: Строка
Длина: 50
Включим константу в состав подсистемы УчетРаботыМастеров. Предполагается, что данная константа будет использоваться для показа сообщения пользователям, входящим в систему.
(рис 2.1) Настройка параметров новой константы
Посмотрим, как включение константы в подсистему ., что в разделе Учет работы мастеров, под панелью разделов, появилась еще одна панель. Она называется панелью действий. В панель действий автоматически включаются команды, разбитые на группы – Сервис, Создать, Отчеты. Группы в панели действий можно создавать и самостоятельно. В нашем случае в панели действий видна группа Сервис, содержащая команду для работы с только что созданной константой.
(рис 2.2) Константа в панели действий в разделе Учет работы мастеров
В левой части окна программы можно видеть еще одну панель – она называется панелью навигации. Сейчас она отображает ссылку для доступа к справочнику Сотрудники, который мы создавали в предыдущей лекции. Свободная часть окна – это рабочая область, в которой, например, открываются списки справочников.
Щелкнем по команде . и нажмем на кнопку Записать и закрыть.
(рис 2.3) Форма редактирования константы Текст сообщения
Если мы не хотим сохранять внесенные изменения, можно просто закрыть окно с помощью стандартной кнопки Закрыть, для записи изменений без закрытия формы служит кнопка Записать объект.
Для того, чтобы воспользоваться дополнительными возможностями по работе с формой, можно использовать меню .
(рис 2.4) Меню Все действия
Отчасти оно дублирует кнопки, имеющиеся на форме, в нем так же имеется одна специфичная для платформы 1С:Предприятие 8.2. команда. А именно, речь идет о команде Изменить форму.
Форма, которую мы видим, сформирована автоматически. Однако, в режиме 1С:Предприятие мы можем вносить в нее некоторые изменения. Выполним команду .
(рис 2.5) Окно Настройка формы
Нужно учитывать, что пользователь сможет настраивать внешний вид форм в том случае, если для него установлено право . В нашем случае оно установлено.
(рис 2.6) Право Сохранение данных пользователя
(рис 2.7) Отредактированный заголовок объекта
Перейдем в режим конфигурирования, создадим еще одну константу (она пригодится нам позже):
Имя: ПрефиксНомера
Тип: Строка
Длина: 2
Включим эту константу в подсистему Администрирование. В режиме 1С:Предприятие доступ к этой константе будет организован в группе Сервис панели действий раздела Администрирование. Кроме того, мы можем организовать доступ к константам из других мест нашего приложения. Мы можем самостоятельно включить команду для вызова формы просмотра и редактирования константы, отредактировав командный интерфейс, можем так же создать специальную форму, называемую формой констант.
Для создания формы констант нужно вызвать контекстное меню ветви ., нужно оставить тип формы в значении Форма констант, при необходимости заполнить другие поля и нажать на кнопку Далее.
(рис 2.8) Конструктор общих форм
В появившемся окне, . можно настроить состав формы констант, в нашем случае нас устраивает то, что в нее включены обе созданные в конфигурации константы, поэтому нажмем на кнопку Готово.
(рис 2.9) Конструктор общих форм, состав формы констант
В ветви .
(рис 2.10) Окно редактирования формы
При разработке командного интерфейса в 1С:Предприятие 8.2. используется концепция декларативного описания. Это означает, что разработчик задает схематичное описание элементов интерфейса, их группировку, свойства. При построении интерфейса для конкретного пользователя система создает его, опираясь на описание, сделанное разработчиком, учитывая различные дополнительные факторы, например, такие как права пользователя и пользовательские настройки интерфейса.
Форму констант так же нужно включить в одну из подсистем. Включим ее в подсистему .
(рис 2.11) Окно редактирования формы
Мы видим, что форма констант доступна в группе ., снять флаг Видимость для команды Префикс номера группы Сервис панели действий.
(рис 2.12) Настройка панели действий
Теперь при запуске в режиме 1С:Предприятие ненужная команда отображаться не будет.
Выше мы создавали константу . Нас интересует обработчик ПриНачалеРаботыСистемы.
(рис 2.13) Выбор обработчика ПриНачалеРаботыСистемы
В модуле появится пустое тело обработчика, в которое нам нужно ввести команду для вывода сообщения пользователям. Если попытаться обратиться к константе напрямую из модуля управляемого приложения – мы столкнемся с ошибкой. Дело в том, что исполнение модуля управляемого приложения происходит на клиенте, в контексте которого нет доступа к константам. Поэтому нам понадобится код, который выполняется на сервере и возвращает значение константы. В данном примере мы можем возложить на серверную часть примера и вывод сообщения (функция Сообщить, которой можно здесь воспользоваться, работает и на клиенте, и на сервере). Но гораздо полезнее, в плане перспектив повторного использования кода серверной процедуры, "вытащить" серверные данные в метод, который выполняется на клиенте.
Создадим новый общий модуль (в ветви .
(рис 2.14) Общий модуль СерверныеФункции, свойства
Откроем
//Экспортная функция для вызова из других модулей
Функция ПолучитьКонстанту() Экспорт
//Возвращаем полученное значение константы
Возврат(Константы.ТекстСообщения.Получить());
КонецФункции
(рис 2.15) Общий модуль СерверныеФункции, код
Теперь нам нужно вызвать эту функцию в подходящем месте кода обработчика события ПриНачалеРаботыСистемы в модуле управляемого приложения. Например, это можно сделать так:
Процедура ПриНачалеРаботыСистемы()
//Выводим сообщение пользователю
Сообщить(СерверныеФункции.ПолучитьКонстанту());
КонецПроцедуры
В результате при входе в систему мы получим сообщение следующего вида, .
(рис 2.16) Вывод сообщения пользователю
Обратите внимание на то, что сообщение выводится в область Сообщения основного рабочего окна. Если сообщение вызвано из модуля какого-либо отдельного окна, например, из модуля формы констант, которая создана ранее, то, по умолчанию, сообщение будет выведено в этом окне.
Посмотрим на этот механизм в действии. Откроем окно редактирования формы констант (.:
НаКлиенте
Процедура ПриОткрытии(Отказ)
Сообщить("Вы открыли форму констант!");
КонецПроцедуры
(рис 2.17) Вывод сообщения пользователю из модуля формы констант
Благодаря этому коду при открытии формы констант будет появляться следующее сообщение, .
(рис 2.18) Вывод сообщения в форму констант
Обратите внимание на директиву компиляции НаКлиенте, которая, в вышеописанном участке кода, автоматически размещена перед описанием процедуры ПриОткрытии(). Создавая решение для 1С:Предприятие 8.2 разработчик должен четко разграничивать код, исполняемый в клиентской и серверной частях приложения. Причем, на клиенте (в контексте клиента) и на сервере (в контексте сервера) доступны различные объекты, различные программные механизмы. Основная задача серверного кода заключается во взаимодействии с базой данных, клиентский код занимается отображением этих данных и взаимодействием с пользователем. А задача разработчика заключается в том, чтобы создать код с учетом клиент-серверного взаимодействия.
Если перед описанием процедуры, функции или переменной в модуле формы отсутствует директива компиляции, по умолчанию считается, что код будет исполняться на сервере. В явном виде это задается указанием директивы НаСервере.
Попытаемся в нашем модуле формы вывести в окно сообщения значение константы. Для этого мы можем добавить в модуль функцию, возвращающую значение константы, которая должна выполняться в контексте сервера. Например, это можно сделать одним из следующих способов – ниже приведена дополненная процедура ПриОткрытии и еще пара процедур, заданных в коде модуля формы:
НаКлиенте
Процедура ПриОткрытии(Отказ)
Сообщить("Вы открыли форму констант!");
Сообщить(ПолучитьКонстанту()+" - из функции модуля формы без директивы");
Сообщить(СерверныеФункции.ПолучитьКонстанту()+" - из общего модуля");
Сообщить(ПолучитьКонстантуНаСервере()+" - из функции модуля формы с директивой НаСервере");
КонецПроцедуры
//По умолчанию функция считается серверной
Функция ПолучитьКонстанту()
//Возвращаем полученное значение константы
Возврат(Константы.ТекстСообщения.Получить());
КонецФункции
//Директива компиляции задана явно
НаСервере
Функция ПолучитьКонстантуНаСервере()
//Возвращаем полученное значение константы
Возврат(Константы.ТекстСообщения.Получить());
КонецФункции
Здесь мы создали
На . вы можете видеть вывод сообщений, выполненный вышеприведенным кодом.
(рис 2.19) Вывод сообщения в форму констант, разные варианты работы с серверными данными
Вернемся к директивам компиляции. Они могут использоваться не только в модулях форм, но и в общих модулях, и в модулях команд. Таблица 2.1. содержит описание возможности применения директив компиляции в различных модулях
| Директивы компиляции | Модули | Переменные | ||
|---|---|---|---|---|
| Модуль формы | Модуль команды | Общий модуль | ||
| НаКлиенте | Да | Да | Да | Да |
| НаСервере | Да | Да | Да | Да |
| НаКлиентеНаСервере | Нет | Да | Нет | Нет |
| НаСервереБезКонтекста | Да | Нет | Нет | Нет |
| НаКлиентеНаСервереБезКонтекста | Да | Нет | Нет | Нет |
Опишем основные особенности их применения:
НаКлиенте – эта директива предназначена для клиентских процедур и функций. Из такого метода могут быть вызваны любые процедуры и функции. Кроме того, с данной директивой можно объявлять переменные – их называют клиентскими. Такая переменная существует столько же, сколько существует клиентская часть формы. Из метода с данной директивой доступны другие клиентские переменные модуля формы.
НаСервере – эта директива предназначена для серверных процедур и функций. Из такой процедуры могут быть вызваны серверные и клиент-серверные внеконтекстные методы, а так же методы неглобальных серверных общих модулей. Допустимо объявление переменных с данной директивой – такие переменные существуют во время выполнения вызова сервера. Из серверных методов доступны серверные переменные, объявленные в модуле формы.
НаКлиентеНаСервере – предназначена для описания процедур и функций, выполняемых на клиенте и на сервере. Такие процедуры и функции могут вызывать клиентские и серверные процедуры общих модулей. Не подходит для объявления переменных.
НаСервереБезКонтекста – такая процедура или функция исполняется на сервере вне контекста формы, в модуле которой она описана. Из нее можно вызывать лишь другие внеконтекстные процедуры или функции. Использование этой директивы позволяет сократить объем данных, передаваемых между сервером и клиентом. Не подходит для объявления переменных.
НаКлиентеНаСервереБезКонтекста – такая процедура или функция может исполняться на клиенте и на сервере, без доступа к контексту формы. Не подходит для объявления переменных.
Помимо директив компиляции в модуле управляемой формы можно пользоваться инструкциями препроцессору. Инструкции препроцессору обрабатываются до того, как будут обработаны директивы компиляции.
Обсудив основы работы с константами и основные положения клиент-серверного программирования, перейдем к работе со справочниками. Обычно разработка системы справочников относится к начальному этапу разработки любой конфигурации, так как на типах данных, заданных справочниками, основываются другие механизмы системы. Но прежде чем начать разговор, о, собственно, справочниках, давайте поговорим об общих реквизитах.
Общие реквизиты являются новой возможностью, которая была добавлена в 14-й
Сейчас мы создадим общие реквизиты, которые планируется использовать именно как реквизиты для других объектов конфигурации. В частности, общий
В нашем учебном примере мы собираемся вести в базе данных учет по нескольким организациям. Для этого нам понадобится, чтобы все объекты конфигурации, для которых уместен данный
Второй
Прежде чем продолжать работу над общими реквизитами, создадим следующие объекты конфигурации, не настраивая их дополнительных свойств – справочник с именем Организация, и документ с именем ПоступлениеМатериалов. Включим их в подсистему ОперативныйУчетМатериалов.
Создадим новый .:
Имя: Комментарий
Тип: Строка, длина 50
(рис 2.20) Настройка общего реквизита
Обратите внимание на параметр Автоиспользование. В данном случае мы оставляем его в значении по умолчанию – Не использовать. То есть – состав общего реквизита мы будем настраивать вручную. Этот общий
Преимущества использования общих реквизитов напоминают использование процедур и функций в общих модулях, к которым обращаются из многих других методов. Если возникает необходимость в изменении общего реквизита – например – в процессе работы в конфигурации оказалось, что длину комментария нужно увеличить – достаточно изменить параметры типа общего реквизита, и это изменение затронет все объекты конфигурации, включенные в его состав.
Создадим второй общий
Имя: Организация
Тип: СправочникСсылка.Организации
Автоиспользование: Использовать
Этот
(рис 2.21) Настройка общего реквизита
Откроем нашу конфигурацию в режиме 1С:Предприятие и посмотрим, как выглядит документ ПоступлениеМатериалов и справочники Организации и Сотрудники.
Для начала перейдем на вкладку . Можно отметить, что помимо стандартных реквизитов (Наименование, Код) данный справочник не содержит ничего другого – это неудивительно, мы исключили его из состава общего реквизита Организация.
(рис 2.22) Справочник Организации
Теперь откроем список справочника .
(рис 2.23) Справочник Сотрудники
Откроем, наконец, окно создания документа .
(рис 2.24) Документ ПоступлениеМатериалов
В этой лекции мы научились создавать константы и программно работать с ними. Так же здесь мы начали обсуждение вопросов клиент-серверного программирования, в частности, использовали директивы компиляции НаСервере, НаКлиенте. Мы познакомились с использованием экспортных методов общих модулей, с модулем управляемого приложения, с модулем формы, рассмотрели использование общих реквизитов.
Для данной лекции подготовлен видеоурок.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.