Передача данных между формами одной обработки

1. x_maxim_x 10.01.17 09:11 Сейчас в теме
Добрый день!
Подскажите пожалуйста: создал внешнюю обработку с несколькими формами, из главной формы по кнопке "Создать" должна вызываться дополнительная форма обработки, в ней выбираются значения реквизитов, по кнопкам "Записать..." данные должны сохраниться в основной форме в таблице значений.
При нажатии кнопки изменить должна открыться дополнительная форма с сохраненным ранее значением.
Открытие окна дополнительной формы по нажатию кнопки "Создать" я сделал, но почему то окно открывается с именем основной формы, а не со своим и что делать далее я не знаю.

Только изучаю программирование на 1С поэтому очень прошу показать как это сделать на приложенном мной примере.
Прикрепленные файлы:
КонфигурацииПоставщиков1.epf
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
2. antz 10.01.17 10:40 Сейчас в теме
Вот.
Прикрепленные файлы:
x_maxim_x; +1 Ответить
5. Denis_CFO 48 10.01.17 13:01 Сейчас в теме +0.1 $m
(3) Вот возьмите это Ваше. Я там постарался подробно описать действия в комментариях. Правда не совсем по Вашему ТЗ. Вопросы будут - обращайтесь.
Прикрепленные файлы:
КонфигурацииПоставщиков1.epf
x_maxim_x; +1 Ответить
9. vadim1011985 99 10.01.17 14:05 Сейчас в теме
(7)
1) При редактировании через доп. параметры формы передавайте значение текущей строки в доп. форму

2) В свойствах формы свойство - АвтоматичнескоеСохранениеДанныхВНастройках. После чего в правом окне (реквизиты) появится колонка "сохранение" напротив нужных реквизитов ставите галочки и все будет сохранятся

x_maxim_x; +1 Ответить
13. Ганс 10.01.17 14:27 Сейчас в теме
Посмотри это
По кнопке "изменить", подставляется нужное значение во вторую форму?
Прикрепленные файлы:
КонфигурацииПоставщиков1.epf
x_maxim_x; +1 Ответить
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. antz 10.01.17 10:40 Сейчас в теме
Вот.
Прикрепленные файлы:
x_maxim_x; +1 Ответить
3. x_maxim_x 10.01.17 10:55 Сейчас в теме
(2) Да, с заголовком понятно. Спасибо. Как быть с данными?
5. Denis_CFO 48 10.01.17 13:01 Сейчас в теме +0.1 $m
(3) Вот возьмите это Ваше. Я там постарался подробно описать действия в комментариях. Правда не совсем по Вашему ТЗ. Вопросы будут - обращайтесь.
Прикрепленные файлы:
КонфигурацииПоставщиков1.epf
x_maxim_x; +1 Ответить
7. x_maxim_x 10.01.17 13:43 Сейчас в теме
(5) У Вас более продумано - при редактировании происходит именно изменение поля, но при редактировании в дополнительной форме все же поле "Поставщик" не заполнено
И еще вопрос: как сохранить данные в таблице значений при закрытии основной формы?
Я по этому вопросу вот здесь http://forum.infostart.ru/forum9/topic53814/ читаю, но если честно пока никак не соображу как это к моей таблице привязать.
8. Denis_CFO 48 10.01.17 14:04 Сейчас в теме
(7) Вот так можно:
&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка) //на форме укажите это событие
    СохранитьНастройки(Отказ, СтандартнаяОбработка);
КонецПроцедуры

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) //на форме укажите это событие
	ЗагрузитьНастройки();
КонецПроцедуры

&НаСервере
Процедура ЗагрузитьНастройки()
    НастройкиВосстановления = ХранилищеНастроекДанныхФорм.Загрузить("ЭтаФорма.ТаблицаКонфигураций", "ТаблицаКонфигураций");
    Попытка
        ТаблицаКонфигураций.Загрузить(ЗначениеИзСтрокиВнутр(НастройкиВосстановления["ТаблицаКонфигураций"]))
    Исключение
    КонецПопытки;
КонецПроцедуры
Показать


ПыСы: На свойтсвах формы обязательно флаг "АвтоматическоеСохранениеДанныхВНастройках" - Использовать
10. vadim1011985 99 10.01.17 14:06 Сейчас в теме
(8) можно даже код не писать )))
11. Denis_CFO 48 10.01.17 14:11 Сейчас в теме
(10) Можно и так. Пусть ТС выбирает, как ему удобно.
12. x_maxim_x 10.01.17 14:25 Сейчас в теме
(10) Нет, это я уже пробовал. С таблицей значений это не проходит.
9. vadim1011985 99 10.01.17 14:05 Сейчас в теме
(7)
1) При редактировании через доп. параметры формы передавайте значение текущей строки в доп. форму

2) В свойствах формы свойство - АвтоматичнескоеСохранениеДанныхВНастройках. После чего в правом окне (реквизиты) появится колонка "сохранение" напротив нужных реквизитов ставите галочки и все будет сохранятся

x_maxim_x; +1 Ответить
15. x_maxim_x 10.01.17 15:56 Сейчас в теме
(9) По автосохранению Вы верно написали это я не там галочки ставил. Спасибо.
4. Ганс 10.01.17 11:16 Сейчас в теме
В подчинённой форме:

Процедура ЗаписатьИЗакрыть(Команда)
	Стр = ЭтаФорма.ВладелецФормы.ТаблицаКонфигураций.Добавить();
	Стр.Поставщик = ЭтаФорма.Поставщик; 
	ЭтаФорма.Закрыть();
КонецПроцедуры

Если вы хотите открыть форму с заполненным реквизитом "Поставщик" то надо его добавить в структуру, которую вы передаёте в ОткрытьФорму(ПолучитьПолноеИмяФормы("КонфигурацияПоставщика"), ПараметрыФормы, ЭтаФорма);

что-то типа того:
ПараметрыФормы = Новый Структура();
ПараметрыФормы.вставить("Поставщик", ПоставщиквыбранойСтроки);
ОткрытьФорму(ПолучитьПолноеИмяФормы("КонфигурацияПоставщика"), ПараметрыФормы, ЭтаФорма);
6. x_maxim_x 10.01.17 13:14 Сейчас в теме
(4) Записать получается, открыть форму с заполненным реквизитом не выходит.
13. Ганс 10.01.17 14:27 Сейчас в теме
Посмотри это
По кнопке "изменить", подставляется нужное значение во вторую форму?
Прикрепленные файлы:
КонфигурацииПоставщиков1.epf
x_maxim_x; +1 Ответить
14. x_maxim_x 10.01.17 14:35 Сейчас в теме
(13) Да спасибо - так поле заполняется.
Вот этого кода не хватало в доп. форме
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	Если Параметры.Свойство("Поставщик") Тогда  		
		Поставщик = Параметры.Поставщик; 
	КонецЕсли;
КонецПроцедуры


Теперь совмещу с тем, что Денис прислал и будет то, что нужно. Спасибо Вам огромное!

Еще сохранение данных предложенное Денисом не пробовал.
16. x_maxim_x 10.01.17 20:17 Сейчас в теме
(14) Для тех кто будет интересоваться данной темой:
Самый хороший и правильный вариант (5). Только там создание и редактирование сделано на одной кнопке (поделить несложно) и во вторую форму нужно добавить следующий код:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Поставщик = ОписаниеОповещенияОЗакрытии.ДополнительныеПараметры.ПоставщикПерваяФорма;
КонецПроцедуры
17. Denis_CFO 48 10.01.17 20:23 Сейчас в теме
(16) Спасибо. Рад, что помог. Обращайтесь.
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)