1C-Company / v8-code-style

Расширение для 1C:EDT, которое помогает разрабатывать конфигурации/приложения по стандартам 1С для платформы "1С:Предприятие 8".
Eclipse Public License 2.0
175 stars 53 forks source link

Стандарт 409: Использование РеквизитФормыВЗначение и ДанныеФормыВЗначение #1200

Closed iArtemv closed 1 year ago

iArtemv commented 2 years ago

Название проверки

Рекомендуется использование метода РеквизитФормыВЗначение вместо ДанныеФормыВЗначение

Английское название проверки

Using FormDataToValue instead FormAttributeToValue

Правило анализа кода/метаданных

В большинстве случаев, в модулях форм следует использовать метод формы РеквизитФормыВЗначение вместо метода ДанныеФормыВЗначение.

Рекомендация обусловлена соображениями унификации прикладного кода и тем, что синтаксис метода РеквизитФормыВЗначение проще, чем у ДанныеФормыВЗначение (а следовательно, меньше вероятность ошибки). В ДанныеФормыВЗначение необходимо дополнительно передавать тип значения:

ТаблицаПодписей = ДанныеФормыВЗначение(ТаблицаПодписей, Тип("ТаблицаЗначений"));

а для РеквизитФормыВЗначение это не обязательно, а в практическом плане - избыточно:

ТаблицаПодписей = РеквизитФормыВЗначение("ТаблицаПодписей");

Наличие в платформе 1С:Предприятие метода формы РеквизитФормыВЗначение (наряду с методом глобального контекста ДанныеФормыВЗначение) объясняется только удобством его применения. С точки зрения эффективности и результата методы работают одинаково.

Мета-информация (пожалуйста, заполните если знаете):

Параметры проверки

Текст ошибки

Пример некорректного решения

Процедура Тест()
    ОбъектЗначение = ДанныеФормыВЗначение(Объект, Тип("ТаблицаЗначений"));
КонецПроцедуры

Описание, почему так делать нельзя

Пример корректного решения

Процедура Тест()
    ОбъектЗначение = РеквизитФормыВЗначение("Объект");
КонецПроцедуры

Дополнительные материалы