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