Пробовал так:

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

    ПараметрыВыбора = Новый Структура("НачалоПериода,КонецПериода", Отчет.ДатаНачала, Отчет.ДатаОкончания);
    ОписаниеОповещения = Новый ОписаниеОповещения("ВыбратьПериодЗавершение", ЭтотОбъект);

    ОткрытьФорму("ВыборСтандартногоПериода", ПараметрыВыбора, Элементы.ВыбратьПериод, , , , ОписаниеОповещения); //ОШИБКА: НЕИЗВЕСТНОЕ ИМЯ ФОРМЫ

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

Пробовал на сервере из объекта получить форму- интерактивные операции запрещены...

Как сделать (уже замучился)?
---
IvanAlekseev, ОткрытьФорму("ВыборСтандартногоПериода", Пар
имя формы явно некорректное,
там должно быть что-то вроде

```1c
    ОткрытьФорму("ВнешняяОбработка.ИмяОбработки.Форма.ВыборСтандартногоПериода", Пар
```
---
IvanAlekseev, ОткрытьФорму("ВыборСтандартногоПериода", Пар
имя формы явно некорректное,
там должно быть что-то вроде

```1c
    ОткрытьФорму("ВнешняяОбработка.ИмяОбработки.Форма.ВыборСтандартногоПериода", Пар
```
---
+ (3), так можно делать только для подключенных внешних обработок:

СП:

ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)
...
При этом внешний отчет или обработка должны быть предварительно зарегистрированы в системе с помощью метода Подключить или Подключить соответственно.

СП:
Подключить(<Путь>, <Имя>, <БезопасныйРежим>)
Параметры:

<Путь> (обязательный)
Тип: Строка.
Ссылка на реквизит объекта конфигурации, который содержит данные внешней обработки.

Так что нужен какой-то реквизит объекта конфигурации и обработка становится неуниверсальной.
---
IvanAlekseev, обработка становится неуниверсальной.
А в (1) про универсальность ни слова ;)
Попросил же пример вызова ОписаниеОповещения() я и выложил рабочий код ;)
---
IvanAlekseev, что-то я не догоняю. Все там должно работать.
Я метод подключить использовал только тогда, когда программно из файла обработку открывал в базе. А когда ты ее открываешь через файл-открыть, она уже подключена должна быть.
Можешь свою обработку сюда выложить ?
---
IvanAlekseev,
Форма1

```1c
    &НаКлиенте
    Процедура ПросмотретьТаблицуИсключений(Команда)

    ОткрытьФорму("Обработка.АнализРезультатаОбменаДанных.Форма.ФормаТаблицыИсключений", Новый Структура("АдресТаблицыИсключений", ВыгрузитьТаблицуИсключенийВХранилище()), ЭтотОбъект,,,,
    Новый ОписаниеОповещения("ПросмотретьТаблицуИсключенийЗавершение", ЭтотОбъект));

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

    &НаКлиенте
    Процедура ПросмотретьТаблицуИсключенийЗавершение(Результат, ДополнительныеПараметры) Экспорт

    Если Результат = Неопределено Тогда
    Возврат;
    КонецЕсли;

    Если Не ЭтоАдресВременногоХранилища(Результат) Тогда
    ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не удалось получить измененную таблицу изменений.",,,,, УникальныйИдентификатор);
    Возврат;
    КонецЕсли;

    ВыгрузитьТаблицуИсключенийСХранилища(Результат);

    КонецПроцедуры // ПросмотретьТаблицуИсключенийЗавершение
```

Форма2

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    Если ЭтоАдресВременногоХранилища(Параметры.АдресТаблицыИсключений) Тогда

    ВыгрузитьТаблицуИсключенийСХранилища(Параметры.АдресТаблицыИсключений);

    КонецЕсли;

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

    &НаКлиенте
    Процедура ЗакрытьСИзменениями(Команда)

    Закрыть(ВыгрузитьТаблицуИсключенийВХранилище());

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

    &НаКлиенте
    Процедура ЗакрытьБезИзменений(Команда)

    Закрыть();

    КонецПроцедуры
```
---
Данный код работает в моей обработке

По кнопке отрываете нужную Вам форму(с параметрами)
```1c
    &НаКлиенте
    Процедура ПроверитьТЧ(Команда)

    ПараметрыНовойФормы = Новый Структура;
    ПараметрыНовойФормы.Вставить("Масс", Масс);
    ОткрытьФорму("ВнешняяОбработка.Обработка.Форма.Форма2",ПараметрыНовойФормы);

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

Затем в модуле втрой формы
```1c
    НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    СтандартнаяОбработка=Ложь;

    Если ТипЗнч(Параметры.Масс)=Тип("Массив") тогда
    Для Каждого Элемент из Параметры.Масс Цикл
    НоваяСтрока=Объект.НоменклатураСравнение.Добавить();
    НоваяСтрока.Сравнение=Элемент;
    КонецЦикла;
    КонецЕсли;
    КонецПроцедуры
```

потом в той же (второй форме)
создаете кнопку для возврата результата
```1c
    &НаКлиенте
    Процедура Перенести(Команда)

    НазваниеСобытия = "ПеренестиНоменклатуру";
    ИмяСобытия = НазваниеСобытия;
    ПараметрВызова = ПеренестиНаСервере();
    ФормаИсточник = "ВнешняяОбработка.АнализПрайсаПоставщика.Форма.Форма";
    Оповестить(ИмяСобытия,ПараметрВызова,ФормаИсточник);
    Закрыть();
    КонецПроцедуры

    &НаСервере
    Функция ПеренестиНаСервере()
    Массив=Новый Массив;
    для каждого стр из Объект.НоменклатураСравнение цикл
    Массив.Добавить(стр.Номенклатура);

    КонецЦикла;
    Возврат Массив;
    КонецФункции
```

После этого в модуле первой формы создаете Процедуру "ОбработкаОповещения"
```1c
    НаКлиенте
    Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)

    НазваниеСобытия = "ПеренестиНоменклатуру";
    Если ИмяСобытия = НазваниеСобытия Тогда
    ОповещениеНаСервере(Параметр);
    КонецЕсли;

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

    &НаСервере
    Процедура ОповещениеНаСервере(параметр)

    колво = Параметр.Количество();
    i = 0;
    Для каждого стр из объект.Товары цикл
    если НЕ ЗначениеЗаполнено(стр.Номенклатура) Тогда
    Если i = Колво Тогда
    Прервать;
    Иначе
    Стр.номенклатура= Справочники.Номенклатура.НайтиПоНаименованию(Параметр.Получить(i));
    i = i + 1;
    КонецЕсли;
    КонецЕсли;
    КонецЦикла;

    КонецПроцедуры
```
---
ong1990, у меня практически такой же код отрабатывает с ошибкой:

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

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

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

Ошибка:
{Форма.ФормаОтчета.Форма(1204)}: Ошибка при вызове метода контекста (ОткрытьФорму)
 ОткрытьФорму("ВнешняяОбработка.ТотальнаяСверкаДвиженийДокументов.Форма.ВыборСтандартногоПериода", ПараметрыВыбора, Элементы.ВыбратьПериод, , , , ОписаниеОповещения);
по причине:
Неизвестное имя формы. Имя: "ВнешняяОбработка.ТотальнаяСверкаДвиженийДокументов.Форма.ВыборСтандартногоПериода"
---
IvanAlekseev, А форма с таким именем точно естЬ? :)
---
dj_serega, на диске есть, а в 1с она не зарегистрирована. И надо избежать регистрации: это делает форму неуниверсальной.
---
IvanAlekseev,
что ты уперся в регистрацию !
Проблема не в ней, а в неправильно имени формы.
Напиши "ВнешнийОтчет.ИмяОтчета.Форма.ИмяФормы"

или выкладывай сюда, быстрее самому сделать, чем обьяснять
---
IvanAlekseev, Форма.ФормаОтчета.Форма(1204)}: Ошибка при вызове метода контекста (ОткрытьФорму)
ОткрытьФорму("ВнешняяОбработка.Тотал

тут даже по ошибке видно,
у тебя внешний отчет, а имя формы ты пихаешь как внешняяобработка !!!

Ты пользуйся контекстной подсказкой-то, оно помогает без ошибок заполнять такие реквизиты
---
Добавляю бакс!
---
Робя, я лошара! Я для внешнего отчета писал "ВнешняяОбработка" :)

Boneman, лови бакс за истязание твоего мозга :)
---
IvanAlekseev, Нужно срочно разработать функционал для нескольких правильных ответов :)
---
Форма1

```1c
    &НаКлиенте
    Процедура ИзменитьКоличествоСПомощьюКалькулятора(Команда)

    ТекущиеДанные = Элементы.Услуги.ТекущиеДанные;
    Если ТекущиеДанные <> Неопределено Тогда
    Оповещение = Новый ОписаниеОповещения("ИзменитьКоличествоСПомощьюКалькулятораЗавершение", ЭтаФорма);

    СтруктураПараметров = Новый Структура("Услуга, Количество, Цена, Сумма, ПроцентСкидкиНаценки",
    ТекущиеДанные.Услуга,
    ТекущиеДанные.Количество,
    ТекущиеДанные.Цена,
    ТекущиеДанные.Сумма,
    ТекущиеДанные.ПроцентСкидкиНаценки);

    ОткрытьФорму("ВнешняяОбработка.АРМ_Сервис.Форма.ФормаВводаКоличества", СтруктураПараметров,,,,,Оповещение);
    Иначе
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = "Не выбрана строка!";
    Сообщение.Поле = "Объект.Услуги";
    Сообщение.Сообщить();
    КонецЕсли;

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

Форма2
```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

    КоличествоСимволовПослеЗапятой = 3;

    Услуга = Параметры.Услуга;
    Количество = Параметры.Количество;
    Цена = Параметры.Цена;
    Сумма = Параметры.Сумма;
    ПроцентСкидкиНаценки = Параметры.ПроцентСкидкиНаценки;

    // Установка сочетания клавиш
    Для Сч = 0 По 9 Цикл
    Элементы["Кнопка"+Сч].СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша["Num"+Сч]);
    КонецЦикла;
    Элементы.РазделительДробнойЧасти.СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.NumDecimal);
    Элементы.Сбросить.СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.BackSpace);

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

    // Процедура - обработчик команды ОК формы.
    //
    &НаКлиенте
    Процедура ОК(Команда)

    ПараметрыЗакрытия = Новый Структура("Количество", Количество);
    Закрыть(ПараметрыЗакрытия);

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

Код рабочий...Можно поглядеть в УНФ, Документ ЧекККМ