Технический проблем: доки содержат аттачи zip, pdf, xls. Аттачей в доке может быть несколько и разного формата.
Кроме аттачей в RTF могут быть прилинковны объекты из например Excel со связью (как картинки получаются) = тоже аттачи но без расширения.
Надо построить вьюху в которой видны только аттачи с расширением zip, pdf, xls. Все это для WEB делается.
Пишу отбор
att:=@AttachmentNames;
atn:=@Transform(att;"x";@If(@Contains(x;".");x;@Nothing));
SELECT @Right(atn;3)="pdf" | @Right(atn;3)="xls" | @Right(atn;3)="zip"
с отображением каждого из нескольких - отдельно.
На выходе все равно получаю список доков где есть "пустые" значения. Понятно почему - прилинкованные объекты собственно и портят всю картину. Они идут как аттачи с именами типа EXT40553 (0k); EXT46471 (0k); STG41756 (8k); STG01394 (8k); STG32637 (8k); EXT45059 (0k); STG05703 (8k); STG25267 (8k); STG12705 (8k); EXT20593 (0k); и пр...
Пошел другим путем. Отбираю в поле формулой
flist:=@Explode("zip":"xls":"pdf");
temp:= @DbLookup("":"NoCache"; ""; "(FilesAll)";flist;3);
temp1:= @If(@IsError(temp);"";temp);
@Implode(temp1)
и упираюсь естественно в ограничение по размеру данных. Доки и файлы плодятся - отбор в поле приводит к ошибке.
Как решить отбор только живых аттачей?
Кроме аттачей в RTF могут быть прилинковны объекты из например Excel со связью (как картинки получаются) = тоже аттачи но без расширения.
Надо построить вьюху в которой видны только аттачи с расширением zip, pdf, xls. Все это для WEB делается.
Пишу отбор
att:=@AttachmentNames;
atn:=@Transform(att;"x";@If(@Contains(x;".");x;@Nothing));
SELECT @Right(atn;3)="pdf" | @Right(atn;3)="xls" | @Right(atn;3)="zip"
с отображением каждого из нескольких - отдельно.
На выходе все равно получаю список доков где есть "пустые" значения. Понятно почему - прилинкованные объекты собственно и портят всю картину. Они идут как аттачи с именами типа EXT40553 (0k); EXT46471 (0k); STG41756 (8k); STG01394 (8k); STG32637 (8k); EXT45059 (0k); STG05703 (8k); STG25267 (8k); STG12705 (8k); EXT20593 (0k); и пр...
Пошел другим путем. Отбираю в поле формулой
flist:=@Explode("zip":"xls":"pdf");
temp:= @DbLookup("":"NoCache"; ""; "(FilesAll)";flist;3);
temp1:= @If(@IsError(temp);"";temp);
@Implode(temp1)
и упираюсь естественно в ограничение по размеру данных. Доки и файлы плодятся - отбор в поле приводит к ошибке.
Как решить отбор только живых аттачей?