1с как открыть форму документа по ссылке
Перейти к содержимому

1с как открыть форму документа по ссылке

  • автор:

Как создать документ и открыть его форму?

В 1С Предприятии 8.2 для этих целей существует два возможных сценария работы:

  • открыть форму нового документа и предоставить пользователю самому интерактивно записать данные объекта в базу данных.
  • создать новый документ программно, программно заполнить его данными и программно записать. Затем, если нужно, показать его пользователю.

В первом сценарии проще всего использовать метод глобального контекста ОткрытьФорму() . Это можно сделать на клиенте.

ОткрытьФормуПри этом создается новый документ и открывается для редактирования основная форма этого документа.

Если нужно какое-то предварительное заполнение документа начальными данными, то это можно сделать либо с помощью свойств реквизитов документа ЗначениеЗаполнения , ЗаполнятьИзДанныхЗаполнения либо в обработчике события документа ОбработкаЗаполнения . Подробнее об этом событии можно посмотреть в вопросе Как при открытии формы определить, что создается новый элемент?.

Во втором случае можно программно создать документ на сервере, заполнить данными, если это нужно в обработчике события ОбработкаЗаполнения , записать, и передать ссылку на новый документ в метод глобального контекста ОткрытьЗначение() , который откроет форму этого документа. Например:

&НаКлиенте 

Подробнее об использовании методов ОткрытьЗначение() и ОткрытьФорму() можно прочитать в синтакс-помощнике: Глобальный контекст - Процедуры и функции для интерактивной работы .

Получить форму объекта имея ссылку (УП)

И эту ересь в УП теперь на кучу строк нужно переписать. В общих модулях имеется 2 функции, выполняемые - одна на сервере, другая на клиенте. В функцию выполняющуюся на клиенте приходит ссылка документа (ссылка может быть всегда разной, т.к. разные документы используют функцию). Обращаюсь у серверу для получения по ссылке объекта. Далее - возвращаю структуру с свойствами обратно в функцию. Ссылка на объект имеется так же в структуре, т.к. есть необходимость потом изменить объект. По ссылке нужно так же получить форму на клиенте. Код:

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

Не могу разобраться в получении формы по ссылке.

1с как открыть форму документа по ссылке

ДокОб = Документ.ПолучитьОбъект();
ДокОб.Контрагент = КонтрагентКлиента;

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

Так что то неработает. Я как то делал но забыл.
Спасибо.

ой ей. как открыть-то.

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

Это открывается именно по ссылке

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

А надо то сам объект открыть, который еще не записан

(3) Значить его еще нет.
значит открывать и заполнять
(3) не нужно тебе получитьОбъект, открывай форму и меняй объект формы
+ (5) открывать форму нового и заполнять

1. ОбДокумент = ТвояФорма.Объект
2. ЗаполнитьСервер(ОбДокумент);
3. КопироватьДанныеФормы(ОбДокумент, ТвояФорма);
4. ТвояФорма.Открыть();

если есть ссылка открыть форму по ссылке и после дозаполнить

(9) ПрелЭстно. И сколько у вас в базе есть ссылок для не записанных элементов? Например у меня - ни одной. Я даже не могу подсчитать количество еще не записанных элементов.

(10) первая строка в (0) намекает на то, что у ТС ссылка всё-таки есть. Ему похоже надо открыть форму существующего документа и внести изменения

Как в 1С открыть форму документа по ссылке

В новой редакции 3.0 1С: Бухгалтерия появились полезные возможности для пользователей. Одной из них является возможность поделиться ссылкой документа. Для получения ссылки необходимо нажать кнопку Получить ссылку… в форме документа 1с открыть форму документа по ссылк (1).png
Для последующего использования в работе ссылку добавляем в Избранное, также ее можно скопировать в буфер обмена, отправить коллеге и т.д. Для копирования и вставки пользуемся стандартной комбинацией клавиш CTRL+C и CTRL+V соответственно. Чтобы открыть форму документа по ссылке, сохраненной в Избранное, необходимо войти в Избранное по соответствующей кнопке и перейти по гиперссылке 1с открыть форму документа по ссылк (2).png
Для поиска документа по ссылке из буфера обмена используем Поиск 1с открыть форму документа по ссылк (3).png
Для перехода по ссылке используем одноименный пункт меню 1с открыть форму документа по ссылк (4).png
1с открыть форму документа по ссылк (5).png
При нажатии кнопки Перейти открывается нужная форма документа.

(Нет голосов)

Поделиться ответом

Комментарии

  • Вконтакте
  • Facebook

Ирина Дидушок

Автор ответа:

Ирина Дидушок

Бухгалтер-методолог

Не нашли ответа на свой вопрос?
Задайте его нам! Задать вопрос

Другие ответы

  • Внедрение 1С
  • Внедрение 1C:ERP
  • Внедрение БИТ.Финанс
  • Внедрение 1С:УНФ
  • Разработка на 1С
  • Внедрение 1С:Розница для сети

Сопровождение

  • Аутсорсинг программистов 1С
  • Техподдержка 1С
  • Поддержка БИТ.Финанс

Консалтинг

  • Экспресс-диагностика бизнеса
  • Обследование бизнеса
  • Поддержка изменений в компании
  • Экспресс-аудит ведения учета в 1С
  • Аудит кода и архитектуры 1С
  • Технический аудит проекта 1С
  • Аудит отдела бухгалтерского учета

Интеграции

  • Интеграция 1С с «Меркурий»
  • Интеграция 1С с MS Project
  • Интеграция SAP и 1C

© ООО "Корада", ОГРН 1107746988480

сайт сделан нами на 1С-Битрикс

123022, Россия, Москва, Метро «Улица 1905 года» ул. Б. Декабрьская, Дом 1 (вход со стороны двора) Москва Московская область

55.764649244784 37.559671178647

Корада.Санкт-Петербург

ул. Новорощинская, д. 4, офис 631-1. (Бизнес-центр "Собрание") Санкт-Петербург Ленинградская область

59.884476857031 30.326848246033

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *