|
Взаимодействие между 2мя формами | ☑ | ||
---|---|---|---|---|
0
Блондинка_
23.05.14
✎
10:28
|
Доброе утро)
Давно не могу придумать ничего с этой проблемой: Есть документ, у документа есть форма, пользователь работает с ней, заполняя строки и вот в одной колонке чтобы заполнить что-то типа анкеты, открывается еще одна форма. Там появляются вопросы и пользователь ставит ответы, при закрытии формы результат (заполнено, не заполнено (отказ), заполнение переносится) передается в 1 форму. Где хранить ответы к вопросам, да и сами вопросы, при условии что документ может в итоге не быть проведенным и записывать эти данные в регистр сведений мне нужно только после проведения документа? Причем если пользователь откроет эту форму еще раз ему должны быть показаны проставленные ответы. Я хотела сначала сделать на форме скрытую таблицу где бы хранились все эти данные пока таблица не проведется. Но при открытии формы №2 я не могу передать значения обратно именно в открытую форму№1, могу сохранить их в ТЧ самого документа, но тогда 1ая форма ругается на то, что она уже не соответствует объекту. Как-то так) |
|||
1
piter3
23.05.14
✎
10:29
|
смотрите как в зуп например реализовано
|
|||
2
Cube
23.05.14
✎
10:31
|
(0) Во второй форме не редактируй ОБЪЕКТ и всё будет хорошо.
На вторую форму ложи ТЗ, котору заполняй по ТЧ документа при открытии формы. А после закрытия формы перезаполняй ТЧ документа по этой ТЗ. |
|||
3
Cube
23.05.14
✎
10:34
|
(2) То есть, алгоритм, примерно, такой:
ТаблицаВопросов = ТЧ_Вопросы.Выгрузить(); // открываешь форму, работаешь с ТаблицаВопросов, закрываешь форму. ТЧ_Вопросы.Загрузить(ТаблицаВопросов); |
|||
4
Рэйв
23.05.14
✎
10:36
|
(0)Сделай реквизиты документа и не выводи их на форму 1.
Добавь еще одну форму документа и туда вот выведи эти реквизиты. В результате формы имеешь две, но хранится все в одном объекте и при открытии все будет показываться что сохранилось |
|||
5
Блондинка_
23.05.14
✎
12:28
|
(3) А как мне эту ТЗ из формы в форму передавать?
(4) Идея кажется отличной!))) Спасибо, сейчас попробую))) |
|||
6
Cube
23.05.14
✎
12:30
|
(5) СП:
Глобальный контекст (Global context) ОткрытьФорму (OpenForm) Вариант синтаксиса: По названию Синтаксис: ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>) Параметры: ... <Параметры> (необязательный) Тип: Структура. Параметры формы. Ключ структуры - имя параметра, а значение - значение параметра формы. Имя элемента должно совпадать с именем параметра структуры. П = Новый Структура("Ключ", Поставщик); Форма = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", П); Форма.Открыть(); |
|||
7
Crush
23.05.14
✎
12:32
|
(5) Не передавай. Форму с вопросами сделай формой документа и на форме размести табличную часть с вопросами
|
|||
8
Cube
23.05.14
✎
12:32
|
(4) Будет то же самое, что и в (0)...
|
|||
9
Cube
23.05.14
✎
12:33
|
(7) Я так понял, форма у документа уже есть, места под вопросы там нет, поэтому открывается другая форма...
|
|||
10
Crush
23.05.14
✎
12:42
|
(9) У документа может быть неограниченное количество форм документа. А основных форм документа может быть не более одной:)
|
|||
11
mzelensky
23.05.14
✎
12:55
|
(0) Мдя....а может все-таки замуж???
|
|||
12
Cube
23.05.14
✎
12:55
|
(10) Ууу.... С тобой всё понятно... Иди, попробуй редактировать один и тот же объект в разных открытых формах, а потом пиши тут с умным видом...
|
|||
13
mzelensky
23.05.14
✎
12:58
|
(12) Зря ты так...уж не знаю как дела в УФ (не проверял), а в толстом клиенте можно редактить один объект из 2 форм.
|
|||
14
Cube
23.05.14
✎
13:01
|
(13) С фига ли? После редактирования объекта в форме 2, в форме 1 вылезет сообщение, что поздно пить баржоми...
|
|||
15
Crush
23.05.14
✎
13:03
|
(12) Только предположения:
Модифицированность объекта определяется по полю ВерсияДанных. Если во второй форме не записывать объект в базу данных, то всё сработает. Запись в базу производить только из основной формы |
|||
16
Crush
23.05.14
✎
13:05
|
+(15) а сам объект будет одинаков в обоих формах
|
|||
17
mzelensky
23.05.14
✎
13:20
|
(14) Ты попробуй сперва!
Это тоже самое, что одну табличную часть отобразить на форме в двух разных табличных полях. Тут аналогично - основнйо реквизит формы будет один и тот же объект. И все там будет работать нормально - проверено! |
|||
18
Блондинка_
23.05.14
✎
13:22
|
Я же блондинка) У меня сейчас мозг взорвется)
По поводу второй формы того же документа: (4) Когда я хочу записать заполненные реквизиты в форме анкеты, мне придется записывать весь документ..а если пользователь в итоге не будет его записывать? (14) Сейчас попробую с передачей ТЗ. Помнится, была у меня такая идея, но я почему-то проанализировала ее и отбросила, только не помню, почему)) Ааааа, по-моему я когда из формы анкеты ТЗ передавала в форму основную, то обратно (уже заполненную) я ее не могла открыть, не записав данные в документ, а записывать документ по 100 раз не хотелось. Хотя видимо придется, потому что из 2х форм все записывается отлично, только при закрытии анкеты программа все равно предлагает сохранить документ, и этот диалог будет выскакивать всякий раз когда открывается новая анкета. |
|||
19
Crush
23.05.14
✎
13:25
|
(18) Не надо их записывать во второй форме. После её закрытия они останутся в объекте первой формы. А там уж если пользователь запишет, то они сохранятся
|
|||
20
Cube
23.05.14
✎
13:25
|
(17) Да запарило одну и ту же тему жевать...
v8: v8: УФ Как открыть другую форму этого же объекта? |
|||
21
Crush
23.05.14
✎
13:27
|
А при закрытии второй формы система смотрит на модифицированность и предлагает сохранить. Этот вопрос нужно отключить:
или сбросить модифицированность или убрать галку с табПоля Изменяет данные или закрывать программно |
|||
22
Блондинка_
23.05.14
✎
13:29
|
Вообще идея со 2 формой хорошая, если без записи документа все равно не обойтись и с передаваемой из формы в форму ТЗ и со 2ой формой. Но как избавиться от постоянного предложения записать документ когда закрываю вторую форму?
(21) Программно и закрываю, причем для этого у меня на 2 форме свои кнопки, а диалог все равно выскакивает |
|||
23
Блондинка_
23.05.14
✎
13:30
|
(21) А если я отключу "Изменяет Данные", будут ли тогда данные сохраняться до записи основной формы?
|
|||
24
Crush
23.05.14
✎
13:31
|
Да кстати, а приложение какое обычное или управляемое. В управляемом я ничего не знаю если что:)
|
|||
25
Crush
23.05.14
✎
13:31
|
(23) А фиг знает. Нужно проверить:)
|
|||
26
Crush
23.05.14
✎
13:35
|
Попробуй так
Модифицированность = Ложь; Закрыть(); |
|||
27
Блондинка_
23.05.14
✎
14:42
|
(26) Уже сделала именно так!)))) Похоже работает!!!!)))) Урааа))) Спасибо преоргромное!!!
Всем, всем, всем СПАСИБО!!!))) |
|||
28
Cube
23.05.14
✎
16:21
|
(27) Да ну, нафиг? О_о
Блин, в понедельник проверю... |
|||
29
Cube
26.05.14
✎
10:14
|
Проверил: действительно, в обычных формах один и тот же объект можно редактировать в двух формах одновременно...
Был не прав. Пепельницу мне на голову)) |
|||
30
Блондинка_
26.05.14
✎
10:28
|
(29) Уметь признать свою ошибку много стоит))
Кстати я же ведь тоже сначала редактировала из 2х форм, но выдавало ошибку, а все потому что одна форма у меня вообще была не формой документа) |
|||
31
Cube
26.05.14
✎
10:33
|
(30) Не, ну а чо выё... (зачеркнуто) выпендриваться-то?)))
Правда - она ведь только одна)) |
|||
32
Блондинка_
26.05.14
✎
10:36
|
(31) Ага, одна, но у каждого своя))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |