Постановка задачи: в информационной системе имеется документ "Спецификация". На форме документа есть кнопка "Запрос цен". По нажатию этой кнопки должен создаться и заполниться документ "Запрос цен". Его заполненная форма должна открыться для редактирования пользователем, при этом документ не должен быть записан.

Итак, реализация задуманного:

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

Серверная процедура, в которой заполняется объект документа:

&НаСервере
Процедура ЗаполнитьЗапросЦен(ДанныеФормы)
	
	// В этой серверной процедуре заполняем объект.	
	ДанныеФормы.Организация = Объект.Организация;
	
	//... заполняем все необходимые реквизиты.
		
КонецПроцедуры

Для уменьшения объёма передаваемых данных между клиентом и сервером можно организовать серверную процедуру без передачи в неё контекста формы:

&НаСервереБезКонтекста
Процедура ЗаполнитьЗапросЦен(ДанныеФормы)

	// Получаем объект документа из данных формы
	НовыйЗапросЦен = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.ЗапросЦен"));
	// Или создаём новый документ:
	НовыйЗапросЦен = Документы.ЗапросЦен.СоздатьДокумент();

	// Заполняем реквизиты объекта документа
	НовыйЗапросЦен.Организация = Объект.Организация;
	
	//... заполняем все необходимые реквизиты.

	// Данные заполненного документа помещаем в объект формы
	ЗначениеВДанныеФормы(НовыйЗапросЦен,ДанныеФормы);

КонецФункции

Комментарии

  • Гринёв 20.12.2017 09:45
    Только надо иметь ввиду, что СтандартнаяОбработка = Ложь в процедуре ПриКомпоновкеРезультата отключает стандартную расшифровку полей отчёта.

    Подробнее...

     
  • proekt 06.12.2017 10:03
    Привет. Обработка проведения РасходнойНакладной запрос от проведения ПланаПродаж необходимо подправить запрос для Расходной. Такой вопрос при проведении Расходной накладной почему сразу в запросе не ...

    Подробнее...

     
  • Ivan 01.11.2017 14:14
    Неверно. Так мы узнаем DNS сервер по умолчанию, но он не обязательно совпадает с контроллером домена. Нужно так > set logon В ответе получим имя сервера, на котором мы залогинились.

    Подробнее...