Имя: Пароль:
1C
 
Подскажите как открыть форму редактируемого документа?
0 23th
 
30.05.20
04:25
ДокОб = Документ.ПолучитьОбъект();
ДокОб.Контрагент = КонтрагентКлиента;

//Записывать ссылку нельзя, срачала надо посмотреть что так да как...

ПолучитьФорму("Документ.СчетНаОплатуПокупателю", ДокОб);

Так что то неработает. Я как то делал но забыл.
Спасибо.
1 23th
 
30.05.20
04:42
ой ей... как открыть-то...
2 Мимохожий Однако
 
30.05.20
07:31
ОткрытьФорму (OpenForm)
Вариант синтаксиса: По имени
Синтаксис:
ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)
Параметры:
<ИмяФормы> (обязательный)
Тип: Строка.
Имя формы. Образуется как полный путь к объекту метаданных Форма (например, "Справочник.Контрагенты.Форма.ФормаОбъекта", "ОбщаяФорма.ФормаСохраненияФайла") или как полный путь к прикладному объекту, дополненный именем формы по умолчанию (например, "Справочник.Товары.ФормаВыбора").
Независимо от способа задания имени формы, если была найдена такая же открытая форма, метод вернет ее.
Имена форм по умолчанию:
ФормаОбъекта (ObjectForm) - форма объекта по умолчанию;
ФормаГруппы (FolderForm) - форма группы по умолчанию;
ФормаЗаписи (RecordForm) - форма записи регистра по умолчанию;
ФормаСписка (ListForm) - форма списка по умолчанию;
ФормаВыбора (ChoiceForm) - форма выбора по умолчанию;
ФормаВыбораГруппы (FolderChoiceForm) - форма выбора группы по умолчанию;
ФормаКонстант (ConstantsForm) - форма констант по умолчанию;
Форма (Form) - форма отчета и обработки по умолчанию;
ФормаНастроек (SettingsForm) - форма настроек отчета по умолчанию;
ФормаЗагрузки (LoadForm) - форма загрузки настроек;
ФормаСохранения (SaveForm) - форма сохранения настроек;
ФормаВарианта (VariantForm) - форма редактирования варианта отчета;
ФормаЗагрузкиПользовательскихНастроекОтчетов (ReportUserSettingsLoadForm) - форма загрузки настроек отчета;
ФормаСохраненияПользовательскихНастроекОтчетов (ReportUserSettingsSaveForm) - форма сохранения настроек отчета;
ФормаЗагрузкиВариантовОтчетов (ReportVariantsLoadForm) - форма загрузки варианта отчета;
ФормаСохраненияВариантовОтчетов (ReportVariantsSaveForm) - форма сохранения варианта отчета;
ФормаЗагрузкиНастроекДанныхФорм (FormDataSettingsLoadForm) - форма загрузки настроек данных форм;
ФормаСохраненияНастроекДанныхФорм (FormDataSettingsSaveForm) - форма сохранения настроек данных форм;
ФормаПоиска (SearchForm) - форма полнотекстового поиска в данных.
Для внешних отчетов и обработок имя формы задается следующим образом:
ВнешнийОтчет.<имя отчета>.Форма.<имя формы>;
ВнешнийОтчет.<имя отчета>.<имя стандартной формы>;
ВнешняяОбработка.<имя обработки>.Форма.<имя формы>;
ВнешняяОбработка.<имя обработки>.<имя стандартной формы>.
При этом внешний отчет или обработка должны быть предварительно зарегистрированы в системе. Для регистрации отчета следует использовать метод Подключить. Для регистрации обработки следует использовать метод Подключить. <Имя отчета> и <имя обработки> - это имена, под которыми зарегистрированы внешний отчет или обработка.
<Параметры> (необязательный)
Тип: Структура.
Параметры формы. Ключ структуры - имя параметра, а значение - значение параметра формы. Имя элемента должно совпадать с именем параметра структуры.
П = Новый Структура("Ключ", Поставщик);
Форма = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", П);
Форма.Открыть();
<Владелец> (необязательный)
Владелец формы - форма или элемент управления другой формы.
<Уникальность> (необязательный)
Тип: Произвольный.
В данном параметре может быть задан некоторый ключ, значение которого будет использоваться для поиска уже открытых форм. Если будет найдена форма с таким же ключом уникальности, вместо открытия новой формы будет активизирована найденная форма.
Ложь - искать форму с ключом уникальности по умолчанию, Истина - не искать форму вообще, любое другое значение устанавливает ключ уникальности, по которому будет произведен поиск.
Значение по умолчанию: Ложь.
<Окно> (необязательный)
Тип: ОкноКлиентскогоПриложения.
Окно приложения, в котором будет открыта форма.
Применимо только для формы клиентского приложения. Окном может быть только основное окно приложения или вспомогательное окно формы.
Используется только в управляемом приложении.
<НавигационнаяСсылка> (необязательный)
Тип: Строка, Неопределено.
Если содержит значение, отличное от Неопределено, то это значение присваивается свойству НавигационнаяСсылка формы, полученной в результате вызова данного метода, и свойство АвтоНавигационнаяСсылка этой формы устанавливается в Ложь.
Значение по умолчанию: Неопределено.
<ОписаниеОповещенияОЗакрытии> (необязательный)
Тип: ОписаниеОповещения.
Содержит описание процедуры, которая будет вызвана при закрытии формы со следующими параметрами:
<РезультатЗакрытия> - значение, переданное при вызове метода Закрыть открываемой формы,
<ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения.
Если параметр не указан, то по завершению никакая процедура вызвана не будет.
Используется только в управляемом приложении.
<РежимОткрытияОкна> (необязательный)
Тип: РежимОткрытияОкнаФормы.
Указывает режим открытия окна формы клиентского приложения.
Используется только в управляемом приложении.
Значение по умолчанию: Неопределено.
Описание варианта метода:
Открывает форму по имени. В этом случае в параметры передаются имя формы, параметры формы, владелец, ключ уникальности и окно, в котором должна быть открыта форма.
Вариант синтаксиса: По форме
Синтаксис:
ОткрытьФорму(<Форма>, <Окно>)
Параметры:
<Форма> (обязательный)
Тип: Форма, ФормаКлиентскогоПриложения.
Форма или форма клиентского приложения. В режиме тонкого и веб-клиентов только форма клиентского приложения.
<Окно> (необязательный)
Тип: ОкноКлиентскогоПриложения.
Окно приложения, в котором будет открыта форма.
Применимо только для формы клиентского приложения. Окном может быть только основное окно приложения или вспомогательное окно формы.
Возвращаемое значение:
Тип: Форма, ФормаКлиентскогоПриложения.
Описание:
Открывает и возвращает форму или управляемую форму. В тонком и веб-клиенте только управляемую форму. Перед открытием осуществляется поиск уже открытой такой же формы. Поиск осуществляется по типу формы, значениям ключевых параметров формы, владельцу формы, пользовательскому ключу уникальности.
Для следующих форм при попытке обнаружить открытую форму владелец не учитывается и метод вернет уже открытую форму:
ФормаОбъекта,
ФормаЗаписи,
ФормаНабораЗаписей,
ФормаКонстант.
Можно открывать уже полученную форму. В этом случае в параметрах передается уже полученная форма и окно, в котором открыть форму.
Можно открыть форму по имени. В этом случае в параметры передаются имя формы, параметры формы, владелец, ключ уникальности и окно, в котором должна быть открыта форма.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, толстый клиент, мобильное приложение (клиент).
Вызов метода выполняет обращение к серверу.
Примечание:
Для варианта "По имени" параметры вызова аналогичны параметрам метода ПолучитьФорму.
Обычные формы внешних обработок не поддерживаются.
В управляемом приложении не следует выполнять программное открытие и закрытие одной и той же формы в одном вызове встроенного языка.
Если при открытии обычной формы в параметре <ИмяФормы> указано не стандартное имя формы, передаваемые параметры не обрабатываются.
В процессе выполнения может быть несколько обращений к серверу. Часть из них кэшируются. Как минимум одно обращение к серверу есть всегда и оно не кэшируется. Кэширование зависит от версии платформы и версии конфигурации в целом. Если установлена низкая скорость соединения и не указывается текущая строка, то кэшируется форма выбора. Очистка кэша осуществляется с периодичностью в 20 мин. Удаляются формы, которые не использовались в этот период времени.
См. также:
Глобальный контекст, метод ПолучитьФорму
Глобальный контекст, метод ПолучитьОбщуюФорму
Глобальный контекст, метод ОткрытьФормуМодально
Использование в версии:
Доступен, начиная с версии 8.2.
3 23th
 
