Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 14:15

Отправить значения из одной формы документа (ФИО, место требования) в другую форму документа при нажатии

Автор Резеда, 14 янв 2023, 13:48

0 Пользователей и 1 гость просматривают эту тему.

Резеда

Доброго дня, прошу вашей помощи, пытаюсь отправить значения из одной формы документа в другую форму документа.
Помогите пожалуйста в реализации.

Суть, данные вносятся, после чего пользователь нажимает на кнопку "ОтправитЗаявку" формы документа СправкиСтудентам, и данные должны лечь в форму документа "СогласованиеСправки"



Когда изучала информацию, ссылаясь на нее пыталась реализовать, но не выходит
   ФормаДокумента = СогласованиеСправки.ПолучитьФормуНовогоЭлемента();
ФормаДокумента.ЭлементыФормы.ФИО.Значение=ЭлементыФормы.НаименованиеюЗначение;
Результат = ФормаДокумента.ОткрытьМодально();

Максим75

попробуйте так:

ФормаДокумента = Документы.СогласованиеСправки.ПолучитьФорму("Имя формы документа");
ФормаДокумента.ФИО=ЭлементыФормы.НаименованиеюЗначение;
ФоромаДокумента.Открыть();

просто пишете, что СогласованиеСправки - это документа, а вроде как ПолучитьФормуНовогоЭлемента открывает новый элемент справочника. Немного разные объекты.

Максим75

не досмотрел, ФИО есть реквизит табличной части.
поэтому вначале надо новую строку табличной части добавить, а потом уже в реквизит ФИО что-то писать.

Afinogen

простите а зачем вообще так извращаться? Судя по вашим принскринам вы перед тем как заполнить  форму справки уже создаете документ "Согласование"? в таком случае куда проще по кнопке "Отправить заявку" получать  ссылку на созданный документ Согласование, получать  его объект и апдейтить  как вашей душе угодно.  :dfbsdfbsdf: 

Afinogen

насколько я понимаю когда открыта форма справки в ней уже или в реквизите самого документа или реквизите формы есть  ссылка на документ согласование?
Весь вопрос откуда вы открываете форму справки. По вашим принскринам не понятно управляемые или нет формы.
Но если бы у вас были управляемые формы и такси то проще было бы сделать так

1.
в согласовании добавить кнопку открытия формы справки

2.
на кнопку повесить  простой обработчик

&НаКлиенте
Процедура нажатьКнопку()

    ОписаниеОп  =Новый ОписаниеОповещения("ПослеЗакрытияФормыСправки",ЭтаФорма,Неопределено);
    ПараметрыФормы = Новый Структура(); //если нужно тут можете передать  любые параметры в открываемую форму   
    ОткрытьФорму("Имяформысправки",Параметрыформы,Этаформа,,,,ОписаниеОп) //здесь открываете форму справки, 
    //после закрытия формы справки возвращаете структуру с данными, которыми нужно заполнить  форму согласования

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

3.
При закрытии формы справки вернуть структуру с данными, которыми нужно проапдейтить согласование
Закрыть(Новый Структура())

4.
Добавить в модуле формы согласование обработчик результата закрытия формы справки

//Результат - любая структура , в которой сохранен результат из формы справки
&НаКлиенте
    Процедура ПослеЗакрытияФормыСправки(Результат, ДопПараметры = Неопределено) Экспорт

    //здесь заполняете нужные реквизиты формы согласования из переменной Результат

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

p.s.
Тоже самое можно через Оповестить() сделать, или обработчик ожидания

Резеда

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

Максим75

Резеда,
заполняется на форме документ СправкиСтудентам, док сохраняется и жмакается кнопуля (типа отправить на согласование)
по какому-то принципу ищется документ СогласованиеСправки (допустим один документ за месяц, т.е. ищется в базе документ СогласованиеСправки за текущий месяц)
находим - отлично. В найденному документе в табличной части ищем по номеру заявки (которая равна номеру из документа СправкиСтудентам) строку (ищем для того, вдруг открыли уже созданный документ и нажали кнопулю, чтобы не было несколько записей с одним номером). Если строку не нашли, то добавляем новую строку, заполняем номер, студента и прочее.
записываем документ СогласованиеСправки. (он визуально не открывается).
Если же за текущий месяц не нашли документа СогласованиеСправки - создаем новый документ, заполняем что надо в шапке и добавляем строку в табличную часть. СОхраняем.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск