Методика переноса кода из формы в модуль объекта или менеджера в типовых конфигурациях
Всем привет! Столкнулся с тем, что часто приходится переносить какие то процедуры и функции (далее просто методы) из формы объекта (к примеру документа) в модуль объекта или менеджера. К примеру для того, что бы создать документ программно и вызвать соответствующие обработчики при изменении определенных реквизитов, что бы все рассчиталось. Но проблема в том, что в типовых конфигурациях, в частности в ЗУП 3.1, в качестве одного из параметров во все типовые методы передается форма. Иногда это делается просто что бы получить доступ к реквизиту Объект, а иногда, что еще более ужасно, идет привязка к интерактивным свойствам, типа текущая строка или текущие данные. И тут начинается проблема, что просто так эти методы не вызовешь, на сервере, т.к. доступа к форме объекта естественно нет и получить его не возможно. Я не вижу другого способа, кроме как копировать все эти методы и переписывать их без привязки к форме, но одно дело когда нужно заменить Форма.Объект на просто Объект, и совсем другое "корячиться" с переписыванием методов которые привязываются к текущим данным, так же это вызывает проблему если нужно скрыть элемент на форме, но при этом все должно считаться также, а если элемент скрыт то и текущих данных нет. Аналогов методов в тех же модулях для выполнения аналогичных действий без привязке к форме я не увидел. Вот и хочу спросить, как умные люди в таких ситуациях поступают? Тоже переписывают методы на новый лад? Или есть какая я то методология? Или есть где то аналоги методов не интерактивных? Заранее спасибо!
По теме из базы знаний
- Инфостарт. Восьмерка. Лучшее
- 1С: Конвертация данных 3. Инструкции и примеры. EnterpriseData (универсальный формат обмена)
- Консультация для сдачи экзамена "1С:Специалист" по конфигурированию платформы
- Создание в 1С 7.7 XML в формате EnterpriseData (универсальный формат обмена), версия 1.5. Инструкции и примеры переноса данных из устаревшей конфигурации 1С 7.7 в любую современную 1С 8.3, поддерживающую EnterpriseData, через Конвертацию данных 3
- Промышленное тестирование конфигураций в 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Универсального рецепта нет. Многое зависит от конкретной задачи. Практика показывает, что копирование методов в лоб малоэффективно. При создании документа форма и соответственно обработке на форме не нужны. Используется метод Копировать() в модуле документа и соответственно процедуры заполнения.
Логичнее понять, что нужно при создании документа без обращения к форме.
Логичнее понять, что нужно при создании документа без обращения к форме.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот