Kaynağa Gözat

161110
add offline sales order

Ray Zhang 9 yıl önce
ebeveyn
işleme
3327a52ef3

BIN
RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/xcuserdata/Ray.xcuserdatad/UserInterfaceState.xcuserstate


+ 168 - 56
RedAnt ERP Mobile/RedAnt ERP Mobile.xcworkspace/xcuserdata/Ray.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -202,11 +202,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "500261616.712663"
+            timestampString = "500455350.392929"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "494"
-            endingLineNumber = "494"
+            startingLineNumber = "1046"
+            endingLineNumber = "1046"
             landmarkName = "+offline_request_tearsheet:"
             landmarkType = "7">
          </BreakpointContent>
@@ -570,11 +570,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "500261616.712663"
+            timestampString = "500455350.392929"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "10441"
-            endingLineNumber = "10441"
+            startingLineNumber = "10996"
+            endingLineNumber = "10996"
             landmarkName = "+offline_savePDF:direct:"
             landmarkType = "7">
          </BreakpointContent>
@@ -586,11 +586,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "500261616.712663"
+            timestampString = "500455350.392929"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "505"
-            endingLineNumber = "505"
+            startingLineNumber = "1057"
+            endingLineNumber = "1057"
             landmarkName = "+offline_request_tearsheet:"
             landmarkType = "7">
          </BreakpointContent>
@@ -634,11 +634,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "500261616.712663"
+            timestampString = "500455350.392929"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "10406"
-            endingLineNumber = "10406"
+            startingLineNumber = "10961"
+            endingLineNumber = "10961"
             landmarkName = "+offline_savePDF:direct:"
             landmarkType = "7">
          </BreakpointContent>
@@ -650,11 +650,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "500261616.712663"
+            timestampString = "500455350.392929"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "10233"
-            endingLineNumber = "10233"
+            startingLineNumber = "10788"
+            endingLineNumber = "10788"
             landmarkName = "+offline_portfolioList:"
             landmarkType = "7">
          </BreakpointContent>
@@ -666,11 +666,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "500261616.712663"
+            timestampString = "500455350.392929"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "10337"
-            endingLineNumber = "10337"
+            startingLineNumber = "10892"
+            endingLineNumber = "10892"
             landmarkName = "+offline_savePDF:direct:"
             landmarkType = "7">
          </BreakpointContent>
@@ -682,11 +682,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "500261616.712663"
+            timestampString = "500455350.392929"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "10377"
-            endingLineNumber = "10377"
+            startingLineNumber = "10932"
+            endingLineNumber = "10932"
             landmarkName = "+offline_savePDF:direct:"
             landmarkType = "7">
          </BreakpointContent>
@@ -762,11 +762,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/RAUtils.m"
-            timestampString = "499757994.506583"
+            timestampString = "500449739.081135"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "251"
-            endingLineNumber = "251"
+            startingLineNumber = "291"
+            endingLineNumber = "291"
             landmarkName = "+rectVAlign:rect:vAlign:"
             landmarkType = "7">
          </BreakpointContent>
@@ -1002,11 +1002,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "iSales-NPD/AppDelegate.m"
-            timestampString = "500261616.712663"
+            timestampString = "500449739.081135"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1771"
-            endingLineNumber = "1771"
+            startingLineNumber = "1769"
+            endingLineNumber = "1769"
             landmarkName = "-download_offline:checkdiskspace:"
             landmarkType = "7">
          </BreakpointContent>
@@ -1018,11 +1018,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/RAUtils.m"
-            timestampString = "499756839.703485"
+            timestampString = "500449739.081135"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "224"
-            endingLineNumber = "224"
+            startingLineNumber = "264"
+            endingLineNumber = "264"
             landmarkName = "+get_config_path"
             landmarkType = "7">
          </BreakpointContent>
@@ -1034,11 +1034,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "iSales-NPD/AppDelegate.m"
-            timestampString = "499920587.883901"
+            timestampString = "500449739.081135"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1287"
-            endingLineNumber = "1287"
+            startingLineNumber = "1285"
+            endingLineNumber = "1285"
             landmarkName = "-upload_offline:useInternalAddress:orderid:"
             landmarkType = "7">
          </BreakpointContent>
@@ -1114,11 +1114,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "500261616.712663"
+            timestampString = "500455350.392929"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "10486"
-            endingLineNumber = "10486"
+            startingLineNumber = "11041"
+            endingLineNumber = "11041"
             landmarkName = "+offline_pdfList:"
             landmarkType = "7">
          </BreakpointContent>
@@ -1381,7 +1381,7 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            shouldBeEnabled = "Yes"
+            shouldBeEnabled = "No"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/order/OrderDetailViewController.m"
@@ -1397,15 +1397,15 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            shouldBeEnabled = "Yes"
+            shouldBeEnabled = "No"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/order/OrderDetailViewController.m"
-            timestampString = "499934338.390097"
+            timestampString = "500458347.801022"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "362"
-            endingLineNumber = "362"
+            startingLineNumber = "373"
+            endingLineNumber = "373"
             landmarkName = "-onDownloadOrderClick:"
             landmarkType = "7">
          </BreakpointContent>
@@ -1465,11 +1465,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "500261616.712663"
+            timestampString = "500455350.392929"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2143"
-            endingLineNumber = "2143"
+            startingLineNumber = "2698"
+            endingLineNumber = "2698"
             landmarkName = "+offline_model:"
             landmarkType = "7">
          </BreakpointContent>
@@ -1481,11 +1481,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "500261616.712663"
+            timestampString = "500455350.392929"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "3949"
-            endingLineNumber = "3949"
+            startingLineNumber = "4504"
+            endingLineNumber = "4504"
             landmarkName = "+model_selector:field:db:"
             landmarkType = "7">
          </BreakpointContent>
@@ -1497,11 +1497,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "500261616.712663"
+            timestampString = "500455350.392929"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "3917"
-            endingLineNumber = "3917"
+            startingLineNumber = "4472"
+            endingLineNumber = "4472"
             landmarkName = "+model_property:field:db:"
             landmarkType = "7">
          </BreakpointContent>
@@ -1545,11 +1545,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "iSales-NPD/AppDelegate.m"
-            timestampString = "500261616.712663"
+            timestampString = "500449739.081135"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2221"
-            endingLineNumber = "2221"
+            startingLineNumber = "2219"
+            endingLineNumber = "2219"
             landmarkName = "-connectionDidFinishLoading:"
             landmarkType = "7">
          </BreakpointContent>
@@ -1641,11 +1641,11 @@
             ignoreCount = "0"
             continueAfterRunningActions = "No"
             filePath = "common/Functions/offline/OLDataProvider.m"
-            timestampString = "500266916.705693"
+            timestampString = "500455350.392929"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "490"
-            endingLineNumber = "490"
+            startingLineNumber = "1042"
+            endingLineNumber = "1042"
             landmarkName = "+offline_request_tearsheet:"
             landmarkType = "7">
          </BreakpointContent>
@@ -1682,5 +1682,117 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/Functions/offline/OLDataProvider.m"
+            timestampString = "500455350.392929"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "2206"
+            endingLineNumber = "2206"
+            landmarkName = "+get_model_default_price:product_id:item_id:db:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/Functions/category/CategoryViewController.m"
+            timestampString = "500441370.200465"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "1096"
+            endingLineNumber = "1096"
+            landmarkName = "-onCategoryClick:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/RAUtils.m"
+            timestampString = "500449739.081135"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "230"
+            endingLineNumber = "230"
+            landmarkName = "+generateBarCode:width:height:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "No"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "iSales-NPD/AppDelegate.m"
+            timestampString = "500449739.081135"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "776"
+            endingLineNumber = "776"
+            landmarkName = "-application:didFinishLaunchingWithOptions:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/Functions/offline/OLDataProvider.m"
+            timestampString = "500455350.392929"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "1021"
+            endingLineNumber = "1021"
+            landmarkName = "+offline_request_salesorder:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/Functions/offline/OLDataProvider.m"
+            timestampString = "500455079.755214"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "1008"
+            endingLineNumber = "1008"
+            landmarkName = "+offline_request_salesorder:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
+      <BreakpointProxy
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         <BreakpointContent
+            shouldBeEnabled = "Yes"
+            ignoreCount = "0"
+            continueAfterRunningActions = "No"
+            filePath = "common/Functions/order/OrderDetailViewController.m"
+            timestampString = "500458176.382189"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "362"
+            endingLineNumber = "362"
+            landmarkName = "-onDownloadOrderClick:"
+            landmarkType = "7">
+         </BreakpointContent>
+      </BreakpointProxy>
    </Breakpoints>
 </Bucket>

+ 4 - 0
RedAnt ERP Mobile/common/Functions/offline/OLDataProvider.h

@@ -9,6 +9,10 @@
 #import <UIKit/UIKit.h>
 
 @interface OLDataProvider : NSObject
+
+//sales order
++(NSData*) offline_request_salesorder :(NSMutableDictionary *) params;
+
 +(NSDictionary*) offline_category :(NSMutableDictionary *) params;
 +(NSDictionary*) offline_search :(NSMutableDictionary *) params;
 +(NSDictionary*) offline_itemsearch :(NSMutableDictionary *) params;

Dosya farkı çok büyük olduğundan ihmal edildi
+ 12 - 0
RedAnt ERP Mobile/common/Functions/offline/OLDataProvider.m


+ 30 - 6
RedAnt ERP Mobile/common/Functions/order/OrderDetailViewController.m

@@ -302,7 +302,7 @@
 }
 - (void)onDownloadOrderClick:(id)sender {
     
-    
+    AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
     
     PDFViewController *ViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"PDFViewController"];
     
@@ -356,6 +356,17 @@
     
     
     UIAlertAction *actionOne = [UIAlertAction actionWithTitle:@"With Thumbnails" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
+        
+        if(appDelegate.offline_mode)
+        {
+            NSMutableDictionary* params = [@{
+                                            @"type" : @"1",
+                                            @"order_code" : self.order_code,
+                                            } mutableCopy];
+            [OLDataProvider  offline_request_salesorder:params];
+        }
+        else
+        {
         NSString* url=[self.content_data valueForKey:@"pdfUrl"];
         
         
@@ -366,15 +377,28 @@
         
         
         [self.navigationController pushViewController:ViewController animated:YES];
-        
+        }
         
     }];
     
     UIAlertAction *alertthree = [UIAlertAction actionWithTitle:@"Without Thumbnails" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
-        NSString* url=[self.content_data valueForKey:@"pdfUrl"];
-        NSLog(@"pdf url:%@",url);
-        ViewController.url = url;
-        [self.navigationController pushViewController:ViewController animated:YES];
+        
+        if(appDelegate.offline_mode)
+        {
+            NSMutableDictionary* params = [@{
+                                             @"type" : @"0",
+                                             @"order_code" : self.order_code,
+                                             } mutableCopy];
+            [OLDataProvider  offline_request_salesorder:params];
+        }
+        else
+        {
+            NSString* url=[self.content_data valueForKey:@"pdfUrl"];
+            NSLog(@"pdf url:%@",url);
+            ViewController.url = url;
+            [self.navigationController pushViewController:ViewController animated:YES];
+        }
+
         
     }];
     

+ 2 - 2
RedAnt ERP Mobile/common/RAUtils.h

@@ -53,8 +53,8 @@ typedef void (^add_to_cart_Handler)(void);
 +(UIImage*)img_compress:(UIImage*)image kbsize:(float) size;
 +(NSString* )current_date;
 +(NSMutableArray*)dictionary2array:(NSDictionary*)json count_fields:(NSString*) count_fields item_mark:(NSString*) item_mark items_mark:(NSString* )items_mark;
-
-
++(UIImage*)generateBarCode:(NSString*)barCodeStr width:(CGFloat)width height:(CGFloat)height;
++(UIImage*)generateQRCode:(NSString*)barCodeStr width:(CGFloat)width height:(CGFloat)height;
 +(void) add_recent_model:(NSDictionary*) model;
 + (long long) freeDiskSpaceInMegaBytes;
 

+ 40 - 0
RedAnt ERP Mobile/common/RAUtils.m

@@ -219,6 +219,46 @@
     
 }
 
++(UIImage*)generateBarCode:(NSString*)barCodeStr width:(CGFloat)width height:(CGFloat)height
+{
+    // 生成二维码图片
+    CIImage *barcodeImage;
+    NSData *data = [barCodeStr dataUsingEncoding:NSISOLatin1StringEncoding allowLossyConversion:false];
+    CIFilter *filter = [CIFilter filterWithName:@"CICode128BarcodeGenerator"];
+    
+    [filter setValue:data forKey:@"inputMessage"];
+    barcodeImage = [filter outputImage];
+    
+    // 消除模糊
+    CGFloat scaleX = width / barcodeImage.extent.size.width; // extent 返回图片的frame
+    CGFloat scaleY = height / barcodeImage.extent.size.height;
+    CIImage *transformedImage = [barcodeImage imageByApplyingTransform:CGAffineTransformScale(CGAffineTransformIdentity, scaleX, scaleY)];
+    
+    return [UIImage imageWithCIImage:transformedImage];
+    
+}
+
++(UIImage*)generateQRCode:(NSString*)barCodeStr width:(CGFloat)width height:(CGFloat)height
+{
+    {
+        // 生成二维码图片
+        CIImage *barcodeImage;
+        NSData *data = [barCodeStr dataUsingEncoding:NSISOLatin1StringEncoding allowLossyConversion:false];
+        CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
+        
+        [filter setValue:data forKey:@"inputMessage"];
+        barcodeImage = [filter outputImage];
+        
+        // 消除模糊
+        CGFloat scaleX = width / barcodeImage.extent.size.width; // extent 返回图片的frame
+        CGFloat scaleY = height / barcodeImage.extent.size.height;
+        CIImage *transformedImage = [barcodeImage imageByApplyingTransform:CGAffineTransformScale(CGAffineTransformIdentity, scaleX, scaleY)];
+        
+        return [UIImage imageWithCIImage:transformedImage];
+        
+    }
+}
+
 +(NSString*) get_config_path
 {
     NSString *default_path = [[NSBundle mainBundle] pathForResource:@"config" ofType:@"plist"];

+ 4 - 0
RedAnt ERP Mobile/iSales-NPD.xcodeproj/project.pbxproj

@@ -33,6 +33,7 @@
 		42E58C021D7E735A0092810A /* UIColor+JK_HEX.m in Sources */ = {isa = PBXBuildFile; fileRef = 42E58C011D7E735A0092810A /* UIColor+JK_HEX.m */; };
 		42F637521DB2178E00605C4B /* JKMessageBoxController.m in Sources */ = {isa = PBXBuildFile; fileRef = 42F637511DB2178E00605C4B /* JKMessageBoxController.m */; };
 		710274251CC606C4009FD219 /* UserListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 710274241CC606C4009FD219 /* UserListViewController.m */; };
