Работа с файлами (обычная и управляемая форма)

01.07.19

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

Нужно загрузить файл с клиента на сервер или же, наоборот, файл загрузить с сервера на клиент, а впридачу все это на web-клиенте, да еще и асинхронно? Нет ничего проще, читай далее, как это сделать!

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Работа с файлами
.epf 16,24Kb ver:1
96
96 Скачать (1 SM) Купить за 1 850 руб.
Работа с файлами без расширения
.epf 16,92Kb ver:2
46
46 Скачать (1 SM) Купить за 1 850 руб.
Работа с файлами без расширения 8.3.15
.epf 17,61Kb ver:3
249
249 Скачать (1 SM) Купить за 1 850 руб.

Введение

Довольно часто нужно решить задачу интеграции работы с файлами в 1С.

Например, у менеджера есть Excel-файл и нужно обработать данные.

Или же наоборот на сервере 1С находится какой-то важный файл и пользователю нужен доступ к этому файлу со своего ПК.

Как итог нужно выполнить передачу файл с клиента на сервере или же с сервера на клиент. Когда база была файловая, то все было просто.

Но теперь у вас база клиент-серверная, да к тому же часть пользователей работают в web-клиенте, и как теперь писать код?! Для решения этой проблемы была разработана обработка-шаблон "Работа с файлами".

Описание

Обработка "Работа с файлами" представляет собой полностью автономное решение, с точки зрения встраивания в любую конфигурацию, как на обычных, так и на управляемых формах! Рекомендуемая версия платформы 8.3.3.721 и выше. В связи с отказом от модальности.

Обработка демонстрирует работу загрузки файла с клиента на сервер и загрузки файла с сервера на клиент.

Тестирование проходило на платформе 8.3.14.1630 в толстом, тонком клиенте, а также web-клиенте.

Версия 3 тестировалась на платформе 8.3.15.1489 в толстом, тонком клиенте, а также web-клиенте.

Весь функционал проиллюстрирован в скриншотах.

 
 Используемый код

P.S. Если материал вам помог, поблагодарите автора, поставив звездочку!

ДиалогВыбораФайла ДвоичныеДанные ПомещаемыеФайлы НачатьПомещениеФайлов ПолучитьИзВременногоХранилища ЧтениеДанных НачатьПроверкуСуществования НачатьПолучениеФайлов НачатьПодключениеРасширенияРаботыСФайлами НачатьУстановкуРасширенияРаботыСФайлами ПоместитьВоВременноеХранилище ОписаниеПередаваемогоФайла ПоказатьВопрос ПолучитьФайл НачатьПомещениеФайла НачатьПомещениеФайловНаСервер НачатьПомещениеФайлаНаСервер ПараметрыДиалогаПомещенияФайлов НачатьПолучениеФайловССервера ПараметрыДиалогаПолученияФайлов

См. также

SALE! 20%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

26280 22338 руб.

12.06.2017    141471    798    297    

419

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.234.x) и БП 3.0 (3.0.161.x). Правила подходят для версии ПРОФ и КОРП.

35000 31500 руб.

15.12.2021    23988    169    51    

127

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.19.x).

35000 31500 руб.

23.07.2020    51189    228    69    

185

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 47800 руб.

03.12.2020    36571    94    66    

89

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

55778 50200 руб.

29.10.2018    56191    59    105    

61

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 43450 руб.

25.02.2015    171156    303    257    

378

SALE! 15%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Платформа 1C v8.2 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

15300 13005 руб.

18.02.2016    186856    589    509    

526

SALE! 10%

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

55778 50200 руб.

24.04.2015    194952    150    243    

280
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Malfarion 261 11.06.19 02:21 Сейчас в теме
С клиента на сервер
НачатьПомещениеФайла(..)


С сервера на клиент
ПолучитьФайл(...)


Использовать расширения для работы с файлами очень не удобно так как требуют установки внешнего софта/расширений, что не всегда возможно и в каждый браузер отдельно. Методы выше работают без них и на много лучше адаптированы к веб клиенту.
by_1Cnik; Dimulkyl; user597078_steem34; +3 Ответить
2. Xershi 1555 11.06.19 10:52 Сейчас в теме
(1)
НачатьПомещениеФайла

В справке говорится, что нужно указать:
В веб-клиенте, если расширение работы с файлами не установлено, то параметр <ПомещаемыеФайлы>:
в интерактивном режиме должен иметь тип ДиалогВыбораФайла,
в неинтерактивном режиме СсылкаНаФайл.

Я использую не интерактивный режим. Что вы в ссылку на файл помещаете?
А для
ПолучитьФайл

Выйдет что обязательно пользователю диалог кидать, что по моему мнению не всегда нужно!
<Интерактивно> (необязательный)
Тип: Булево.
Истина - режим, в котором пользователю показывается диалог, в котором он может выбрать действие с получаемым файлом: запустить его или сохранить по выбранному расположению.
В веб-клиенте параметр должен быть равен Истина. В противном случае будет сгенерировано сообщение об ошибке.

В новой версии платформы 8.3.15 разработчики сделали новые методы работы:
https://wonderland.v8.1c.ru/blog/unifikatsiya-metodov-raboty-s-faylami/
Но пока не понятно нужно ли платформа для них или режим совместимости.
Кстати и далее там есть ссылка:
https://wonderland.v8.1c.ru/blog/uluchshenie-raboty-s-faylami-v-veb-kliente/
Которая позволяет не использовать расширение работы с файлами с версии платформы 8.3.13.1513, если указывать диалог, т.е. работать интерактивно, без привязки пути файла на клиенте к реквизиту.
83. DELOVOYDOM 29.11.23 15:42 Сейчас в теме
(2) А чем не устраивает ОбщийМодуль.РаботаСФайлами?
Зачем было изобретать велосипед
84. Xershi 1555 29.11.23 16:21 Сейчас в теме
(83) публикации пошёл уже 5 год. Изучали код типовых в те времена?
3. Xershi 1555 11.06.19 13:01 Сейчас в теме
(1) а второй момент, что эти методы для 1 файла, я рассматривал ситуацию, где передается 1 файл и легко расширить до множества файлов, но с вашей рекомендацией масштабировать до нескольких файлов за раз не получится.
7. Xershi 1555 16.06.19 17:16 Сейчас в теме
(1) реализовал данные методы. Но как было сказано для корректной работы данных методов нужна платформа 8.3.13.1513 и выше. Режим совместимости конфигурации не влияет.
И на мобильной платформе параметр <Интерактивно> игнорируется и диалоговое окно выбора файла не отображается никогда.
Что делает реализацию еще более ограниченной.
Поэтому выкладываю обработку отдельным файлом.
4. Malfarion 261 11.06.19 16:02 Сейчас в теме
Есть аналогичные методы для группы файлов, все получится, читайте справку и зезеркалье.
5. Xershi 1555 11.06.19 16:32 Сейчас в теме
(4) не универсально. Интересовал конкретный пример.
6. androgin 12.06.19 00:47 Сейчас в теме
треш какой-то)))
DivS; Malfarion; +2 1 Ответить
8. Vida 15 17.06.19 20:55 Сейчас в теме
С сервера на клиент по упрощенной версии 2:

Диалог отлично показывается и отрабатывает на Тонком клиенте, а в веб-клиенте IE показывает странный диалог, на который не реагирует.

Подозреваю что это где то в настройках IE. Подскажите где искать?

Вот кусок моего кода:
			
ПолноеИмяФайла = КаталогЭкспортаДокументов + МассивФайлов[Сч].Имя; 
ПолучитьФайл(МассивФайлов[Сч].Хранение, ПолноеИмяФайла, Истина);
Прикрепленные файлы:
9. Xershi 1555 17.06.19 22:59 Сейчас в теме
(8) почитайте ограничение. Ничего странного!
Когда выпустят стабильную версию 8.3.15 сделаю 3 версию, возможно они полный путь на клиенте получат иначе тоже самое будет.
10. Vida 15 18.06.19 02:18 Сейчас в теме
(9) да, ждем 8.3.15
А пока посоветуйте как быть? Попробовать по 1 сложной версии?
13. Xershi 1555 18.06.19 10:37 Сейчас в теме
(10) первый и второй вариант практически не отличаются.
11. Vida 15 18.06.19 04:07 Сейчас в теме
Прошу подсказки по первому варианту ЧЯДНТ
			
ПолучаемыеФайлы = Новый Массив;	
Для Сч = 0 По МассивФайлов.Количество() - 1 Цикл
				
ОписаниеПередаваемогоФайла = Новый ОписаниеПередаваемогоФайла(МассивФайлов[Сч].Имя, МассивФайлов[Сч].Хранение);				
ПолучаемыеФайлы.Добавить(ОписаниеПередаваемогоФайла);
	    
КонецЦикла;
ОповещениеОЗавершении = Новый ОписаниеОповещения("ВыполнитьПослеПолученияФайлов", ЭтотОбъект);						
НачатьПолучениеФайлов(ОповещениеОЗавершении, ПолучаемыеФайлы, КаталогЭкспортаДокументов, Ложь);
Показать


На тонком клиенте отрабатывает и файл создает,
на веб-клиенте задает вопрос нужно ли сохранить файл
(и кто его просил вопросы задавать) и никакого файла нет((

хотя в ОповещениеОЗавершении вместо открытия у меня сообщение об успехе с полным именем - его выводит

пити разные задавала не помогает

складывается впечатление что в IE что-то не так, полазила там - ничего не нашла
Прикрепленные файлы:
12. Xershi 1555 18.06.19 10:36 Сейчас в теме
(11) для начала вы не описали что у вас в переменных, а во вторых посмотрите какой код написан в примере или скачайте обработку.
Разница же видна не вооруженным взглядом.
16. Xershi 1555 20.06.19 19:21 Сейчас в теме
(11) как оказалось у код был рабочий, просто были проблемы с ОС или антивирусом, и файл получался пустой!
14. Vida 15 18.06.19 13:23 Сейчас в теме
(12) Обработку скачала.

Да, код несколько упростила, но думала не критично - раз на тонком выполняется.

Мои переменные
1) МассивФайлов состоящий из структуры:
Имя (просто название без пути)
Хранение (адрес указывающий на значение во временном хранилище)

2)КаталогЭкспортаДокументов путь куда должно сохраняться состоит из выбранного в диалоге и "/", если не хватает

Прощу подсказать, что видно невооруженным глазом? У меня уже замылился наверное.
15. Xershi 1555 18.06.19 15:34 Сейчас в теме
(14) скорее всего косяк в КаталогЭкспортаДокументов. Создайте лучше тему для обсуждения вашего написания кода.
17. ssn5810 80 30.06.19 09:12 Сейчас в теме
Можно указать конкретное место на сервере куда перемещаем файл с клиента ???
18. Xershi 1555 30.06.19 09:48 Сейчас в теме
(17) да. Из описания и скриншотов это было не понятно?
19. ssn5810 80 30.06.19 10:03 Сейчас в теме
Зачем вопросы, проще сразу подсказать.
В итоге мне нужно загрузить текстовый (txt) файл в табличную часть внешней обработки.....
У меня пишет файл не найден...и текст переданного файла.
20. Xershi 1555 30.06.19 10:19 Сейчас в теме
(19) разбирайтесь с настройками вашего сервера. И по данному описанию не понятно что вы делаете и как.
21. ssn5810 80 30.06.19 10:51 Сейчас в теме
понятно, спасибо за помощь...
22. Xershi 1555 30.06.19 23:14 Сейчас в теме
Скачал 8.3.15.1489.
Перевел конфигурацию в режим совместимости 8.3.15.
Решил просто заменить на новые методы НачатьПомещениеФайловНаСервер.
И получаю ошибку:
Ошибка преобразования данных XDTO:
НачалоСвойства: param	Форма: Элемент	Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ОписаниеПомещенногоФайла'


ОписаниеПередаваемогоФайла преобразуется в ОписаниеПомещенногоФайла, а оно не доступно на сервере.

Проверил. Ошибка вылетает даже если оставить конфигурацию на 8.3.14.
23. androgin 01.07.19 13:24 Сейчас в теме
(22) БРЕД!! Я перевел все методы в нетиповой на новые методы и прекрасно отрабатывает, как с диалогом, так и без!
Ничего там не подменяется)))
Ничто не мешает вам создать общие функции ВыгрузитьФайлы/ЗагрузитьФайлы (например) и вызывать их с оповещениями и параметрами.
24. Xershi 1555 02.07.19 23:47 Сейчас в теме
(23) почитайте внимательно что написано и посмотрите что конфигуратор выдает.
В любом случае в 3 версии все корректно работает.
25. androgin 10.07.19 23:37 Сейчас в теме
(24) я не только читаю, но и практикую, к сведению!
26. Светлый ум 415 12.07.19 04:55 Сейчас в теме
(23) Бывают и экзотические косяки, просто вы везунчик или мало вариантов реализовывали
28. Xershi 1555 12.07.19 08:14 Сейчас в теме
(26) Вы про что? Есть 3 вариант событий?
29. Светлый ум 415 12.07.19 10:37 Сейчас в теме
(28) я не про ваш функционал а про работу с файлами в целом
31. Xershi 1555 12.07.19 13:22 Сейчас в теме
(29) понял. Да реализованы базовые сценарии обработки, что в 90% покроет потребность разработчика. Остальное конечно пилить, как нужно клиенту!
30. androgin 12.07.19 12:39 Сейчас в теме
(26) вы не читаете, что вам пишут?
Синтаксис откройте! Там все варианты перечислены!
Я не вижу реализации их у вас! Зато много слов в воздух
82. ohyen 49 22.08.23 05:32 Сейчас в теме
(22) я недавно сам попался на такое, причем знал что так уже делал и работало, Словом дело в том что в методе "НачатьПомещениеФайловНаСервер" первое (а может и другие тоже) описание оповещения должно выполняться с директивой &НаКлиенте, а У тебя стоит 100% &НаСервере. и Это выдает ошибку. Получается ты на клиенте обрабатываешь описание оповещения и там ты получаешь адрес где хранится файл, и потом уже с этим адресом работаешь на сервере
dvv_mail; +1 Ответить
27. Светлый ум 415 12.07.19 04:56 Сейчас в теме
Закреплю описание статьи, теперь буду так оформлять +1
32. ccserg 64 06.08.19 18:42 Сейчас в теме
второй вариант не хочет работать
вроде как без расширения должно работать
33. Xershi 1555 06.08.19 19:53 Сейчас в теме
(32) не указана платформа, тип клиента и последовательность действий. Внимательно прочтите описание.
34. ccserg 64 06.08.19 20:22 Сейчас в теме
(33)
windows_8_3_15_1534
веб клиент
открываю файл , жму Загрузить с клиента на сервер
35. Xershi 1555 06.08.19 20:33 Сейчас в теме
36. ccserg 64 06.08.19 20:40 Сейчас в теме
37. Xershi 1555 06.08.19 20:41 Сейчас в теме
(36) завтра проверю на 8.3.15.
Возможно надо использовать 3 версию.
38. Xershi 1555 07.08.19 10:46 Сейчас в теме
(36) проверил, да все верно. Это операция требует расширения. Как сказано в описании работа без расширения возможна только в интерактивных операциях, т.к. доступа к файловой системе у 1С нету.
39. ccserg 64 07.08.19 11:38 Сейчас в теме
(38)
так а как решить ? расширение установить ?
расширение скачивается , устанавливается , но все равно не пашет
это наверно уже другая проблема правда
40. Xershi 1555 07.08.19 11:59 Сейчас в теме
(39) данная кнопка работает только с расширением. Да это другая проблема. Если не получается решить, поменяйте браузер.
50. oooo800 14.03.20 03:22 Сейчас в теме
(38)
Это операция требует расширения. Как сказано в описании работа без расширения возможна только в интерактивных операциях, т.к. доступа к файловой системе у 1С нету


О какой операции речь ?
41. Yashazz 4790 10.12.19 23:59 Сейчас в теме
Редкий случай, когда я поставил плюс за оформление публикации, а не за содержание. Вот шикарно сделано, да.
42. Xershi 1555 11.12.19 09:54 Сейчас в теме
(41) а чем содержание не угодило?
43. Yashazz 4790 12.12.19 13:50 Сейчас в теме
(42) Да содержание тоже вполне себе очень даже, но не настолько восторг, чтоб прям плюсить. Просто хорошее изложение общеизвестных вещей.

Кстати, вкину свои 5 копеек: теперь появился новый способ передавать файловые данные на сервер. Можно на клиенте получить двоичные данные, забросить их на сервер и там не сохранять во временные файлы, как раньше делали, а обрабатывать через буфер как файловый поток. Правда, пока у платформы на это есть ограничения (табдокумент, например, кушает только mxl и ods), но, думаю, допилят.
44. Xershi 1555 12.12.19 14:38 Сейчас в теме
(43) вы не до конца ознакомились с публикацией? Я не использую временные файлы!
И мало того код настолько интересный, что позволяет унифицировать работу с файлами при множестве реквизитов на форме.
На днях была задача еще дополнить использование каждого имени файла своим расширением. Вообще бомба вышла!
В свое время пришлось на одном источнике руками набивать данный код, а здесь я сделал так что бери и копируй!
65. oooo800 06.04.20 23:48 Сейчас в теме
(44) Версия платформы 8.3.16.1063 и 8.3.16.1224.
Надыбал (для себя) новый метод "НачатьСозданиеДвоичныхДанныхИзФайла" называется.
Так, как конструктор Новый ДвоичныеДанные в Web клиенте отсутствует.
Так вот, что при использовании НачатьСозданиеДвоичныхДанныхИзФайла, что при Новый ДвоичныеДанные, что даже при НачатьПомещениеФайлаНаСервер, на клиенте - на клиентском компьютере, откуда идет загрузка файлов, создаются во временной папке временные файлы.
Причем, время загрузки (субъективно, по часам клиента) примерно одинаковое (может расхождение 1 сек. ) , но для варианта НачатьПомещениеФайлаНаСервер в процессе загрузки и потом записи файла, создаются 2 временный файла одинакового размера, равные размеру помещаемого файла, а при НачатьСозданиеДвоичныхДанныхИзФайла и Новый ДвоичныеДанные создаются 2 такого же размера, и еще 2, большего.
Проверил у себя экспериментально, на файловой версии, но БД на сервере, например при записи 270 Mb файла.
Они, правда потом удаляются, но файловые операции, ни разу не быстрые (по сравнению, например с памятью) .
Может, конечно, что не так делаю.
66. Xershi 1555 07.04.20 00:20 Сейчас в теме
(65) нужно смотреть. Клиентов пока нет, у кого по вебу нужно тягать что-то.
67. oooo800 07.04.20 00:42 Сейчас в теме
(66) Еще обратите внимание !
В случае использования ТонкогоКлиента/Web клиента, соответственно с БД, опубликованной через Web сервер - изначально у IIS это 30 000 000 bytes (так понял 1 Kb = 1000 b) ограничение на длину "запроса" , у Apache пока не выяснил сколько.
Но передавать файлы можно меньшего размера, чем указанная величина.
Смотрите настройки для IIS ( у меня в 2016 сервере) VirtualApp->Request Filter Settings.
В случае передачи бОльших файлов, их нужно или "бить" или увиливать этот параметр в настройказ Web серверов.
Иначе будет ошибка.
И, если для web клиента при указании обработчика ошибки в ОписаниеОповещения, вызовется он, хотя не покажет суть ошибки, а только модуль и строку (это будет НачатьПомещениеФайлаНаСервер) , то для ТонкогоКлиента, это не сработает.
Он выведет в любом случае свой текст ошибки:
Ошибка HTTP 404.13 — Not Found 
  Модуль фильтрации запросов настроен для блокировки запросов, длина содержимого которых превосходит установленный предел. 
 
 Наиболее вероятные причины: 
  Модуль фильтрации запросов настроен на веб-сервере таким образом, чтобы блокировать запросы, длина содержимого которых превосходит заданное значение.  
 
 Возможные решения: 
  Проверьте настройку configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowed­ContentLength в файлах applicationhost.config или web.config.  
  
 Подробные сведения об ошибке: 
   Модуль nbsp;  RequestFiltering ModuleУведомление   BeginRequest Обработчик   1C Web-service Extension Код ошибки   0x00000000 
   Запрошенный URL-адрес   https://server.domain.ru:443/Test/e1cib/logForm?cmd=callФизический 
Показать


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

И еще, после добавления файла в БД (добавляю в БД) в ХранилищеЗначений регистра свелений, БД "раздувается" .
Пр удалении - очистки путем установки значения в неопределенно, не "сдувается" .
Пока нашел где-то вариант, что для Sql нужен Shrink, для файловой, не знаю.
68. Xershi 1555 08.04.20 15:17 Сейчас в теме
(67) это все базовые вещи, которые должен знать программист или администратор.
Для файловой ТИИ делают.

Порнохаб решили выкачать на сервер?)
69. oooo800 11.04.20 01:52 Сейчас в теме
(68)
Порнохаб решили выкачать на сервер?)

Позвольте полюбопытствовать, есть положительный опыт, удалось ? :)
У меня все тривиальнее.
Отсканированные документы, еще ладно, не много места занимают, а вот dwg и из них pdf проекты ...
До гига доходят.

Для метода НачатьСозданиеДвоичныхДанныхИзФайла, а он все таки асинхронный возможно сделать прогресс бар ?
"Своего" встроенного ОповещенияОХодеВыполненияЗагрузки(Создания) нет.
Если знаете, подскажите, как ?

"Создание" двоичных данных не происходит мгновенно.
70. Xershi 1555 11.04.20 09:48 Сейчас в теме
(69)дробите файл и отправляйте частями как раз будет прогресс.
71. oooo800 12.04.20 22:24 Сейчас в теме
(70) То есть без дробления для метода НачатьСозданиеДвоичныхДанныхИзФайла индикатор не сделать ?
72. Xershi 1555 13.04.20 10:11 Сейчас в теме
(71)
НачатьСозданиеДвоичныхДанныхИзФайла

Вы справку читаете?
Этот метод нужен для веб-клиента, чтобы на клиенте перевести файл в двоичные данные.
А моя публикация сделана, чтобы это не использовать, сразу передается файл. А на сервере уже делайте с ним что угодно!
45. oooo800 09.03.20 13:35 Сейчас в теме
НачатьПомещениеФайлаНаСервер

использование каждого имени файла своим расширением

Можете поподробнее ?
46. Xershi 1555 09.03.20 13:38 Сейчас в теме
(45)
использование каждого имени файла своим расширением

Суть в том что на форме может быть множество реквизитов, в которые пишется путь файла, и нужно заранее ограничить расширение файла для разных реквизитов. Ничего сложного, просто переписать логику, чтобы в доп параметр и расширение указывалось по умолчанию.
47. oooo800 09.03.20 14:09 Сейчас в теме
Код для 3 версии здесь не планируете опубликовать ?
Интересно посмотреть новые методы, например НачатьПомещениеФайлаНаСервер и НачатьПолучениеФайловССервера.
48. Xershi 1555 09.03.20 14:10 Сейчас в теме
(47) вы можете скачать за 1 стартмани готовую версию. Или прочитать справку и доработать код самостоятельно, ничего нового там не придумано.
49. oooo800 09.03.20 22:52 Сейчас в теме
У меня пока абонемента нет, не могу за smoney, могу только за живой платеж..
51. oooo800 14.03.20 08:01 Сейчас в теме
Получается, в FireFox' e, наприер, без расширения не получить путь к файлу и проверить существует он ?
Только имя файла и размер ?
52. Xershi 1555 14.03.20 09:46 Сейчас в теме
(51) прочитайте внимательно справку и описание публикации.
53. oooo800 14.03.20 11:10 Сейчас в теме
Это "Нет возможности получить полный путь файла на клиенте без установки расширения работы с файлами." увидел.

"Добавлены проверки работы с файлами." - это проверка размера и "существования" файла ?
Работает и в web, не при интерактивном варианте без расширения или нет ?
54. Xershi 1555 14.03.20 11:28 Сейчас в теме
(53) скачайте обработку и посмотрите в отладчике.
Я реализовал только минимальный набор действий для ознакомления.
55. user790109 10 14.03.20 22:39 Сейчас в теме
(54) скачал обработку. все работает! Только вот не подскажете в случае с "НачатьПолучениеФайловССервера" используется "ПараметрыДиалогаПолученияФайлов" где нельзя указать фильтр или расширение, и поэтому он предлагает сохранять в формате "Все файлы (*.*)" ... Можно ли как то устранить этот нюанс? В случае "НачатьПомещениеФайлаНаСервер" как бы примеров достаточно в интернете и даже есть на сайте ИТС, но вот с "НачатьПолучениеФайловССервера" как то обделили
56. Xershi 1555 15.03.20 10:47 Сейчас в теме
(55) по этому вопросу вам стоит написать в 1с. Если купили ИТС.
Я когда писал код видел пару багов.
Но не помню писал я в 1с или забил.
57. user790109 10 15.03.20 10:51 Сейчас в теме
(56) т.е в принципе у вас таже проблема, и вы ее не решили?
58. Xershi 1555 15.03.20 11:40 Сейчас в теме
(57) я говорю, что все что не по справке или работает не так как хочется нужно решать с 1С.
Пока у меня нет заказов на передачу файлов в 8.3.15+ и подтвердить или подсказать по данному вопросу не могу.
59. BigB 193 22.03.20 00:06 Сейчас в теме
Не работает "Версия 3" (другие версии не проверял). Взял первый попавшийся файл, а он не открывается в обработке. Платформа 8.3.16.1148.
Прикрепленные файлы:
test.txt
60. Xershi 1555 22.03.20 00:41 Сейчас в теме
(59) суть обработки не в том, чтобы его открыть. А в том чтобы передать с клиента на сервер или обратно.
А текст ошибки говорит, что файл в хмл не корректный. Используйте только простой текст.
61. BigB 193 22.03.20 00:45 Сейчас в теме
(60) Ну вообще то это не XML файл, а простой текстовый. Я его приложил в предыдущем сообщении. Он не может передаться с клиента на сервер или обратно. Если уж обработка не может работать с обычным текстовым файлом, то на других смысла нет пробовать.
62. Xershi 1555 22.03.20 00:47 Сейчас в теме
(61) так вы бы хоть код посмотрели и поняли что проблема в файле. О чем обработка вам и сообщила.
63. BigB 193 22.03.20 15:10 Сейчас в теме
(62) Код я посмотрел. Ничего криминального в нем не нашел.
Суть вашей обработки в передаче файла с клиента на сервер и обратно. Всё верно?
Я попытался применить вашу обработку в реальной задачи использования. Я взял файл, который пользователи получают по почте от другой организации и попытался передать с клиента на сервер для дальнейшей обработки. В результате получил ошибку разбора XML. О чем сообщил вам. Ответ ваш был в стиле - "сам дурак".
Сообщать в другую организацию о том, что их текстовый файл не правильно разбирается в XML считаю смешным, так как, с этим форматом работают сотни других организаций и переделывать они точно ничего не будут.
64. Xershi 1555 22.03.20 15:45 Сейчас в теме
(63) почему же вы так считаете? Если в текстовом файле содержатся не допустимые символы, которые парсер XML не понимает, то причем здесь обработка? Она не понимает этого это нормально. Для вашей задачи нужно переписывать код в части чтения текста файла. Раз вы его не поменяли, то и получили тот результат, который и должен был быть.
73. enter_123 19.06.20 01:02 Сейчас в теме
Столкнулся с непонятным поведением. Платформа 8.3.15. На клиенте(Web&Тонкий) выбираю несколько файлов с помощью
ЗавершениеОбратныйВызов 	= Новый ОписаниеОповещения("ЗавершениеОбратныйВызов", ЭтаФорма);
ПрогрессОбратныйВызов 		= Новый ОписаниеОповещения("ПрогрессОбратныйВызов", ЭтаФорма);
ПередНачалоОбратныйВызов 	= Новый ОписаниеОповещения("ПередНачалоОбратныйВызов", ЭтаФорма);
	
НачатьПомещениеФайловНаСервер(ЗавершениеОбратныйВызов, ПрогрессОбратныйВызов, ПередНачалоОбратныйВызов,);

В процедуре ЗавершениеОбратныйВызов передаю данные на сервер(массив из ПомещенныйФайл.Адрес - что по сути адрес во временном хранилище). На сервере, когда пытаюсь получить данные файла из адреса без всякой закономерности (ни размер, ни название файла, ни его расширение, ни каталог не являются схожими в таких ситуациях) получаю Неопределено. Кто-нибудь сталкивался с чем то подобным?
74. Xershi 1555 19.06.20 08:57 Сейчас в теме
(73) тестируйте разные релизы. Далее пишите в ТП.
75. enter_123 03.07.20 23:58 Сейчас в теме
Короче рассказываю о своей рукожопости. ОБЯЗАТЕЛЬНО нужно указывать уникальный идентификатор в вызовах НачатьПомещениеФайловНаСервер, ну и подобных. Ибо при первом же обращении к адресу во временном хранилище он очищается. Если указать уникальный идентификатор формы, на которой происходит вызов то файлы во временном хранилище хранятся пока форма жива. Вывод: рукожоп....
76. Xershi 1555 04.07.20 10:01 Сейчас в теме
(75) все верно пишите. Еще есть особенность работы с фоновыми заданиями. С ними пока похоже не работали?:)
Я так понял косяка в коде (73) нет, просто не знали, что платформа удаляет информацию из временного хранилища по определенным правилам?
77. DarkAn 1093 02.02.21 16:00 Сейчас в теме
(76)
Еще есть особенность работы с фоновыми заданиями. С ними пока похоже не работали?:


Вот как раз нарвался на подобную проблему, решения пока не нашел. Буду рад за подсказку.
Задача в следующем:
Необходимо загружать большие объемы данных по несколько тысяч файлов. Ждать "в слепую" - не вариант. Прикрутил прогресс бар, но не все так гладко. Значения для Прогресс бара с сервера возвращаем через "Сервер взаимодействия" и весь прикол в том, что если клиент вызвал серверный метод - сообщения сервера взаимодействия не обрабатываются (прогресс бар не двигается) пока не будет закончена обработка на сервере.

В итоге получается интересная ситуация:
1. Пользователь говорит, что хочет загрузить файлы. Вызывается НачатьПомещениеФайловНаСервер
2. Во время ОписаниеОповещенияОХодеВыполнения - все работает хорошо: прогресс бар движется и интерфейс пользователю доступен.
3. Во время ОписаниеОповещенияОЗавершении - все работает хорошо: прогресс бар движется и интерфейс пользователю доступен мы извлекаем список адресов ВХ и...
4. В конце ОписаниеОповещенияОЗавершении вызываю серверный метод и передаю туда список адресов ВХ - мы ушли на сервер и прогресс бар стоит и интерфейс пользователю НЕ доступен.
5. После окончания работы серверного метода возвращаемся на клиент и видимо начинают обрабатываться сообщения пришедшие с сервера взаимодействия - обрабатываются они очень быстро - прогресс бар побежал, но пока работал серверный метод была полная тишина и полная блокировка интерфейса

6. При попытке серверный метод выкинуть на фоновое задание (чтобы убрать блокировку с интерфейса пока идет обработка на сервере). Возникла проблема: при попытке получить данные из временного хранилища - возвращается Неопределено.
6а. УИД в НачатьПомещениеФайловНаСервер - указал. Выборку из ВХ в фоновом задании делал с включенным "привилегированным доступом" - все равно - неопределено.

Как быть?
81. Xershi 1555 06.04.23 16:35 Сейчас в теме
(77) как-то мне задавали вопрос как реализовать прогресс по закачке файла, не файлов. Я через потоки увидел решение. А у вас запуск еще одного фонового процесса. Для чего вам доступ к хранилищу? Туда доступ только в том фоновом , что запустилось насколько помню. Попробуйте через СВ все реализовать.
78. cxpp 19 08.05.22 19:21 Сейчас в теме
Столкнулись с такой проблемой: при использовании НачатьПомещениеФайловНаСервер (на веб-клиенте): не вызывается процедура ЗавершениеОбратныйВызов от слова "совсем" и соответственно, не получается в этой процедуре извлечь адрес файла и затем прочитать его на сервере и, например, в соответствии с ним изменить табличную часть документа. Не можем понять, почему так происходит!
80. Xershi 1555 06.04.23 16:27 Сейчас в теме
(78) так этой информации же нету на вебклиенте, это же может быть андроид или еще что...
79. ixijixi 1913 09.08.22 10:28 Сейчас в теме
2 типовых процедуры
ФайловаяСистемаКлиент.ЗагрузитьФайлы()
ФайловаяСистемаКлиент.СохранитьФайлы()
покрывают большинство потребностей в работе с файлами.
KirillZ44; arshanskiyav; +2 Ответить
85. Xershi 1555 08.12.23 21:18 Сейчас в теме
(79)
ФайловаяСистемаКлиент

А у нас до сих пор стоит Управление торговлей для Беларуси, редакция 3.4.7.155.
Там такого модуля даже нету.
Скорее всего это появилось совсем недавно в УТ 11.5+.
Версия БСП 3.0.1.434.
Скорее всего от нее всё пляшет.
86. ssn5810 80 26.04.24 17:15 Сейчас в теме
Переменная не определена (Объект)
<<?>>Объект[ДополнительныеПараметры] = ВыбраныйФайл; (Проверка: Тонкий клиент)
{ВнешняяОбработка.Новая.Форма.Форма.Форма(8,17)}:
87. Xershi 1555 26.04.24 18:34 Сейчас в теме
(86) вы хотите чтобы телепаты вам дали ответ по вашей доработке?
В вашей нетленке нету переменной объект. В моей обработке это стандартный реквизит, в отчётах он называется отчёт и т.д.
88. ssn5810 80 27.04.24 07:11 Сейчас в теме
Ваша писанина ? разобрался, поправил...
(87)
Прикрепленные файлы:
89. Xershi 1555 27.04.24 11:53 Сейчас в теме
(88) ну так бы сразу. К чему это на публику выносить, что ваше решение не работает, потому что код криво написали?
90. user1396398 19.06.24 18:56 Сейчас в теме
Огромное спасибо за материал!!! Полезный! Пригодился!!! Советую всем!!!
Оставьте свое сообщение