CftClub.ru
Клуб специалистов ЦФТ-Банк

выполнение КС другой операции в своей

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы
Предыдущая тема :: Следующая тема  
Автор Сообщение
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    Ответить с цитатой
Полезность: Нет оценки
Да нет, подробнее расписывать ни к чему. Описанная технология подразумевает специальное построение валидатора основной операции, заточенное на решение именно этой, совершенно не основной для операции, задачи - выяснение можно ли писать в каталог. Именно поэтому хотелось добиться, чтобы можно было сделать просто вызов некоей функции, которая бы вернула "да/нет". Но, похоже, не получится.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru