Вт Фев 11, 2014 04:19  Валидация объекта с тем же значением
Полезность: Нет оценки
Может кто сталкивался со следующей ситуацией? В операции есть параметр - "счет" с типом "внутренние реквизиты". При первоначальном вводе счета на экранной форме - выводится нужное сообщение, при выборе другого счета путем вбивания номера в поле - тоже все нормально. Но если забить тот же номер что уже есть - валидация не проходит - просто фокус переходит на следующий объет и тишина.
Поискал по форуму - нашел что-то подобное в http://cftclub.ru/viewtopic.php?t=1950&highlight=p_info (последний пост) :
"...В блок проверки не входит потому как машина считает, что запись не была изменена. Вы говорили, что клиент-скрипт видит, что производились действия с контролом, тогда из клиент скрипта необходимо дернуть серверную валидацию...."
Не могу сообразить каким образом должен выглядеть обработчик в клиент-скрипте для данного типа параметра.
модуль "проверка" содержит следующий текст
Код:
begin
if p_message='VALIDATE' then
if p_info = 'P_CL.2' then
if P_CL.[2] is not null and P_CL.[2].[MAIN_V_ID] like '408218100000000000__' then
stdio.put_line_buf('Внимание! Используется специальный счет');
end if;
end if;
end if;
end;
Вт Фев 11, 2014 07:58  Re: Валидация объекта с тем же значением
Полезность: Нет оценки
Турист пишет:
Может кто сталкивался со следующей ситуацией? В операции есть параметр - "счет" с типом "внутренние реквизиты". При первоначальном вводе счета на экранной форме - выводится нужное сообщение, при выборе другого счета путем вбивания номера в поле - тоже все нормально. Но если забить тот же номер что уже есть - валидация не проходит - просто фокус переходит на следующий объет и тишина.
Код:
begin
if p_message='VALIDATE' then
if p_info = 'P_CL.2' then
if P_CL.[2] is not null and P_CL.[2].[MAIN_V_ID] like '408218100000000000__' then
stdio.put_line_buf('Внимание! Используется специальный счет');
end if;
end if;
end;
Я бы просто вывел эту проверну наружу. Т.е. сделал проверку для любой валидации, независимо от P_INFO
Код:
begin
if p_message='VALIDATE' then
if P_CL.[2] is not null and P_CL.[2].[MAIN_V_ID] like '408218100000000000__' then
stdio.put_line_buf('Внимание! Используется специальный счет');
end if;
end if;
Вт Фев 11, 2014 08:30  Re: Валидация объекта с тем же значением
Полезность: Нет оценки
[/quote]
Я бы просто вывел эту проверну наружу. Т.е. сделал проверку для любой валидации, независимо от P_INFO
Код:
begin
if p_message='VALIDATE' then
if P_CL.[2] is not null and P_CL.[2].[MAIN_V_ID] like '408218100000000000__' then
stdio.put_line_buf('Внимание! Используется специальный счет');
end if;
end if;
end;
[/quote]
тоже эту возможность продумывали, только не подходит этот вариант Дело в том что сама операция-расширение "новый безналичный документ" содержит много объектов на форме. (я просто создал "обрезаную" операцию для того чтобы упростить процесс поиска решения). Бизнесу надо чтобы сообщение выходило 1 раз (именно при выборе счета), а если вынести "наверх", то после того как выберут счет и будут заполнять другие реквизиты - будет постоянно выскакивать сообщение.
Для полноты картины на всякий случай добавлю - вообще проблема возникла при "поточном вводе" безналиных документов. При первой итерации - выбрали счет, вышло сообщение, приняли это к сведению. Затем на втором документе, (счет не меняется) - нужно опять сообщение что счет особенный. В этом случае - решается просто валидацией p_info = NEXT. Но если во втором и следующем шаге цикла поменяют счет на тот же самый - тоже должно опять выйти сообщение. Т.к. данная проблема не является проблемой именно поточного ввода. а повторяется и в одиночном конструкторе, то можно поточный ввод во внимание не брать.
вроде получилось. повесили в клиент-скрипте на идентификатор номера счета проверку по событию OnChange(Cancel), а на кнопку ссылки - OnAfterClick с вызовом серверной валидации.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
Домен cftclub.ru не связан с ЗАО "Центр Финансовых Технологий" и ни в коей мере не нарушает авторских и иных прав
Владелец может не разделять мнения Участников и не несет ответственности за их публикации
Powered by phpBB