Два счёта на основании заказа покупателя.

1. DNMit 1 19.11.15 08:14 Сейчас в теме
Есть конфигурация на управляемых формах (например 1С УНФ), есть документ (например "Заказ покупателя") в котором две позиции - необходимо на основании документа заказ покупателя создать два счёта и сразу открыть две формы документа (счёт на оплату) на каждую из позиций. Как это сделать?
В 8.2 на обычных формах это делалось в модуле объекта в обработке заполнения. В управляемых, объект мы получаем, а вот как из модуля объекта на сервере открыть форму на клиенте не могу пон
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. PhoenixAOD 62 19.11.15 08:29 Сейчас в теме
(1) DNMit, вот так это можно сделать:
&НаСервере
Процедура СоздатьРеглПрием(ДокРег)
			
		 ДокРег.Дата = ТекущаяДата();
		 ДокРег.Организация = Объект.Организация;
		 ДокРег.Подразделение = Объект.Подразделение;
		 ДокРег.Сотрудник = Справочники.Сотрудники.НайтиПоКоду(Спр.Ссылка.Код);
	 	 ДокРег.ДатаПриема = Объект.ДатаНачала;
		 ДокРег.Должность = Объект.Должность.Ссылка.Должность.Ссылка;
		 ДокРег.ДолжностьПоШтатномуРасписанию = Объект.Должность.Ссылка;
		 ДокРег.ГрафикРаботы = Объект.ГрафикРаботы;
		 ДокРег.ВидДоговора = Объект.ВидДоговора;
		 ДокРег.ВидЗанятости = Объект.ВидЗанятости;
		 ДокРег.КоличествоСтавок = Объект.ЗанимаемыхСтавок;
		 ДокРег.СпособРасчетаАванса = Перечисления.СпособыРасчетаАванса.РасчетомЗаПервуюПоловинуМесяца;
		 ДокРег.ДлительностьИспытательногоСрока = Объект.ИспытательныйСрок;
		 ЗначениеУвольнения = Объект.ДатаУвольнения;
		 Если ЗначениеЗаполнено(ЗначениеУвольнения) Тогда
		 ДокРег.СрочныйДоговор = Истина;
		 ДокРег.ДатаЗавершенияТрудовогоДоговора = Объект.ДатаУвольнения;
		 ДокРег.ОснованиеСрочногоДоговора = Объект.ОснованияСрочныхДоговоров;
		 КонецЕсли;
	     
		 Окл = ДокРег.Начисления.Добавить();
		 Окл.Начисление = Объект.ВидНачисления.Ссылка;
		 Окл.Размер = Объект.Оклад;
		 
	    	
КонецПроцедуры

&НаКлиенте
Процедура Готово(Команда)
	Если Объект.СоздаватьРеглПрием = Истина Тогда 	
	УпрФорма = ПолучитьФорму("Документ.ПриемНаРаботу.ФормаОбъекта");
	ДокУпр = УпрФорма.Объект;
	ГотовоНаСервере(ДокУпр);
	КопироватьДанныеФормы(ДокУпр, УпрФорма.Объект);
	УпрФорма.Записать();
	УпрФорма.Объект.ТрудовойДоговорНомер = УпрФорма.Объект.Номер;
	УпрФорма.Объект.ТрудовойДоговорДата = УпрФорма.Объект.Дата;
	УпрФорма.Записать();
	
	
	РегФорма = ПолучитьФорму("Документ.ПриемНаРаботу.ФормаОбъекта");
	ДокРег = РегФорма.Объект;
	СоздатьРеглПрием(ДокРег);
	КопироватьДанныеФормы(ДокРег, РегФорма.Объект);
	РегФорма.Объект.ТрудовойДоговорНомер = УпрФорма.Объект.ТрудовойДоговорНомер;
	РегФорма.Объект.ТрудовойДоговорДата = УпрФорма.Объект.ТрудовойДоговорДата;
	РегФорма.Записать();
	РегФорма.Открыть();
	
	УпрФорма.Объект.ПодчиненныйПрием = РегФорма.Объект.Ссылка;
	УпрФорма.Записать();
	УпрФорма.Открыть();

Иначе
	УпрФорма = ПолучитьФорму("Документ.ПриемНаРаботу.ФормаОбъекта");
	ДокУпр = УпрФорма.Объект;
	ГотовоНаСервере(ДокУпр);
	КопироватьДанныеФормы(ДокУпр, УпрФорма.Объект);
	УпрФорма.Открыть();
КонецЕсли;
	
	Элементы.Готово.Доступность = Ложь;
КонецПроцедуры
Показать
4. DNMit 1 22.11.15 15:47 Сейчас в теме
(2) PhoenixAOD, БОЛЬШЕ СПАСИБО, так и сделал.
5. _KaA 110 23.11.15 11:20 Сейчас в теме
(1) DNMit,

В УНФ в комиссионой торговле есть хороший пример того, что вы спрашиваете. Там для каждого контрагента выписывается счет-фактура (контрагенты лежат в табличной части). Галочками отмечаете кому выписать и оно создает документ Счет-фактуры (один/несколько) на основании текущей ТЧ.

Добавочка:
И в БП тоже есть такая штука.
3. serq82 8 19.11.15 19:49 Сейчас в теме
в цикле по каждой строке
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот