Из модуля объекта внешней обработки вызвать диалог открытия файла
Всем привет!
Платформа 1С 8.3.10.2580
Самописная конфигурация на БСП 2.4.4....
В модуле внешней обработки есть экспортная процедура.
В теле этой процедуры необходимо получить полный путь к фалу для дальнейших манипуляций на сервере.
Вопрос: как из модуля объекта (внешняя обработка) вызвать диалог выбора файла для получения полного пути?
Платформа 1С 8.3.10.2580
Самописная конфигурация на БСП 2.4.4....
В модуле внешней обработки есть экспортная процедура.
В теле этой процедуры необходимо получить полный путь к фалу для дальнейших манипуляций на сервере.
Вопрос: как из модуля объекта (внешняя обработка) вызвать диалог выбора файла для получения полного пути?
По теме из базы знаний
- Подсистема "Инструменты разработчика" v7.13.2
- Стоит ли использовать Внешние компоненты для 1С?
- Внешняя печатная форма с использованием БСП и вызовом клиентского метода
- Генерация сценариев тестирования внешних печатных форм средствами Vanessa Automation
- Открытие формы подключаемой внешней обработки без записи документа
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
ДиалогВыбораФайла (FileDialog)
Доступность:
Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
Клиентские процедуры из серверных нельзя вызывать, только наоборот.
В вашем случае для вашей внешней обработки используйте
Ваш код выполняйте на форме обработки. На клиенте получайте диалог выбора файла и вызывайте нужные экспортные процедуры из модуля объекта с переданным путем файла.
ДиалогВыбораФайла (FileDialog)
Доступность:
Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
Клиентские процедуры из серверных нельзя вызывать, только наоборот.
В модуле внешней обработки есть экспортная процедура
В вашем случае для вашей внешней обработки используйте
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовКлиентскогоМетода();
Ваш код выполняйте на форме обработки. На клиенте получайте диалог выбора файла и вызывайте нужные экспортные процедуры из модуля объекта с переданным путем файла.
В общем случае полного пути, полученного на стороне клиента, вам будет мало. Т.к. файловая система сервера <> файловая система клиента, это могут быть физически разные машины. Так что путь клиента (типа "C:\Temp\file.txt") на сервере попросту может не существовать.
Для УФ алгоритм такой:
1. Выбор файла на клиенте (из формы)
2. Помещение его двоичных данных в хранилице
3. Передача на сервер адреса хранилища
4. Извлечение на сервере двоичных данных
Для частных случаев (небольшой текстовый файл, к примеру), лучше "высосать" все из файла на клиенте и отдать серверу сами "внутренности"
Для УФ алгоритм такой:
1. Выбор файла на клиенте (из формы)
2. Помещение его двоичных данных в хранилице
3. Передача на сервер адреса хранилища
4. Извлечение на сервере двоичных данных
Для частных случаев (небольшой текстовый файл, к примеру), лучше "высосать" все из файла на клиенте и отдать серверу сами "внутренности"
(4) Руслан, спасибо за внимание!
Мне известно, что при клиент-серверном варианте пути к файлу могут быть разные. Передавать файл с клиента на сервер тоже не предполагается, так как физически это будет на одном компьютере.
Решение этой задачи не предполагает постоянного использования - только для тестирования.
База только файловая. Файл лежи локально в каталоге.
Вызывается экспортная процедура модуля обработки в теле которой происходит вызов формы где пользователь должен указать файл, а форма должна вернуть путь к файлу на сервер.
Мне известно, что при клиент-серверном варианте пути к файлу могут быть разные. Передавать файл с клиента на сервер тоже не предполагается, так как физически это будет на одном компьютере.
Решение этой задачи не предполагает постоянного использования - только для тестирования.
База только файловая. Файл лежи локально в каталоге.
Вызывается экспортная процедура модуля обработки в теле которой происходит вызов формы где пользователь должен указать файл, а форма должна вернуть путь к файлу на сервер.
(5) Такой финт ушами сработает только в обычных формах. На УФ диалог выбора файла в модуле объекта не запустится. Вызвать его можно только на клиенте (из формы обработки), так что вам придется вызвать его там и передать путь на сервер параметром вашей экспортной процедуры.
Хорошо....
Есть экспортная процедура "ВыполнитьОбработку" в модуле объекта внешней обрабобтки.
Обработка содержит форму для выбора файла.
Как в экспортной процедуре открыть форму для выбора файла?
Обработка не запускается явно (Меню Файл - Открыть...."), она вызывается из другого модуля (на сервере) путем вызова экспортной процедуры "ВыполнитьОбработку()".
Есть экспортная процедура "ВыполнитьОбработку" в модуле объекта внешней обрабобтки.
Обработка содержит форму для выбора файла.
Как в экспортной процедуре открыть форму для выбора файла?
Обработка не запускается явно (Меню Файл - Открыть...."), она вызывается из другого модуля (на сервере) путем вызова экспортной процедуры "ВыполнитьОбработку()".
(9) Модуль объекта заведомо серверный. Это не общий модуль, где можно поставить галку "Клиент". Ругаться будет уже при попытке создания такого объекта как диалог выбора файла. Режим клиента и директивы препроцессора вас не спасут. Все "сломается" еще даже на этапе проверки синтаксиса.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот