Последняя версия DataExpress 3 beta от 22 мая 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

"DX Хранилище файлов" - модуль работы с файлами

Расширение функционала и существующих возможностей программы с помощью модулей выражений и плагинов от сторонних разработчиков.
jurist23rus
Эксперт
Сообщения: 2147
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп

"DX Хранилище файлов" - модуль работы с файлами

Сообщение jurist23rus » Вт ноя 14, 2017 4:07 pm

"DX Хранилище файлов" - это комплекс, состоящий из взаимодействующих и программно связанных друг с другом форм и модуля расширений, в совокупности предназначенный для организации системы загрузки/выгрузки, хранения и манипуляций с одним или группой файлов.

1. Родительской формы с именем "FileStore" - это и есть само хранилище файлов, именно в данной форме происходят операции с файлами.
2. Одноимённого модуля расширений, предназначенного для работы с формы "FileStore".


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

Для корректной работы модуля требуется версия программы DataExpress 3 версии не старше чем от 12 ноября 2017 г. Комплекс полностью совместим со всеми модулями расширений моего авторства (jurist23rus) последних версий. О наличии проблем с совместимостью с модулями расширений других авторов пишите сообщения в данной теме.


Предполагается, что те кто читают эту инструкцию имеют минимальные навыки работы в приложении DataExpress 3.
1. Сделать резервную копию вашей базы данных (без этого категорически не советую что-либо делать, иначе есть риск потерять все данные).
2. Скачать архив (по ссылкам ниже) с файлами проекта формата .dxp и файлом модуля расширений формата .epas и распаковать архив.
3. Установить модуль расширений для чего:
3-1. Открыть вашу базу данных и войти под учётной записью Разработчика (нужно иметь доступ к дизайнеру). Выбрать меню Файл - Расширения - кнопка Импорт модуля - выбрать скачанный файл формата FileStore v.X.X.epas
3-2. Если появилось окно ошибок компилятора, значит есть какие-то ошибки совместимости модулей. В этом случае установку лучше не продолжать, а сделать скриншот окна ошибок и обратиться на форум за помощь.
4. Установить форму хранилища файлов для чего:
4-1. Проверить, что в Вашей базе нет родительских форм с именем "FileStore". Если такая форма у вас уже есть, переименовать её или удалить.
4-2. Войти в дизайнер и выбрать пункт меню Сервис - Объединение проектов - выбрать файл FileStore v.X.X.dxp - в появившемся окне на вкладке Формы установить флажок в поле FileStore и нажать ОК.
5. Если вы всё сделали правильно, то в вашей базе появятся новые формы "FileStore" и её дочерняя форма "File" в дереве форм, а в редакторе скриптов модуль формы "FileStore" и одноимённый модуль расширений. Теперь комплексом можно пользоваться.


1. Войти в дизайнер и удалить форму "FileStore"
2. Войти меню Файл - Расширения - Выбрать модуль "FileStore" v.X.X и нажать Удалить.


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

1. Необходимо сохранить данные, которые уже имеются в модуле для этого:
- Пользователям модуля версии 2.0 и ниже должны установить модуль действия для кнопки FileStore_SaveData v.1.0 и следовать инструкции в справке модуля. После сохранения данных, модуль FileStore_SaveData v.1.0 вам уже не нужен и его можно удалить, он никак не участвует в работе хранилища.
-Пользователям модуля версии 3.0 и выше устанавливать дополнительный модуль нет необходимость, так как кнопка сохранения данных расположена на вкладке "Инструменты" формы FileStore.
2. После того как вы успешно сохранили данные, вы можете удалить старую версию модуля и установить новую по инструкциям (см. выше).
3. После установки новой версии модуля вы можете восстановить ваши данные, нажав соответствующую кнопку на вкладке "Инструменты" формы FileStore. Само собой разумеется, что данные можно восстановить только если вы их предварительно сохранили, как описано выше, в ином случае данные восстановить нельзя.

Если что-то пошло не так, вы всегда можете вернуться к резервной копии вашей базы и попробовать снова или попросить помощи на форуме. Если вы самонадеянно не сделали резервной копии и потеряли данные, то я вам сочувствую и ничем не могу помочь :cry:


Работа с комплексом осуществляется посредством выбора для кнопки, размещённой на вашей форме, одного из действий группы "FileStore". В данной группе возможно выбрать следующие виды действий: "Добавить файл в хранилище", "Открыть запись хранилища файлов" или "Печать данных".

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

При выборе действия для кнопки "Открыть запись хранилища файлов" вы сможете открывать запись хранилища файлов, связанную с текущей записью текущей формы и производить манипуляции с файлами в том числе: добавление в базу, просмотр, открытие папки с файлом, удаление из базы, сохранение в указанной папке на жёстком диске и т.д.. При отсутствии связанных записей, будет создана новая запись в хранилище. Удаление текущей записи формы не удаляет файлов или записей в хранилище, а только обрывает связь с ними. Записи хранилища без связи с базой можно найти, используя соответствующий инструмент на форме FileStore. Записи хранилища можно связывать с другими записями базы если связанная запись была удалена или вы хотите изменить имеющуюся связь. В удалении записей хранилище нет повседневной необходимости, но при желании это можно сделать вручную, открыв форму "FileStore".

