Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 мар 2024, 04:20

Вычисляемые поля в системе компоновки данных

Автор sn_feld, 14 апр 2015, 11:17

0 Пользователей и 1 гость просматривают эту тему.

sn_feld

Помогите, пожалуйста, разобраться с проблемой. Про создании схемы в системе подготовки данных пытаюсь использовать вычисляемые поля. Если я в выражении для вычисляемого поля использую только поля из запроса, то все работает правильно. Но если использую обращение к функции общего модуля (например, ОбщегоНазначения.РассчитатьВремя(), функция имеет свойство ЭКСПОРТ), то при работе появляется сообщение :Синтаксическая ошибка "ОбщегоНазначения.РассчитатьВремя". В чем дело?

cska-fanat-kz

приведите полностью выражение вычисляемого поля
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

sn_feld

Я так и написал в выражении:  ОбщегоНазначения.РассчитатьВремя()
А в общий модуль ОбщегоНазначения добавил функцию:
Функция РассчитатьВремя() Экспорт
    Возврат 60;
КонецФункции
И даже в таком тривиальном применении получил сообщение "Синтаксическая ошибка: ОбщегоНазначения.РассчитатьВремя"

pavl_vs

sn_feld, удивляться нечему - синтаксис, язык СКД и встроенный язык модулей конфигурации не одно и то же.

cska-fanat-kz

Функции общих модулей

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

СокращенноеНаименование(Документы.Ссылка, Документы.Дата, Документы.Номер)

В данном примере будет осуществлен вызов функции «СокращенноеНаименование» из общего модуля конфигурации.

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

Кроме того, функции общих модулей не могут быть использованы в выражениях пользовательских полей
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

sn_feld

Цитата:"Отметим, что использование функций общих модулей разрешено только при указании соответствующего параметра процессора компоновки данных."
Хорошо бы еще Вы сказали, что этим параметром должна быть ИСТИНА в значении четвертого аргумента при инициализации процессора компоновки, а именно:
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,,,Истина);
В этом случае подхватываются функции из общего модуля.
Поистине велик и могуч ИНТЕРНЕТ!

cska-fanat-kz

"Ну вы блин даете!" (с)

а где у вас сказано, что СКД программно формируется? ;)
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Похожие темы (5)

Рейтинг@Mail.ru

Поиск