Открыть программу 1 с

Содержание

В статье будет рассказано о том, как в 1с открыть форму программно. Все описанное ниже, касается только управляемого приложения. Подробно рассмотрим метод глобального контекста ОткрытьФорму.

Также можете ознакомиться с более простыми, но менее гибкими способами открыть форму по ссылке: Как в 1с открыть ссылку.

Метод ОткрытьФорму по имени

Самый гибкий и настраиваемый способ программного открытия формы в 1с 8. Рассмотрим подробно его параметры, а также разберем несколько примеров его использования.

ОткрытьФорму(, , , , , , , )

Следует заметить, что метод ОткрытьФорму является клиентским. Т.е его можно использовать либо в общих модулях с установленным флагом Клиент, либо в процедурах (функциях) форм с директивой

  • ИмяОбъекта. Наименование объекта метаданных. Например для справочника: Пользователи, Номенклатура;
  • ИмяФормыПоУмолчанию. Стандартное имя формы, набор имен по умолчанию различается для различных объектов метаданных. Например для документа: ФормаВыбора, ФормаОбъекта, ФормаСписка. Полный набор имен по умолчанию можно найти в синтаксис помощнике, в описании метода ОткрытьФорму;
  • ИмяФормы. Произвольное имя формы, заданное при ее создании. Например у справочника Пользователи, форма СменаПочты.
  • Пример 1. Путь к форме выбора по умолчанию, справочника Номенклатура.

    Как открыть смену в программе «1С:Розница 8. Аптека»


    «Справочник.Номенклатура.ФормаВыбора»

    Пример 2. Путь к форме СменаПочты справочника Пользователи, по ее имени.

    «Справочник.Пользователи.Форма.СменаПочты»

    Параметры

    Содержит Структуру параметров, которые передаются в открываемую форму. Для каждого типа формы, существует набор стандартных параметров, которые не нужно дополнительно обрабатывать в самой форме. Также набор параметров может различаться и для объектов метаданных.

    Например, параметр Ключ, для форм объектов. В него можно передать ссылку на открываемый объект (если его не передать, будет открыта форма нового объекта).

    Подробнее прочитать описание всех возможных стандартных параметров можно в синтаксис помощнике, в ветке Интерфейс (управляемый) -> Форма клиентского приложения (в старых версиях платформы Управляемая форма). Далее в ветках Расширение объектов, Расширение справочника и т. д., можно найти Параметры формы. Там дается полный список возможных стандартных параметров с описаниями.

    Также в структуру можно передавать произвольные параметры, которые можно обрабатывать программно, в открываемой форме. Например в обработчике события ПриСозданииНаСервере.

    Рассмотрим примеры открытия различных форм с использованием параметров.

    Пример 3. Открыть форму объекта справочника Пользователи, используя ссылку на объект.

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

    Пример 4. Открыть форму списка справочника Номенклатура с отбором по реквизиту ВидНоменклатуры и по списку родителей.

    КАК ОТКРЫТЬ ПРЕДПРИЯТИЕ В ПРОГРАММЕ 1С 8 3 #BUXGALTERIYA #БУХГАЛТЕРИЯ


    Отбор = Новый Структура; Отбор.Вставить(«ВидНоменклатуры», ВидНоменклатуры); Отбор.Вставить(«Родитель», СписокРодителей); ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить(«Отбор», Отбор); ОткрытьФорму(«Справочник.Номенклатура.ФормаСписка», ПараметрыФормы);

    Здесь Отбор — это стандартный параметр для форм, использующих в качестве основного реквизита Динамический список. Например, это формы списка и выбора. Он представляет из себя Структуру, в которую можно добавить значения элементов отбора. В Ключ — имя реквизита, в Значение — значение отбора.

    Данным способом можно отобрать значения, используя вид сравнения Равно или ВСписке. Для отбора ВСписке следует добавить в структуру Массив, ФиксированныйМассив, либо СписокЗначений. Следует заметить, что отбор ВИерархии установить данным способом не выйдет.

    Владелец

    В данный параметр передается элемент формы или форма клиентского приложения (управляемая форма) полностью. Используется для указания подчинения открываемой формы.

    Читайте также:
    Как правильно написать программа

    Это может потребоваться для многих целей, например для:

    • Анализа владельца и выполнения определенных действий в открываемой форме;
    • Корректной работы события ОбработкаЗаписиНового, в форме владельце;
    • Самостоятельной реализации выбора в поле формы.

    Пример 5. Реализовать программный выбор элемента Номенклатура, в поле ввода.

    ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить(«ТекущаяСтрока», Номенклатура); ОткрытьФорму(«Справочник.Номенклатура.ФормаВыбора», ПараметрыФормы, Элемент); КонецПроцедуры

    В данном случае необходимо:

    • Создать обработчик события НачалоВыбора, для поля ввода;
    • Отменить стандартную обработку выбора;
    • В параметр Владелец передать элемент формы (поле).

    Параметр ТекущаяСтрока, позволяет выделять ранее выбранный элемент в форме выбора. Стоит заменить, что в обычной ситуации такой метод выбора значений не применяется. Его применяют только тогда, когда нет возможности настроить форму выбора под условия задачи.

    Уникальность

    В параметре можно задать ключ уникальности формы произвольного типа. При открытии формы, платформа будет анализировать, есть в текущем сеансе уже открытая форма, с таким же ключом уникальности. Если такая форма будет найдена, то она будет активизирована, а новая не откроется. Этот механизм работает только для одинаковых форм. Если вы будете открывать формы объекта разных документов с одинаковым ключом, то откроются обе.

    По умолчанию, платформа сама генерирует ключ уникальности. Поэтому помимо использования собственного ключа, в параметре Уникальность, можно регулировать использование стандартного. Если передать в него значение Ложь, то будет использован стандартный ключ, если значение Истина, то ключ не будет использоваться совсем. Т.е. будет создаваться новая форма, при каждом использовании метода ОткрытьФорму. Значением по умолчанию является Ложь, поэтому специально задавать его не требуется.

    Пример 6. Одновременно открыть две формы объекта справочника Пользователи, по одной и той же ссылке.

    ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить(«Ключ», Пользователь); ОткрытьФорму(«Справочник.Пользователи.ФормаОбъекта», ПараметрыФормы,, «1»); ОткрытьФорму(«Справочник.Пользователи.ФормаОбъекта», ПараметрыФормы,, «2»);

    Окно

    В параметре можно указать окно, в котором будет открыта новая форма. Тип параметра ОкноКлиентскогоПриложения.

    Пример 7. Реализовать программный выбор элемента Номенклатура, в поле ввода. Реализовать выбор в окне формы, на которой расположено поле.

    Окно = ЭтаФорма.Окно; ОткрытьФорму(«Справочник._ДемоНоменклатура.ФормаВыбора»,, Элемент,, Окно); КонецПроцедуры

    В этом примере мы получаем окно текущей формы и используем его для открытия формы выбора справочника.

    Позволяет установить собственную навигационную ссылку для открываемой формы. Устанавливаемая навигационная ссылка должна иметь тип Строка. Значение по умолчанию: Неопределено, при использовании этого значения, навигационная ссылка задается автоматически.

    ОписаниеОповещенияОЗакрытии

    В параметр передается описание процедуры, которая будет вызвана после закрытия открываемой формы. Тип параметра: ОписаниеОповещения.

    Пример 8. В 1с открыть форму программно. Использовать форму объекта справочника Пользователи. После ее закрытия сообщить, что карточка пользователя закрыта.

    ДопПараметры.Вставить(«Пользователь», Пользователь); Оповещение = Новый ОписаниеОповещения(«ПослеЗакрытияФормыПользователя», ЭтаФорма, ДопПараметры); ПараметрыФормы = Новый Структура; ПараметрыФормы.Вставить(«Ключ», Пользователь); ОткрытьФорму(«Справочник.Пользователи.ФормаОбъекта», ПараметрыФормы. Оповещение); КонецПроцедуры ШаблонСообщения = «Карточка пользователя «»%1″» закрыта»; ТекстСообщения = СтрШаблон(ШаблонСообщения, Пользователь); Сообщить(ТекстСообщения); КонецПроцедуры

    Используемые в примере параметры описания оповещения:

    • Первый: имя процедуры;
    • Второй: модуль, в котором она расположена (в данном случае текущая форма);
    • Третий: структура дополнительных параметров, которая будет передана в процедуру;

    Описанная процедура обязательно должна иметь два параметра:

    • Результат. Значение, которое возвращает форма при закрытии. Форма объекта не возвращает значений (если это специально не прописать), поэтому в данном случае значение параметра будет Неопределено. А вот форма выбора, например, вернет массив выбранных значений.
    • ДопПараметры. Структура параметров, созданная в описании оповещения.

    Также описанная процедура должна быть экспортной.

    РежимОткрытияОкна

    Позволяет указать режим открытия управляемой формы. По умолчанию Неопределено, вручную можно задать одно из значений системного перечисления РежимОткрытияОкнаФормы:

    • БлокироватьВеcьИнтерфейс;
    • БлокироватьОкноВладельца;
    • Независимый.

    Метод ОткрытьФорму по форме

    Существует еще один вариант синтаксиса метода ОткрытьФорму.

    ОткрытьФорму(, )

    Используется, если вы уже получили форму, произвели с ней какие-то действия и теперь ее необходимо открыть.

    Пример 9. Получить форму списка справочника Номенклатура, а затем в 1с открыть форму программно.

    Форма = ПолучитьФорму(«Справочник._ДемоНоменклатура.ФормаСписка»); ОткрытьФорму(Форма);

    Источник: 1cguide.ru

    Программное открытие форм в управляемом приложении 1С

    Программное открытие форм в управляемом и обычном приложении 1С сильно отличается.

    Читайте также:
    Программа человек имеет право

    Программное открытие формы в обычном приложении

    Для начала рассмотрим метод открытия в обычном приложении. Он заключается в следующем. Сначала происходит получение формы, а затем ее открытие в обычном или модальном режиме (при открытии в модальном режиме форма блокирует работу программы).

    //Получаем форму документа ПоступлениеТоваровУслуг и открываем ее ПолучитьФорму(«Документ.ПоступлениеТоваровУслуг.ФормаДокумента»).Открыть()

    Это самый медленный метод открытия форм, но он позволяет программно обработать форму перед открытием. Для обработки формы перед открытием код нужно немного изменить:

    //Получаем форму документа ПоступлениеТоваровУслуг Форма=ПолучитьФорму(«Документ.ПоступлениеТоваровУслуг.ФормаДокумента»); //Тут выполняем действия с формой Форма.Открыть();

    При этом при получении формы будет выполняться процедура события ПриСозданииНаСервере.

    Рассмотрим другие методы открытия форм в управляемом приложении 1С.

    Программное открытие формы в управляемом приложении

    Как открыть форму объекта в управляемом приложении, если есть ссылка на него?

    //Получаем ссылку на номенклатуру с кодом КодТовара СправочникСсылка=Справочники.Номенклатура.НайтиПоКоду(КодТовара); //Открываем форму номенклатуры с кодом КодТовара ОткрытьЗначение(СправочникСсылка);

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

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

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

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

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

    //Открываем форму документа ПриходнаяНакладная ОткрытьФорму(«Документ.ПриходнаяНакладная.ФормаОбъекта»);

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

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

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

    ОткрытьЗначение(СсылкаНаДокумент); КонецПроцедуры НовыйДокумент.Номер = «111»; НовыйДокумент.Дата = ТекущаяДата(); НовыйДокумент.Записать(); Возврат НовыйДокумент.Ссылка; КонецФункции

    Как открыть форму выбора и получить потом выбранное значение?

    Для этого воспользуемся функцией ВвестиЗначение().

    • Значение — переменная, в которую будет помещено выбранное значение;
    • Подсказка — Текст заголовка окна диалога ввода значения. Может использоваться в качестве подсказки пользователю. Значение по умолчанию: Пустая строка.
    • Тип — тип вводимого значения. Если параметр не указан, используется тип параметра Значение>. Может быть несколько типов, тогда перед выбором конкретного значения будет предложено выбрать тип.

    В результате выполнения функции откроется форма выбора по умолчанию для объекта указанного типа.

    Перем Значение; Массив=новый массив; Массив.Добавить(Тип(«СправочникСсылка.Контрагенты»)); ОписаниеТипов = Новый ОписаниеТипов(Массив); РезультатВыбора = ВвестиЗначение(Значение, «Выберете контрагента», ОписаниеТипов);

    Предыдущие способы позволяли открывать только формы, установленные для объектов по умолчанию (форму объекта или форму выбора).

    Функция ОткрытьФорму() в управляемом приложении 1С

    Для открытия произвольной формы предназначена функция ОткрытьФорму(). Рассмотрим как она работает.

    Некоторые параметры функции:

    • ИмяФормы — полный путь к объекту метаданных Форма, тут можно выбрать либо одну из стандартных форм объекта, например, ФормаВыбора или ФормаСписка. Или конкретную, созданную разработчиками форму.
    • Параметры — позволяет передать в форму в виде структуры некоторые параметры перед ее открытием, тем самым определив выводимые данные. Параметры могут представлять собой любые данные, которые можно передавать с клиента на сервер.
    • Владелец — владелец формы — форма или элемент управления другой формы.
    • РежимОткрытияОкна— имеет 3 варианта: независимый, блокировать весь интерфейс, блокировать форму владельца.

    Переданные при открытии формы параметры можно обработать в процедуре ПриСозданииНаСервере() у открываемой формы.

    Как программно открыть форму существующего объекта?

    Каждая форма имеет ключевой реквизит. Он выделен жирным в списке реквизитов формы и обычно называется Объект у форм элементов справочников, документов. У других объектов название может отличаться. Для открытия формы существующего объекта нужно передать в открываемую форму параметр Ключ со значением в виде ссылки на объект.

    Читайте также:
    Сосудистая программа мрт что показывает

    Параметр.Вставить(«Ключ», ПолучитьКонтрагентаПоИНН(ИннКонтрагента)); ОткрытьФорму(«Справочник.Контрагенты.ФормаОбъекта»,Параметр); КонецПроцедуры Возврат Справочники.Контрагенты.НайтиПоРеквизиту(«ИНН», ИНН); КонецФункции

    Как программно открыть форму нового объекта и заполнить ее на основании чего-либо?

    В качестве параметра Основание нужно передать ссылку на объект-основание заполнения. При этом будет запущена процедура ОбработкаЗаполнения().

    Параметр.Вставить(«Основание», СсылкаНаСчетПокупателю); ОткрытьФорму(«Документ.РеализацияТоваровУслуг.ФормаОбъекта», Параметр); КонецПроцедуры

    В этом примере будет создан документ Реализация товаров и услуг и заполнен на основании счета на оплату покупателю, ссылка на который была передана.

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

    Для организации отбора, нужно передать в открываемую форму параметр Отбор — структуру, ключ которой — имя поля динамического списка, а значение — искомые данные.
    Например, откроем форму списка справочника НомераГТД и сделаем там отбор по владельцу — элементу справочника Номенклатура.

    Отбор=новый Структура; Отбор.Вставить(«Владелец», СсылкаНаНоменклатуру); Параметр.Вставить(«Отбор», Отбор); ОткрытьФорму(«Справочник.НомераГТД.ФормаСписка», Параметр); КонецПроцедуры

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

    Для этого понадобится ключ записи регистра сведений.

    Ключ записи — это значения всех измерений и период (если регистр периодический). То есть ключ записи — это параметры, по которым можно однозначно идентифицировать запись.

    Алгоритм открытия следующий:

    1. Заносим в структуру данные ключа записи с необходимыми значениями.
    2. Помещаем полученную структуру в массив.
    3. Из массива создаем ключ записи.
    4. Передаем в открываемую форму параметр Ключ с ключом записи из п.3 в качестве значения.

    ПараметрыКлюча.Вставить(«Номенклатура», СсылкаНаНоменклатуру); ПараметрыКлюча.Вставить(«ТипЦены», СсылкаНаТипЦен); ПараметрыКлюча.Вставить(«Период», Дата); МассивКлюча = Новый Массив; МассивКлюча.Добавить(ПараметрыКлюча); КлючЗаписи = Новый(«РегистрСведенийКлючЗаписи.ЦеныНоменклатуры», МассивКлюча); Параметр = Новый Структура(«Ключ», КлючЗаписи); ОткрытьФорму(«РегистрСведений.ЦеныНоменклатуры.ФормаЗаписи», Параметр); КонецПроцедуры

    Источник: tv-pro1c.ru

    Урок № 3. Запуск программы

    После того как программа установлена, в меню Пуск будет создана ее программная группа. Для запуска программы предназначена команда 1С Предприятие. Рекомендуется для удобства работы вывести ярлык запуска на рабочий стол, используя для этого штатные средства операционной системы.

    При запуске программы на экране отображается окно (рис. 1.1).

    Рис. 1.1. Запуск программы

    В этом окне осуществляется выбор требуемого режима работы, а также информационной базы. Программа «1С» может функционировать в двух режимах: • 1С:Предприятие;

    • Конфигуратор.

    Выбор требуемого режима осуществляется нажатием в данном окне соответствующей кнопки. Более подробно о том, что представляет собой каждый режим работы программы «1С», мы узнаем при прохождении соответствующего урока.

    В центральной части окна запуска программы представлен список информационных баз. При первом запуске программы в данном списке может присутствовать информационная база с демонстрационной конфигурацией; эта база входит в комплект поставки и предназначена для предварительного знакомства с системой. Выбор информационной базы осуществляется щелчком мыши на соответствующей позиции списка. Вы можете добавлять в список новые либо редактировать и удалять имеющиеся информационные базы (о том, как это делать, будет рассказано позже).

    В нижней части окна отображается путь к каталогу информационной базы, на которой установлен курсор.

    Порядок действий при запуске программы выглядит следующим образом: вначале нужно в окне запуска выбрать щелчком мыши информационную базу, после чего нажать кнопку 1С:Предприятие или Конфигуратор (в зависимости от того, в каком режиме требуется запустить программу).

    Урок № 4. Режимы работы «1с:Предприятие» и «Конфигуратор»

    Как мы уже знаем из предыдущего урока, программа «1С» может функционировать в двух основных режимах: 1С:Предприятие и Конфигуратор. Выбор требуемого режима осуществляется нажатием в окне запуска соответствующей кнопки.

    Режим 1С:Предприятие – это режим эксплуатации программы в соответствии с ее предназначением. Иначе говоря, именно в режиме 1С:Предприятие работают бухгалтеры, финансисты, менеджеры и другие пользователи программы.

    Что касается режима Конфигуратор, то он предназначен для настройки и администрирования программы. Здесь создаются и редактируются объекты конфигурации, настраиваются интерфейсы и диалоговые окна, определяются вид и содержимое печатной формы документов, а также выполняется целый ряд иных действий по настройке и конфигурированию системы. В большинстве случаев с Конфигуратором работает администратор, поскольку это требует специфических знаний.

    Рейтинг
    ( Пока оценок нет )
    Загрузка ...
    EFT-Soft.ru