![]() |
#4 |
Banned
|
X++: static void eglaItemAttachment(Args _args) { DocuRef docuRef,docuRefCur; InventTable inventTable,inventTableCur; DocuValue docuValue,docuValueCur; str filePath; int record; ; try { while select inventTableCur where inventTableCur.dataAreaId == '116' && inventTableCur.ItemId like "610*" { while select docuRefCur where docuRefCur.RefRecId == inventTableCur.RecId && docuRefCur.RefCompanyId == inventTableCur.dataAreaId && docuRefCur.RefTableId == inventTableCur.TableId { select firstOnly docuValueCur where docuValueCur.RecId == docuRefCur.ValueRecId; filePath = docuRefCur.completeFilename(); changeCompany('101') { select firstOnly inventTable where inventTable.ItemId == inventTableCur.ItemId && inventTable.dataAreaId == '101'; if (inventTable.RecId) { ttsBegin; docuRef.clear(); buf2Buf(docuRefCur , docuRef ); docuRef.RefRecId = inventTable.RecId; docuRef.RefTableId = inventTable.TableId; docuRef.RefCompanyId = inventTable.dataAreaId; docuRef.ActualCompanyId = inventTable.dataAreaId; docuRef.insert(); record++; if (docuRef.RecId && docuValueCur.RecId) { docuValue.clear(); buf2Buf(docuValueCur , docuValue); docuValue.insert(); if(docuValue.RecId) { ttsBegin; docuRef.selectForUpdate(true); docuRef.ValueRecId = docuValue.RecId; docuRef.update(); docuValue.selectForUpdate(true); docuValue = DocuValue::writeDocuValue(docuref,filePath); docuValue.update(); ttsCommit; } } ttsCommit; } } } } info(strFmt("Total attachments = %1",record)); } catch (Exception::Error) { warning("An attachement could not be added to this item - %1", inventTableCur.ItemId); } } |
|
|
За это сообщение автора поблагодарили: RVS (3). |