|
Скопировать вложение из списка в библиотеку докуметов
|
|||
---|---|---|---|
#18+
У меня есть список с вложениями, как эти вложения можно скопировать в библиотеку документов? Я пробовала РП, но он создает какой-то не понятный архив ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2013, 14:27 |
|
Скопировать вложение из списка в библиотеку докуметов
|
|||
---|---|---|---|
#18+
Anna2013, Список или библиотека? Если именно список, то понятно почему. В списке есть тип: Элемент и папки. По сути все документы, наборы документов это производные элемента, но сам элемент как таковой в библиотеку документов добавлен быть не может - несовместимость типов контента элементарное. РП на чём писали? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2013, 07:27 |
|
Скопировать вложение из списка в библиотеку докуметов
|
|||
---|---|---|---|
#18+
Vitell, Из Списка в Библиотеку документов. РП в дизайнере писала. Походу по этому архив такой и создается, так как не совместимо.Это я понимаю, думала, мб есть какие способы ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2013, 12:21 |
|
Скопировать вложение из списка в библиотеку докуметов
|
|||
---|---|---|---|
#18+
Anna2013, Если вы программист, то лучше писать на Visual Studio. Я сам не так давно начал познавать SharePoint. И чем глубже тем больше понимаю, что дизайнер это для юзеров. Всё что делал на нём переделал уже на Вижаке)) Кстати о нём, вот Вам для начала код для копирования элементов из библиотеки в библиотеку: SPListItem item = null; try { string filo = sourceItem["Имя"].ToString(); string fileUrl = sourceItem[SPBuiltInFieldId.EncodedAbsUrl].ToString(); SPFile file = sourceItem.Web.GetFile(fileUrl); string folderUrl = sourceItem[SPBuiltInFieldId.EncodedAbsUrl].ToString(); folderUrl = folderUrl.Substring(0, folderUrl.LastIndexOf('/')); SPFolder folder = sourceItem.Web.GetFolder(folderUrl); if (file != null && file.Exists) { try { string a = destinationList.RootFolder.Url + "/(Лист согласования) " + Path.GetFileName(folderUrl) + "/" + filo; file.CopyTo(a); } catch (SPException spex) { if (spex.ErrorCode == -2130575257) { folder.CopyTo(destinationList.RootFolder.Url + "/(Доп.соглашение) " + Path.GetFileName(folderUrl)); string a = destinationList.RootFolder.Url + "/(Доп.соглашение) " + Path.GetFileName(folderUrl) + "/" + filo; // file.CopyTo(a); } if (spex.ErrorCode == -2130247142) { folder.CopyTo(destinationList.RootFolder.Url + "/(Лист согласования) " + Path.GetFileName(folderUrl)); string a = destinationList.RootFolder.Url + "/(Лист согласования) " + Path.GetFileName(folderUrl) + "/" + filo; file.CopyTo(a); } } item = file.Item; } } catch (System.Exception ex) { } return item; Это типа функции копирования. Две ошибки обработал. Первая это если файл уже есть и вторая, если папка не создана в назначении. работает примерно так: SPSite site = new SPSite(" http://" + System.Environment.MachineName); SPWeb web = site.OpenWeb("/"); SPDocumentLibrary aList = (SPDocumentLibrary)web.Lists[""]; ///откуда SPDocumentLibrary bakList = (SPDocumentLibrary)web.Lists[""]; ///куда SPListItem newFolder = MoveFolder(workflowProperties.Item, bakList, true); ///булевая true - перезапись А вообще в инете тяжеляк со знающими людьми. ИМХО не сильно кто пользует видимо Шарик))) Удачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2013, 04:12 |
|
Скопировать вложение из списка в библиотеку докуметов
|
|||
---|---|---|---|
#18+
Vitell, Спасибо,я только начинаю пробовать программировать.Некоторый фичи тоже пишу на Visuale Studio, но пока не так много знаний ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2013, 10:40 |
|
|
start [/forum/topic.php?fid=12&fpage=12&tid=1330270]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
14ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
others: | 252ms |
total: | 361ms |
0 / 0 |