Разделы сайта
Выбор редакции:
- Как программно открыть внешнюю обработку?
- Путеводитель по системам для создания инсталляторов
- ESET NOD32 Antivirus скачать бесплатно русская версия
- Picmonkey — быстрый онлайн фоторедактор Frames
- Как построить график в Маткаде (Mathcad)?
- Рейтинг: «Лучший конструктор лендингов Платформа lp конструктор для создания лендингов
- Собрал файл сервер для 1с
- Обработка для выгрузки справочников из 1с 8
- Система компоновки данных - практика разработкиСКД Консоль - изучение Системы Компоновки Данных OnLine
- История почты и почтовых марок чили Какие бывают трек номера Почты Чили
Реклама
Не открываются внешние обработки 1с. Как программно открыть внешнюю обработку? Открытие формы внешней обработки |
Главная
Для начинающих разработчиков
Учимся программировать
Как программно открыть внешнюю обработку?В версии 8.2 приложение не работает непосредственно с локальными файлами, расположенными на компьютере. Файлы должны находиться на сервере. Поэтому для открытия внешней обработки нужно выполнить следующую последовательность действий:
Чтобы передать файл на сервер, его нужно поместить во временное хранилище. Для этого сначала на клиенте, в обработчике команды открытия внешней обработки, функцией ПоместитьФайл() мы помещаем файл из локальной файловой системы во временное хранилище. В четвертом параметре этой функции указывается признак интерактивного режима выбора файла внешней обработки. Если этот параметр Истина , то появляется диалог выбора файла, в котором можно выбрать файл для помещения в хранилище. В нашем примере этот параметр - Ложь , а путь к файлу, данные из которого будут помещены во временное хранилище, явно задан во втором параметре функции. При вызове функции ПоместитьФайл() первым её параметром, АдресХранилища , мы указываем пустую строку. После выполнения функции в эту переменную будет помещен путь к файлу внешней обработки во временном хранилище. Этот путь мы используем для того, чтобы подключить внешнюю обработку. Подключение внешней обработки выполняется на сервере методом Подключить() менеджера внешних обработок. В качестве параметра ему передается путь к файлу внешней обработки во временном хранилище - АдресХранилища . Возвращает этот метод имя подключенной внешней обработки, - ИмяОбработки , - которое мы используем для того, чтобы открыть форму этой обработки. Для открытия формы внешней обработки используется функция ОткрытьФорму() , в которую передается имя формы в виде следующей строки: "ВнешняяОбработка."+ ИмяОбработки +".Форма" . В приведенном варианте открывается основная форма обработки. Можно открыть также и неосновную форму обработки - об этом рассказывается в вопросе Как получить неосновную форму обработки? . При работе в внешними обработками нужно учитывать, что по-умолчанию они запускаются в безопасном режиме исполнения программного кода. Это значит, что некоторые возможности встроенного языка будут для них недоступны. Если есть уверенность, что внешняя обработка не содержит вредоносного кода, ее можно подключить в обычном режиме исполнения программного кода. Для этого используется третий параметр метода Подключить() менеджера внешних обработок. Подробнее о режиме безопасного исполнения программного кода можно прочитать в документации. Как разрешить интерактивное открытие внешних отчетов и обработок? (1С:Бухгалтерия 8.3. редакция 3.0)2016-12-08T15:52:26+00:00Если при открытии внешней обработки или отчёта через меню Файл->Открыть появляется ошибка "Нарушение прав доступа": То вариантов для использования обработки всего два. Первый вариант, это регистрация обработки в справочнике "Дополнительные отчёты и обработки" (об этом ). Но, что если обработка не поддерживает такую регистрацию? А обработка очень полезная и открыть её очень хочется. В этом случае можно пойти по второму варианту и вновь включить возможность открытия обработок в базе через меню Файл->Открыть. Инструкция для этого ниже. Зайдите в конфигуратор базы: Выполните команду меню "Администрирование"->"Пользователи": Двойным щелчком откройте своего пользователя: Перейдите на закладку "Прочие", установите галку "Интерактивное открытие внешних отчетов и обработок" и нажмите "ОК": Теперь закройте конфигуратор и базу (если она у вас была открыта). Вновь зайдите в базу и попытайтесь открыть отчёт через меню "Файл"->"Открыть". Теперь всё получится Есть нюансы... Способ, который я описал в этой инструкции на 100% рабочий, но при его использовании право на "Интерактивное открытие внешних обработок" спустя время может снова пропасть. Чтобы этого избежать установите эту же галку в режиме 1С:Предприятия в текущем для вашего пользователя профиле групп доступа. При использовании этого способа могут возникать различные нюансы (например, если вы используете встроенный профиль, который нельзя редактировать), поэтому подробной инструкции для этого случая я приводить не буду. С уважением, Владимир Милькин (преподаватель и разработчик ). Для работы с внешними обработками (а внешняя печатная форма тоже является внешней обработкой) существует объект ВнешниеОбработки. Рассмотрим два возможных случая: Внешняя обработка хранится на диске отдельно от информационной базыДля программного открытия внешней обработки в 1С нужно знать адрес ее файла. Зная его, можно либо открыть форму обработки, либо получить объект обработки для проведения с ним дальнейших действий (например, для вызова экспортных функций из модуля объекта). Открытие формы внешней обработкиДля программного открытия формы внешней обработки в 1С используется функция ПолучитьФорму() объекта ВнешниеОбработки. Функция имеет несколько параметров. Рассмотрим простое открытие основной формы обработки:
Для открытия неосновной формы внешней обработки необходимо указать ее имя. //В переменной АдресФайла находится полный путь к файлу внешней обработки
Открытие внешней обработки как объектаДля того чтобы получить внешнюю обработку как объект используется функция Создать() объекта ВнешниеОбработки. //В переменной АдресФайла находится полный путь к файлу внешней обработки
По умолчанию все обработки открываются в безопасном режиме. Чтобы его отключить, используются следующие параметры: //В переменной АдресФайла находится полный путь к файлу внешней обработки
Внешняя обработка или печатная форма сохранена в информационной базеВо многих конфигурациях существует возможность сохранять внешние печатные формы и обработки непосредственно в информационной базе. Для этого используется справочник ВнешниеОбработки. Сама внешняя обработка хранится в виде двоичных данных либо в реквизите ХранилищеВнешнейОбработки , либо в табличной части Принадлежность в реквизите ХранилищеВнешнейОбработки . Для открытия внешней обработки нужно:
//В переменной СпрСсылка находится ссылка на элемент справочника ВнешниеОбработки
Рассмотрим в данной статье пошаговую инструкцию по созданию внешней обработки в 1С 8.3 в режиме управляемого приложения, соответственно, будем использовать управляемые формы. А самое главное — мы научимся подключать её к механизму «внешних обработок» конфигураций 1С, построенных на библиотеке стандартных подсистем версии 2.0 и новее. Задача будет следующая: создать простейшую внешнюю обработку, которая будет выполнять групповое действие над справочником «Номенклатура», а именно, устанавливать выбранный процент ставки НДС для указанной группы номенклатуры. Для этого сразу произведем необходимую настройку в программе (рассматривается конфигурация 1С 8.3: «Бухгалтерия предприятия 3.0» на управляемых формах). Установка данного флажка дает нам возможность использовать внешние обработки. Создание новой внешней обработки в 1С 8.3 на примереТеперь переходим в конфигуратор. В меню «Файл» выбираем «Новый…». Откроется окно выбора вида создаваемого файла. Выбираем «Внешняя обработка»: Откроется окно новой внешней обработки. Сразу зададим ей имя. Оно будет предложено при сохранении обработки на диск: Добавим новую управляемую форму обработки. Указываем, что это форма обработки и она является основной: На форме у нас будет два реквизита:
Создаем реквизиты в колонке «Реквизит» в верхнем правом окне. Перетаскиваем мышкой их в левое верхнее окно. Новые реквизиты должны сразу отобразиться на форме внизу. Очередность реквизитов можно менять стрелками «Вверх» – «Вниз»: Получите 267 видеоуроков по 1С бесплатно: Осталось добавить кнопку «Установить». В управляемых формах нельзя просто так добавить кнопку на форму. Даже если добавить её в структуру элементов формы, на самой форме её видно не будет. Кнопку обязательно нужно связать с командой, которую она будет выполнять. Переходим к закладке «Команды» и добавляем команду «УстановитьСтавкуНДС». В свойствах команды создаем действие. Обработчик команды выбираем «На клиенте». Команду можно добавить на форму также простым «перетаскиванием» в раздел с элементами формы. В модуле формы будет создана одноименная процедура. В ней вызовем процедуру на сервере: &НаКлиенте Процедура УстановитьСтавкуНДС(Команда) УстановитьСтавкуНДСНаСервере(); КонецПроцедуры В процедуре на сервере напишем небольшой запрос и действия, связанные с установкой ставки НДС: &НаСервере Процедура УстановитьСтавкуНДСНаСервере() Запрос = Новый Запрос; Запрос.УстановитьПараметр(«ГруппаНоменклатуры», ГруппаНоменклатуры); Пока ВыбДетЗаписи.Следующий() Цикл Попытка КонецЦикла; КонецПроцедуры Возвращаемся на закладку «Форма», добавляем на форму кнопку и связываем ее с командой: Как таковая наша обработка готова к использованию. Чтобы ее вызвать, в режиме «1С Предприятия» нужно зайти в меню «Файл» – «Открыть» и выбрать созданный файл. Однако работа в таком режиме удобна для отладки обработки, а для работы пользователю не совсем подходит. Пользователи привыкли, чтобы у них все было «под рукой», то есть в самой базе данных. Для этого и служит раздел «Дополнительные отчеты и обработки». Но чтобы добавить туда нашу обработку, нужно сначала дать ей описание и сообщить программе ее свойства. Описание функции «Сведения О Внешней Обработке»Приведу пример содержимого данной функции. Она должна быть экспортной и, соответственно, располагаться в модуле обработки: Функция СведенияОВнешнейОбработке() Экспорт ДанныеДляРег = Новый Структура(); ТабЗнКоманды = Новый ТаблицаЗначений; НовСтрока = ТабЗнКоманды.Добавить(); Возврат ДанныеДляРег; КонецФункции Чтобы лучше понять, какие поля структуры регистрационных данных нужно использовать, посмотрим реквизиты справочника «Дополнительные отчеты и обработки»: Как видим, все довольно просто. Не совпадает лишь один реквизит: «ВариантЗапуска» – «Использование». Если посмотреть код одного из общих модулей, то мы увидим, как возникает связка этих полей: Чтобы определить, какие поля структуры обязательны, можно сначала не описывать ее, просто создать пустую, а далее воспользоваться отладчиком. Если трассировать модули при регистрации обработки, сразу становится ясно, какие поля требуются, а какие нет. Подключение внешней обработки в 1С 8.3 |
Популярное:
Новое
- Путеводитель по системам для создания инсталляторов
- ESET NOD32 Antivirus скачать бесплатно русская версия
- Picmonkey — быстрый онлайн фоторедактор Frames
- Как построить график в Маткаде (Mathcad)?
- Рейтинг: «Лучший конструктор лендингов Платформа lp конструктор для создания лендингов
- Собрал файл сервер для 1с
- Обработка для выгрузки справочников из 1с 8
- Система компоновки данных - практика разработкиСКД Консоль - изучение Системы Компоновки Данных OnLine
- История почты и почтовых марок чили Какие бывают трек номера Почты Чили
- Как в Chrome включить или упаковать в CRX-архив расширение не из Chrome Web Store