Show/Hide Toolbars

Руководство администратора

Настройка виртуальных реквизитов

Ссылки Назад Вверх Вперед

term_icon Виртуальный реквизит — это дополнительное вычисляемое поле документа или справочника "1С:Предприятие", которому соответствует определенная формула. В формуле могут использоваться обращения к данным из регистров сведений или регистров накопления приложения "1С:Предприятие".

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

Пример виртуального реквизита: в Заказе поставщика — сумма, которую осталось оплатить по данному заказу. Такая сумма считается "на лету" как разность между общей суммой заказа и суммой по всем оплаченным счетам, привязанным к данному заказу. В данном случае использование виртуального реквизита позволит синхронизировать только заказы и не синхронизировать счета.

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

1c_domain_logic_settings_virtual_req_1

Вызов справочника виртуальных реквизитов

На каждый тип объекта (справочник или документ) можно назначить свой набор виртуальных реквизитов. Все элементы группируются по типам объектов и обобщенное описание посылается в "Первую Форму" (аналогично происходит при выгрузке данных).

1c_domain_logic_settings_virtual_req_2

Настройка справочника виртуальных реквизитов

Для каждого виртуального реквизиты задаются значения:

Имя – имя виртуального реквизита (по аналогии с именем реквизита в конфигураторе "1С:Предприятие"). Имя виртуального реквизита не должно совпадать с именами других виртуальных и реальных реквизитов, настроенных в том же справочнике.

Синоним – имя виртуального реквизита (по аналогии с синонимом реквизита в конфигураторе "1С:Предприятие").

Тип – тип реквизита, отправляемого в "Первую форму".

Алгоритм вычисления – код на встроенном языке "1С:Предприятие" для получения значения реквизита. Результат вычисления этого кода заносится в переменную ЗначениеРеквизита.

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

warning_icon Внимание: не рекомендуется использовать метод "ЗначениеЗаполнено" при вычислении виртуального реквизита, так как его наличие может вызвать ошибки при работе механизма обмена.

Примеры кода в полях "Алгоритм вычисления" и "Алгоритм записи"

Пример 1

Пример 2

Пример запроса для контроля данных, получаемых 1С из "Первой Формы"

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

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

Для проверки правильности алгоритма вычислений нажмите кнопку Проверить алгоритмы вычисления:

1c_virtual_req_test-1

Проверка алгоритмов вычисления

Для выбранного объекта проверки для каждого виртуального реквизита будет произведено вычисление алгоритма, и результат вычисления будет выведен в новое окно:

 

1C_virtual_req_test-2

Результаты проверки алгоритмов вычисления

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

 

1C_virtual_req_test-3

Проверка алгоритмов записи

Для выбранного объекта проверки для каждого виртуального реквизита будет произведена проверка алгоритма, и результат проверки будет выведен в новое окно:

 

1C_virtual_req_test-4

Результаты проверки алгоритмов записи

warning_icon  Выполнение проверки записи выполняется в транзакции и после выполнения проверки записи транзакция откатывается, т.е. значения, на которых проведено тестирование, не сохраняются в базе.