Действия, аналогичные описанным выше действиям с кнопкой, могут при необходимости выполнятся с помощью функции File_Add и FileStore. Подробнее о них можно прочесть в справке по функциям.

Действие для кнопки "Печать данных" аналогично штатному действию кнопки "Печать", но имеет более широкий функционал, а именно: возможность задавать в виде выражения путь к файлу шаблона и путь для сохранения готового документа, возможность автоматически добавлять созданный файл в "DX Хранилище файлов". Последнее, позволит упорядочить и систематизировать печатаемые вами документы, вести их должный учёт и контроль, кроме того вы получите лёгкий доступ, к вновь созданному документу, прямо из базы данных.


2017-12-17_15-45-53.png
2017-12-17_15-45-53.png (29.77 КБ) 2612 просмотров
2017-12-17_15-16-55.png
2017-12-17_15-16-55.png (54.46 КБ) 2612 просмотров
2017-12-17_15-28-47.png
2017-12-17_15-28-47.png (62.87 КБ) 2612 просмотров
2017-12-17_14-55-50 (2).png
2017-12-17_14-55-50 (2).png (50.21 КБ) 2612 просмотров
2017-12-17_14-59-00.png
2017-12-17_14-59-00.png (44.94 КБ) 2612 просмотров
2017-12-17_15-06-15.png
2017-12-17_15-06-15.png (28.26 КБ) 2612 просмотров
2017-11-15_11-45-08.png
2017-11-15_11-45-08.png (50.34 КБ) 2612 просмотров


самостоятельно вносить какие бы то ни было изменения в форму "FileStore", в том числе: добавлять, удалять или изменять свойства и параметры компонентов; вносить корректировки в скрипты, руководящие работой формы, или модулем расширений "FileStore". Даже незначительное изменение может привести к ошибкам в работе комплекса, кроме того, внесённые самостоятельно изменения не сохранятся при последующих установках новых версий комплекса.


Об ошибках в работе комлекса, пожеланиях и предложениях по усовершенствованию можно писать в данной теме.

1. Реализована система сохранения данных модуля на диск и последующего восстановления для чего на панели инструментов появились две новых кнопки: "Сохранить данные хранилища" и "Восстановить данные хранилища". Это нужно для сохранения данных, при обновлении на новую версию.
2. Для сохранения данных модуля версии 2.0 сделал дополнительную кнопку-функцию (FileStore_SaveData v.1.0), которая сохранит данные модуля на диск. После установки версии 3.0 можно будет восстановить все что нажито непосильным трудом :)
3. Сделал отдельное действие для кнопки "Печать данных". Действует аналогично штатному действию кнопки "Печать", но имеет более широкий функционал, а именно: возможность задавать в виде выражения путь к файлу шаблона и путь для сохранения готового документа, возможность автоматически добавлять созданный файл в "DX Хранилище файлов".
4. У действий кнопки "Добавить файл в хранилище" и "Открыть запись хранилища" появились дополнительные параметры для работы с файлами: "Путь к папке назначения", "Имя нового файла", "Исходное расширение в новом имени файла", "Удалять исходные файлы", "Список расширений".
5. Теперь разработчик базы сам решает где как и с каким именем будет сохраняться добавляемый в базу файл. Исходные фалы, после загрузки их в базу, могут быть автоматически удалены с жёсткого диска во избежание создания дубликатов. Список расширений позволяет ограничивать загрузку в базу файлов только файлами определённого типа.
6. Добавлен инструмент проверки наличия файлов на жёстком диске.


Теперь есть возможность сохранять данные модуля перед обновлениями и восстанавливать их после обновления в новой форме.
Вложения
FileStore_SaveData v.1.0.zip
(2.12 КБ) 34 скачивания
FileStore v.3.0.zip
(43.49 КБ) 59 скачиваний
Destiny is a very convenient word for those who never take decisions.

jurist23rus
Эксперт
Сообщения: 2147
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп

Re: "DX Хранилище файлов" - модуль работы с файлами

Сообщение jurist23rus » Сб фев 03, 2018 3:25 pm

cordek писал(а):К форме выставления счетов привязал кнопку c действием "Печать данных" , прописал путь шаблона, папку для сохранения, и поставил галочки открыть и сохранить в хранилище файлов.
После нажатия на кнопку шаблон сохраняется, открывает, но в File store запись не появляется. Что я сделал не так?

