Внешняя обработка прикрепрелена к документу и вызывается по кнопке "Заполнить" .Заполняет реквизиты и при обновлении формы не проставляется один реквизит .Он заполняется , но на форме не выходить (даже после прочтения ее по-новому).А если форму переоткрыть он встает на свое место.Мне же нужно чтобы после того как заполнились реквизиты.Перед клиентом была форма уже сразу со всеми реквизитами , чтобы ему ее не нужно было переоткрывать
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
НайденноеЗначение = "";
ЭтаФорма.Параметры.Свойство("ОбъектыНазначения", НайденноеЗначение);
Объект.ТекущДопСогл = НайденноеЗначение[0];
//заполнить ОсновнойДоговор по ДопСоглаш
Запрос=Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
| бит_уп_Задача.БизнесПроцесс
|ПОМЕСТИТЬ Процесс
|ИЗ
| Задача.бит_уп_Задача КАК бит_уп_Задача
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.бит_ПроектДоговора КАК бит_ПроектДоговора
| ПО (бит_ПроектДоговора.Ссылка = бит_уп_Задача.Предмет)
|ГДЕ
| бит_ПроектДоговора.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| бит_уп_Задача.БизнесПроцесс
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| бит_уп_ПроцессПараметрыПроцесса.Значение КАК Значение
|ИЗ
| Процесс КАК Процесс
| ЛЕВОЕ СОЕДИНЕНИЕ БизнесПроцесс.бит_уп_Процесс.ПараметрыПроцесса КАК бит_уп_ПроцессПараметрыПроцесса
| ПО Процесс.БизнесПроцесс = бит_уп_ПроцессПараметрыПроцесса.Ссылка
|ГДЕ
| ТИПЗНАЧЕНИЯ(бит_уп_ПроцессПараметрыПроцесса.Значение) = ТИП(Документ.бит_ПроектДоговора)";
Запрос.УстановитьПараметр("Ссылка", Объект.ТекущДопСогл);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Вставить обработку выборки ВыборкаДетальныеЗаписи
Если ТипЗнч(ВыборкаДетальныеЗаписи.Значение)= Тип("ДокументСсылка.бит_ПроектДоговора") тогда
Объект.ПроектДоговора=ВыборкаДетальныеЗаписи.Значение;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьНаСервере()
Об = Объект.ТекущДопСогл.ПолучитьОбъект();
ОсновнДоговор=Объект.ПроектДоговора.ПолучитьОбъект();
//Сообщить("Основной договор тек ДопСог"+Об.ОсновнойДоговор);
ЕстьИзменения = Ложь;
Если Об.ОсновнойДоговор=Документы.бит_ПроектДоговора.ПустаяСсылка() или Об.ОсновнойДоговор=неопределено тогда
Об.ОсновнойДоговор=ОсновнДоговор.Ссылка;
Сообщить("Основной Договор ДопСоглашения"+ОсновнДоговор.Ссылка);
ЕстьИзменения=истина;
КонецЕсли;
Если Об.ДатаДоговора=Дата('00010101') тогда
Об.ДатаДоговора= ОсновнДоговор.ДатаДоговора;
Сообщить("Дата ДопСоглашения"+ОсновнДоговор.ДатаДоговора);
ЕстьИзменения = Истина;
КонецЕсли;
Если Об.бит_П_МенеджерПоЗакупкам= справочники.ФизическиеЛица.ПустаяСсылка() тогда
Об.бит_П_МенеджерПоЗакупкам= ОсновнДоговор.бит_П_МенеджерПоЗакупкам;
Сообщить("МенеджерПоЗакупкам ДопСоглашения"+ОсновнДоговор.бит_П_МенеджерПоЗакупкам);
ЕстьИзменения = Истина;
КонецЕсли;
Если Об.Контрагент = Справочники.Контрагенты.ПустаяСсылка() Тогда
//и ОсновнДоговор <> Документы.бит_ПроектДоговора.ПустаяСсылка() Тогда
Об.Контрагент = ОсновнДоговор.Контрагент;
Сообщить("Контрагент ДопСоглашения"+ОсновнДоговор.Контрагент);
ЕстьИзменения = Истина;
КонецЕсли;
Если Об.бит_П_Аналитика_1 = Справочники.бит_П_СтатьиРасходов.ПустаяСсылка() Тогда
Об.бит_П_Аналитика_1 = ОсновнДоговор.бит_П_Аналитика_1;
Сообщить("Статьи расходов ДопСоглашения"+ОсновнДоговор.бит_П_Аналитика_1);
ЕстьИзменения = Истина;
КонецЕсли;
Если Об.бит_П_Аналитика_2 = Справочники.бит_П_ИсточникиФинансирования.ПустаяСсылка() Тогда
Об.бит_П_Аналитика_2 = ОсновнДоговор.бит_П_Аналитика_2;
Сообщить("Источники фоинансирования ДопСоглашения"+ОсновнДоговор.бит_П_Аналитика_2);
ЕстьИзменения = Истина;
КонецЕсли;
Если Об.бит_П_Аналитика_6 = Справочники.Подразделения.ПустаяСсылка() или Об.бит_П_Аналитика_6 = Неопределено Тогда
Об.бит_П_Аналитика_6 = ОсновнДоговор.бит_П_Аналитика_6;
Сообщить("Инициатор расходов ДопСоглашения"+ОсновнДоговор.бит_П_Аналитика_6);
ЕстьИзменения = Истина;
КонецЕсли;
Если Об.ЦФО = Справочники.Подразделения.ПустаяСсылка() Тогда
Об.ЦФО = ОсновнДоговор.ЦФО;
Сообщить("ЦФО ДопСоглашения"+ОсновнДоговор.ЦФО);
ЕстьИзменения = Истина;
КонецЕсли;
Если ЕстьИзменения Тогда
Об.Записать(?(Об.Проведен, РежимЗаписиДокумента.Проведение, РежимЗаписиДокумента.Запись));
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Заполнить(Команда)
ЗаполнитьНаСервере();
ОповеститьОбИзменении(Объект.ТекущДопСогл);
ВладелецФормы.Прочитать();
ЭтаФорма.Закрыть();
КонецПроцедуры