+		71073AE61DD41DD8001BC653 /* so.json in Resources */ = {isa = PBXBuildFile; fileRef = 71073AE51DD41DD8001BC653 /* so.json */; };
 		7111E5721C76C557004763B3 /* customer_info_template_edit.json in Resources */ = {isa = PBXBuildFile; fileRef = 7111E5711C76C557004763B3 /* customer_info_template_edit.json */; };
 		71131F921CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 71131F911CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.m */; };
 		712AFED71DBA050200254965 /* BasicDrawable.m in Sources */ = {isa = PBXBuildFile; fileRef = 712AFEC61DBA050200254965 /* BasicDrawable.m */; };
@@ -280,6 +281,7 @@
 		6C826876B24EFB83AC94A464 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = "<group>"; };
 		710274231CC606C4009FD219 /* UserListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UserListViewController.h; path = common/Functions/sidemenu/UserListViewController.h; sourceTree = SOURCE_ROOT; };
 		710274241CC606C4009FD219 /* UserListViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UserListViewController.m; path = common/Functions/sidemenu/UserListViewController.m; sourceTree = SOURCE_ROOT; };
+		71073AE51DD41DD8001BC653 /* so.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = so.json; sourceTree = "<group>"; };
 		7111E5711C76C557004763B3 /* customer_info_template_edit.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; name = customer_info_template_edit.json; path = common/Functions/contact/customer_info_template_edit.json; sourceTree = SOURCE_ROOT; };
 		71131F901CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SimplifiedBuyingProgramViewController.h; path = common/Functions/sidemenu/SimplifiedBuyingProgramViewController.h; sourceTree = SOURCE_ROOT; };
 		71131F911CA1372300DBF6E2 /* SimplifiedBuyingProgramViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SimplifiedBuyingProgramViewController.m; path = common/Functions/sidemenu/SimplifiedBuyingProgramViewController.m; sourceTree = SOURCE_ROOT; };
@@ -908,6 +910,7 @@
 			isa = PBXGroup;
 			children = (
 				712AFEE61DBDB48000254965 /* portfolio_3x2.json */,
+				71073AE51DD41DD8001BC653 /* so.json */,
 				71D5016B1DC32C3300971FBB /* portfolio_2x3.json */,
 			);
 			name = template;
@@ -1523,6 +1526,7 @@
 				42C9FB151D5B28FA001DCA8B /* contactAdvanceSearch.json in Resources */,
 				7161FEB51D61B24900157EE1 /* creditcardpayment.html in Resources */,
 				71777FC61C8AC97300DA2511 /* debug_category_filter.json in Resources */,
+				71073AE61DD41DD8001BC653 /* so.json in Resources */,
 				712AFEE71DBDB48000254965 /* portfolio_3x2.json in Resources */,
 				71E5A0101DC99370005BF655 /* config.plist in Resources */,
 				71DF74951C57614C00F2789C /* PhotoBorder.png in Resources */,

+ 1 - 1
RedAnt ERP Mobile/iSales-NPD/AppDelegate.m

@@ -772,7 +772,7 @@ void UncaughtExceptionHandler(NSException *exception) {
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
 
-    
+
     
 //    [RAUtils expression_varable:nil regex:nil];
     self.disable_trigger = false;

+ 186 - 0
RedAnt ERP Mobile/iSales-NPD/so.json

@@ -0,0 +1,186 @@
+{
+    "paper": {
+        "width": 612,
+        "height": 792
+    },
+    "pages": {
+        "count": 1,
+        "page_0": {
+            "name": "content page",
+            "header": {
+                "type": "group",
+                "x": 0,
+                "y": 0,
+                "width": 572,
+                "height": 266,
+                "items": {
+                    "count": 2,
+                    "item_0": {
+                        "type": "img",
+                        "hAlign": "Left",
+                        "vAlign": "Middle",
+                        "source": "portfolio_logo_s",
+                        "source_type": "const",
+                        "x": 0,
+                        "y": 0,
+                        "width": 175,
+                        "height": 52
+                    },
+                    "item_1": {
+                        "type": "img",
+                        "source": "img_barcode",
+                        "source_type": "data",
+                        "source_path_type": "local",
+                        "hAlign": "Center",
+                        "vAlign": "Middle",
+                        "x": 331,
+                        "y": 5,
+                        "width": 240,
+                        "height": 22
+                    }
+                }
+            },
+            "footer": {
+                "type": "group",
+                "x": 0,
+                "y": 734,
+                "width": 572,
+                "height": 18,
+                "items": {
+                    "count": 2,
+                    "item_0": {
+                        "type": "text",
+                        "source": "create_time",
+                        "source_type": "data",
+                        "textAlignment": "Left",
+                        "vAlign": "Middle",
+                        "x": 5,
+                        "y": 2,
+                        "width": 119,
+                        "height": 14
+                    },
+                    "item_1": {
+                        "type": "text",
+                        "source": "PAGE_INDEX",
+                        "source_type": "data",
+                        "source_isexpression": true,
+                        "textAlignment": "Right",
+                        "vAlign": "Middle",
+                        "x": 468,
+                        "y": 2,
+                        "width": 104,
+                        "height": 14
+                    }
+                }
+            },
+            "margin_left": 20,
+            "margin_right": 20,
+            "margin_top": 20,
+            "margin_bottom": 20,
+            "contents": {
+                "count": 0,
+                "item_0": {
+                    "type": "grid",
+                    "data_source": "grid0",
+                    "cell": {
+                        "direction": "H",
+                        "duplicate": 0,
+                        "data_source": "cell0",
+                        "type": "group",
+                        "x": 0,
+                        "y": 0,
+                        "width": 286,
+                        "height": 231,
+                        "items": {
+                            "count": 7,
+                            "item_1": {
+                                "type": "img",
+                                "source": "img_qr",
+                                "source_type": "data",
+                                "source_path_type": "local",
+                                "hAlign": "Center",
+                                "vAlign": "Middle",
+                                "x": 20,
+                                "y": 20,
+                                "width": 51,
+                                "height": 51
+                            },
+                            "item_0": {
+                                "type": "img",
+                                "source": "img",
+                                "source_type": "data",
+                                "hAlign": "Center",
+                                "vAlign": "Middle",
+                                "x": 101,
+                                "y": 0,
+                                "width": 93,
+                                "height": 101
+                            },
+                            "item_2": {
+                                "type": "text",
+                                "source": "special_price",
+                                "source_type": "data",
+                                "size": "10",
+                                "bold": true,
+                                "color": "0xff0000",
+                                "x": 195,
+                                "y": 87,
+                                "width": 90,
+                                "height": 20
+                            },
+                            "item_3": {
+                                "type": "text",
+                                "source": "name",
+                                "source_type": "data",
+                                "size": "12",
+                                "bold": true,
+                                "x": 4,
+                                "y": 103,
+                                "width": 188,
+                                "height": 23
+                            },
+                            "item_4": {
+                                "type": "text",
+                                "source": "description",
+                                "source_type": "data",
+                                "size": "9",
+                                "bold": true,
+                                "x": 4,
+                                "y": 126,
+                                "width": 282,
+                                "height": 31
+                            },
+                            "item_5": {
+                                "type": "text",
+                                "source": "price",
+                                "source_type": "data",
+                                "size": "10",
+                                "bold": true,
+                                "x": 195,
+                                "y": 106,
+                                "width": 90,
+                                "height": 20
+                            },
+                            "item_6": {
+                                "type": "text",
+                                "source": "detail",
+                                "source_type": "data",
+                                "ishtml": true,
+                                "size": "8",
+                                "bold": false,
+                                "x": 4,
+                                "y": 157,
+                                "width": 282,
+                                "height": 72
+                            }
+                        }
+                    },
+                    "x": 0,
+                    "y": 0,
+                    "width": 752,
+                    "height": 491
+                }
+            }
+        }
+    }
+}

Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor