|
Как из документа, открыть управляемую форму этого же документа 8.3 (БП 3.0) | ☑ | ||
---|---|---|---|---|
0
ILLUMI
16.12.14
✎
15:24
|
Добрый день! Изучая 3.0 возник простой вопрос, который изрядно подтрепала нервишки.
Как из документа, открыть управляемую форму этого же документа, передать в нее данные, изменить их и сохранить? Попыталась примерно изобразить: http://trueimages.ru/img/f2/21/8f0ef845.png Алгоритм представляю следующий: 1.Открываем документ (форма1а) 2.Заполняем реквизиты 1 и 2 3.Добавляем человека в Табл.Часть 4.Нажимаем кнопку "ФОРМАРЕДСТРОКИ" - Должна открыться форма и в ней все должно быть заполнено. - В нужных полях данные изменяем и нажав кнопку "ГОТОВО"сохраняем !!!Не изменяя табличную часть. Форму открываю &НаКлиенте процедура ОткрываемФорму() СтрокаТЧ = Элементы.ДанныеЛюдей.ТекущиеДанны; Форма1б = ПолучитьФорму("Документ.люди.форма.Форма1б"); Форма1б.Объект.Реквизит1 = Объект.Реквизит1; Форма1б.Объект.Реквизит2 = Объект.Реквизит2; Форма1б.Имя = СтрокаТЧ.Имя Форма1б.Открыть(); КонецПроцедуры Ну к примеру, она открывается, но наверное это не правильно, подскажите, как сделать лучше, правильнее :) и как внести изменения и сохранить? Что бы при повторном открытии они показались? :) |
|||
1
DirecTwiX
16.12.14
✎
15:28
|
Смысл манипуляции в чем?
1) Либо меня реквизиты у объекта, записывай и открывай форму 2) Либо попробуй сначала открыть форму, а потом изменить её реквизиты |
|||
2
ILLUMI
16.12.14
✎
15:54
|
(1) ну форму отрыла, левая колонка заполнена значениями, которые передала. а в правой колонке, как сделать так, что бы при изменении реквизитов, данные в Форма1б сохранились?
(дальше планирую запись измененных данных в регистр) |
|||
3
ILLUMI
16.12.14
✎
16:01
|
(1) и, да, дело в том, что в Форма1а реквизиты не должны меняться. Они должны измениться только в правой колонке Форма1б.
|
|||
4
Krolik Bezobraznik
16.12.14
✎
16:56
|
В зачем открывать форму редактирования строки ТЧ? Нельзя ли в форме документа редактировать строку ТЧ?
|
|||
5
ILLUMI
16.12.14
✎
17:45
|
(4) такого условие, что внешний вид данных в ТЧ НЕ ИЗМЕННЫ, формаРедСтроки, как раз для поправок, которые при определённых условиях ложатся в нужные регистры :)
|
|||
6
Garykom
гуру
16.12.14
✎
17:49
|
(5) но все равно непонятно почему бы не писать сразу в документ вместо изменять на форме?
|
|||
7
Garykom
гуру
16.12.14
✎
17:50
|
Уточнить что за документ можно?
|
|||
8
ILLUMI
16.12.14
✎
17:57
|
(7) Документ "ПеремещениеОС"
|
|||
9
ILLUMI
16.12.14
✎
18:06
|
Может быть логика выполнения задачи не внятно поставлена. Уточню, упрощу.
ФормаА - Реквизиты формы, ТЧ. ФормаБ - РеквизитыФормы (в две группы ДО И ПОСЛЕ), реквизиты созданы на самой управляемой форме. При вызове Из формыА - управляемую формуБ, Данные ТЧ и Данные реквизитов формыА должны попасть на формуБ в группу ДО (она без ТЧ) а группа после (пустая). Заполняем реквизиты формыБ, группа после. Сохраняем. ВСЕ. |
|||
10
banco
16.12.14
✎
20:40
|
(9) в той же БП 3.0 полно таких примеров, посмотри как сделано
|
|||
11
ILLUMI
17.12.14
✎
16:59
|
Ребята, в 2.0 БП такой код работает на ура, а в 3.0 ругается на данныеформыколлекций, как правильно написать?
Процедура ОСВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка) Если ЭлементыФормы.КоманднаяПанельОС.Кнопки.РедактированиеВДиалоге.Пометка Тогда Отказ = Истина; Форма = ДокументОбъект.ПолучитьФорму("ФормаРедактированияСтроки", Элемент, "Документ_ПеремещениеОС_ФормаРедактированияСтроки_" + СокрЛП(Элемент.ТекущиеДанные.НомерСтроки)); Форма.ДокументОбъект = ДокументОбъект; Форма.ТекущиеДанные = Элемент.ТекущиеДанные; Форма.Открыть(); КонецЕсли; КонецПроцедуры |
|||
12
ILLUMI
17.12.14
✎
17:00
|
ну плюс понятное дело, что получить форму надо так
ПолучитьФорму("Документ.ДОК.Форма.ФормаредСтроки А что делать с ДокументОбъект? |
|||
13
ILLUMI
24.12.14
✎
02:21
|
Ок. Ребят. Задачу для решения переформулировала, убедила.
Вопрос. Из формы-А с табличной частью, открываю форму-Б с реквизитами формы, и передаю данные из ТЧ Формы-А в реквизиты Формы-Б. На форме-Б изменяю данные и вопрос - Как загнать данные из формы-Б (из реквизитов) в форму-А (табличную часть)? 8.3 - УФ. 1. Через оповещение? ПОдскажите, как? На форме-Б изменила реквизит "Фамилия" Процедура ПриНажатииОК(Команда) Оповестить("ПередачаДАнных",ФАмилия,ЭтаФорма); КонецПроцедуры 2. А что писать в форме-А? Ребят, все обучение на месте топчется из-за этой проблемы, скоро косы повыдергиваю ;) 3. А если я на ФОрме-Б меня 10 реквизитов и более? Как их через оповещение передать? |
|||
14
ILLUMI
24.12.14
✎
03:00
|
Ребята, все вопросы закрыты кроме одного.
3. А если я на ФОрме-Б меня 10 реквизитов и более? Как их через оповещение передать? |
|||
15
Любопытная
24.12.14
✎
05:18
|
(14) в структуру собрать конечно жк
|
|||
16
ILLUMI
24.12.14
✎
05:46
|
(15) Ок, а если у меня на формеА в ТЧ несколько строк, как указать, что только текущую нужно изменить?
|
|||
17
Oleg_ka
24.12.14
✎
05:50
|
Наверное через ТекущиеДанные()
|
|||
18
Oleg_ka
24.12.14
✎
05:53
|
У Вас же прямо в первом сообщении написано
СтрокаТЧ = Элементы.ДанныеЛюдей.ТекущиеДанны; |
|||
19
ILLUMI
24.12.14
✎
06:12
|
(18) Это да, открыла форму строки по текущим данным, а вот записать не могу. Точнее не могу сообразить где и как код написать, записывать мне фамилии у всех кто в ТЧ находится =D
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |