Цитата:
Сообщение от
smailik
X++:
salesLineSlave.SalesLineMaster = SalesLine::findItemId(salesTable.SalesId, inventTableLocal.ItemId).RecId;
эта строчка сохраняет в переменной. но не в базе.
Цитата:
Сообщение от
smailik
X++:
inventTableLocal = InventTable::find(salesLineSlave.salesLineMaster().ItemId);
стопудов, метод salesLineMaster() содержит select и ищет запись в базе, которую вы не обновили.
а что показывает отладчик?
похоже, что в голове нужно уложить две вещи:
1. есть записи в базе (это не грид и не переменные)
2. гриды, датасорсы и переменные могут содержать значения, которые когда-то были прочитаны из базы. эти копии могут не совпадать с актуальными значениями в базе.
любой query/select ищет не в переменных, а в базе.
чтобы из переменных сохранить в базу, нужно вызывать метод insert/update.
=========================
сохранять значения в базу внутри метода edit можно.
но такое поведение будет неожиданным не только для программистов и для аксапты, но и для пользователей.