- Программирование в 1С для всех
- Открытие и обработка формы 1С
- Открываем форму для внешней обработки 1С
- Открыть внешнюю обработку 1С
- Ответ на «Программа открытия процедур в 1С»
- Как открыть форму при запуске системы?
- Как программно открыть внешнюю обработку?
- Программное открытие форм в управляемом приложении 1С
- 1. Как открыть форму объекта в управляемом приложении, если на него есть ссылка.
- 2. Как открыть форму выбора, а затем получить выбранное значение.
- 3. Как открыть форму существующего объекта
- 4. Как открыть новую форму
- 5. Как открыть новый объект формы и заполнить его на основе чего-то
- 6. Как открыть форму и установить в ней выбор
- 7. Как открыть форму записи информационного журнала
Программирование в 1С для всех
В этой статье я разберу особенности программного открытия процессов в 1С. Мы узнаем, как открыть форму для обработки, как открыть форму для внешней обработки из самой внешней обработки, а также как открыть форму для внешней обработки из клиентского режима платформы 1С 8.3.
Открытие и обработка формы 1С
Начнем с того, что открыть программу обработки самостоятельно нельзя. Вы можете открыть любую из форм для обработки. Чтобы программно открыть форму управляемой отрисовки, нужно использовать метод OpenForm.
.
В первой статье, где мы начинали знакомиться с отрисовкой в 1С, я создал отрисовку «Отрисовка для примера» с форму.
В этой статье я покажу вам, как программно открыть форму этой обработки из другой обработки «Обработка1». Для этого я создал управляемую форму и команду формы в Process1.
В обработчике клиентской команды напишем код, открывающий основную форму для обработки.
Форма открываемой обработки может быть указана в информации о переходе, которая появляется после ввода имени обработки.
Затем, в результате выполнения команда, форма обработки «Пример обработки» в отдельном окне.
Открываем форму для внешней обработки 1С
Если нам нужно открыть другую форму та же внешняя обработка из формы. Для внешней обработки нам также нужно использовать метод OpenForm, как и в предыдущем примере, только вместо слов Processing нужно писать ExternalProcessing.
Давайте рассмотрим пример. Пусть внешняя обработка имеет две формы: основную и другую.
В основной форме создадим команду «Открыть другую», ее выполнение откроет другую форму.
Эта команда будет иметь обработчик событий на стороне клиента со следующим кодом:
Теперь, когда открыта внешняя обработка, мы можем открыть одну из ваших основных форм .
Открыть внешнюю обработку 1С
Ранее мы рассмотрели пример, где открыта внешняя обработка и нам нужно открыть форму для внешней обработки из сама внешняя обработка, но иногда возникают задачи, когда нам нужно открыть форму для внешней обработки откуда-то еще, зная путь к этой обработке на жестком диске или непосредственно выбрав файл для обработки.
Разберем эту проблему. Откроем внешний рендер рендера, который был создан в предыдущей статье и с которым мы уже работали в этой: «Рендер 1».
В Для этой обработки создадим команду, которая будет открывать форма внешней обработки.
Введите следующий код в форму обработки:
Код работает с платформы 8.3.15.
В приведенном выше коде процедура OpenExternalProcessing является обработчиком команды Open ExternalProcessing, этот обработчик использует метод StartReceiveFileToServer , который реализован в возможность открыть диалог для выбор файла. После выбора файла выполняется процедура, описывающая уведомление AfterFileSelection . Эта процедура получает адрес хранилища временных файлов (переменная Address ), где находится имя внешней обработки (в серверной процедуре Get ExternalProcessingName ), а затем внешняя обработка открыт.
После выполнения команды откроется окно выбора файла внешней обработки.
Если файл выбран, откроется внешняя обработка.
Статьи по открытию форм:
Статьи по настройке в 1С:
Более подробно и углубленно начальные вопросы программирования 1С вы можете изучить в
книге «Программирование 1С за 11 шагов»
Учитесь программировать в 1С на месте с моей книгой «Программирование в 1С за 11 шагов» шаги»
Книга написана ясным и простым языком, для начинающих.
- Книга высылается по электронной почте в виде PDF. Открыть на любом устройстве!
- Научитесь разбираться в архитектуре 1С;
- Написать код на языке 1С;
- Изучите концепции
- Закрепите полученные знания с помощью задачника
Информацию о том, как разрабатывать под управляемым приложением 1С, см. в книге «Основы разработки 1С: Такси»
Отличное руководство по разработке в управляемом приложении 1С как для начинающих разработчиков, так и для опытных программистов.
- Очень доступным и понятным языком
- Книга отправлена по электронной почте в формате PDF. Его можно открыть на любом устройстве!
- Понять идеологию жестового приложения ionada 1C
- Научиться разрабатывать управляемое приложение;
- Научиться разрабатывать управляемые формы 1С;
- Вы сможете работать с основными и необходимыми элементами управляемых форм
- Планирование под управляемым приложением будет понятным
Промокод на скидку 15% — 48PVXHeYu
Эти книги и книга по программированию оперативного учета выпускаются в одном комплекте: наборе книг по разработке в 1С.
Только для читателей моего блога,
промокод со скидкой 300 рублей на весь комплект: блог
Если вам понравился этот урок , было полезно или помогло решить какую-то проблему, то вы можете поддержать мой проект переводом любой суммы .
Возможна оплата вручную:
Яндекс.Деньги — 410012882996301
Веб Деньги — R955262494655
Вступайте в мои группы:
Ответ на «Программа открытия процедур в 1С»
Добрый день. А можно ли открыть внешнюю обработку из документа? В окне справки нет пункта «Внешняя обработка».
Источник
Как открыть форму при запуске системы?
При запуске системы
Запускается, когда пользователь начинает работать с областью данных в интерактивном или локальном режиме.
Соответствует SystemStartHandler.
Синтаксис
Выполнить процедуру (параметры) Экспорт
Параметры
Параметры — Структура:
* Ошибка — логическое значение — возврат ценность. Если установлено значение True, программа закроется.
* Перезапуск — логическое значение — возвращаемое значение. Если для параметра
установлено значение True, а для параметра Reject также установлено значение True, программа перезапустится.
* AdditionalCommandLineParameters — Строка — возвращаемое значение. Имеет смысл
, когда для Fail и Restart установлено значение True.
* Интерактивная обработка — Описание предупреждения — возвращаемое значение. Чтобы открыть окно, блокирующее
вход в программу, установите этот параметр в описании обработчика предупреждений
, открывающего окно. См. пример в разделе Перед запуском системы.
* Продолжить обработку — Описание предупреждения — если открывается окно, которое блокирует вход в программу, то уведомление о продолжении обработки должно быть сделано, когда обработка
закроет это окно.
См. пример в General PurposeClientOverridable.BeforeStartingSystem.
* Modules — Массив — ссылки на модули, в которых при возврате вызывается та же процедура.
Модули можно добавлять только в рамках вызова процедуры переопределенного модуля.
Используется для упрощения реализации нескольких
последовательных асинхронных вызовов к различным подсистемам. См. пример Интеграция подсистем BSPClient Перед запуском системы.
Местоположение
Модуль General PurposeClientOverride
Упрощение
Источник
Как программно открыть внешнюю обработку?
В версия 8.2 приложения не работает напрямую с локальными файлами, расположенными на компьютере. Файлы должны быть на сервере.
Если вы хотите то есть для открытия внешней обработки необходимо выполнить следующую последовательность действий:
- Загрузить файл внешней обработки на сервер
- Подключить внешнюю обработку
- Открыть форму для внешней обработки
Для загрузки файла на сервер его необходимо поместить во временное хранилище. Для этого сначала на клиенте во внешнем обработчике команды render open помещаем файл из локальной файловой системы во временное хранилище с помощью метода PlaceFile() глобального контекста.
Четвертый параметр этого метода задает символ интерактивного режима для выбора файла внешней обработки. Если этот параметр имеет значение True, появится диалоговое окно выбора файла, в котором вы можете выбрать файл для сохранения. В нашем примере этот параметр имеет значение False, а путь к файлу, данные которого должны быть временно сохранены, явно задается во втором параметре метода.
Путем вызова метода PlaceFile() с его первым параметром StorageAddress , мы указываем пустую строку. После выполнения метод будет содержать путь к внешнему файлу рендеринга во временном хранилище. Мы используем этот путь для подключения внешней обработки.
Подключение внешней обработки выполняется на сервере с помощью метода Connect() менеджера внешней обработки. В качестве параметра передается путь к файлу обработки внешнего временного хранилища — StorageAddress. Этот метод возвращает внешнее прикрепленное имя рендеринга — ProcessName, — которое мы используем, чтобы открыть форму для этого процесса.
Чтобы открыть форму внешнего процесса, используйте метод OpenForm() глобального контекста, которому передается имя формы в виде следующей строки: «ExternalProcessing.»+ProcessingName +.Form» . Предыдущий вариант открывает основную форму обработки. также может открывать не форму первичной обработки, это описано в вопросе Как получить форму вторичной обработки?.
При работе на внешних процессорах следует учитывать, что по умолчанию они работают в безопасном режиме программы выполнение кода.Это означает, что некоторые встроенные функции языка им будут недоступны.Если вы уверены, что внешняя обработка не содержит вредоносного кода, вы можете подключить ее в обычном режиме выполнения программного кода.Это делается с помощью третьего параметр метода Подключить() обработчика внешней обработки.
Подробнее о безопасном режиме выполнения кода можно узнать в документации: Руководство разработчика 1С:Предприятия 8.2, раздел 5.5.4.3: Объекты конфигурации — » Оба cné» Ветвь конфигурации — Роли и привилегии — Безопасный режим.
Дополнительную информацию об использовании метода PlaceFile() можно найти в справке по синтаксису: Глобальный контекст: процедуры и функции для работы с файлами.
Дополнительные сведения об использовании метода Connect() см. в руководстве по синтаксису: Объекты приложения — Внешние процессы и сборки — Внешний диспетчер процессов — Методы.
Источник
Программное открытие форм в управляемом приложении 1С
Программное открытие форм в управляемом приложении 1С существенно отличается от открытия их в обычном приложении. Начнем со старого метода. Он заключается в принятии формы и последующем ее открытии в обычном или модальном режиме (при открытии в модальном режиме форма блокирует программу).
Это самый медленный способ открытия форм. Однако он позволяет программно обрабатывать форму перед ее открытием. Вам нужно немного изменить код, чтобы он заработал:
Обратите внимание, что при получении формы будет также выполняться процедура события OnCreateOnServer.
.
Рассмотрим другие способы, позволяющие быстрее и удобнее открывать формы в управляемом приложении 1С. В зависимости от конкретной ситуации могут использоваться разные способы.
1. Как открыть форму объекта в управляемом приложении, если на него есть ссылка.
В данном случае все чрезвычайно просто.
2. Как открыть форму выбора, а затем получить выбранное значение.
Для этого есть функция EnterValue(). Функция имеет 3 параметра:
- Переменная, в которую будет записано выбранное значение;
- Подсказка для отображения в окне выбора;
- Описание выбранных типов значений. Может быть несколько типов, поэтому вам будет предложено выбрать тип перед выбором определенного значения.
В результате выполнения функции открывается форма выбора по умолчанию для объекта заданного типа.
Значение переменной;
Массив = новый массив ;
полей. Добавить(Тип(«DirectoryReference.Nomenclature» ));
полей. Добавить (Тип («DirectoryReference.Contractors» ) );
DescriptionType = new DescriptionType(Array);
Res = EnterValue (Value, «Hint», DescriptionType);
Предыдущие методы разрешено открывать только формы, установленные для объектов по умолчанию (форма объекта или форма выбора). Если вам нужно открыть любую форму, вы можете использовать функцию OpenForm().
У этой функции довольно много параметров. Рассмотрим некоторые из них:
- Имя формы : Здесь вы можете выбрать любую из стандартных форм объекта, например SelectForm или Форма списка . Или конкретная форма, созданная разработчиком.
- Параметры : позволяет передать некоторые параметры в форму в виде структуры перед ее открытием, тем самым определяя выходные данные. Параметрами могут быть любые данные, которые могут быть переданы от клиента к серверу. Параметры, передаваемые при открытии формы, могут быть обработаны в процедуре ПриСозданииНаСервере() для открытой формы.
- Режим открытой формы : у вас есть 3 варианта: автономный режим, блокировка всех интерфейсов, блокировка формы владельца.
Давайте посмотрим, как функция OpenForm() используется в различных ситуациях.
3. Как открыть форму существующего объекта
У каждой формы есть ключевой аксессуар. Он выделен жирным шрифтом в списке атрибутов формы и обычно называется Объект. для форм документов и записей справочника. Другие объекты могут иметь другое имя. Чтобы открыть форму существующего объекта, необходимо передать параметр Ключ со значением в качестве ссылки на открываемый объект формы.
&AtClient
Процедура Команда 1 ( Команда)
Параметр = новая структура ;
Параметр. Вставить(«Ключ», FindC());
OpenForm(«Directory.Accounts.ObjectForm», Parameter) ;
Завершить процедуру
&AtServer
Function FindC ( ) ;
Возвращает направляющие. Поставщики. FindByAttribute(«ИНН», «745107734623»)
EndFunction
4. Как открыть новую форму
Простая функция OpenForm() без параметров здесь достаточно.
5. Как открыть новый объект формы и заполнить его на основе чего-то
Вам нужно передать параметр Base , значение которого будет ссылкой к основанию объекта заливки. Это запустит процедуру FillProcessing().
В данном примере документ Реализация товаров и услуг будет создан и заполнен на основании счета на оплату покупателю, ссылка на который была передана.
6. Как открыть форму и установить в ней выбор
Выбор в формах 1С может быть простым или сложным. Простой выбор включает такие термины, как Organization = Horns and Hooves LLC. Комплексный отбор предполагает другие виды сравнений, например В списке . В этой статье мы разберемся с организацией простого отбора, а сложному будет посвящена отдельная статья.
Если хотите чтобы устроить простой выбор, необходимо передать параметр с помощью ключа Фильтр в открываемую форму, значением будет структура, где ключ — имя поля динамического списка, а значение — искомые данные.
Например,откроем форму справочника листинг номер ГТД и там произведем выборку по владельцу: элемент справочника номенклатура .
Выбор = новая структура;
Выбор. insert(«Владелец», Справочник по именованию);
Параметр. Insert(«Выделение», Selection) ;
OpenForm(«Directory.Numbers GTE.ListForm», Parameter );
Завершение процедуры
7. Как открыть форму записи информационного журнала
Для этого вам понадобится ключ записи информационного журнала.
ключ реестра — значения всех измерений и периодов (если регистр периодический). То есть ключ реестра — это параметры, по которым можно однозначно идентифицировать реестр.
Алгоритм открытия следующий:
- Введите ключ реестра данных с помощью требуемое значение в структуре.
- Поместите полученную структуру в поле.
- Создайте раздел реестра из массива.
- Параметр Ключ с ключом реестра из пункта 3 передаем в форму для открытия как значения.
Ключевые параметры = новая структура;
Ключевые параметры. Вставить(«Номенклатура», СсылкаКНоменклатуре) ;
Ключевые параметры. Вставить(«ТипЦены», ТипСсылкиЦены);
Ключевые параметры. Вставить(«Период», Дата);
KeyArray = новый массив;
Массив ключей. Добавить(ключевые параметры);
RecordKey = New(«RegistrarRecordRecordKey.NomenclaturePrices» , KeyArray ) ;
Параметр. Insert( «Ключ», RecordKey);
OpenForm(«Информация о записи. Ценовая номенклатура. Форма регистрации», Параметр );
Завершить процедуру
Ресурс