Рассмотрю пример реализации добавления фото в карточку продукта.

Итак, необходимо выполнить следующие действия:
1. Запустите TSAdmin. exe. Откройте сервис tbl_Offering (Offerings -> General -> MainGrid -> tbl_Offering).

2. Добавьте новое поле с типом "Большой бинарный объект. Сохраните внесенные изменения.

3. Откройте сервис sq_Offering и добавьте новое поле. Сохраните внесенные изменения.

4. Откройте сервис ds_Offering и добавьте в него поле с типом "Бинарное поле". В поле "Заголовок" Вам нужно указать заголовок поля именно таким, как оно должно отображаться в рабочем приложении. Сохраните внесенные изменения.

5. Откройте сервис wnd_OfferingEdit. Для компонента frmData добавьте новый элемент Pages

6. Присвойте Pages нужные свойства

7. К созданному Pages добавьте еще один Page

Присвойте ему в свойстве Caption название

8. Добавьте новый Frame

Присвойте ему нужные свойства

9. Перетяните все компоненты карточки на этот Frame (перетягивать мышью). Затем сохраните изменения и переоткройте карточку, чтобы она приняла привычный вид

10. Для frmData измените свойства

11. Для элемента Pages создайте еще один Page

12. Присвойте ему нужные свойства

Таким образом, Вы отделили основные данные на одну закладку

13. Создайте во втором Page новый Frame

Присвойте ему нужные свойства

14. Добавьте новое поле типа ImageDataControl

Присвойте ему необходимые свойства. Сперва нужно выбрать значение dlData в свойстве DatasetLink, затем поле Photo в свойстве DataFieldName

15. В этом же Frame нужно добавить элемент Button

Присвойте кнопке свойства:

16. Перейдите на закладку «События» и создайте обработчик события OnClick. Для этого нужно кликнуть дважды в правой части этого поля. В результате Вы перейдете в скрипт, в обработчик этого события

В скрипте нужно прописать следующие строки:

var FileName = GetNewValue();

if (System. OpenDialog(FileName, '', '', '', '')) { // Показ диалога выбора файла с фото

dlData. Dataset. DataFields('Photo').LoadFromFile(FileName. Value); // Загрузка изображения из файла в поле данных

Полный текст функции принимает вид:

function ButtonOnClick(Control) {

var FileName = GetNewValue();

if (System. OpenDialog(FileName, '', '', '', '')) { // Показ диалога выбора файла с фото

dlData. Dataset. DataFields('Photo').LoadFromFile(FileName. Value); // Загрузка изображения из файла в поле данных

}

Проверьте правильность написания скрипта:

Сохраните все внесенные изменения. Перезапустите рабочее приложение Terrasoft CRM и протестируйте работоспособность карточки редактирования.