Юрий писал(а):
4. В данном случае нас интересует встраиваемая форма так-как запрос статический. Выбираем пункт "Внедрить SQL select"
В открывшемся окне заносим наш select. Про аргументы заменяем в нашем селекте аргументы на :name и нажав кнопку аргументы заносим их. Для кнопки мы делаем текстовое поле 'Ok' as but
Но я бы все-таки рекомендовал использовать f_EmbeddeSQLSelect. Впоследствии этим окажется реально проще управлять.
Юрий писал(а):
5.После того, как мы нажмем кнопку "Ок" Лоция заполнит форму автоматически и создаст массивы колонки в которых будут наши данные.
Все так, но в случае моей рекомендации переменные надо будет создать самому. Но это свосем просто...
Юрий писал(а):
7 Но не забываем вынолнить две функции после открытия окна задачи: f_RetrieveForm ( this , '' , ' forma ' ) - что-бы увидеть заполнение и f_FormDataToArray ( this , ' <FormVarName> ' ) что-бы можно было работать над значениями.
Дополню: не обязательно после открытия окна задачи, можно и по кнопке и по другим событиям.
Юрий писал(а):
8. И наконец привязываем действие к нашей кнопке массиву
и с помощью функции f_GetCurrentRow ( this ) определяем - в какой строке нажата кнопка и работаем с массивами колонками.
Есть один нюанс: f_GetCurrentRow ( this ) вернет правильное значение только в двух случаях: если сортировка не выполнялась или выполнялась в запросе. Если сортировка выполнялась в форме, то надо использовать f_GetNFormItem (f_GetSFormItem, f_GetDFormItem или f_GetDTFormItem), которая вернет результат из конкретной строки формы (а не из строки массива, лежащей в базе).
Кстати, в последней документации пользователя workflow поищи по контексту фразу "Рассмотрим поэтапно работу с внедренными SQL-запросами". Начиная с нее идет описание с примером.