Ню, можно как-нибудь так
PHP код:
//abv 09.10.2012 копирование данных исходной таблицы в произвольную таблицу.
static void abv_buf2buf( Common _from, Common _to )
{
DictTable dictTableFrom = new DictTable(_from.TableId);
fieldId fieldIdFrom = dictTableFrom.fieldNext(0);
DictTable dictTableTo = new DictTable(_to.TableId);
fieldId fieldIdTo = dictTableTo.fieldNext(0);
DictField dictFieldFrom,dictFieldTo;
Name nameFrom,nameTo;
NoYes somethingCopied;
;
while( fieldIdFrom && !isSysId(fieldIdFrom) )
{
fieldIdTo = dictTableTo.fieldNext(0);
dictFieldFrom = dictTableFrom.fieldObject(fieldIdFrom);
nameFrom = dictTableFrom.fieldName(fieldIdFrom);
while( fieldIdTo && !isSysId(fieldIdTo) )
{
nameTo = dictTableTo.fieldName(fieldIdTo);
dictFieldTo = dictTableTo.fieldObject(fieldIdTo);
if( nameFrom == nameTo && dictFieldFrom.typeId() == dictFieldTo.typeId() )
{
_to.(fieldIdTo) = _from.(fieldIdFrom);
somethingCopied = NoYes::Yes;
break;
}
fieldIdTo = dictTableTo.fieldNext(fieldIdTo);
}
fieldIdFrom = dictTableFrom.fieldNext(fieldIdFrom);
}
//========================================================================================
if( somethingCopied )
{
_to.insert();
}
}
//==============================================================================================================