Показать сообщение отдельно
Старый 03.04.2015, 09:49   #2  
FrolovAndy is offline
FrolovAndy
Участник
 
71 / 45 (2) +++
Регистрация: 13.09.2007
Борьба продолжается ) Погуглил на предмет аналогичных проблем, выяснилось что подобный инфолог в некоторых ситуациях так или иначе вылазил, но судя по всему по каким-то другим причинам - во-первых, происходило это не только из-за установки значения "Количество" в "Отборочная накладная", а во-вторых, лечилось простой чисткой таблицы SalesParmSubLine.

Пока что довольствуемся такой вот заглушкой:
X++:
while select forceplaceholders _salesParmTable
                where _salesParmTable.ParmId == salesParmUpdate.ParmId
                join  forupdate _salesParmSubTable
                    where _salesParmSubTable.ParmId     == _salesParmTable.ParmId       &&
                          _salesParmSubTable.TableRefId == _salesParmTable.TableRefId
        {
            // bug fix -->
            if (prevRecId && (prevRecId == _salesParmSubTable.RecId))
            {
                continue;
            }
            prevRecId = _salesParmSubTable.RecId;
            // bug fix <--
  
            // остальной код ...
Но понятное дело что это лечение следствия а не причины. Причина в чем-то другом.

Коллеги, неужели никто ни разу не сталкивался с таким поведением?

Последний раз редактировалось FrolovAndy; 03.04.2015 в 09:52.
За это сообщение автора поблагодарили: konfet (2), madm (1).