Новости экономики и финансов. Курсы валют, ситуация на биржах, акции, котировки, аналитика: 💫 💫 💫 💫 💫 читайте на сайте

1C Диалог Выбора Файла Фильтр Несколько Расширений • Похожие вопросы

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

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Определяет процедуру обработки общего диалогового окна, переопределенную, чтобы добавить специальные функции в диалоговое окно файла. Диалоговое окно выбора файлов/папки Обращайтесь в форму связи

Передача файла с клиента на сервер и с сервера на клиент. Управляемые формы

Не нашел в интернете устраивающего меня примера, потому привожу решение.

Обратите внимание на тонкость: НачатьПомещениеФайла выполняется в неинтерактивном режиме, а не запускается при выборе файла. Это позволяет сохранять путь к файлу в настройках формы.

ПутьКФайлу -строковая переменная, которая сохраняется в настройках формы. При начале выбора открывается простой диалог выбора файлов:

Процедура ПутьКФайлуНачалоВыбора ( Элемент , ДанныеВыбора , СтандартнаяОбработка )

ДиалогВыбораФайла = Новый ДиалогВыбораФайла ( РежимДиалогаВыбораФайла . Открытие );

ДиалогВыбораФайла . Заголовок = «Выберите файл для загрузки» ;

ДиалогВыбораФайла . ПроверятьСуществованиеФайла = Истина;

ДиалогВыбораФайла . Фильтр = «Файлы данных с разделителями (*.txt)|*.txt» ;

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

Передача файла на сервер производится при нажатии кнопки “загрузить данные из файла”:

АдресФайлаВоВременномХранилище -строковая переменная формы, на форму не выведена.

ОписаниеОповещения = Новый ОписаниеОповещения ( «ВыбратьИПередатьФайлыНаСерверЗавершение» , ЭтаФорма );

НачатьПомещениеФайла ( ОписаниеОповещения ,, Отчет . ПутьКФайлу ,Ложь, УникальныйИдентификатор );

Текстовые файлы в 1С 8.3 немодальные вызовы |
Так как Яндекс постоянно в топе выдает данную тему, оставлю на всякий случай, как с минимальным кодом файл клиента загрузить на сервер.

Работа с файлами в 1С 8.3

Передача файла с сервера на клиент:

ПутьКФайлу -строковая переменная, которая сохраняется в настройках формы. При начале выбора открывается простой диалог выбора файлов:

АдресФайлаВоВременномХранилище -строковая переменная формы, на форму не выведена.

Какую часть дохода тратите на еду?
До 50%Больше 50%

Акция! Вы можете скачать эту разработку в составе архива всех моих разработок, которые я предлагаю за StartMone, по Специальной цене : //infostart.ru/public/960899/#archive

Обработка с примером гарантированно работает на платформе 8.3 (тестировано на релизе 8.3.10.2580) с любыми конфигурациями только на управляемых формах.

P.S.: Надеюсь, вам понравится эта и другие мои статьи и разработки на //http-document.ru/profile/48714/.

Скачать файлы

Специальные предложения

(1) Я нашел очень много на эту тему, но код меня не устроил. Я уже много лет пользуюсь инфостартом как репозиторием, чтобы можно было быстро как из кубиков собирать код. Из тех кубиков которые были слово «счастье» никак не складывалось. Проще потрать ещё час и все задокументировать, чем потом снова тратить полдня.

Простую передачу файла на сервер и обратно превратили прям в «никогда такого не было, и вот опять». Очередной велосипед.

(7) НачатьПомещениеФайлов — тут и асинхрон и временное хранилище и имена файлов и даже можно открыть с помощью диалога и фильтрами расширений

В вашей статье не учитывается работа на веб клиенте, у меня в заготовках это предусмотрено, так что подумайте над универсальностью!

Странно, всегда думал, что программисты это не «тупой» народ (скопировал, вставил), а творческий, да и что там писать, экономия времени минут 5-10 максимум.

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

(9) Программисты не «тупой», поэтому собирают проект из заготовок. Сидеть творить над каждым функционалом недопустимо дорого, особенно во франчази.

Отлично. Но тогда все Ваши «шаблоны» кода надо где-то централизовано хранить. А можно сделать проще — шаблоны текста сделать уж тогда.

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

(13) Разговор был бы предметнее, если бы вы привели рабочий вариант кода. Если он окажется лучше, я только рад буду использовать Ваш вариант.

(15) Присоединяюсь , (13) мог бы показать кошерный код.
Лично я на эту публикацию вышел из яндекса, мне нужно было быстрее решить траблу.
А рассуждать об оптимальности кода можно только после приобретения опыта в этой области и более глубокого изучения. К сожалению на это обычно не бывает времени.

Горящие товары с бесплатной доставкой
 «AliExpress Россия» работает отдельно от глобального «AliExpress» принадлежащего Alibaba. Он не зависит от мировых банковских систем и не попал под санкционный список со стороны США и Великобритании. Из Китая соответственно тоже можно заказывать ничего не опасаясь.

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

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Первое, с чем мне пришлось столкнуться при знакомстве с 1С Загрузка данных из Excel Загрузка нужна была в нашей компании везде продажи, закупки, характеристики, изменение цен и тд. Как прочитать файл Excel в 1С 8.3 — Alexcode Обращайтесь в форму связи

1C Диалог Выбора Файла Фильтр Несколько Расширений

Запись: adgaver/mytetra_base_New/master/base/1514990140wb1twdesww/text.html на raw.githubusercontent.com

Если аргументом FileFilter указано более одного типа файлов(расширений), то этот аргумент указывает какой именно тип использовать. Например, следующая строка по умолчанию назначает выбор текстовых типов файлов:

Текст заголовка диалогового окна. Если указать «Выбрать текстовые или Excel файлы», то именно этот текст будет в заголовке. Если не указывать, то будет текст по умолчанию(нечто вроде «Открытие документа»)

Данный аргумент доступен только для ПК под управлением Macintosh(MAC). Назначает текст для кнопки диалогового окна Открыть. Для владельцев Windows этот текст всегда будет «Открыть»

Указывает, может быть выбран только один файл или несколько:

По умолчанию принимает значение False
Выбора только одного файла:

Пример применения диалога Application.GetOpenFilename

‘по умолчанию к выбору доступны файлы Excel(xls,xlsx,xlsm,xlsb)

MsgBox «Выбран файл: ‘» & avFiles & «‘», vbInformation, «www.excel-vba.ru»

Если же параметр MultiSelect установлен в True, то переменная avFiles примет тип Array — массив строк, в котором будут записаны все пути и имена выбранных файлов. Обрабатывать в таком случае следует циклом:

В приложенном к статье файле приведены две процедуры с использованием этого типа диалога и обработкой файлов с параметром MultiSelect, установленным в True и False.

Указывает, может быть выбран только один файл или несколько:

Текст заголовка диалогового окна. Если указать «Выбрать текстовые или Excel файлы», то именно этот текст будет в заголовке. Если не указывать, то будет текст по умолчанию(нечто вроде «Открытие документа»)

Тип файлов, который будет показан по умолчанию при вызове диалога определяется свойством FilterIndex диалога FileDialog.
Важный момент: диалог, вызванный в одном сеансе Excel сохраняет добавленные ранее типы файлов. Поэтому перед назначением новых типов необходимо выполнить очистку фильтра:
.Filters.Clear

. Filters.Add «Excel files», «*.xls*;*.xla*», 1 ‘добавляем возможность выбора файлов Excel .Filters.Add «Text files», «*.txt», 2 ‘добавляем возможность выбора текстовых файлов

. Filters.Add «Excel files», «*.xls*;*.xla*», 1 ‘добавляем возможность выбора файлов Excel

. Filters.Add «Text files», «*.txt», 2 ‘добавляем возможность выбора текстовых файлов

Назначает тип файлов, который будет выбран по умолчанию из всех перечисленных в коллекции Filters при вызове диалога

Этим параметром можно задать начальную папку, на которой будет открыт диалог:

Если при этом еще добавить имя файла, то в поле диалога Имя файла будет так же отображено это имя:

Я лично не рекомендую указывать имя файла, т.к. после показа диалога этот файл автоматически будет выбран, что не всегда бывает правильным. Но все зависит от задач. Если пользователь не выберет самостоятельно ни одного файла, то ответом диалога будет именно файл с указанным именем(Книга1.xlsx). Если такого файла не окажется в папке, то диалог выдаст предупреждение, что такого файла нет.

100 компонентов Delphi — OpenDialog, SaveDialog, OpenPictureDialog, SavePictureDialog

Например, GetFolderPath метод может использоваться для получения пути к папке MyDocuments, а затем можно использовать параметр приложения для добавления относительного подкаталога.

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Если пользователь приложения изменяет папку в FileDialog , в текущем рабочем каталоге приложения задается расположение, указанное в FileDialog. Поиск файлов Обращайтесь в форму связи

Комментарии 3

Алексей, рад что пригодилось!
Обратите внимание, что в статье используются методы УстановитьРасширениеРаботыСФайлами() и ПодключитьРасширениеРаботыСФайлами(), в настоящее время правильнее использовать НачатьУстановкуРасширенияРаботыСФайлами() и НачатьПодключениеРасширенияРаботыСФайлами().
По возможности поправлю статью)

Попытка
ТабличныйДокумент.Записать(ИмяФайла, ТипФайла);
АдресХранилища = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяФайла));
Подправленная строка
АдресХранилища = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяФайла), УникальныйИдентификатор);
Подправленная строка

Объект «Файл»

  • Откройте браузер, в меню Инструменты (Tools) выберите пункт Настройки (Options);
  • В открывшемся окне перейдите в раздел Основные;
  • Установите флажок Всегда выдавать запрос на сохранения файла.

Задача

Необходимо организовать сохранение файлов web-клиенте(браузере) и тонком клиенте через web. Для наглядности будем решать более узкую задачу, будем организовывать сохранение табличного документа в MS Excel.

Для наглядности будем решать более узкую задачу, будем организовывать сохранение табличного документа в MS Excel.

  1. Создадим табличный документ с произвольным текстом;
  2. Если работа производится на web-клиенте, то попытаемся подключить расширение работы с файлами;
  3. Поместим табличный документ во временной хранилище как файл MS Excel;
  4. Для сохранение файла воспользуемся функцией ПолучитьФайл(), который получает файл и сохраняет его в локальную файловую систему.

При выполнении команды СохранитьФайл() получим диалог с вариантами сохранить или открыть получаемый файл

💥Принимайте участие в опросе и получайте бесплатную консультацию

Related posts

Добавить комментарий

*