arefaste/1C_Forums huggingface dataset:
Пишу доработку. В документе открываю обработку, выполняет действия и потом нужно таб часть перенести в документ. НО в док отображаются данные лишь после открытия документа.

Что надо дописать, что бы завершалась обработка и при переносе таб части отображались данные в документе?
вот текст в обработке

```1c
    ДокументЗаполнения = ТекДокумент.ПолучитьОбъект();
    КолСтрок = ТабЧасть.Количество();
    ТекСтрока = 1;
    Для каждого СтрокаТЧ из ТабЧасть Цикл
    Состояние("Строка " + Строка(ТекСтрока) + " / " + Строка(КолСтрок));
    ТекСтрока = ТекСтрока + 1;

    СтрокаДок = ДокументЗаполнения.Товары.Добавить();
    СтрокаДок.Номенклатура = СтрокаТЧ.Номенклатура;
    СтрокаДок.Количество = СтрокаТЧ.Вес;
    СтрокаДок.Количество1 = СтрокаТЧ.Размер;
    СтрокаДок.коэффициент1 = СтрокаТЧ.УдельныйВес;
    КонецЦикла;
    ДокументЗаполнения.Записать();
```
---
В общем и целом. Хоть про какие формы речь.
Я бы не стал делать заполнение и запись документа из-вне при интерактивной работе.
Как вариант, можно из обработки в форму документа вернуть таблицу значений, выгруженную из ТЧ обработки. И потом эту ТЗ обработать - добавить ее данные в ТЧ документа.

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

Мысль ясна? Или дальше будем детализировать?...
---
полнение и запись документа из-вне при интерактивной работе.
Как вариант, можно
Спасибо за идею
---
Если формы обычные и конфигурация типовая, то можно создать обработку табличной части Документа (справочника), и тогда после выполнения данной обработки все будет обновляться в форме документа(справочника). Или как вариант при открытии обработки из документа (справочника), точнее формы обработки - передавать параметр ВладелецФормы (ссылку на текущую открытую форму документа(справочника), и после завершения работы обработки, вызывать команду ВладелецФормы.Прочитать(), .
---
работку табличной части Документа (справочника), и тогда после выполнения данной обработки все будет обновляться в форме документа(справочник
спасибо
на форме реквизит с типом "справочникссылка.партнер"
выполняется следующий код, наименование изменяется но на форме остается старое представление ссылки, что не так??
Например парнер был "Иванов", после кода остался так же "Иванов", но если в него зайти там "!12".

```1c
    &НаСервере
    Процедура изменитьНаСервере()
    ДокОбъект = РеквизитФормыВЗначение("Объект");

    кл = ДокОбъект.клиент;
    коб = кл.получитьобъект();
    коб.наименование = "!12";
    коб.записать();
    ДокОбъект.клиент = коб.ссылка;

    ЗначениеВРеквизитФормы(ДокОбъект, "Объект");
    КонецПроцедуры

    &НаКлиенте
    Процедура изменить(Команда)
    изменитьНаСервере();
    элементы.клиент.ОбновитьТекстРедактирования();
    ЭтаФорма.ОбновитьОтображениеДанных();
    КонецПроцедуры
```
---
Много лишнего кода. А обновлять надо так:

```1c
    &НаСервере
    Процедура изменитьНаСервере()

    коб = Объект.клиент.получитьобъект();
    коб.наименование = "!12";
    коб.записать();

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

    &НаКлиенте
    Процедура изменить(Команда)
    изменитьНаСервере();
    ОповеститьОбИзменении(Объект.Клиент)
    КонецПроцедуры
```
---
Много лишнего кода. А обновлять надо так:

```1c
    &НаСервере
    Процедура изменитьНаСервере()

    коб = Объект.клиент.получитьобъект();
    коб.наименование = "!12";
    коб.записать();

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

    &НаКлиенте
    Процедура изменить(Команда)
    изменитьНаСервере();
    ОповеститьОбИзменении(Объект.Клиент)
    КонецПроцедуры
```
---
коб = Объект.клиент.получитьобъект(); коб.наименование = "!12"; коб.записать();

спасибо большое, сработало!!!
КомандаБазы = Новый COMОбъект("ADODB.Command");

Обязательно ли создавать этот объект каждый раз, если мне нужно 100500 раз выполнить запрос? Или я могу в один экземпляр команды просто запихать новый текст запроса и заново его execute'ить?

Просто на замере производительности создание этого объекта занимает 3% машинного времени...
---
Я вообще этот объект не создаю. А получаю его после AdoDb.Connection.Execute()...

А по времени - да, ты можешь переиспользовать один объект с разными запросами. Предварительно изучив документацию по ADODB
---
Я вообще этот объект не создаю. А получаю его после AdoDb.Connection.Execute()...

А по времени - да, ты можешь переиспользовать один объект с разными запросами. Предварительно изучив документацию по ADODB
Здравствуйте,
можно в одной ячейке макета вывести
 [ФИОФамилия] [ФИОИмя] [ФИООтчество]
?
---
?
СтруктураЗаполнения = Новый Структура("ФИОФамилия,ФИОИмя,ФИООтчество", "Иванов", "Иван", "Иваныч");
  Область.Параметры.Заполнить(СтруктураЗаполнения );
---
Можна так и можна еще так
область.параметры.ФИОФамилия = "Иванов";
область.параметры.ФИОИмя = "Иван";
область.параметры.ФИООтчество = "Иваныч";
---
Можна, делаете шаблон и заполняете параметры.
---
?
СтруктураЗаполнения = Новый Структура("ФИОФамилия,ФИОИмя,ФИООтчество", "Иванов", "Иван", "Иваныч");
  Область.Параметры.Заполнить(СтруктураЗаполнения );
---
Можна так и можна еще так
область.параметры.ФИОФамилия = "Иванов";
область.параметры.ФИОИмя = "Иван";
область.параметры.ФИООтчество = "Иваныч";
В типовой конфигурации УНФ в карточку номенклатуры добавляю Группу с режимом Страницы. Добавляю 2 страницы:
1) На первую - Одно текстовой поле
2) На вторую - Отображение новой табличной части

В итоге все Группа Страницы уменьшается до минимум так что не видно даже хотя бы 1 строку данных. Пробовал автовысоту всех элементов (0), пробовал задавать высоту вручную. Всё время проблема остаётся и видимость не меняется (остаётся сжатой до предела. Когда вторая страница не видна, а видна только первая, то высота становится равной высоте всех элементов первой страницы. Когда вновь отображаю вторую страницу - всё ужимаются. Пробовал на вторую страницу добавлять элементы декора, но всё равно всё остаётся сжатым.

Кто-нибудь сталкивался с таким? Известно ли решение? Пробовал платформу от 8.3.6 до 8.3.8.2088
---
Если Группу страницы добавляете в другую группу, то проверить ее свойства.
А вообще в таких случаях всегда помогает поставить РастягиватьПоВертикали = "Нет" и задать высоту.
---
Если Группу страницы добавляете в другую группу, то проверить ее свойства.
А вообще в таких случаях всегда помогает поставить РастягиватьПоВертикали = "Нет" и задать высоту.
---
достаторно хреново видно.
попробуй поиграться с учетной информацией(сдается мне, что в ней дело)
1. например временно убери видимость
2. создай группу в которую помести страницы и учетную информацию(горизонтально)
3. помести учетную информацию в страницы (еще одной вкладкой)

потом скрины выложи
---
Решение = Растягивать по вертикали = Нет
Спасибо. Помогло!
Здравствуйте.

Есть задача добавить на форму второе табличное поле идентичное первому, только с заполнением его из предыдущего заказа.

В случае заполнения второго поля всегда срабатывает процедура ТоварыПриВыводеСтроки.
Т.к. второе поле информационное, то в нем не все значения заполнены, вышеупомянутая процедура выдает ошибки на условии Если мКолонкиТовары.Всего.Видимость, и дальше идет расчет итогов

Мне нужно пропустить эту процедуру при заполнении второго табличного поля.

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

```1c
    &НаКлиенте
    Процедура ДоговорНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    Если Модифицированность Тогда
    Записать()
    КонецЕсли;
    КонецПроцедуры
```

в таком виде если все нормально если все обязательные поля формы заполнены, НО если нет, то ничё не работает.
как сделать чтобы при незаполненных обязательных полях форма выбора не открывалась?
---
Вставьте проверки. Если не выполнены, то
Если ПроверкиНеВыполнены() Тогда
  СтандартнаяОбработка = Ложь;
  Возврат;
КонецЕсли;

Можно еще сообщения вставить..
---
Так заработало

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

Спасибо))
---
Вставьте проверки. Если не выполнены, то
Если ПроверкиНеВыполнены() Тогда
  СтандартнаяОбработка = Ложь;
  Возврат;
КонецЕсли;

Можно еще сообщения вставить..
---
Так заработало

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

Спасибо))
Всем привет! Есть таблица в эксель с номенклатурой и артикулами. Надо загрузить в иерархический справочник. Нашла такую обработку http://infostart.ru/public/252705/ только не совсем поняла как это иерархия в эксель? Типо группировка? Если да, то как в эксель дать название группировке?
---
Вся номенклатура и так должна быть разная, ведь разбирается файл структуры справочника номенклатуры..
// Если в 8 колонке этой строки ничего нет, то это группировка. Иначе - элемент.
Видимо в 8 колонке должен находиться признак группы/элемента. Поэтому групп будет столько, сколько группировок, а номенклатуры столько, сколько конечных элементов.
---
Привет! В экселе это группировка. Текст в ячейке с номенклатурой и будет названием группировки (группы в 1С), а уровень, полученный с помощью OutlineLevel, будет уровнем в иерархии.
---
Т.е. если вся номенклатура разная, будет столько же групп в 1с сколько и номенклатуры?
---
Вся номенклатура и так должна быть разная, ведь разбирается файл структуры справочника номенклатуры..
// Если в 8 колонке этой строки ничего нет, то это группировка. Иначе - элемент.
Видимо в 8 колонке должен находиться признак группы/элемента. Поэтому групп будет столько, сколько группировок, а номенклатуры столько, сколько конечных элементов.
---
ичего нет, то это группировка. Иначе - элемент.
Видимо в 8 колонке должен нахо Да, наверное так и есть. Спасибо!
Здравствуйте, коллеги. Посмотрите, пожалуйста, простенькую обработку, и скажите, почему строчка кода
Элементы.Реквизит1.ТекущаяСтрока=-1;
не выполняется в процедуре ДеревоПриАктивизацииСтроки(Элемент), но зато выполняется, при нажатии кнопки?
Как можно сбросить активную строку в ТЗ при активации строки в дереве значений?
---
Выполняется она и там и там, просто в процедуре при ДеревоПриАктивизацииСтроки когда меняется ТЗ, на форме она ещё не обновилась, и обновление вызывается при выходе из этой процедуры, соответственно Элементы.ТЗ.ТекущаяСтрока=0; ничего не меняет, т.к. ТЗ на форме ещё не перерисовалась. Нужно добавить перед этой строчкой Элементы.ТЗ.Обновить(); тогда всё заработает как надо.
---
Выполняется она и там и там, просто в процедуре при ДеревоПриАктивизацииСтроки когда меняется ТЗ, на форме она ещё не обновилась, и обновление вызывается при выходе из этой процедуры, соответственно Элементы.ТЗ.ТекущаяСтрока=0; ничего не меняет, т.к. ТЗ на форме ещё не перерисовалась. Нужно добавить перед этой строчкой Элементы.ТЗ.Обновить(); тогда всё заработает как надо.
---
Можно вот так сделать - см. приложение.
А еще лучше не добавлять строки при Активизации строки, а добавить их сразу и делать отбор через "ОтборСтрок".
Здравствуйте друзья! Подскажите пожалуйста , как суммировать итоги по пользовательскому полю “норма выработки” . Почему-то итоги где-то правильные , где-то неправильные или их вообще нет. Спасибо за помощь.
 Зарплата и Управление Персоналом, редакция 2.5 (2.5.113.1) ,платформа 1С:Предприятие 8.2 (8.2.19.83)
---
Спасибо всем за советы,нашла простое решение во вложении
---
в Выражениях итоговых записях, должны указать выражение как при ресурсах. Например,

Если в выражение указываете Выбор когда Истина Тогда 1 Иначе 0 Конец

то в итоговом выражение

Сумма( Выбор когда Истина Тогда 1 Иначе 0 Конец) чтобы суммировалось
---
сумму не дает написать пишет ошибку ,что использование вложенных агрегатных функций не допустимо
---
можете прислать что именно вы пишите в каждом поле
---
в прикрепленном файле посмотрите
---
https://yadi.sk/i/VCMYrfCM3EnvXZ

Это я понял, вот у меня такая структура работает, поэтому и спрашиваю что вы пишите что у вас пишет что нельзя использовать
---
вся загвоздка что 1 меня не устраивает , поэтому использую функцию количество(различные сотрудник) , а если написать сумма(количество(различные сотрудник)) получается функция в функции и дает ошибку
---
Такое использование просто не разрешено
---
а какой выход,Николай?
---
это поле надо перенести в запрос
---
Спасибо всем за советы,нашла простое решение во вложении
Самописная конфигурация на основе УТ-11.
Единица измерения в ресурсах. Возникла необходимость перенести её в измерения. Разная цена на разные единицы измерения.
Как перенести ресурс в измерение регистра сведений?
---
стандартно. Переименовываете регистр в УдалитьИмяРегистра. Создаете новый со старым именем регистра и новой структурой.
При запуске делаете перенос данных из старого регистра в новый.
---
Написать обработку, которая бы пробежала бы по регистру и скопировала значение ресурса в измерение? И поменять логику заполнения этого ресурса/измерения в самой конфе.
---
Это первое, что пришло в голову. Но есть подводные камни. В ресурсе есть данные. Когда буду обновлять конфигурацию, то данные в ресурсе потеряются. Получается, что нужно обновлять в три этапа: сначала сохранить данные, потом обновиться, потом загрузить данные. Но конфигураций много у различных клиентов.
Короче, не самый хроший вариант.
---
так работает 1С.
Переименовываем реквизит, обновляемся.
Добавляем новое измерение. Далее переписываем алгоритмы везде по заполнению регистра. Пишем обработку, которая перетянет все данные. Обновляемся.
Запускаем обработку. Удаляем реквизит. Обновляемся.
Все финиш!
---
стандартно. Переименовываете регистр в УдалитьИмяРегистра. Создаете новый со старым именем регистра и новой структурой.
При запуске делаете перенос данных из старого регистра в новый.
---
Пожалуй, это лучшее решение. Правда в базе появляются лишние данные...
---
После переноса и проверки никто не мешает удалить лишний ресурс
---
я вижу здесь три этапа
1) делаем конфиг где есть и измерение и ресурс (логика программы уже изменена на работу с измерением)
2) выгружаем такое обновление всем клиентам+обработку по переносу данных с ресурса на измерение
3) в последующих релизах удалим ресурс
---
Спасибо всем за советы...
Команда Добавить(<Тип>, <Имя>, <Видимость>, <ПоместитьНа>)
В "поместить на" указывается только имя панели, а где указать на какую страницу?
---
```1c
    текПанель = ЭлементыФормы.ОсновнаяПанель;
    текСтраница = текПанель.ТекущаяСтраница;

    СтраницаСопутствующиеРасходы = ЭлементыФормы.ОсновнаяПанель.Страницы.Добавить("СопутствующиеРасходы", "Сопутствующие расходы");
    СтраницаСопутствующиеРасходы.Видимость = Истина;
    СтраницаСопутствующиеРасходы.Доступность = Истина;

    текПанель.ТекущаяСтраница = СтраницаСопутствующиеРасходы;//устанавливаем

    КоманднаяПанельСопутствующиеРасходы = ЭлементыФормы.Добавить(Тип("КоманднаяПанель"), "КоманднаяПанельСопутствующиеРасходы", Истина, текПанель);
    КоманднаяПанельСопутствующиеРасходы.Лево = 6;
    КоманднаяПанельСопутствующиеРасходы.Верх = 6;
    КоманднаяПанельСопутствующиеРасходы.Ширина = 777;
    КоманднаяПанельСопутствующиеРасходы.Высота = 24;
    КоманднаяПанельСопутствующиеРасходы.УстановитьПривязку(ГраницаЭлементаУправления.Право, текПанель, ГраницаЭлементаУправления.Право);

    текПанель.ТекущаяСтраница = текСтраница; //возвращаем
```
---
```1c
    текПанель = ЭлементыФормы.ОсновнаяПанель;
    текСтраница = текПанель.ТекущаяСтраница;

    СтраницаСопутствующиеРасходы = ЭлементыФормы.ОсновнаяПанель.Страницы.Добавить("СопутствующиеРасходы", "Сопутствующие расходы");
    СтраницаСопутствующиеРасходы.Видимость = Истина;
    СтраницаСопутствующиеРасходы.Доступность = Истина;

    текПанель.ТекущаяСтраница = СтраницаСопутствующиеРасходы;//устанавливаем

    КоманднаяПанельСопутствующиеРасходы = ЭлементыФормы.Добавить(Тип("КоманднаяПанель"), "КоманднаяПанельСопутствующиеРасходы", Истина, текПанель);
    КоманднаяПанельСопутствующиеРасходы.Лево = 6;
    КоманднаяПанельСопутствующиеРасходы.Верх = 6;
    КоманднаяПанельСопутствующиеРасходы.Ширина = 777;
    КоманднаяПанельСопутствующиеРасходы.Высота = 24;
    КоманднаяПанельСопутствующиеРасходы.УстановитьПривязку(ГраницаЭлементаУправления.Право, текПанель, ГраницаЭлементаУправления.Право);

    текПанель.ТекущаяСтраница = текСтраница; //возвращаем
```
---
Спс, все получилось.
---
А если создавать новую страницу не надо?
У меня при
ЭлементыФормы.ПанельЮрФизЛицо.ТекущаяСтраница = ЭлементыФормы.ПанельЮрФизЛицо.Страницы.ФизЛицо;
Текущая страница (изначально - "ЮрЛицо") не меняется...
делаю так (пример взял из интернета):