30.05.20
09:39
Это открывается именно по ссылке

ПараметрыФормы = Новый Структура("Ключ", СсылкаДок);
ПолучитьФорму("Документы.СчетНаОплатуПокупателя.ФормаОбъекта", ПараметрыФормы);

А надо то сам объект открыть, который еще не записан
4 Mikhail Volkov
 
30.05.20
10:12
(3) Значить его еще нет.
5 Chameleon1980
 
30.05.20
10:13
значит открывать и заполнять
6 RomanYS
 
30.05.20
10:13
(3) не нужно тебе получитьОбъект, открывай форму и меняй объект формы
7 Chameleon1980
 
30.05.20
10:14
+ (5) открывать форму нового и заполнять
8 FlashPoint
 
30.05.20
10:32
1. ОбДокумент = ТвояФорма.Объект
2. ЗаполнитьСервер(ОбДокумент);
3. КопироватьДанныеФормы(ОбДокумент, ТвояФорма);
4. ТвояФорма.Открыть();
9 Chameleon1980
 
30.05.20
11:36
если есть ссылка открыть форму по ссылке и после дозаполнить
10 Василий Алибабаевич
 
30.05.20
11:39
(9) ПрелЭстно... И сколько у вас в базе есть ссылок для не записанных элементов? Например у меня - ни одной. Я даже не могу подсчитать количество еще не записанных элементов.
11 RomanYS
 
30.05.20
11:46
(10) первая строка в (0) намекает на то, что у ТС ссылка всё-таки есть. Ему похоже надо открыть форму существующего документа и внести изменения
12 Chameleon1980
 
30.05.20
11:49
(10) ты не русский. написано "если есть ссылка"
13 Василий Алибабаевич
 
30.05.20
12:30
(11) А последняя строка в (3)? На что намекает?
14 RomanYS
 
30.05.20
13:03
(13) Что надо открыть форму документа с внесенными изменениями не записывая их в базу
15 Chameleon1980
 
30.05.20
16:36
(13) на то, что он не погимает как использовать открыть форму. пробует и так и сяк пока что-то похожее не получится
16 23th
 
31.05.20
07:31
(15) Верно

Я конечно могу открыть по ссылке существующий документ, щас попробую как советуют через открыть форму а потом через форма.объект заполнить! Спасибо зарание всем!
17 23th
 
31.05.20
07:57
Функция  ПолучитьДок()
    
    Возврат Документ.ПолучитьОбъект();
КонецФункции

&НаКлиенте
Процедура ОткрытьНаКлиенте(Команда)
    //ОткрытьНаСервере();
    
    ВыбДокумент = ПолучитьДок();
    ВыбДокумент.ПолучитьФорму().Открыть();
    
    //Открыть();
    
КонецПроцедуры

Нельзя

{ВнешняяОбработка.ИзучениеШаблонов.Форма.Форма.Форма(190)}: Ошибка при вызове метода контекста (ПолучитьДок)
    ВыбДокумент = ПолучитьДок();
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: {http://v8.1c.ru/8.1/data/enterprise/current-config}Ref    Форма: Элемент    Тип: {http://www.w3.org/2001/XMLSchema}anyType
18 Chameleon1980
 
31.05.20
09:37
у открыть форму есть возвращаемое значение?
19 Chameleon1980
 
31.05.20
09:40
это намек в (18)
https://www.about1c.ru/v83/driven-forms/function-open-form

открывай через ключ по ссылке и ковыряй в отладчике возвращаемое значение. смотри что тебе там бог послал и что с этим можно сделать
20 Cyberhawk
 
31.05.20
09:53
(19) Тогда уж ПолучитьФорму, если с ней до показа ее пользователю надо какие-то манипуляции произвести
21 Chameleon1980
 
31.05.20
09:59
(20) да ради бога. только от получить форму уходят жеж. и тут без разницы просто зацепились за открыть форму. кругозор расширится 😀