Нет, не сложно, привожу.
В моей реализации это выглядело так (на эктив СалесЛайна)
X++:
// ZVV, 29.11.2007, Bug Fix -->
if (inventDim.InventDimId != salesLine.inventDimId)
{
InventDim.data(salesLine.inventDim());
inventDim_ds.setCurrent();
}
// ZVV, 29.11.2007, Bug Fix <--
практически тоже самое что и у Вас...