lazhen
2024-12-11 f259326e9055b18b369a14d4b49e6e9af37ae749
_Main/BL/Type_ShippingActualData/StaticMethod_Synchronize.qbl
@@ -53,15 +53,23 @@
      }
      beforerowsize := owner.ShippingActualRow( relsize );
      traverse( sadatalist, Elements, e ){
        row := selectobject( owner, ShippingActualRow, row, row.Name() = e.FourCode() );
        row := selectobject( owner, ShippingActualRow, row, row.Name() = e.FourCode() and row.Fac() = e.Fac() );
        if( isnull( row ) ){
          row := owner.ShippingActualRow( relnew, Name := e.FourCode() );
          row := owner.ShippingActualRow( relnew, Name := e.FourCode(), Fac := e.Fac() );
        }
        
        cell := row.ShippingActualCell( relnew, Quantity := e.Quantity() );
        column.ShippingActualCell( relinsert, cell );
      }
      if( beforerowsize <> owner.ShippingActualRow( relsize ) ){
        traverse( owner, ShippingActualColumn, sacolumn ){
          traverse( owner, ShippingActualRow, row ) {
            if( not exists( row, ShippingActualCell, cell, cell.ShippingActualColumn() = sacolumn ) ){
              cell := row.ShippingActualCell( relnew, Quantity := 0 );
              sacolumn.ShippingActualCell( relinsert, cell );
            }
          }
        }
        rows := selectsortedset( owner, ShippingActualRow, row, row.Name() );
        nr    := 0;
        traverse( rows, Elements, e ){