Показать сообщение отдельно
Старый 12.03.2009, 11:46   #7  
Antoncheg is offline
Antoncheg
Участник
 
41 / 11 (1) +
Регистрация: 29.02.2008
X++:
str findSerialNumbersFromWMS(SnQueryTableTmp _SnQ)
{

 WMSRoute     WMSRoute;
    SalesLine   SalesLine;
    InventSerialNumbers InventSerialNumbers;
    ItemFreeTxt txt = "";
    ;
    while select InventSerialNumbers
    exists join WMSRoute
        where (WMSRoute.WMSShippingId like InventSerialNumbers.DocId)
        && (WMSRoute.LineNum == InventSerialNumbers.DocLineNum)
        && (WMSRoute.ItemId == InventSerialNumbers.ItemId)
    exists join SalesLine
        where (SalesLine.RecId == WMSRoute.SalesLineRecId)
        && (SalesLine.ItemId == _SnQ.Itemid)
        && (SalesLine.SalesId == _SnQ.SalesId)
    {
        txt += ","+InventSerialNumbers.SerialId ;//+ " -> " + num2str(InventSerialNumbers.Qty,1,0,1,0) + "шт. ";
    }
    return txt;

}
Вот метод, который ищет серийники. С выводом их проблем нет. Все таки, я грешу на то, что не хватает длины строки. Тем более, что в отгрузку может попасть партия из 300 единиц одной номенклатуры и 500, что подразумевает более объемного формата строки.