|
Создать, заполнить, открыть. | ☑ | ||
---|---|---|---|---|
0
Sevish
01.03.22
✎
16:24
|
Добрый день!
Если я ставлю документ, что он вводится на основании другого документа, то у последнего в меню "Ввести на основании" появляется нужный пункт. Нажимаю, срабатывают процедуры обработки заполнения, документ открывается. Все отлично! Теперь мне нужно сделать это программно. Создал документ, вызвал "Заполнить()", записал документ - все отлично! Как открыть? Не "ПоказатьЗначение", а открыть так, чтобы он появился на "Панели открытых"? |
|||
1
Kassern
01.03.22
✎
16:26
|
(0)
Форма = ПолучитьФорму("Документ.НужныйДокумент.ФормаОбъекта"); ДанныеФормы = Форма.Объект; // Получаем объект формы в переменную ЗаполнитьДокументНаСервере(ДанныеФормы); // Заполняем документ на сервере КопироватьДанныеФормы(ДанныеФормы, Форма.Объект); // копируем наш объект в объект формы и далее открываем ее Форма.Открыть(); |
|||
2
Kassern
01.03.22
✎
16:27
|
в ЗаполнитьДокументНаСервере()
Создается док, заполняется и в конце ЗначениеВДанныеФормы(Док,ДанныеФормы); // Кладем обратно в объект формы уже созданный документ |
|||
3
Fragster
гуру
01.03.22
✎
16:28
|
Расширение формы клиентского приложения для документа (Client application form extension for documents)
Основание (Basis) Описание: Тип: Произвольный. Объект, являющийся основанием для создания нового объекта. Использование в версии: Доступен, начиная с версии 8.2. |
|||
4
Fragster
гуру
01.03.22
✎
16:30
|
это к тому, как его надо было открывать до заполнения
|
|||
5
Fragster
гуру
01.03.22
✎
16:30
|
незаписанный
|
|||
6
Fragster
гуру
01.03.22
✎
16:30
|
Расширение формы клиентского приложения для документа (Client application form extension for documents)
Ключ (Key) Использование: Ключевой. Описание: Тип: ДокументСсылка.<Имя документа>. Ключ объекта. В случае отсутствия или неверного значения создается новый объект с использованием остальных параметров. Использование в версии: Доступен, начиная с версии 8.2. Методическая информация |
|||
7
Fragster
гуру
01.03.22
✎
16:31
|
а вот это - как надо открывать записанный
|
|||
8
Fragster
гуру
01.03.22
✎
16:31
|
и в управляемых формах нужно забыть про "получитьФорму" в 99% случаев, надо использовать ОткрытьФорму с нужными параметрами
|
|||
9
Sevish
01.03.22
✎
16:41
|
Ой простите :( забыл сказать, что у меня управляемые формы. И "ОткрытьФорму" срабатывает так же как и "ПоказатьЗначение" - открывает отдельное окошко.
|
|||
10
Kassern
01.03.22
✎
16:45
|
(9) ПоказатьЗначение это вроде только для записанных объектах. Вы пробовали сделать, как я написал выше? Это рабочий код, как открыть форму документа заполненную программно пере записью в базу.
|
|||
11
Kassern
01.03.22
✎
16:46
|
(10) *записанных объектов
|
|||
12
Sevish
01.03.22
✎
16:51
|
Да, я понял суть предложения. Тогда чуть подробнее опишу задачу.
Есть список документов, у него есть реквизит "МожноСоздаватьнаОсновании". В списке документов сделал кнопку, которая сначала проверяет реквизит, и если нельзя - отказ (пробовал использовать типовое создание, проверять там, писать в комментарий "отказ", но не понравилось решение). Если можно создавать, то создаю программно на сервере, вызываю "Заполнить()" и (внимание) записываю. Увы, надо именно записать и открыть :( Это вообще возможно на УФ? |
|||
13
Kassern
01.03.22
✎
17:01
|
(12) блин я вас не могу понять, что вам надо. Вы хотите типовой кнопкой в списке документа создавать на основании документы с проверкой реквизита? Тогда причем тут открытие формы?
|
|||
14
Kassern
01.03.22
✎
17:02
|
Если вы хотите открыть форму записанного документа, то ОткрытьФорму вам в помощь, или ПоказатьЗначение
|
|||
15
Kassern
01.03.22
✎
17:03
|
если вам нужно программно заполнить документ и дать юзверу проверить перед записью, то смотрите вначале ветки.
|
|||
16
Kassern
01.03.22
✎
17:03
|
Если вы хотите в обработке заполнения проверять какой-то реквизит и на основании него не создавать документ, то у вас не верный подход. Отбирайте по данному реквизиту до ввода на основании
|
|||
17
Fragster
гуру
01.03.22
✎
17:05
|
(12) это делается через вызов исключения в обработке заполнения
|
|||
18
Fragster
гуру
01.03.22
✎
17:06
|
стандартной кнопкой
|
|||
19
Sevish
01.03.22
✎
17:06
|
От типовой кнопки я отказался. Пока буду пробовать открывать без записи, может тогда правда откроется на панели открытых.
А в принципе можно заставить "ПоказатьЗначение" открывать не свободным окном, а на панели? |
|||
20
Fragster
гуру
01.03.22
✎
17:10
|
(19) зачем нужно использовать показать значение, если открытьформу работает как надо?
|
|||
21
Fragster
гуру
01.03.22
✎
17:15
|
может быть все дело в том, что кто-то одаренный в свойствах формы в конфигураторе указал режим открытия окна "блокировать окно владельца". Можно поменять там, а можно переопределеить с помощью параметров, передаваемых в ОткрытьФорму
|
|||
22
Sevish
01.03.22
✎
17:19
|
Нет, я создаю и пытаюсь открыть типовой документ и я пробовал переопределять. За совет спасибо, буду пробовать "ОткрытьФорму".
|
|||
23
Sevish
01.03.22
✎
18:07
|
Фантастика! Все сработало как в (2) и (3) если документ новый.
Но если у меня документ уже записан, как тогда его открыть тем же способом? |
|||
24
Fragster
гуру
02.03.22
✎
10:46
|
(23) а это в (6) записано
|
|||
25
Sevish
02.03.22
✎
12:00
|
В (6) не написано что за метод :) подскажите, пожалуйста.
|
|||
26
Sevish
02.03.22
✎
12:04
|
ПараметрыФормы = Новый Структура("Ключ", ДопПараметры);
ОткрытьФорму("Документ.МойДок.ФормаОбъекта", ПараметрыФормы); "ДопПараметры" - ссылка из списка документов, но, почему-то, открывает новый документ. разбираюсь. А так да, спасибо за подсказку! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |