Показать сообщение отдельно
Старый 12.07.2016, 07:56   #6  
smailik is offline
smailik
Участник
Аватар для smailik
 
250 / 70 (3) ++++
Регистрация: 10.04.2012
Адрес: Москва
Всем доброго дня. Опять повторилась ситуация описанная в первом сообщении. Стал разбираться откуда все таки берутся записи в "Местонахождении номенклатуры". Оказалось следующее, когда в журнале инвентаризации создавать строки через "Создать" - "В наличии" и в этом диалоге если не выбирать складские аналитики, то система начинает лопатить все. В результате всего этого она создает записи в "Местонахождение номенклатуры".
Class InventJournalFormTrans_ItemLocationLock
X++:
private boolean update()
{
    boolean             isOk = false;
    InventItemLocation  inventItemLocation;
    ;

    if( this.inventDimTransform() )
    {
        if( !InventItemLocation::exist( this.parmItemId(), this.inventDimIdLock() ) )
        {
            //создание строки местонахождения номенклатуры
            this.inventItemLocationCreate();
            isOk = true;
        }
        else
        {
            isOk = true;
        }
    }
    else
    {
        checkFailed( strfmt("Трансформация складской аналитики не выполнена. Номенклатура: %1. Складская аналитика: %2",
                            this.parmItemId(), this.parmInventDimId() ) );
    }

    return isOk;
}
решил посмотреть что же скрывается в if( this.inventDimTransform() )
X++:
//Получение складской аналитики, по которой будет выполняться блокировка
boolean inventDimTransform()
{
    InventDim   inventDimFrom,
                inventDimLock;
    ;

    inventDimFrom = InventDim::find( this.parmInventDimId() );
    inventDimLock = InventDim::findOrCreateBlank();

    //merge сейчас просто просатвление склада
    inventDimLock.InventLocationId = inventDimFrom.InventLocationId;

    inventDimIdLock = InventDim::findOrCreate( inventDimLock ).inventDimId;

    isTransform = true;

    return isTransform;
}
чудо из чудес, всегда возвращает true
Сейчас по плану в форме диалога сделать обязательными аналитики "Сайт" и "Склад"