Discussions regarding 1C:Enterprise for mobile devices with Android, iOS, or Windows Phone.

#1
People who like this: 0 Yes / 0 No
Active user
Rating: 4
Joined: Sep 1, 2014
Company: Smart ID Dynamics

I need to make a dynamic form same as in attached picture.

Picture and description came from a web service.
Picture came as hexBinary.

How i can dynamically add this pictures (by code) on a form.

I tried with image field and it didn`t work, neither as Decoration Picture.

Code
Products = GetDataFrom1C();
//Products is an array of objects of type Product ( which have properties Name - string and Image - hexbinary)   
   
If Products <> Undefined Then
      
      i = 1;
      
      For Each Product In Products Do
                  
         CurrentGroup = ThisForm.Items.Add("Product" + String(i), Type("FormGroup"),Items.MainGroup);
         CurrentGroup.Type = FormGroupType.UsualGroup;
      
         
         DecorationPicture = ThisForm.Items.Add("ProductImage" + String(i), Type("FormField"), CurrentGroup);
         DecorationPicture.Type = FormFieldType.PictureField;
         DecorationPicture.Picture = New Picture(Product.Image); //Product.Image is binary data
          
         DecorationName = ThisForm.Items.Add("ProductName" + String(i), Type("FormDecoration"), CurrentGroup);
         DecorationName.Type = FormDecorationType.Label;
         DecorationName.Title = Product.Name;
          
         //AddFormDecoration("ProductImage" + String(i),CurrentGroup, ,FormDecorationType.Picture, Product.Image);
         //AddFormDecoration("ProductName" + String(i),CurrentGroup,,FormDecorationType.Label);
         
         i = i+1;
      EndDo;

Edited: Marius Gidu - Jul 02, 2015 12:34 AM
 
#2
People who like this: 0 Yes / 0 No
Timofey Bugaevsky
Guest

Joined:
Company:

Hello,

Picture on a form is an URL of the storage where it is placed actually. Please see an example in the
How to change the picture on a button programmatically? topic.

 
#3
People who like this: 0 Yes / 0 No
Active user
Rating: 4
Joined: Sep 1, 2014
Company: Smart ID Dynamics

I tried but i get the following error :
Error setting value of context attribute (DataPath)
DecorationPicture.DataPath = PictureAddress;
because:
Invalid value


Code
Products = GetDataFrom1C();
//Products is an array of objects of type Product ( which have properties Name - string and Image - hexbinary)   
   
      
      i = 1;
      
      For Each Product In Products Do
                  
         CurrentGroup = ThisForm.Items.Add("Product" + String(i), Type("FormGroup"),Items.MainGroup);
         CurrentGroup.Type = FormGroupType.UsualGroup;
      
         PictureAddress =  PutToTempStorage(Product.Image, ThisForm.UUID);
        
         DecorationPicture = ThisForm.Items.Add("ProductImage" + String(i), Type("FormField"), CurrentGroup);
         DecorationPicture.Type = FormFieldType.PictureField;
         DecorationPicture.DataPath = PictureAddress; 
          
         
         
         i = i+1;
      EndDo;
­

 
#4
People who like this: 0 Yes / 0 No
Active user
Rating: 4
Joined: Sep 1, 2014
Company: Smart ID Dynamics

I tried even FormDecorationPicture and didn`t work.

 
#5
People who like this: 0 Yes / 0 No
Timofey Bugaevsky
Guest

Joined:
Company:

Marius, you need to create an attribute of the String type and place it on a form as a form item with Picture type.

And then assign the picture address in the temporary storage to that attribute. You can find an example in the same How to change the picture on a button programmatically? topic.

Hope, this helps.

 
Subscribe
Users browsing this topic (guests: 1, registered: 0, hidden: 0)
Be the first to know tips & tricks on business application development!

A confirmation e-mail has been sent to the e-mail address you provided .

Click the link in the e-mail to confirm and activate the subscription.

/* Улучшаем читаемость списков в документации */ .workarea ul, .content ul { margin: 15px 0 20px 25px !important; padding: 0 !important; list-style-type: disc !important; } .workarea li, .content li { margin-bottom: 8px !important; padding-left: 5px !important; line-height: 1.6 !important; } /* Ультимативный фикс для всех уровней заголовков в контенте */ .workarea h1, .workarea h2, .workarea h3, .workarea h4, .workarea h5, .workarea h6, .content h1, .content h2, .content h3, .content h4, .content h5, .content h6, div[id*="content"] h5, div[class*="content"] h5 { display: block !important; font-weight: 700 !important; color: #005aa0 !important; /* Наш фирменный синий */ text-transform: none !important; margin-top: 30px !important; margin-bottom: 15px !important; line-height: 1.2 !important; font-family: Arial, sans-serif !important; } /* Принудительные размеры в пикселях (чтобы не зависеть от % или em) */ .workarea h1, .content h1 { font-size: 28px !important; } .workarea h2, .content h2 { font-size: 24px !important; } .workarea h3, .content h3 { font-size: 21px !important; } .workarea h4, .content h4 { font-size: 19px !important; } .workarea h5, .content h5 { font-size: 18px !important; } /* Для 5 решеток ##### */ .workarea h6, .content h6 { font-size: 16px !important; } /* Фикс, если Битрикс добавил лишние отступы перед списками после заголовка */ .workarea h5 + ul, .content h5 + ul { margin-top: 5px !important; }