теперь напишу про свойства столбцов представления, и вывода их значений

Вот тут и возникают представления. по сути говоря, представление - это таблица, со столбцами, т.н. обрабатывающими данные из всех выбранных документов (т.е. одна строка - один документ) в столбцах таблицы может выводиться как просто значение поля, так и какая-нибудь дополнительная информация, либо информация, основанная на содержании нескльких полей - тут на что хватит фантазии впринципе)
основное окно и свойства представлений:



элементы (строки) данного диалога могут задаваться разными способами:
при использовании @-формулы, указаная формула должна возвращать текстовый список, а со столбцами представления ещё не разбирался - сам отлько что узнал =))))
Служит для ввода даты и времени, особое внимание заслуживает внешний стиль Calendar/Time Control (устанавливается на первой закладке), который позволяет отобразить поле в виде календаря или шкалы времени:

наименование поля - это имя поля, по которому вы будете в последствии обращаться к этому полю, так что давайте осознаные имена для полей, на английскомвнешний стиль - как это поле будет выглядеть (некоторые поля не позволяют выбирать внешний стиль, а у некоторых смена стиля, наоборот. улучшает способ отображения и восприятия информции, соаржащейся в этом поле). В данном случае (Text field) перекючение на Native OS style позволяет задать полю ширину, высоту и тип рамки (на второй закладки), а так же добавляет возможность многострочного ввода текста


преобразование строки в список
@Explode( string ) - разбивает строку string на элементы, "разделителем" в данном случае является пробел, символы табуляции и новой строки, а так же спец-символы
@Explode( string ; separators ) - разбивает строку string на элементы, испльзуя в качестве "разделителя" символы из строки separators
@Explode( string ; separators ; includeEmpties ) - как и предыдущая функция, но если параметр includeEmpties true (1), то в возвращаемом списке пустые строки не будут исключены (по умолчанию параметр includeEmpties равен false)
@Explode( string ; separators ; includeEmpties ; newlineAsSeparator ) - как предыдущая функция, параметр newLineAsSeparator, будучи true указывает, что символ новой строки так же является "разделителем" (по умолчанию - true (1))
ex @Explode("Здравствуйте, товарисчи!"); вернёт "Здравствуйте":"товарисчи!"; @Explode("hello, world!";", ";1); вернёт "hello":"":"world!"
преобразование списка в строку
@Implode( textList ) - объединяет элементы текстового списка textList в строку, разделяя пробелами каждый элемент
@Implode( textList ; separator ) - работает так же, как и предыдущий, разделяя каждый элемент строкой separator
ex @Implode("hello":"world"); вернёт строку "hello world"; @Implode("a":"b":"c";", "); вернёт строку "a, b, c"
списки в собако-формуле это что-то типа массива и списка одновременно, соответственно элементы одного списка должны быть одинаковы! вот как-то так =) элементы списка задаются через двоеточие ex 2:3:4:5 - числовой список; "hello":"world" - строковый список, допускается список дат и времени
соединение списков также происходит через двоеточие ex list_a:"new element"; list_a:list_b;
сложение списков
одиночное сложение element+list - к каждому элементу списка прибавится element ex "new_"+"a":"b":"c" даст в результате список "new_a":"new_b":"new_c"; 2+3:4:5 даст 5:6:7
парное сложение list+list - сложение двух списков - обычно производятся со списками одинаковой длины, элемент первого списка складывается с аналогичным элментом второго списка ex "Bill":"Linus"+"Gates":"Torvalds" даст нам "Bill Gates":"Linus Torvalds"; 10:15+3:5 даст 13:20
по-парное сложение list*+list - каждый элемент складывается с каждым ex "a":"b"*+"c":"d" даст "ac":"ad":"bc":"bd"; 2:3*+5:10 даст 7:12:8:13
(sic!) для числовых списков также доступны операции деления, умножения и вычитания одиночного, парного и по-парного вариантов
@LowerCase(string) - преобразование всех символов строки string к нижнему регистру ex @LowerCase("АдинАдиН!!ЧепяКА"); вернёт "адинадин!!чепяка"
@UpperCase(string) - преобразование всех символов строки string к верхнему регистру ex @UpperCase("не капси!!"); вернёт "НЕ КАПСИ!!"
@ProperCase(string) - преобразование первых символов каждого слова строки string к верхнему регистру, а остальных символов - к нижнему (слово - набор букв без пробелов, разделителем является дефис, пробел и прочие спец-символы) ex @ProperCase("салтыков-щедрИН никиФОР ИВАНЫЧ"); вернёт "Салтыков-Щедрин Никифор Иваныч"
@Left - выдление строки слева направо
@Left( stringToSearch ; numberOfChars ) - стандартное выделение, возвращает подстроку строки stringToSearch, слева длиной numberOfChars; ex @Left("hello, world!", 4); вернёт "hell"
@Left( stringToSearch ; subString ) - функция посложней, она возвращает подстроку строки stringToSearch слева и до найденного значения subString; если subString не найден - вернёт пустую строку; ex @Left("Make love, no war!","no"); вернёт "Make love, "
@Right
аналогичен @Left, но ищет справа, приведу примеры:
@Right("Hello, world!",6); вернёт "world!"
@Right("Make love, no war!", "love"); вернёт ", no war!"
@Formula intro
собака-формула - шустренький, достаточно простой язык для работы с текстом, числами, ячейками и прочим
все функции @F начинаются с символа at - @, отсюда и название =)
разделителем параметров является точка с запятой, а не запятая, как (сужу по себе) многие привыкли, в конце строки также ставится точка с запятой; флаги указываются в [квадратных скобках], но обычно это есть в хелпе есичё =)
Field визуальные свойства*
name - имя поля
type (первый список) позволяет выбрать вид поля и тип хранимых данных
text - для хранения текста
date/time - хранения даты/времени
number - хранение чисел
dialog list - появляется диалог с выбором варианта/тов
check box - список значений с множественным выбором
radiobutton - список значений с единственным выбором
listbox - список значений
rich text - форматированный текст
password - поле для ввода пароля (вводимый текст маскируется звёздочками)
type (второй список) задаёт "назначение" поля
editable - поле для ввода данных пользователем
"вычисляемые поля" - поля, значения которых вычисляются по заданным формулам, пользователь не может их изменить
computed - значение вычисляется каждый раз при сохранении документа. сохраняется в документе
computed for display - значение вычисляется лишь при открытии/обновлении документа, т.е. значение поля не доступно, когда документ закрыт
computed when composed - значение вычисляется при создании докумена. хранится в документе.
на второй закладке отображаются "визуальные свойства", т.н. высота поля, ширина и прочее
третья закладка определяет за дополнительные возможности содержимого поля (наличие подсказок, тип разделителя строк)
четвёртая закладка определяет параметры шрифа, используемый для отображения текста в поле
пятая - выравнивание
шестая закладка даёт возможность скрывать абзац
*свойства, задаваемые в найстройках поля (при выделенном поле нажмите alt+enter)
Field
это основное хранилище, ячейка данных - служит, как и для ввода данных пользователем, так и для каких-либо вычислений, имеет кучу настроек и видов - от простго текстового поля до календарного вида
вся система значений построена именно на этой маленькой хреновине, содержащей довольно-таки обширные возможности

пока единственное свойство формы, что мы удосужились изучить) отвечает за заголовок документа
то есть если в данном поле вы введёте какой-либо текст, либо напишите формулу, возвращающую текстовое значение, оно будет в заголовке формы. Учтите, что если это просто текст, то он должен быть взят в кавычки (одинарные или двойные - не важно)
