RSS Подписка на статьи RSS Подписка на комментарии Панель инструментов

Блог профессионалов стал частью сайта технической поддержки DocsVision http://support.docsvision.com. Новые материалы будут появляться уже на этом сайте.

Поиск

Ярлыки

авто генерация кода (1) Администрирование DocsVision (60) Атрибутивный поиск (3) База данных (24) Базы знаний (1) Безопасность (1) Бизнес-процессы (20) Блог (2) Вы увидите это первыми (1) Групповые политики (1) Диаграммы (2) Задания (2) Интеграция (2) Карточки DocsVision (14) Конструктор Решений (11) Маркетинг и продажи (4) Навигатор (3) Новое (3) Новости (32) Опрос (4) Опросы DocsVision (4) Оптимизация (3) Отчеты (2) Ошибки (1) Поддержка (14) Полезные ссылки (1) Представления (4) Производительность (5) Разбор полетов (18) Разработка для Workflow (7) разработка карточек (2) Разработка на платформе DocsVision (41) Разработка решений (43) Расширение платформы (1) Расширенные отчеты (9) Решения на платформе DocsVision (6) Сервисы DocsVision (3) Сканеры (3) Справочник сотрудников (1) Справочник типов (1) Установка (1) Утилиты (13) Шлюз в SharePoint (8) Штрихкод (2) Cкрипты карточек (7) DocsVision внутри (1) DocsVision Live (1) FileStream (1) FireFox (2) Opera (1) Powershell (5) Safari (1) SharePoint2007 (1) SharePoint2010 (2) Silverlight (1) UltraViews (1) Vista (1)

Работа с файлами в карточках конструктора

В карточках конструктора решений для управления файлами используется свойство «Список файлов». Я приведу несколько примеров кода, в которых демонстрируется, как работать с этим элементом управления программно. Для всех операций понадобится получить элемент управления файлами.



//создаем экземпляр вспомогательного класса, он нам понадобится для поиска элемента свойства
LayoutHelper layoutHelper = new LayoutHelper(CardControl.LayoutControl, CardControl.BarManager, Session, CardData.Type.Id);
//получаем элемент свойства
ICustomPropertyItem propitem = layoutHelper.GetCustomPropertyItem("fileList");
//если он null, то выходим
if(propitem == null)
return;
//получаем элемент управления файлами
FileListView fileListView = propitem.PropertyControl as DocsVision.BackOffice.View.WinForms.Controls.FileListView;
//если он null (вдруг это свойство не "Список файлов"), то выходим.
if(fileListView == null)
return;


После того как элемент управления файлами получен, можно выполнять интересующие нас операции.

1)Добавление файла.

a) явно передавая пути к файлам, которые необходимо добавить в список


//создаем переменную, типа "Список", записываем в нее пути к файлам, которые нужно добавить
System.Collections.Generic.List files = new System.Collections.Generic.List();
//например, в данном случае добавляется всего 1 файл (указывается полный путь к файлу)
files.Add(@"c:\dvmanagement.lic");
//вызываем метод добавления файлов у элемента управления файлами
fileListView.AddFiles(files);

//в этом методе есть небольшая недоработка, чтобы ее обойти, воспользуемся средствами рефлексии
//вызываем Protected метод OnListChanged с помощью Reflection, после его вызова элемент управления понимает, что нужно сохранять данные
Type filiListViewType = fileListView.GetType().BaseType;
if(filiListViewType == null)
return;
MethodInfo onListChangedMethidInfo = filiListViewType.GetMethod("OnListChanged", BindingFlags.Instance | BindingFlags.NonPublic);
if(onListChangedMethidInfo == null)
return;
onListChangedMethidInfo.Invoke(fileListView, new object[1]{ EventArgs.Empty });


б) с помощью выбора файлов с файловой системы

//вызываем метод добавления файлов у элемента управления файлами. появится диалог выбора файлов. после нажатия на Ok файлы добавятся в список.
fileListView.AddFiles();

в) с помощью выбора карточки файла из DocsVision

//будет показан диалог выбора карточки файла. параметр false определяет, показывать только карточки, не являющиеся шаблонами
fileListView.AddCardFile(false)


2) Удаление файла(ов)

Удалить выбранные в списке файлы можно следующим образом

fileListView.DeleteFiles();

3) Сохранение файлов на файловую систему

a) всех файлов

fileListView.SaveFiles();

б) выбранных файлов

fileListView.SaveFiles(fileListView.SelectedFileReferences);

4) Открытие файла

//булевский флаг readOnly определяет, открывать файл на редактирование или только чтение
fileListView.OpenSelectedFile(readOnly);

5) Блокировка выделенного файла

fileListView.CheckOut();

6) Снятие блокировки c выделенного файла с сохранением изменений

fileListView.CheckIn();

7) Снятие блокировки c выделенного файла с потерей изменений

fileListView.UndoCheckOut();

8) Добавление комментария к выделенному файлу

//будет показан специальный диалог
fileListView.AddFileComment();

9) Переименование выделенного файла

fileListView.Rename();

10) Вставить файл из буфера клавиатуры

fileListView.PasteFromClipboard();


Примечание.

1) Необходимо добавить ссылки на сборки
DocsVision.TakeOffice.ObjectModel.dll
DocsVision.Platform.CardLib.dll
DevExpress.Utils.v9.2.dll
DevExpress.Data.v9.2.dll
DevExpress.XtraLayout.v9.2.dll


2) Необходимо в код скрипта в заголовок вставить набор директив "using"
using System;
using System.Reflection;
using System.Windows.Forms;
using DocsVision.BackOffice.Model;
using DocsVision.BackOffice.Model.CardProperties.Entities;
using DocsVision.BackOffice.View.WinForms;
using DocsVision.BackOffice.View.WinForms.Controls;
using DocsVision.BackOffice.View.WinForms.PropertyControls;
using DocsVision.BackOffice.View.WinForms.LayoutItems;
using DocsVision.BackOffice.View.WinForms.Helpers;
using DocsVision.TakeOffice.ObjectModel;
using DocsVision.TakeOffice.ObjectModel.FileList;
using DocsVision.TakeOffice.ObjectModel.File;
using DocsVision.Platform.ObjectManager;
Читать дальше

Оставить комментарий (всего: 3)

Устранение неисправностей при установке "Расширений SharePoint" на SharePoint 2010

В SharePoint 2010 доработаны средства определения неисправностей. Очень хороший доклад на эту тему http://www.techdays.ru/videos/2765.html

Но я хочу выделить из этого одну часть. При возникновении ошибок с компонентами модуля "Расширения SharePoint, сайт отображает окно:


В этом случае необходимо открыть журнал SharePoint, который расположен в папке Programm Files\Common Files\Microsoft Shared\WebServer Extensions\14\LOGS. В данном журнале нужно найти запись об ошибке соответствующую "Идентификатору взаимосвязи" (Correlation ID).

В тексте ошибки будет более детальное описание.
Читать дальше

Оставить комментарий (всего: 0)

Новый формат отображения статей в блоге

Разработчики Blogger предоставили возможность просматривать блог в различных форматах. Помимо основного можно выбрать следующие:

http://dvprofessionals.blogspot.com/view/flipcard
http://dvprofessionals.blogspot.com/view/mosaic
http://dvprofessionals.blogspot.com/view/sidebar
http://dvprofessionals.blogspot.com/view/snapshot
http://dvprofessionals.blogspot.com/view/timeslide

Выбирайте.
Читать дальше

Оставить комментарий (всего: 0)

Скрипты в бизнес-процессах

Эта заметка будет полезна тем, кто сталкивается с необходимостью писать скрипты в бизнес-процессах DV.
Вы наверняка заметили, что объектная модель, используемая для работы с данными карточки немного отличается от привычной DocsVision.Platform.ObjectManager. От этой неприятности можно легко избавиться. Понять это невозможно, это можно только скопипастить :-)

Пример процесса с правильным скриптом тут
(Не пропустите первую строчку в тексте скрипта :-)
Читать дальше

Оставить комментарий (всего: 0)