Hi,
That's very strange.
What does this query give you when you run it in context of commerce database
SELECT c.[MetaFieldId], f.Name
FROM .[dbo].[MetaClassMetaFieldRelation] c
inner join [dbo].MetaField f
on c.MetaFieldId = f.MetaFieldId
where MetaClassId in (Select metaclassid from [dbo].MetaClass where Name = 'LineItem')
/Q
Hi,
Here the result for your query :
| MetaFieldId | Name |
| 557 | LineItemId |
| 558 | OrderFormId |
| 559 | OrderGroupId |
| 560 | Catalog |
| 561 | CatalogNode |
| 562 | ParentCatalogEntryId |
| 563 | CatalogEntryId |
| 564 | Quantity |
| 565 | PlacedPrice |
| 566 | ListPrice |
| 567 | LineItemDiscountAmount |
| 568 | OrderLevelDiscountAmount |
| 569 | ShippingAddressId |
| 570 | ShippingMethodName |
| 571 | ShippingMethodId |
| 572 | ExtendedPrice |
| 573 | Description |
| 574 | Status |
| 575 | DisplayName |
| 576 | AllowBackordersAndPreorders |
| 577 | InStockQuantity |
| 578 | PreorderQuantity |
| 579 | BackorderQuantity |
| 580 | InventoryStatus |
| 581 | LineItemOrdering |
| 582 | ConfigurationId |
| 583 | MinQuantity |
| 584 | MaxQuantity |
| 585 | ProviderId |
| 586 | ReturnReason |
| 587 | OrigLineItemId |
| 588 | ReturnQuantity |
| 589 | WarehouseCode |
| 590 | IsInventoryAllocated |
I've done the same query with LineItemEx because we have extra fields added to line item :
| MetaFieldId | Name |
| 307 | IsPromoItem |
| 308 | PromoMinimumAmount |
| 310 | EcoFees |
| 311 | PromoID |
| 557 | LineItemId |
| 558 | OrderFormId |
| 559 | OrderGroupId |
| 560 | Catalog |
| 561 | CatalogNode |
| 562 | ParentCatalogEntryId |
| 563 | CatalogEntryId |
| 564 | Quantity |
| 565 | PlacedPrice |
| 566 | ListPrice |
| 567 | LineItemDiscountAmount |
| 568 | OrderLevelDiscountAmount |
| 569 | ShippingAddressId |
| 570 | ShippingMethodName |
| 571 | ShippingMethodId |
| 572 | ExtendedPrice |
| 573 | Description |
| 574 | Status |
| 575 | DisplayName |
| 576 | AllowBackordersAndPreorders |
| 577 | InStockQuantity |
| 578 | PreorderQuantity |
| 579 | BackorderQuantity |
| 580 | InventoryStatus |
| 581 | LineItemOrdering |
| 582 | ConfigurationId |
| 583 | MinQuantity |
| 584 | MaxQuantity |
| 585 | ProviderId |
| 586 | ReturnReason |
| 587 | OrigLineItemId |
| 588 | ReturnQuantity |
| 589 | WarehouseCode |
| 590 | IsInventoryAllocated |
The @LineItemId seems to be the first one System Meta Field from both query.
Hi,
I think I found the problem. My website is on a migration process from 6.2 / R1 to the lastest for both product. In MetaField table, the field IsKeyField was set to False (0) for every field. Thats why @LineItemId was not the first one.
Anyway to fix this without having futur problems ? I can set manually via SQL fields from my backup (R1 Commerce) but I can miss new fields ...
Thanks!
When we call AcceptChanges on CartHelper, We got a SQL exception from this stored procedure :
ecf_LineItem_Insert
Error : The formal parameter "@AllowBackordersAndPreorders" was not declared as an OUTPUT parameter, but the actual parameter passed in requested output.
Why EPiServer code set @AllowBackordersAndPreorders as an InputOutput parameters ? @LineItemId should be InputOutput parameter according to SQL Schema.
After using decompiled sources on this version, I understand the error but I dont know how to fix it. EPiServer Code set the first MetaField from the MetaClass as an InputOutput parameter. In my case, it's @AllowBackordersAndPreorders not @LineItemId. Can I fix it to make sure @LineItemId it's the first one ?