Показать сообщение отдельно
Старый 18.09.2009, 10:36   #7  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Цитата:
Сообщение от zZ_TOP_Zz Посмотреть сообщение
я бы для универсальности добавил бы TableId на вход для более универсального алгоритма
zZ_TOP_Zz, готово! Вот универсальный метод, его можно применять к любой таблице и любой записи

X++:
static void joinFileInternet(TableId _tableId, RecId _refRecId, FileName _fileName ,DataAreaId _id, str _fileType)
{

    DocuRef       docuRef;
    DocuType      docuType;
    DocuValue     docuValue;
    FileName      fn;
    FilePath      fp;
    FileType      ft;

    ;

    docuType = DocuType::find(ITSMParameters::find().DocuTypeId, false);


    ttsbegin;
    [fn, ft, fp] = Docu::splitFilename(_filename);

    docuValue.FileName = fn;
    docuValue.FileType = _fileType;
    docuValue.Path = fp;
    docuValue.Name = fn;
    docuValue.insert();
    ttscommit;

    ttsbegin;
    docuRef.RefTableId = _tableId; //id таблицы с записью для добавления вложения
    docuRef.RefRecId = _refRecId; //recId записи, к кот. прикрепляется файл
    docuRef.Name = _fileName;
    docuRef.TypeId = docuType.TypeId;
    docuRef.RefCompanyId = _id;
    docuref.ValueRecId = docuValue.RecId;
    docuRef.insert();
    ttscommit;

}
За это сообщение автора поблагодарили: Silphidae (1), abri (1).