```1c
    тСериализаторXDTO = Новый СериализаторXDTO(ФабрикаXDTO);

    тЗаписьXML = Новый ЗаписьXML;
    //тЗаписьXML.ОткрытьФайл("C:\test.xml");

    тСтруктура = Новый Структура;
    тСтруктура.Вставить("Тест1", "Тест1");
    тСтруктура.Вставить("Тест2", "Тест2");
    тСтруктура.Вставить("Тест3", "Тест3");

    //ТФиксированнаяСтруктура = Новый ФиксированнаяСтруктура(тСтруктура);

    тСериализаторXDTO.ЗаписатьXML(тЗаписьXML, тСтруктура, НазначениеТипаXML.Явное);
```

Выдает ошибку:
Ошибка преобразования данных XDTO:
Запись значения свойства:
форма: Элемент
имя: {http://v8.1c.ru/8.1/data/core}Structure

Платформа 8.3.8.2167
С фиксированной структурой то же самое
---
если это весь код, и та строка закомментирована, тогда не указан источник записи xml. Куда писать то будет?
---
8.3.9.2170. Все выполнилось без ошибки.
---
//тЗаписьXML.ОткрытьФайл("C:\test.xml");
я бы не использовал системный раздел. Винда не охотно дает права на запись туда.

И на 8.3.8 тоже все работает. Попробуйте сменить путь сохранения файла.
---
эта строка у меня закомментирована
---
если это весь код, и та строка закомментирована, тогда не указан источник записи xml. Куда писать то будет?
---
вот блин, точно, забыл написать
тЗаписьXML.УстановитьСтроку();
Все работает
---
Сообщение было скрыто модератором.
---
Можно попробовать вообще без создания сериализатора, а пользоваться свойством глобального контекста СериализаторXDTO. Т.е., переписать первую строку:

```1c
    тСериализаторXDTO = СериализаторXDTO;
```
---
В описании:
Примечание:

Значения не всех типов могут быть записаны в формате XML данным методом.
В XML могут быть записаны значения следующих типов: Неопределено, Null, Булево, Число, Строка, Дата, Тип, УникальныйИдентификатор, ДвоичныеДанные, ХранилищеЗначения, ОписаниеТипов, а также ссылки объектов данных и сами объекты данных, наборы записей регистров, менеджер значения константы. В дальнейшем список может пополняться.

Структуры вроде не упоминаются
Всем привет.
Вчера перекатились наконец с 8.2 на 8.3 и тут же менеджеры стали кряхтеть. В том смысле, что если сделать, например, в списке документов поиск по номеру, а после этого поиск по, например, контрагенту, то второй поиск будет произведен в уже найденных документах, а предыдущий поиск не сбрасывается (как сбрасывался в 8.2). Это такая особенность by design или все-таки где-то отключается? Пока не нашел.
Всем спасибо.
---
by design. И вообще, оп поводу user interface 1С тихой сапой сделала очень много мелких правок... привыкать придётся много к чему.
---
by design. И вообще, оп поводу user interface 1С тихой сапой сделала очень много мелких правок... привыкать придётся много к чему.
---
есть кнопка отменить поиск лупа с крестиком.
---
да это понятно. Эхх, ладно, будем привыкать.
УТ10.3

Сохранил результат СКД в файл строкой
ЭлементыФормы.Результат.Записать(Файл,"xlsx")

Ни хендла ничего. А эксель остается в процессах.
Файл - это просто текстовая строка с полным именем файла.
При попытке открыть пишет что файл занят.
Перезаписать также не дает.
У пользователя на RDP админских прав нет и не будет.
Он даже процессы не видит. Под админкой посмотрел: Эксель процессы висят в количестве равно количеству вызовов Записи СКД.
Может кто сталкивался? Как освободить файл?
---
Завершать процессы вроде права нужны, поэтому можно запустить cmd и выполнить команду taskkill [/u домен\пользователь [/p пароль]]]
---
Добрый день!

Можно попробовать:

1. Завершать процессы выполнением комманды системы "kill excel*". Но! Результат непредсказуем.
2. Попробовать сохранять в Excel через доп. форму. Копировать в неё результат, и скопированный табличный документ сохранять. При чем саму доп. форму необязательно выводить на экран.
---
доп. к п2. переменную доп. формы обнулять.
---
Завершать процессы вроде права нужны, поэтому можно запустить cmd и выполнить команду taskkill [/u домен\пользователь [/p пароль]]]
Подскажите как получить синоним управляемой формы внешней обработки.
Есть код:

```1c
    МояФорма = ПолучитьФорму("ВнешнаяОбработка1.Форма.Форма1");
```

Теперь как из 'МояФорма' получить синоним этой формы.
---
Можно по метаданным. Например, если есть/интересует только основная форма, то

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Сообщить(РеквизитФормыВЗначение("Объект").Метаданные().ОсновнаяФорма.Синоним);
    КонецПроцедуры
```
---
МояФорма.Окно.Заголовок
---
Нужен не заголовок а именно синоним
---
Можно по метаданным. Например, если есть/интересует только основная форма, то

```1c
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Сообщить(РеквизитФормыВЗначение("Объект").Метаданные().ОсновнаяФорма.Синоним);
    КонецПроцедуры
```
---
Спасибо Сергей. Этот вариант правильный, но хотелось бы получить синоним на клиенте, а функция 'РеквизитФормыВЗначение' не доступно на клиенте, есть другие варианты?
---
Самый напрашивающийся вариант - добавить реквизит формы, заполнить его на ПриСоздании.
---
Ну ладно, буду работать на сервере, Спасибо :)