magento中creditmemo的自定义列

时间:2016-01-26 13:47:50

标签: magento

我正在使用Magento EE 1.14.2。 我需要新的专栏" custom_id"在creditmemos和发票中。所以我做了一个安装程序:

app/2/edit/

当我像这样保存发票时:

$installer = $this;
$installer->startSetup();
$alter = "
 ALTER TABLE sales_flat_invoice ADD COLUMN custom_id VARCHAR(30) UNIQUE COMMENT 'custom increment_id';
 ALTER TABLE sales_flat_invoice_grid ADD COLUMN custom_id VARCHAR(30) UNIQUE COMMENT 'custom increment_id';

 ALTER TABLE sales_flat_creditmemo ADD COLUMN custom_id VARCHAR(30) UNIQUE COMMENT 'custom increment_id';
 ALTER TABLE sales_flat_creditmemo_grid ADD COLUMN custom_id VARCHAR(30) UNIQUE COMMENT 'custom increment_id';
 ALTER TABLE sales_flat_creditmemo ADD COLUMN rma_increment_id VARCHAR(255);
 ALTER TABLE sales_flat_creditmemo ADD INDEX (rma_increment_id);
";
$installer->run($alter);

$installer->endSetup();
表sales_flat_invoice_grid中的

行也会更新......但是当我以相同的方式保存信用证时,sales_flat_creditmemo_grid没有更新。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我应该发布更多代码:)。交易存在问题......

旧代码:

$connection = Mage::getSingleton('core/resource')->getConnection('core_write');
$connection->beginTransaction();
$object->setCustomId($customId);
$object->save();
$incrementModel->setIncrementId($newIncrementId);
$incrementModel->save();
$connection->commit();

新代码:

$transaction = Mage::getModel('core/resource_transaction');
$object->setCustomId($customId);
$transaction->addObject($object);
$incrementModel->setIncrementId($newIncrementId);
$transaction->addObject($incrementModel);
$transaction->save();

旧代码导致save()没有运行afterSave()方法......