Разделы сайта
Выбор редакции:
- Как Мелания Трамп на самом деле относится к Дональду и Иванке: пугающий вердикт экспертов по языку тела Иванка и мелания трамп
- Как заработать монеты в Покемон Го
- Спонсорские интеграции Faces&Laces
- Что такое криптовалюта и как на ней можно заработать?
- Разведение породистых собак и котов
- Бизнес-идея: няня на час
- Как лучше организовать малый бизнес с партнерами?
- Секреты успешной работы на бирже статей и копирайтинга Advego
- Как заработать на ведении блога
- Свой бизнес: досуговый центр для школьников и подростков
Реклама
Как программно открыть внешнюю обработку? Не удалось открыть внешнюю обработку |
Для работы с внешними обработками (а внешняя печатная форма тоже является внешней обработкой) существует объект ВнешниеОбработки. Рассмотрим два возможных случая: Внешняя обработка хранится на диске отдельно от информационной базыДля программного открытия внешней обработки в 1С нужно знать адрес ее файла. Зная его, можно либо открыть форму обработки, либо получить объект обработки для проведения с ним дальнейших действий (например, для вызова экспортных функций из модуля объекта). Открытие формы внешней обработкиДля программного открытия формы внешней обработки в 1С используется функция ПолучитьФорму() объекта ВнешниеОбработки. Функция имеет несколько параметров. Рассмотрим простое открытие основной формы обработки:
Для открытия неосновной формы внешней обработки необходимо указать ее имя. //В переменной АдресФайла находится полный путь к файлу внешней обработки
Открытие внешней обработки как объектаДля того чтобы получить внешнюю обработку как объект используется функция Создать() объекта ВнешниеОбработки. //В переменной АдресФайла находится полный путь к файлу внешней обработки
По умолчанию все обработки открываются в безопасном режиме. Чтобы его отключить, используются следующие параметры: //В переменной АдресФайла находится полный путь к файлу внешней обработки
Внешняя обработка или печатная форма сохранена в информационной базеВо многих конфигурациях существует возможность сохранять внешние печатные формы и обработки непосредственно в информационной базе. Для этого используется справочник ВнешниеОбработки. Сама внешняя обработка хранится в виде двоичных данных либо в реквизите ХранилищеВнешнейОбработки , либо в табличной части Принадлежность в реквизите ХранилищеВнешнейОбработки . Для открытия внешней обработки нужно:
//В переменной СпрСсылка находится ссылка на элемент справочника ВнешниеОбработки
Бывает, что для работы необходимо воспользоваться внешней обработкой или отчетом, но не всегда это сразу удается. Иногда при попытке открыть внешнюю обработку либо отчет с помощью пункта меню «Файл» и далее - «Открыть» возникает сообщение об ошибке, заключающейся в нарушении прав доступа. Но сначала рассмотрим, как вообще открываются внешние отчеты и обработки в «1С:Бухгалтерии 8.3 » версии 3.0. Обычно они представляют собой скачанный из Интернета или полученный другим способом архив. После того, как он будет сохранен, например, на рабочий стол, с помощью двойного щелчка мы сможем увидеть его содержимое. Действия для обычного интерфейса:
Действия для управляемого интерфейса (например, «Такси»)
Для большего удобства можно создать специальную папку для обработок и все их хранить в ней. Если же открыть обработку или отчет не получается, можно воспользоваться одним из двух вариантов действий. Первый способМожно зарегистрировать обработку в справочнике, называющемся «Дополнительные отчеты и обработки». Итак, регистрируем обработку в базе.
Важно! Если на этом этапе появится ошибка с текстом: «Невозможно подключить дополнительную обработку из файла...», придется воспользоваться вторым способом, описанным ниже.
Обработка успешно зарегистрирована. Чтобы ее открыть, потребуется зайти в раздел операций, выбрать пункт дополнительных обработок, выделить нужную и нажать на «Выполнить». Второй способЕсли обработка не поддерживает описанную в первом варианте регистрацию, можно поступить по-другому, а именно: снова включить возможность открывать обработки в базе с помощью меню «Файл» правой кнопкой мышки «Открыть».
Как программно открыть внешнюю обработку?В версии 8.2 приложение не работает непосредственно с локальными файлами, расположенными на компьютере. Файлы должны находиться на сервере. Поэтому для открытия внешней обработки нужно выполнить следующую последовательность действий:
Чтобы передать файл на сервер, его нужно поместить во временное хранилище. Для этого сначала на клиенте, в обработчике команды открытия внешней обработки, функцией ПоместитьФайл() мы помещаем файл из локальной файловой системы во временное хранилище. В четвертом параметре этой функции указывается признак интерактивного режима выбора файла внешней обработки. Если этот параметр Истина , то появляется диалог выбора файла, в котором можно выбрать файл для помещения в хранилище. В нашем примере этот параметр - Ложь , а путь к файлу, данные из которого будут помещены во временное хранилище, явно задан во втором параметре функции. При вызове функции ПоместитьФайл() первым её параметром, АдресХранилища , мы указываем пустую строку. После выполнения функции в эту переменную будет помещен путь к файлу внешней обработки во временном хранилище. Этот путь мы используем для того, чтобы подключить внешнюю обработку. Подключение внешней обработки выполняется на сервере методом Подключить() менеджера внешних обработок. В качестве параметра ему передается путь к файлу внешней обработки во временном хранилище - АдресХранилища . Возвращает этот метод имя подключенной внешней обработки, - ИмяОбработки , - которое мы используем для того, чтобы открыть форму этой обработки. Для открытия формы внешней обработки используется функция ОткрытьФорму() , в которую передается имя формы в виде следующей строки: "ВнешняяОбработка."+ ИмяОбработки +".Форма" . В приведенном варианте открывается основная форма обработки. Можно открыть также и неосновную форму обработки - об этом рассказывается в вопросе Как получить неосновную форму обработки? . При работе в внешними обработками нужно учитывать, что по-умолчанию они запускаются в безопасном режиме исполнения программного кода. Это значит, что некоторые возможности встроенного языка будут для них недоступны. Если есть уверенность, что внешняя обработка не содержит вредоносного кода, ее можно подключить в обычном режиме исполнения программного кода. Для этого используется третий параметр метода Подключить() менеджера внешних обработок. Подробнее о режиме безопасного исполнения программного кода можно прочитать в документации. Как разрешить интерактивное открытие внешних отчетов и обработок? (1С:Бухгалтерия 8.3. редакция 3.0)2016-12-08T15:52:26+00:00Если при открытии внешней обработки или отчёта через меню Файл->Открыть появляется ошибка "Нарушение прав доступа": То вариантов для использования обработки всего два. Первый вариант, это регистрация обработки в справочнике "Дополнительные отчёты и обработки" (об этом ). Но, что если обработка не поддерживает такую регистрацию? А обработка очень полезная и открыть её очень хочется. В этом случае можно пойти по второму варианту и вновь включить возможность открытия обработок в базе через меню Файл->Открыть. Инструкция для этого ниже. Зайдите в конфигуратор базы: Выполните команду меню "Администрирование"->"Пользователи": Двойным щелчком откройте своего пользователя: Перейдите на закладку "Прочие", установите галку "Интерактивное открытие внешних отчетов и обработок" и нажмите "ОК": Теперь закройте конфигуратор и базу (если она у вас была открыта). Вновь зайдите в базу и попытайтесь открыть отчёт через меню "Файл"->"Открыть". Теперь всё получится Есть нюансы... Способ, который я описал в этой инструкции на 100% рабочий, но при его использовании право на "Интерактивное открытие внешних обработок" спустя время может снова пропасть. Чтобы этого избежать установите эту же галку в режиме 1С:Предприятия в текущем для вашего пользователя профиле групп доступа. При использовании этого способа могут возникать различные нюансы (например, если вы используете встроенный профиль, который нельзя редактировать), поэтому подробной инструкции для этого случая я приводить не буду. С уважением, Владимир Милькин (преподаватель и разработчик ). При работе с 1С в платформе 8.2 может появиться такое окно: «Внешняя обработка не может быть прочитана текущей версией программы». Давайте попробуем разобраться, с чем связано появление этого окна и как устранить ошибку. Суть проблемыПрограмма 1С время от времени выполняет обновление платформы. Это происходит с выходом новых релизов. Причина ошибки проста: программа обновила платформу и теперь некоторые файлы внешней обработки , которые легко открывались в версии 8.1, на платформе 8.2 читаться отказываются. Исправляем ошибкуЧтобы устранить ошибку, необходимо:
Затем внешняя обработка преобразуется в формат, понятный обновлённой платформе, и вы сможете открывать файлы внешней обработки. Чтобы проверить, удалось ли преобразование, после закрытия конфигуратора запустите обработку в режиме «1С:Предприятие». В 99% случаев данный алгоритм действий помогает устранить проблему. Если внешняя обработка не запускается после переконвертации, рекомендуется пригласить специалиста 1С. |
Читайте: |
---|
Популярное:
Новое
- Как заработать монеты в Покемон Го
- Спонсорские интеграции Faces&Laces
- Что такое криптовалюта и как на ней можно заработать?
- Разведение породистых собак и котов
- Бизнес-идея: няня на час
- Как лучше организовать малый бизнес с партнерами?
- Секреты успешной работы на бирже статей и копирайтинга Advego
- Как заработать на ведении блога
- Свой бизнес: досуговый центр для школьников и подростков
- Бизнес идея: продажа мяса свинины - Магазины и продукты