|
УФ. ОткрытьФорму("...ФормаОбъекта, новый Структура("Ключ", РеквФормы_с_Объектом) Ø (Pro-tone 21.01.2016 16:21) | ☑ | ||
---|---|---|---|---|
0
bolobol
21.01.16
✎
11:59
|
Добрый день!
Сабж не взлетел - открывается форма создания нового объекта. Что не так, просветите, плиз. Отладчик показывает, что "РеквФормы_с_Объектом" - это ДанныеФормыСтруктура, заполненная объектом, вернуто с сервера: ЗначениеВРеквизитФормы(СозданныйОбъект, "РеквФормы_с_Объектом"); Сам РеквФормы_с_Объектом на форме, с типом "ДокументОбъект.МойДокумент" Хелп! Нужно - создать объект на форме и дать пользователю выбрать, просмотрев его - сохранять или нет. |
|||
1
Fedor-1971
21.01.16
✎
12:06
|
(0) как-то непонятно, ты что сделать то хочешь?
Открыть форму существующего объекта, тогда новый структура(Ключ", СсылкаНаОткрываемыйОбъект) Открыть заполненную форму нового объекта, тогда новый структура("ДанныеКопирования", СсылкаНаКопируемыйОбъект) и в ПриСозданииНаСервере инициируй заполнение данными из полученного объекта. |
|||
2
bolobol
21.01.16
✎
12:12
|
(1) Хм.. Исправлю: Нужно - создать объект, заполнить и дать пользователю выбрать, просмотрев его - сохранять или нет, т.е. - открыть форму созданного и заполненного _объекта_, а не ссылки.
И перефразирую: Дать пользователю посмотреть созданный и заполненный объект, который не записан в базу. |
|||
3
Pro-tone
21.01.16
✎
12:21
|
(2) выводи в таблицу тогда ему на предпросмотр, форму заполнить отдельно от ссылки в УП не получится, в обычном приложении вроде было можно
|
|||
4
Fedor-1971
21.01.16
✎
12:31
|
(2) тогда определись чем хочешь заполнить форму (ссылка на это Чем обязательна), передаёшь ссылку новый Структура("ЧемЗаполняем", СсылкаНаЧем), в форме нового объекта в ПриСозданииНаСервере проверяешь Параметры.Свойство("ЧемЗаполняем") - если есть, то заполняй форму из данных Параметры.ЧемЗаполняем. Пользователь, может что-то подправить и сохранить или нет.
Второй вариант с фрм=ПолучитьФорму и собственно заполнить её данными через ЗаполнитьЗначенияСвойств(фрм.Объект, Объект) - только учти, что Объект - это ДанныеФормы, а не сам объект из БД. |
|||
5
bolobol
21.01.16
✎
13:28
|
Апну, что ли...
|
|||
6
LordCMEPTb
21.01.16
✎
13:37
|
(5) А чем вариант из (4) не понравился?
|
|||
7
bolobol
21.01.16
✎
13:39
|
(6) В (4) нет варианта. Где вы его увидели?
|
|||
8
bolobol
21.01.16
✎
13:41
|
+(7) ПолучитьФОрму(...) в УФ уже вызывает какие-то действия со стороны платформы, причём действия с данными переданной ссылки, то есть - идёт отработка механизмов, выходящих за рамки пишущейся обработки, что недопустимо.
|
|||
9
LordCMEPTb
21.01.16
✎
13:42
|
Тогда нужен вопрос, на который не получен ответ.
Ибо на "создать объект на форме и дать пользователю выбрать, просмотрев его - сохранять или нет" даны 2 варианта: - заполнять при открытии по переданным параметрам - получать форму, и заполнять реквизит "объект", а уже потом отображать |
|||
10
LordCMEPTb
21.01.16
✎
13:45
|
(8) Все правильно, так и должно быть, ибо при получении формы отрабатывает обработчик "ПриСозданииНаСервере".
А что за механизмы такие, которые выходят за рамки обработки? |
|||
11
bolobol
21.01.16
✎
13:52
|
(10) Отработка этих самых механизмов при СозданииНаСервере. Если в нём из-за данных в объекте ошибка выпадает - форма не будет получена. Тупик)
|
|||
12
LordCMEPTb
21.01.16
✎
13:54
|
(11) Если при создании формы появляются ошибки, которые не дают открыть форму, то нужны костыли в обработчике... Или костыли в обработке, которые изменяют данные, открывают форму, возвращают данные...
|
|||
13
bolobol
21.01.16
✎
13:56
|
(12) В том-то и дело. Костыли придуманы, причём - сразу. А вот прямого решения, в тираж пускаемого - нет. Либо по незнанию, либо по отсутствию как такового.
|
|||
14
LordCMEPTb
21.01.16
✎
13:59
|
(13) Ничего не понял. Решение вопроса есть, но прямого решения на вопрос, который меняется со временем, нет. Парадокс...
|
|||
15
bolobol
21.01.16
✎
14:01
|
(14) Решение с костылём-то не путайте!
|
|||
16
LordCMEPTb
21.01.16
✎
14:04
|
(15) Да хотелось бы вопрос увидеть, на который прямого решения нет. Могу еще похожую тему подсказать, которая вроде связана с документами, с открытием формы, с решением:
v8: Создать объект документа и открыть его форму 8.2 |
|||
17
bolobol
21.01.16
✎
14:44
|
(16) И так сделал:
ПолучитьФорму("...ФормаОбъекта", Новый Структура("Ключ, Объект", Объект.СсылкаНаОбъект, РеквФормы_с_Объектом)) - не взлетает |
|||
18
LordCMEPTb
21.01.16
✎
14:52
|
(17) Ну вот! Другое же дело! Теперь четко видно вопрос! Жаль, что не мне...
Я в этом куске сознания вижу лишь обрывок описания ситуации. Где сделал? В форме обработки? В модуле обработки? В форме форме документа? Когда сделал? До открытия? После открытия? Во время открытия? Перед созданием формы? Что такое СсылкаНаОбъект? Прописан ли обработчик в открываемой форме для обработки входящих параметров? |
|||
19
bolobol
21.01.16
✎
14:59
|
(18) Кхм... Я тему не для "обучать" создал - я в ней вопрос задаю, да?
|
|||
20
LordCMEPTb
21.01.16
✎
15:04
|
(19) В таком случае более ничем не могу помочь, ибо нужен человек, который поймет эти обрывки сознания. Мой компилятор отказывается считать это правильным вопросом.
|
|||
21
Fedor-1971
21.01.16
✎
15:12
|
(17) давай на примере. Есть открытая форма обработки, в ней есть ТЧ с данными для счетов. В строках, например, ссылки на документы. Нам нужно открыть счёт, заполненный данными из текущей строки. Пользователь решает сохранять или нет.
Угадал? |
|||
22
bolobol
21.01.16
✎
15:17
|
(21) Тут нечего угадывать. Из ссылки получен объект, изменён, передан на у-форму обработки. Надо открыть форму объекта и показать изменённый объект, а не то что лежит в базе по ссылке.
|
|||
23
bolobol
21.01.16
✎
15:22
|
До кучи к (3) - реквизит формы с типом *Объект - на форму не вывести, т.е. имеет смысл считать, что платформа не поддерживает возможность открытия формы изменённого объекта...
|
|||
24
Fedor-1971
21.01.16
✎
15:32
|
(22) Как вариант: Сначала читаем объект через ПолучитьФорму, потом изменяем, то что в форме есть (фрм.Объект - то что загрузилось в форму) и только потом Показать() пользователю.
|
|||
25
bolobol
21.01.16
✎
15:34
|
(24) Эт-то слишком просто!
И невозможно, когда ПолучитьФорму отрабатывает с ошибкой. |
|||
26
Fedor-1971
21.01.16
✎
15:37
|
(25) так ПолучитьФорму вернёт Неопределено? А что мы предъявим пользователю для принятия решения? Если ПолучитьФорму отработает с ошибкой, то и ОткрытьФорму наступит на те же грабли, только ещё и пожалуется.
|
|||
27
bolobol
21.01.16
✎
15:45
|
(26) Читать умеем? Вопрос задан мною: как открыть форму объекта?, а не ссылки! Вы предлагаете получить форму с данными ссылки!!! А неисправные данные объекта, который открывается - это моя головная боль, моей обработки. Неисправные же данные сохранённые в базе (по ссылке!!!!) - это головная боль всех, кто пожелает хотя бы получить форму этого документ, в том числе и для моей обработки - это тоже нерешимая проблема.
|
|||
28
Pro-tone
21.01.16
✎
15:54
|
(27) твоя головная боль - что ты пообещал, видать, сделать то, чего на управляйках сделать нельзя, теперь иди на попятную заказчику, и скажи, что поспешил с обещаниями и сделай как я предложил в (3)
|
|||
29
Fedor-1971
21.01.16
✎
16:15
|
(27) другими словами - Из-за каких-то причин (обновления или чего другого) перестали открываться формы некоторых документов, поскольку там сбойные данные и тебе выдали задание отремонтировать именно данные? Вот и ремонтируй их.
Создай таблицу со ссылками на сбойные доки, рядом строковая колонка "Изменено" с понятным описанием изменений, рядом Булева колонка Принять - ты выбрал, готов ремонтировать и пользователь соглашается приемлемо ему такое изменение или нет. Выхода только 2 либо получить форму, либо изменить и сохранить объект. |
|||
30
bolobol
21.01.16
✎
16:20
|
(28) (29) Товарищи, позвольте мне уж самому решать что я буду делать и как; буду ли вообще делать то, что не делается в принципе))
Суть задачи описана предельно доступно. И, раз не поддерживается платформой - то и обсуждать-то здесь больше нечего! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |