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

01.07.19

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

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

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

Наименование Файл Версия Размер
Работа с файлами
.epf 16,24Kb
92
.epf 1 16,24Kb 92 Скачать
Работа с файлами без расширения
.epf 16,92Kb
45
.epf 2 16,92Kb 45 Скачать
Работа с файлами без расширения 8.3.15
.epf 17,61Kb
234
.epf 3 17,61Kb 234 Скачать

Введение

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

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

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

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

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

Описание

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

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

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

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

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

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

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

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

См. также

SALE! 10%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

Обмен между базами 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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 руб.

12.06.2017    134590    718    291    

387

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

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

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

28000 руб.

15.12.2021    20086    132    38    

90

SALE! 10%

Перенос данных из ERP 2 / КА 2 в ЗУП 3

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

Обработка позволяет не только перенести все документы, справочную информацию и начальные остатки из ERP 2 или КА 2 в ЗУП 3, но и организовать регулярный перенос данных между программами 1С:ERP 2 / КА 2 и 1С:ЗУП 3. Вы можете выбрать период отбора данных и установить фильтр по организациям, чтобы выгружать только необходимую информацию. Более того, перенос оперативно обновляется при выходе новых релизов программы 1С, так что вы всегда будете иметь самую актуальную версию обработки.

48278 43450 руб.

03.12.2020    34031    80    57    

78

SALE! 10%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0

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

Перенос позволяет настроить собственный обмен данными между указанными программами, альтернативный предлагаемому фирмой 1С. Перенос данных осуществляется из 1С:ERP 2 / 1С:КА 2 / 1С:УТ 11 в 1С:БП 3.0. Правила обмена оперативно обновляются при выходе новых релизов программы 1С, так что вы всегда будете иметь самую актуальную версию обработки.

38500 34650 руб.

15.04.2019    68191    176    136    

108

Перенос данных из Парус 10 в ЗГУ ред.3

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

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    9155    9    8    

10

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

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

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

28000 руб.

23.07.2020    46018    194    64    

153

SALE! 10%

Перенос данных из БП 3.0 в УНФ 3.0 / УНФ 1.6

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

Обработка позволяет начать вести учет в программе "1С:Управление нашей фирмой" редакции 3.0 или 1.6, то есть перенести в нее из существующей базы "1С:Бухгалтерия предприятия, ред. 3.0" начальные остатки на выбранную дату, документы за период времени и также всю необходимую справочную информацию. По вашему запросу мы можем бесплатно добавить в правила переноса дополнительные виды объектов (например, новые виды документов). Обработка по переходу на новую программу 1С включает в себя правила конвертации в формате XML, обработку для выгрузки и загрузки данных, а также инструкцию по работе.

50722 45650 руб.

10.07.2018    67264    41    118    

46

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

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

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 11.12.2023, версия 9.5 - 9.9)

13200 руб.

20.11.2015    150376    365    375    

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


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


Использовать расширения для работы с файлами очень не удобно так как требуют установки внешнего софта/расширений, что не всегда возможно и в каждый браузер отдельно. Методы выше работают без них и на много лучше адаптированы к веб клиенту.
1v7; Dimulkyl; user597078_steem34; +3 Ответить
2. Xershi 1473 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 1473 29.11.23 16:21 Сейчас в теме
(83) публикации пошёл уже 5 год. Изучали код типовых в те времена?
3. Xershi 1473 11.06.19 13:01 Сейчас в теме
(1) а второй момент, что эти методы для 1 файла, я рассматривал ситуацию, где передается 1 файл и легко расширить до множества файлов, но с вашей рекомендацией масштабировать до нескольких файлов за раз не получится.
7. Xershi 1473 16.06.19 17:16 Сейчас в теме
(1) реализовал данные методы. Но как было сказано для корректной работы данных методов нужна платформа 8.3.13.1513 и выше. Режим совместимости конфигурации не влияет.
И на мобильной платформе параметр <Интерактивно> игнорируется и диалоговое окно выбора файла не отображается никогда.
Что делает реализацию еще более ограниченной.
Поэтому выкладываю обработку отдельным файлом.
4. Malfarion 245 11.06.19 16:02 Сейчас в теме
Есть аналогичные методы для группы файлов, все получится, читайте справку и зезеркалье.
5. Xershi 1473 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 1473 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 1473 18.06.19 10:37 Сейчас в теме
(10) первый и второй вариант практически не отличаются.
11. Vida 15 18.06.19 04:07 Сейчас в теме
Прошу подсказки по первому варианту ЧЯДНТ
			
ПолучаемыеФайлы = Новый Массив;	
Для Сч = 0 По МассивФайлов.Количество() - 1 Цикл
				
ОписаниеПередаваемогоФайла = Новый ОписаниеПередаваемогоФайла(МассивФайлов[Сч].Имя, МассивФайлов[Сч].Хранение);				
ПолучаемыеФайлы.Добавить(ОписаниеПередаваемогоФайла);
	    
КонецЦикла;
ОповещениеОЗавершении = Новый ОписаниеОповещения("ВыполнитьПослеПолученияФайлов", ЭтотОбъект);						
НачатьПолучениеФайлов(ОповещениеОЗавершении, ПолучаемыеФайлы, КаталогЭкспортаДокументов, Ложь);
Показать


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

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

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

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

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

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

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

Прощу подсказать, что видно невооруженным глазом? У меня уже замылился наверное.
15. Xershi 1473 18.06.19 15:34 Сейчас в теме
(14) скорее всего косяк в КаталогЭкспортаДокументов. Создайте лучше тему для обсуждения вашего написания кода.
17. ssn5810 79 30.06.19 09:12 Сейчас в теме
Можно указать конкретное место на сервере куда перемещаем файл с клиента ???
18. Xershi 1473 30.06.19 09:48 Сейчас в теме
(17) да. Из описания и скриншотов это было не понятно?
19. ssn5810 79 30.06.19 10:03 Сейчас в теме
Зачем вопросы, проще сразу подсказать.
В итоге мне нужно загрузить текстовый (txt) файл в табличную часть внешней обработки.....
У меня пишет файл не найден...и текст переданного файла.
20. Xershi 1473 30.06.19 10:19 Сейчас в теме
(19) разбирайтесь с настройками вашего сервера. И по данному описанию не понятно что вы делаете и как.
21. ssn5810 79 30.06.19 10:51 Сейчас в теме
понятно, спасибо за помощь...
22. Xershi 1473 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 1473 02.07.19 23:47 Сейчас в теме
(23) почитайте внимательно что написано и посмотрите что конфигуратор выдает.
В любом случае в 3 версии все корректно работает.
25. androgin 10.07.19 23:37 Сейчас в теме
(24) я не только читаю, но и практикую, к сведению!
26. Светлый ум 406 12.07.19 04:55 Сейчас в теме
(23) Бывают и экзотические косяки, просто вы везунчик или мало вариантов реализовывали
28. Xershi 1473 12.07.19 08:14 Сейчас в теме
(26) Вы про что? Есть 3 вариант событий?
29. Светлый ум 406 12.07.19 10:37 Сейчас в теме
(28) я не про ваш функционал а про работу с файлами в целом
31. Xershi 1473 12.07.19 13:22 Сейчас в теме
(29) понял. Да реализованы базовые сценарии обработки, что в 90% покроет потребность разработчика. Остальное конечно пилить, как нужно клиенту!
30. androgin 12.07.19 12:39 Сейчас в теме
(26) вы не читаете, что вам пишут?
Синтаксис откройте! Там все варианты перечислены!
Я не вижу реализации их у вас! Зато много слов в воздух
82. ohyen 40 22.08.23 05:32 Сейчас в теме
(22) я недавно сам попался на такое, причем знал что так уже делал и работало, Словом дело в том что в методе "НачатьПомещениеФайловНаСервер" первое (а может и другие тоже) описание оповещения должно выполняться с директивой &НаКлиенте, а У тебя стоит 100% &НаСервере. и Это выдает ошибку. Получается ты на клиенте обрабатываешь описание оповещения и там ты получаешь адрес где хранится файл, и потом уже с этим адресом работаешь на сервере
dvv_mail; +1 Ответить
27. Светлый ум 406 12.07.19 04:56 Сейчас в теме
Закреплю описание статьи, теперь буду так оформлять +1
32. ccserg 63 06.08.19 18:42 Сейчас в теме
второй вариант не хочет работать
вроде как без расширения должно работать
33. Xershi 1473 06.08.19 19:53 Сейчас в теме
(32) не указана платформа, тип клиента и последовательность действий. Внимательно прочтите описание.
34. ccserg 63 06.08.19 20:22 Сейчас в теме
(33)
windows_8_3_15_1534
веб клиент
открываю файл , жму Загрузить с клиента на сервер
35. Xershi 1473 06.08.19 20:33 Сейчас в теме
36. ccserg 63 06.08.19 20:40 Сейчас в теме
37. Xershi 1473 06.08.19 20:41 Сейчас в теме
(36) завтра проверю на 8.3.15.
Возможно надо использовать 3 версию.
38. Xershi 1473 07.08.19 10:46 Сейчас в теме
(36) проверил, да все верно. Это операция требует расширения. Как сказано в описании работа без расширения возможна только в интерактивных операциях, т.к. доступа к файловой системе у 1С нету.
39. ccserg 63 07.08.19 11:38 Сейчас в теме
(38)
так а как решить ? расширение установить ?
расширение скачивается , устанавливается , но все равно не пашет
это наверно уже другая проблема правда
40. Xershi 1473 07.08.19 11:59 Сейчас в теме
(39) данная кнопка работает только с расширением. Да это другая проблема. Если не получается решить, поменяйте браузер.
50. oooo800 14.03.20 03:22 Сейчас в теме
(38)
Это операция требует расширения. Как сказано в описании работа без расширения возможна только в интерактивных операциях, т.к. доступа к файловой системе у 1С нету


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

Кстати, вкину свои 5 копеек: теперь появился новый способ передавать файловые данные на сервер. Можно на клиенте получить двоичные данные, забросить их на сервер и там не сохранять во временные файлы, как раньше делали, а обрабатывать через буфер как файловый поток. Правда, пока у платформы на это есть ограничения (табдокумент, например, кушает только mxl и ods), но, думаю, допилят.
44. Xershi 1473 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 1473 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 1473 08.04.20 15:17 Сейчас в теме
(67) это все базовые вещи, которые должен знать программист или администратор.
Для файловой ТИИ делают.

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

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

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

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

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

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

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

Суть в том что на форме может быть множество реквизитов, в которые пишется путь файла, и нужно заранее ограничить расширение файла для разных реквизитов. Ничего сложного, просто переписать логику, чтобы в доп параметр и расширение указывалось по умолчанию.
47. oooo800 09.03.20 14:09 Сейчас в теме
Код для 3 версии здесь не планируете опубликовать ?
Интересно посмотреть новые методы, например НачатьПомещениеФайлаНаСервер и НачатьПолучениеФайловССервера.
48. Xershi 1473 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 1473 14.03.20 09:46 Сейчас в теме
(51) прочитайте внимательно справку и описание публикации.
53. oooo800 14.03.20 11:10 Сейчас в теме
Это "Нет возможности получить полный путь файла на клиенте без установки расширения работы с файлами." увидел.

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

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


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

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

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

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

А у нас до сих пор стоит Управление торговлей для Беларуси, редакция 3.4.7.155.
Там такого модуля даже нету.
Скорее всего это появилось совсем недавно в УТ 11.5+.
Версия БСП 3.0.1.434.
Скорее всего от нее всё пляшет.
Оставьте свое сообщение