Еще один недостаток этого метода. Бывает, что в компании, в которой производится продажа конечному клиенту, требуются данные не только номера партии, а и то, что есть в таблице партий (например, дата производства, если существует контроль и предоставление клиенту информации о сроках годности), тоже может требоваться по серийным номерам и, естественно, нужна страна по ГТД. Однако, в методе создаются записи только с номером:
X++:
if (!InventBatch::exist(toInventTrans.ItemId,inventDimUpd.InventBatchId))
{
inventBatch.clear();
inventBatch.ItemId = toInventTrans.ItemId;
inventBatch.InventBatchId = inventDimUpd.InventBatchId;
inventBatch.insert();
}
Пришлось допиливать: в исходной компании запоминать данные из соотвествующих таблиц:
X++:
while (fromInventTrans)
{
// ААК: МФД40_08_01_0003 19.03.2009 [Планирование сделок] -->
inventBatchFrom = null;
if (fromInventDim.inventBatchId)
{
inventBatchFrom = InventBatch::find(fromInventDim.inventBatchId, itemIdFrom);
}
...
А создание в компании-продавце добавлять:
X++:
if (!InventBatch::exist(toInventTrans.ItemId,inventDimUpd.InventBatchId))
{
inventBatch.clear();
inventBatch.ItemId = toInventTrans.ItemId;
inventBatch.InventBatchId = inventDimUpd.InventBatchId;
// ААК: МФД40_08_01_0003 19.03.2009 [Планирование сделок] -->
inventBatch.initFromInventBatch_OVK(inventBatchFrom);
// ААК: МФД40_08_01_0003 19.03.2009 [Планирование сделок] <--
inventBatch.insert();
}
В общем, вещи достаточно нужные, но почему-то нереализованные. А рука локализаторов вообще не касалась этого механизма. Помимо того, что в описываемом методе пришлось добавлять синхронизацию по ГТД, еще самостоятельно реализовывали настройки синхронизации росийских форматов адресов и использование этих настроек в методах InterCompanyMirror классов SalesTableType, SalesLineType и их же по закупкам, включая классы Ax*