Показать сообщение отдельно
Старый 18.04.2017, 11:24   #1  
iglu is offline
iglu
Участник
 
15 / 10 (1) +
Регистрация: 27.07.2011
Создание строк в договоре продажи
Добрый день.
Пытаюсь через код создать строки в договоре продажи. В таблице строки появляются, но на форме их не видно. В чем может быть проблема?

Строки создаю следующим образом:
X++:
	agreementHeader.selectForUpdate(true);
	agreementHeader.DefaultAgreementLineType    = commitmentType;
	agreementHeader.update();

	agreementLineVolume                         = null;
	agreementLineVolume.initValue();
	agreementLineVolume.initFromAgreementHeader(agreementHeader);

	ecoResCategory                              = EcoResCategory::findByName(categoryName, InventParameters::find().CategoryHierarchyId);
	if (!ecoResCategory)
		throw error(strFmt('Категория %1 не существует', categoryName));

	agreementLineVolume.Category                = ecoResCategory.RecId;
	agreementLineVolume.categoryChanged();

	agreementLineVolume.insert();

	this.createRefs(agreementLineVolume);
Метод createRefs():
X++:
protected void createRefs(AgreementLine _agreementLine)
{
    AgreementLineDefault    agreementLineDefault;
    AgreementLineExt_RU     agreementLineExt;

    // AgreementLineDefault
    agreementLineDefault.clear();
    agreementLineDefault.initValue();
    agreementLineDefault.initFromAgreementHeaderDefault(agreementHeader.agreementHeaderDefault());
    switch (salesPurch)
    {
        case SalesPurch::Sales :
            agreementLineDefault.initFromSalesAgreementHeaderDefault(salesAgreementHeader.salesAgreementHeaderDefault());
            break;

        default :
    }

    if (_agreementLine.isItemBased())
        agreementLineDefault.initFromInventTable(_agreementLine.inventTable());

    agreementLineDefault.AgreementLine  = _agreementLine.RecId;

    if (agreementLineDefault.validateWrite())
        agreementLineDefault.insert();

    // AgreementLineExt_RU
    agreementLineExt.clear();
    agreementLineExt.initFromAgreementLine(_agreementLine);

    if (_agreementLine.isItemBased())
        agreementLineExt.initFromInventTable(_agreementLine.inventTable());

    if (agreementLineExt.validateWrite())
        agreementLineExt.insert();
}
Версия Ax 2012 R2