====== (SBL-DAT-00494) Выбранная запись была удалена другим пользователем после извлечения ======
При добавлении нового работника к MVG Работники возникает ошибка:
Выбранная запись была удалена другим пользователем после извлечения. Продолжайте работу.(SBL-DAT-00494)
При установке другого Владельца для действия возникает ошибка:
- Ошибка при отборе текущей строки. Продолжайте или попросите системного администратора проверить конфигурацию приложения, если проблема сохраняется.(SBL-DAT-00292)
- Выбранная запись была удалена другим пользователем после извлечения. Продолжайте работу.(SBL-DAT-00494)
Вид "Коммерческое предоложение - Действия":
---------
''Экран: Quotes Screen\\
Представление: Quote Activities View\\
Бизнес-объект Quote\\
Аплеты: Applet[0]: Quote Form Applet; Applet[1]: Activity List Applet (Quote Order);\\
Бизнес-компоненты: BusComp[0]: Quote; BusComp[1]: Action (Quote Order);''
-----
На лист-аплете Действия "Activity List Applet (Quote Order)" есть колонки Владелец (BusComp field: "Primary Owned By") и Работники (BusComp MVG-field: "Owned By")
MVG-field "Owned By" построено на МВ-линке "Employee" (Destination Link: "Action/Employee").
BusComp field "Primary Owned By" имеет пиклист, котрый замаплен на него и "Primary Owner Id". Последнее является Primery Id Field для МВ-линка "Employee"
В обоих случаях, в логе, происходит, по сути, одинаковое:
После запросов к сущности Employee происходит апдейт:
--INSERT/UPDATE statement with ID: Unknown
UPDATE dbo.S_EVT_ACT SET MODIFICATION_NUM = MODIFICATION_NUM
WHERE ROW_ID = ? AND MODIFICATION_NUM = NULL
--Bind variable 1:
, который получает пустые параметры (для ROW_ID и MODIFICATION_NUM)
(S_EVT_ACT - это базовая таблица для действий.)
И вставка в таблицу пересечения Действия-Сотрудники (INSERT INTO dbo.S_ACT_EMP .....)
Поскольку при апдейте не получен правильный MODIFICATION_NUM, то возвращается ошибка:
ObjMgrBusCompLog Error 1 0000000254f51714:0 2015-03-03 10:24:32 (sqlobj.cpp (50126)) SBL-DAT-00523: Выбранная запись была изменена другим пользователем после извлечения. Продолжайте.
Решение:
- Создать линк "Action (Quote Order)/Employee" - такой же как "Action/Employee", кроме Parent BusComp.
- Для МВ-линка "Employee" в БК "Action (Quote Order)" указать "Destination Link" новый: "Action (Quote Order)/Employee"
Комментарий:
Похоже, что Object Manager пытается обновить родительскую запись в "Action (Quote Order)" используя линк, но в линке был указан другой БК - "Action", что привело к ошибке.
--- //[[sa2006g@gmail.com|Щербинин Сергей]] 2015/03/03 14:33//