Можно ли из внешней обработки программно вызвать обработчик модуля формы документа для Бухгалтерии 3.0?
Типо ИмяРевизитаПриИзмененнии() .
---
Решил я задачку:

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

    &НаКлиенте
    Процедура кмдВыполнить(Команда)
    Перем мсТаб1;
    мсТаб1 = ПолучитьМАССдоков();
    Для Каждого ссДок Из мсТаб1 Цикл
    ЗаполнитьНалоговыйНаборЗаписей(ссДок)
    КонецЦикла;
    КонецПроцедуры
```

Оказывается, все надо делать на стороне клиента,
и тогда процедура формы ДокТиповойПриИзмененииНаСервере() спокойно отрабатывается
---
нет.
---
Это категорический ответ ?
---
ну сам посуди - это ж модуль ФОРМЫ. Вот в этой форме его можно вызвать. А все другие поползновения 1С пресекает на корню.
Я даже больше скажу - чтобы переписать то, что он делает, в другой модуль, может потребоваться немало трудов. Т.к. обработчик использует данные своей формы, а когда все это программно выполняешь, данные в другом виде хранятся, формы-то нет.
---
я тоже против.
---
просто в форме есть реквизит повторяющий Документ.Движения -
и перетаскивать код вместе реквизитом - не комильфо, ибо размер доков в базе распухнет.
---
в форме есть реквизит повторяющий Документ.Движения - а для каких целей ? ( просто любопытно)
---
цель такая же: показать проводки на форме, в моей конфе 3 плана счетов, МинФин, Налоговый и Нацбанк,
вот их всех и показываю
---
Возможно вам поможет https://helpf.pro/help/view/17389.html
---
вот мой код:

```1c
    &НаСервере
    Процедура ПерезаполнитьОперациюНБ(ТипДок, ссОперНБ)

    ДокументОбъект = ссОперНБ.ПолучитьОбъект();

    Попытка
    // ПараметрыФормы = Новый Структура("Ключ", ссОперНБ);

    фрмДок = ДокументОбъект.ПолучитьФорму();
    фрмДок.ДокТиповойПриИзменении( Неопределено);
    Исключение
    Сообщить( ОписаниеОшибки());
    Сообщить("ОШИБКА Перезаполнения "+ДокументОбъект+" для "+ТипДок);
    КонецПопытки;
    Сообщить("Перезаполнен "+ДокументОбъект+" для "+ТипДок);

    КонецПроцедуры
```

а вот скриншот из отладчика:
---
Т.е. метод Объект.ПолучитьФорму() похоже перестал работать
---
яркий пример ОперацияБух на форме показываются движения этого документа
---
если этот реквизит утащить в объект - то налицо будет увеличения размера документа в базе
---
В синтакс-помощнике написано:
Описание:
Получает форму документа, которая содержит данный объект встроенного языка.
Доступность:
Толстый клиент.
Примечание:
Перед выполнением метода производится анализ параметров вызова и, при необходимости, происходит переадресация вызова глобальному контексту.
Пример:
ВыбДокумент.ПолучитьФорму().Открыть();

и в коде:
  фрмДок = ДокументОбъект.ПолучитьФорму();
  фрмДок.ДокТиповойПриИзмененииНаСервере();

форму получили, а процедуру(хоть и экспортную) вызвать не удалось (((((
---
Т.е. базу пришлось запускать в режиме толстого клиента.
---
Решил я задачку:

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

    &НаКлиенте
    Процедура кмдВыполнить(Команда)
    Перем мсТаб1;
    мсТаб1 = ПолучитьМАССдоков();
    Для Каждого ссДок Из мсТаб1 Цикл
    ЗаполнитьНалоговыйНаборЗаписей(ссДок)
    КонецЦикла;
    КонецПроцедуры
```

Оказывается, все надо делать на стороне клиента,
и тогда процедура формы ДокТиповойПриИзмененииНаСервере() спокойно отрабатывается