Когда делал модуль в планах была такая плюшка и я вывел галочку в кнопку, чтобы сделать её. Потом долго, писал код для модуля и про свою же задумку забыл, но галочка осталась. Она там для красоты получилась. Код для неё не написан и она ничего не делает. Вы первый кто это заметил :)
Destiny is a very convenient word for those who never take decisions.

cordek
Интересующийся
Сообщения: 205
Зарегистрирован: Вс май 14, 2017 2:53 pm

Re: "DX Хранилище файлов" - модуль работы с файлами

Сообщение cordek » Сб фев 03, 2018 8:48 pm

jurist23rus писал(а):
cordek писал(а):К форме выставления счетов привязал кнопку c действием "Печать данных" , прописал путь шаблона, папку для сохранения, и поставил галочки открыть и сохранить в хранилище файлов.
После нажатия на кнопку шаблон сохраняется, открывает, но в File store запись не появляется. Что я сделал не так?

Когда делал модуль в планах была такая плюшка и я вывел галочку в кнопку, чтобы сделать её. Потом долго, писал код для модуля и про свою же задумку забыл, но галочка осталась. Она там для красоты получилась. Код для неё не написан и она ничего не делает. Вы первый кто это заметил :)

Лучший комментарий

cordek
Интересующийся
Сообщения: 205
Зарегистрирован: Вс май 14, 2017 2:53 pm

Re: "DX Хранилище файлов" - модуль работы с файлами

Сообщение cordek » Пн апр 09, 2018 4:33 pm

Стал замечать, что когда открываешь запись формы, а потом переходишь по кнопке в связанную запись Хранилища файлов, то не создается нужная запись, а открывается запись другой формы, в которую заходил до этого.

jurist23rus
Эксперт
Сообщения: 2147
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп

Re: "DX Хранилище файлов" - модуль работы с файлами

Сообщение jurist23rus » Пн апр 09, 2018 9:40 pm

Объясните чуть подробнее, как это воспроизвести? А если маленький пример сделаете - будет идеально.
Destiny is a very convenient word for those who never take decisions.

makcim737
Новичок
Сообщения: 46
Зарегистрирован: Пн ноя 27, 2017 12:39 pm

Re: "DX Хранилище файлов" - модуль работы с файлами

Сообщение makcim737 » Пт май 11, 2018 12:44 pm

В форме выставил кнопку "Печати данных" и путь для сохранения, в описании сказано что если каких то папок не существует то они будут созданы, но у меня появляется ошибка "Uneble to create file". Если же недостающие папки существуют то сохранение файла происходит.
В чем может быть проблема создания папок?
Вложения
Снимок.JPG
Красным подчеркнуты папки которые не может сосздать
Снимок.JPG (19.41 КБ) 180 просмотров
Снимок1.JPG
Снимок1.JPG (77.22 КБ) 180 просмотров

jurist23rus
Эксперт
Сообщения: 2147
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп

Re: "DX Хранилище файлов" - модуль работы с файлами

Сообщение jurist23rus » Пт май 11, 2018 3:29 pm

makcim737 писал(а):В чем может быть проблема создания папок?

Думаю да.
Destiny is a very convenient word for those who never take decisions.

makcim737
Новичок
Сообщения: 46
Зарегистрирован: Пн ноя 27, 2017 12:39 pm

Re: "DX Хранилище файлов" - модуль работы с файлами

Сообщение makcim737 » Пт май 11, 2018 3:58 pm

jurist23rus писал(а):
makcim737 писал(а):В чем может быть проблема создания папок?

Думаю да.


Вы имеете ввиду, что проблема в создании папок? это я знаю

Я хотел узнать почему эта проблема может возникать...

Или может есть пример рабочей версии с кнопкой для печати, которая работает как задумано?

jurist23rus
Эксперт
Сообщения: 2147
Зарегистрирован: Пт сен 30, 2016 9:42 am
Откуда: Майкоп

Re: "DX Хранилище файлов" - модуль работы с файлами

Сообщение jurist23rus » Пт май 11, 2018 4:34 pm

Это не проблема и не глюк - это скорее недоработка или конструктивная особенность :)

Просто нужно немного усовершенствовать модуль.
Destiny is a very convenient word for those who never take decisions.

makcim737
Новичок
Сообщения: 46
Зарегистрирован: Пн ноя 27, 2017 12:39 pm

Re: "DX Хранилище файлов" - модуль работы с файлами

Сообщение makcim737 » Пт май 11, 2018 5:22 pm

jurist23rus писал(а):Это не проблема и не глюк - это скорее недоработка или конструктивная особенность :)

Просто нужно немного усовершенствовать модуль.



ааа) ну теперь ясно)

cordek
Интересующийся
Сообщения: 205
Зарегистрирован: Вс май 14, 2017 2:53 pm

Re: "DX Хранилище файлов" - модуль работы с файлами

Сообщение cordek » Сб май 12, 2018 9:10 am

Для сохранения есть ведь ReportSave


Вернуться в «Расширения и плагины»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость