Приветствую уважаемые.

Конфа УТ 11
Есть два справочника "Номенклатура" и "Характеристика". Далее программно создаётся реквизит ФОРМЫ типа булево "Есть уточнение", значение реквизита устанавливается программно в общем модуле. У модуля стоит галочка клиент. Код сокращаю для понимания:

На форме справочника:
&НаКлиенте
Процедура аситВыбранаСложнаяШирина(Элемент)
    РаботыСФормамиКлиент.УстановитьЗначениеРеквизитаЕстьУточнение(ЭтаФорма);
КонецПроцедуры

В общем модуле (Директивы & никакой не указываю):
Процедура УстановитьЗначениеРеквизитаЕстьУточнение(ЭтаФорма) Экспорт
    ЭтаФорма.ЕстьУточнение = Истина;
КонецПроцедуры

Эта конструкция работает хорошо в тонком клиенте. Когда я открываю инструменты разработчика в толстом клиенте и пытаюсь открыть форму справочника, то форма не открывается и выходит ошибка:
Переменная не определена (РаботыСФормамиКлиент)
    <<?>>РаботыСФормамиКлиент.УстановитьЗначениеРеквизитаЕстьУточнение(ЭтаФорма);

Как правильно переписать конструкцию, чтобы она работала и в тонком и в толстом клиенте?
---
Как справиться без редактирования конфы - не подскажу.
Если в настройках конфигуратора на закладке "Общие" включишь редактирование конфигурации для режима "Управляемое приложение и обычное приложение", то в свойствах модуля появится галка "Клиент (обычное приложение)". Пока эта галка не стоит, модуль в обычном приложении не компилируется.
---
У модуля стоит галочка клиентДля толстого клиента ещё и галочку "Сервер" надо ставить
---
не надо ничего ставить - это ж типовой модуль.
---
сорян, помстилось, что это его самописный модуль
---
РаботыСФормамиКлиент

обратите внимание на последнее слово
---
Как справиться без редактирования конфы - не подскажу.
Если в настройках конфигуратора на закладке "Общие" включишь редактирование конфигурации для режима "Управляемое приложение и обычное приложение", то в свойствах модуля появится галка "Клиент (обычное приложение)". Пока эта галка не стоит, модуль в обычном приложении не компилируется.
---
В общем модуле в принципе форм не должно быть, это какая-то порочная практика, внедренная в массы разработчиками 1с.... все, что делается в форме - должно быть в форме.
---
Другими словами, вы утверждаете, что в модулях форм не может быть общего кода оперирующего с контекстом формы? Или если он есть, то копипаст - наше все?
---
в модулях форм - код, который относится к формам. Какими другими словами? Код, имеющих отношение к форме - в модуле формы. К объекту - в модуле объекта. В общем модуле - общий для всей программы.
А 1с фигачит все в общий модуль, а потом мы например чтобы сделать печать из внешней обработки, переносим в эту обработку половину общих модулей. Потому что там процедуры, которые используют контекст формы. Вместо того, чтобы вызвать процедуру печати объекта.
И еще и считаем это нормальным )
---
Общие модуля - это место для вынесения ЛЮБОГО общего кода. Не обязательно "общего для всей программы". Это в семерке был один глобальный модуль и привет - извращайся как хочешь.
Общие модуля позволяют избежать дублирования кода и выделять сколько угодно и каких угодно подсистем. Серверных, клиентских - без разницы.
Если в нескольких формах я использую одни и те же функции для программного добавления реквизитов на форму, то место им - в общем модуле. Для этого их и придумывали.
Если у меня чисто клиентский общий модуль, то нет никакого криминала в размещении в нем функций, работающих с формой. Никакого оверхеда при этом не возникает.