|
![]() |
#1 |
Участник
|
Создание шапки закупки
Разобрался. Не указал, что purchParameters::numRefPurchId() - пользовательский метод, к-рый возвращает следующее:
NumberSeqReference::findReference(typeId2ExtendedTypeId(typeid(PurchId))), т. е. находит для текущей компании ссылку в таблице NumberSeqReference. Т. е. действительно, метод NumberSeq.num() возвращал пустую строку, к-рая и пишется в PurchId, т. к. в таблице numTableNum (экземпляр NumberSequenceTable) в соотв. строке было numTableNum.restrictionLevel == RestrictionLevel::Manual ("Ручной выбор"). Исправил значение с 0 на 4 ("Изменения запрещены"), заработало. В итоге такой код добавляет шапку закупки: PurchTable purchTable; PurchTableType purchTableType; VendTable vendTable; NumberSeq purchNumberSeq; ; purchTable.initValue(); purchTable.purchStatus = PurchStatus::Backorder; purchTable.purchaseType = PurchaseType::Purch; purchTableType = purchTable.type(); purchTable.purchId = purchTableType.getNewPurchId(); purchNumberSeq = NumberSeq::newGetNum(NumberSeqReference::findReference(typeId2ExtendedTypeId(typeid(PurchId))), true); purchTable.purchId = purchNumberSeq.num(); purchTable.orderAccount = "00001"; // код поставщика purchTable.initFromVendTable(); ttsbegin; purchTable.insert(); purchTableType.purchIdUsed(); ttscommit; return purchTable; |
|