выполнение КС другой операции в своей
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
wolfio Участник - экстремал
Вступление в Клуб: 22.10.2012
|
Ср Дек 02, 2015 10:32  выполнение КС другой операции в своей |
|
Полезность: Нет оценки
|
Здравствуйте.
мучаюсь следующей проблемой:
в дистрибутивной операции есть кнопка, обработка которой делается в КлиентСкрипте (по ней заполняются структуры, и даже выбирается вьюха для просмотра записей одного из справочников).
как выдрать данные оттуда, путем последовательности валидаций, чтобы не делать копию вызова дистрибутива.
типа:
var=>[Operation]('DEFAULT'....)..
var=>[Operation]('VALIDATE'...)..
может есть возможность заставить другую операцию выполнить в ней КС без поднятия формы? |
|
 |
Матвеев Евгений Профи
Вступление в Клуб: 31.01.2012
|
Ср Дек 02, 2015 19:55  Re: выполнение КС другой операции в своей |
|
Полезность: Нет оценки
|
wolfio пишет: | Здравствуйте.
мучаюсь следующей проблемой:
в дистрибутивной операции есть кнопка, обработка которой делается в КлиентСкрипте (по ней заполняются структуры, и даже выбирается вьюха для просмотра записей одного из справочников).
как выдрать данные оттуда, путем последовательности валидаций, чтобы не делать копию вызова дистрибутива.
типа:
var=>[Operation]('DEFAULT'....)..
var=>[Operation]('VALIDATE'...)..
может есть возможность заставить другую операцию выполнить в ней КС без поднятия формы? |
Приветствую,
Что за операция? Короткое имя? Что нужно получить на выходе поподробнее??? |
|
 |
wolfio Участник - экстремал
Вступление в Клуб: 22.10.2012
|
Чт Дек 03, 2015 09:13   |
|
Полезность: Нет оценки
|
операция ::[DOCUM_RC].[LEGAL_MARK]
нужно получить данные, которые доступны по кнопке "Показать совпадения", чтобы записать их в отчет во внешней операции. |
|
 |
Alexsey Эксперт
Вступление в Клуб: 06.09.2007
|
Чт Дек 03, 2015 13:05   |
|
Полезность: Нет оценки
|
Если мне склероз не изменяет можно подключить клиент скрипт из внешней операции написав в клиет-скрипте "'#include"
например я подключал в свое время так:
Код: | '#include [RCK_VAL_KONTRAKT].[NEW#AUTO] |
_________________ всегда есть как минимум 2 выхода |
|
 |
Damir Участник - экстремал
Вступление в Клуб: 29.03.2013
|
Пн Дек 07, 2015 21:23   |
|
Полезность: Нет оценки
|
wolfio пишет: | операция ::[DOCUM_RC].[LEGAL_MARK]
нужно получить данные, которые доступны по кнопке "Показать совпадения", чтобы записать их в отчет во внешней операции. |
сделать расширение, данные [которые доступны по кнопке "Показать совпадения"] поместить в переменную операции (как вариант - в темповую таблицу).... |
|
 |
vek21 Участник со стажем
Вступление в Клуб: 20.09.2007
|
Пн Дек 26, 2016 08:37  Функция, внутри которой отрабатывает сторонний клиент-скрипт |
|
Полезность: Нет оценки
|
Уважаемые Знатоки! Стоит следующая задача - сделать библиотечную функцию, проверяющую возможность юзера создать файл в клиентском каталоге. В принципе, понятно, как это сделать в клиент-скрипте какой-то операции. Но вся проблема в том, что это библиотечная функция. Какой клиент-скрипт она может использовать? Если функция будет вызывать какую-то стороннюю операцию по PLPCALL(в этой сторонней операции данную проверку сделать можно), то результат вызова не будет известен внутри функции, а только в другой секции вызвавшей эту функцию операции(то есть, скажем, в валидаторе функцию вызвали - результат будет известен только в теле операции))) - это не годится. Как можно решить поставленную задачу? |
|
 |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Пн Дек 26, 2016 10:03   |
|
Полезность: Нет оценки
|
Завести в операции, которая будет вызывать библиотеку параметр, кинуть его на форму и вызвать функцию библиотеки, передав туда этот параметр...?
Или результат нужен самой функции в библиотеке ? |
|
 |
Эмиралька Эксперт
Вступление в Клуб: 09.11.2015
|
Пн Дек 26, 2016 12:43  Re: Функция, внутри которой отрабатывает сторонний клиент-ск |
|
Полезность: Нет оценки
|
vek21 пишет: | Уважаемые Знатоки! Стоит следующая задача - сделать библиотечную функцию, проверяющую возможность юзера создать файл в клиентском каталоге. В принципе, понятно, как это сделать в клиент-скрипте какой-то операции. Но вся проблема в том, что это библиотечная функция. Какой клиент-скрипт она может использовать? Если функция будет вызывать какую-то стороннюю операцию по PLPCALL(в этой сторонней операции данную проверку сделать можно), то результат вызова не будет известен внутри функции, а только в другой секции вызвавшей эту функцию операции(то есть, скажем, в валидаторе функцию вызвали - результат будет известен только в теле операции))) - это не годится. Как можно решить поставленную задачу? |
Поправка. Вовсе не в теле.
Библиотечная функция не может решить данную задачу, так как вызов библиотечной функции является синхронным, а проверка, выполняемая через Клиент-скрипт - асинхронным действием.
То есть на тот момент, когда завершение библиотечной функции уже завершено, клиент-скрипт ещё и не думает выполняться.
Для того, чтобы обеспечить работоспособность функционала, необходимо предусмотреть синхронизацию асинхронных действий.
Например, вызов функции из библиотеки должен быть произведён в секции валидации, причём последним действием, а после этого в другой секции валидации продолжать работу.
Подробнее расписывать? |
|
 |
vek21 Участник со стажем
Вступление в Клуб: 20.09.2007
|
Пн Дек 26, 2016 14:44   |
|
Полезность: Нет оценки
|
Да нет, подробнее расписывать ни к чему. Описанная технология подразумевает специальное построение валидатора основной операции, заточенное на решение именно этой, совершенно не основной для операции, задачи - выяснение можно ли писать в каталог. Именно поэтому хотелось добиться, чтобы можно было сделать просто вызов некоей функции, которая бы вернула "да/нет". Но, похоже, не получится. |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|