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

Создание платежных документов из собственной формы

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
nOnAME
Участник со стажем


Вступление в Клуб: 25.01.2011
СообщениеЧт Мар 31, 2011 09:10   Создание платежных документов из собственной формы Ответить с цитатой
Полезность: Нет оценки
Доброго времени суток. Пытаюсь создать свою форму для формирования папки платежных документов. А именно, хочу сделать операцию похожую на Новая сложная проводка, только несколько модифицированную. За основу взял операцию Новая сложная проводка, т.е. скопировал ее и собираюсь настраивать под собственные нужды. И собственно возник вопрос, каким образом можно создать папку платежных документов (или хотя бы просто платежный документ) из своей формы и со своими параметрами (нужные переменные и параметры я задал). Т.е. интересует именно как сделать этот хитрый insert. В имеющемся коде Новой сложной проводки пытался разбираться, но не нашел каким образом там задается сумма документа (нашел что проверяется ее шаблон). Создание папки документов, как я понял, происходит в процедуре procedure make_(P_BUS_OP ref [PATTERN_DOC]), а именно в строчке P_BUS_OP.[BUSINESS_OP]( null, AGR, null, null, false, V_FOLD, null, stdlib.userid.[DEPART]); где AGR - ссылка на продукт РКО, а V_FOLD - ссылка на (создаваемую?) папку платежей.
prog
Эксперт


Вступление в Клуб: 03.03.2008
СообщениеЧт Мар 31, 2011 11:10    Ответить с цитатой
Полезность: Нет оценки
пример простого (не хитрого) insert

Код:
insert into [accounts] a(a.[name]=’12345’, a.[create_date]=sysdate, a.[saldo]=0);
            -- добавляется новый элемент в коллекцию счетов клиента


Посмотрите описание параметров операции [BUSINESS_OP]
nOnAME
Участник со стажем


Вступление в Клуб: 25.01.2011
СообщениеЧт Мар 31, 2011 11:58    Ответить с цитатой
Полезность: Нет оценки
Спасибо конечно, но пример такого не хитрого insert'а я знаю, дело в том, что там он как раз таки очень хитрый.
Параметры операции смотрел, ни чего явного не нашел. Как я понял она ссылается на папку платежей, но не понял каким образом туда заносятся параметры...
Действительно, после долгих поисков, уже склоняюсь к простому insert'у.
prog
Эксперт


Вступление в Клуб: 03.03.2008
СообщениеПт Апр 01, 2011 11:12    Ответить с цитатой
Полезность: Нет оценки
Пример кода
Код:
-- Если задана папка с документами, то она передается в БО
FOLDER := null;

-- Операция [Формирование папки с бизнес-операцией]над типом [Бизнес-операции]
      P_SCHEMA.[BUSINESS_OP](
        null,    -- Документы для включения в б/о
        P_INPUT,    -- Ссылка на продукт
        null,    -- Номер начального документа
        null,    -- Номера в шаблоне для формирования
        false,    -- Не проверять формируемые  документы
        FOLDER,    -- Папка платежей(ссылка)
        P_DATE_VAL -- Дата валютирования
      );
Sith
Участник


Вступление в Клуб: 15.12.2009
СообщениеПн Апр 04, 2011 13:25    Ответить с цитатой
Полезность: Нет оценки
prog пишет:
Пример кода
Код:
-- Если задана папка с документами, то она передается в БО
FOLDER := null;

-- Операция [Формирование папки с бизнес-операцией]над типом [Бизнес-операции]
      P_SCHEMA.[BUSINESS_OP](
        null,    -- Документы для включения в б/о
        P_INPUT,    -- Ссылка на продукт
        null,    -- Номер начального документа
        null,    -- Номера в шаблоне для формирования
        false,    -- Не проверять формируемые  документы
        FOLDER,    -- Папка платежей(ссылка)
        P_DATE_VAL -- Дата валютирования
      );

Коллеги ... пример наверное не очень удачный ...
плюс не желательно так вызывать операцию ...вдруг возьмут за основу...у нее много параметров и с очередным накатом они могут поменяться местами...т.е указывать имхо явно
параметр==переменная(или значение)...
так же как и объявление переменной ... или v_Folder(для переменной пакета) или [FOLDER] если это часть структуры ))))
_________________
Another way, always another way.
prog
Эксперт


Вступление в Клуб: 03.03.2008
СообщениеПн Апр 04, 2011 13:32    Ответить с цитатой
Полезность: Нет оценки
Согласен с замечаниями.
По большому счету лучше вообще функции из дистрибутивных библиотек не дергать, ибо может поменяться не только состав и порядок параметров, но и логика работы с ними (типа сегодня там был счет плательщика завтра стал счет получателя).

ЗЫ: кусок кода взят из первой попавшейся под руку дистрибутивной операции
Sith
Участник


Вступление в Клуб: 15.12.2009
СообщениеПн Апр 04, 2011 13:34    Ответить с цитатой
Полезность: Нет оценки
Да , многое наблюдаеться в коде дистрибутива ... но будем молча политкорректны
_________________
Another way, always another way.
Sith
Участник


Вступление в Клуб: 15.12.2009
СообщениеПн Апр 04, 2011 14:27    Ответить с цитатой
Полезность: Нет оценки
А в общем брать код из дистрибутива не гуманно Laughing
_________________
Another way, always another way.
nOnAME
Участник со стажем


Вступление в Клуб: 25.01.2011
СообщениеПт Апр 15, 2011 09:12    Ответить с цитатой
Полезность: Нет оценки
Всем спасибо за советы, все что надо уже реализовал (конечно не обошлось без использования операций из дистрибутива, но пока самый простой выход).
P.S.: Когда заходил на форум не нашел своей темы, думал удалили, поэтому и не отвечал...sorry Embarassed
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

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