![]() |
#7 |
Участник
|
Конкретно для строк закупок проблема связана с модулем хранения версий закупок. Всякие PurchTableVersion, PurchTableHistory, PurchLineHistory...
![]() Там может получиться так, что при обновлении первой строки закупки будет установлен признак IsModified для всех остальных строк этой же закупки. В результате и получаем конфликт обновления Т.е., во-первых, ошибка "плавающая". Может быть, а может не быть. Во-вторых, первая строка всегда обновляется корректно. Проблема возникает при обновлении второй строки. Точнее, той порции строк, которые Axapta считывает "за раз" в свой кеш. И тут только reread() помогает ![]() PS: Посмотрел, где же я на это натыкался. Ситуация обратная. Признак IsModifed снимается у всех строк вот в этом методе \Classes\VersioningPurchaseOrder\archivePurchLine Соответственно, можно во все циклы по PurchLine добавлять условие X++: if (purchLine.IsModified)
{
purchLine.reread();
}
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... Последний раз редактировалось Владимир Максимов; 15.03.2019 в 15:55. |
|
|
|