База БП 3.0. В другом модуле (внешней обработки) я получил СправочникОбъект. Необходимо его просто перезаписать выполнив подобие процедуры ПередЗаписью (та, что находится в модуле формы справочника). Проблема в том, что у меня нет формы. При попытке её получить в модуле внешней обработки, пишет ошибку при проверке синтаксиса.
Мой код:

```1c
    ФормаСправочника = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", новый Структура("Ключ", КонтрагентОбъект.Ссылка));
    УправлениеКонтактнойИнформацией.ПередЗаписьюНаСервере(ФормаСправочника, КонтрагентОбъект, ложь);
    КонтрагентОбъект.Записать();
```

Ошибка: {ВнешняяОбработка.ЗагрузкаИзРеестраДляПЖС.Форма.Форма.Форма(178,23)}: Процедура или функция с указанным именем не определена (ПолучитьФорму)
   ФормаСправочника = <<?>>ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", новый Структура("Ключ",КонтрагентОбъект.Ссылка)); (Проверка: Сервер)
---
Решил не заморачиваться и обошёл более быстрым, но менее правильным путём (так как мне это нужно единоразово), просто перезаписав элементы справочника методом формы:

```1c
    &НаКлиенте
    Процедура Команда1(Команда)

    Для каждого элем из ТаблицаСсылокНаЭлементыСправочника цикл // ТаблицаСсылок - реквизит формы
    ФормаСправочника = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", новый Структура("Ключ", элем.Ссылка));
    ФормаСправочника.Записать();
    КонецЦикла;

    КонецПроцедуры
```
---
Решил не заморачиваться и обошёл более быстрым, но менее правильным путём (так как мне это нужно единоразово), просто перезаписав элементы справочника методом формы:

```1c
    &НаКлиенте
    Процедура Команда1(Команда)

    Для каждого элем из ТаблицаСсылокНаЭлементыСправочника цикл // ТаблицаСсылок - реквизит формы
    ФормаСправочника = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", новый Структура("Ключ", элем.Ссылка));
    ФормаСправочника.Записать();
    КонецЦикла;

    КонецПроцедуры
```
---
1. И не получится. Нет формы - нет и её контекста. ПолучитьФорму() на сервере не доступно.
2. Вам этот обработчик ни к чему, он реализован для того, чтобы осуществить проверку без закрытия формы. А формы у вас нет, и проверять нечего.

Что там в этом обработчике такого, что вам надо проверять в Объекте?
---
Там табличная часть с контактной информацией. Она не заполнена скрытыми техническими реквизитами. Этот обработчик как раз их заполняет автоматически. Видимо придётся тогда туда отладчиком проваливаться и собирать по кускам механизм (или обращение к нему через экспортные модули).
---
Я думаю, ты вполне можешь обойтись вот этим методом (на скрине). Это в том же модуле. И безо всякой формы. Метод ПередЗаписьюНаСервере() использует именно его.
---
Попробовал. Выдаёт ошибку. Эта процедура тоже косвенно связана с формой.
---
Это смотря что ты передаешь в её параметры. И никак она с формой не связана. Она связана с объектом
---
Надо переписать код в свою обработку.
Это не будет просто, т.к. события формы используют данные формы, придется все это переписывать на использование данных объекта.
---
если нужно прям повторить всё-всё, то и повторяйте всё-все...

0) наверняка в обработке есть хоть какая-то форма....

1) вот в ней создавайте реквизит ОбъектСправочника, невидимую группу "КонтактнаяИнформация" и т.д.
(и все служебные реквизиты, если они есть в оригинальной форме, а не создаются программно)

2) сначала читайте объект, в реквизит ОбъектСправочника, потом запускайте то что находится в процедурах ПриСозданииНаСервере и/или ПриЧтенииНасервере и т.д.

3) а потом все обратные процедуры: УправлениеКонтактнойИнформацией.ПередЗаписьюНаСервере и т.д.

т.е. воссоздайте все механизмы но в контексте своей формы...

PS возможно можно обойтись без реквизита ОбъектСправочника, т.е. пользоваться только переменной, результатом ПолучитьОбъект()...
а вот другие элементы придётся всё же создать...