Показать сообщение отдельно
Старый 25.12.2007, 11:41   #1  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Проверки заполненных значений в связанных таблицах.
При импорте часто возникает необходимость проверки заполненных значений в связанных таблицах. Кодом то можно всё что угодно закинуть. А если инфа идёт из внешнего источника. На корректность вообще глупо рассчитывать. Искал специальный метод не нашёл. Пришлось написать.
X++:
Static boolean CheckValidateField(Common _table)
{
    DictTable       dictTable = new DictTable(_table.TableId);
    DictField       dictField;
    int             fieldCount = dictTable.fieldCnt();
    int             i;
    int             x;
    boolean         ret;
    ;
    ret = true;
    for (i = 1; i <= fieldCount; i++)
    {
        dictField = new DictField(dictTable.id(), dictTable.fieldCnt2Id(i));
        x=dictField.id();
        if(!dictField.isSystem() && (dictField.baseType() == Types::String || dictField.baseType() == Types::Integer) && _table.(x))
        {
            if (!_table.validateField(x))
                ret = false;
        }
    }
    return ret;
}
Если кто знает стандартный метод и поделиться где он лежит, буду благодарен.

Последний раз редактировалось miklenew; 25.12.2007 в 13:50.