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

Создание Нового безналичного документа
На страницу 1, 2  След.
 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы
Предыдущая тема :: Следующая тема  
Автор Сообщение
Programmer
Участник - экстремал


Вступление в Клуб: 26.11.2014
СообщениеЧт Янв 12, 2017 14:08   Создание Нового безналичного документа Ответить с цитатой
Полезность: Нет оценки
Добрый день, уважаемые форумчани! Подскажите пожалуйста. Как написать функцию в которой будет создаваться "Новый безналичный документ". Если не затруднит приведите пожалуйста пример кода. Заранее благодарю!
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеЧт Янв 12, 2017 15:05    Ответить с цитатой
Полезность: Нет оценки
лучше всего дернуть дистрибутивную ::[MAIN_DOCUM].[NEW#DOC] ( )
передать нужные параметры.

Зачем функция нужна ? из внешней системы будете создавать ?
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеЧт Янв 12, 2017 15:22    Ответить с цитатой
Полезность: Нет оценки
Код:
doc:=::[MAIN_DOCUM].[NEW#AUTO].new(P_DOCUMENT_NUM == row_cnt-- Номер
                                      ,P_DATE_DOC    == C_DATE-- Дата документа
                                     ,P_VID_DOC     == tip_doc-- Вид документа
                                     ,P_ACC_DT     == C_DT-- Счет Дт
                                     ,P_SUM_DT     == C_SUM   -- Сумма Дт.
                                     ,P_ACC_KT     == C_KT-- Счет Кт
                                     ,P_SUM_KT     == C_SUM -- Сумма Кт.
                                     ,P_SUM_NT     == trunc((C_SUM*::[DOCUMENT].[LIB_CUR].Get_rate(C_DT.[FINTOOL],C_DATE)),2) -- Сумма Нац.
                                     ,P_DATE_VAL   == C_DATE-- Дата валютирования
                                     ,P_NUM2      == null-- Резервный параметр
                                     ,P_MULTICURR    == null-- Свойство валютности
                                     ,P_NAZN      == C_NAZN-- Назначение платежа
                                     ,P_KOD_NAZN    == null-- Код назначения
                                     ,P_PRODUCT_DT   == null-- Продукт Дт
                                     ,P_PRODUCT_KT   == null-- Продукт Кт
                                     ,P_RECALC_NT   == null-- Пересчитывать нац. покрытие
                                     );


Использую для создания проводок из файла экселя.
Programmer
Участник - экстремал


Вступление в Клуб: 26.11.2014
СообщениеЧт Янв 12, 2017 17:07    Ответить с цитатой
Полезность: Нет оценки
yaffil пишет:
Код:
doc:=::[MAIN_DOCUM].[NEW#AUTO].new(P_DOCUMENT_NUM == row_cnt-- Номер
                                      ,P_DATE_DOC    == C_DATE-- Дата документа
                                     ,P_VID_DOC     == tip_doc-- Вид документа
                                     ,P_ACC_DT     == C_DT-- Счет Дт
                                     ,P_SUM_DT     == C_SUM   -- Сумма Дт.
                                     ,P_ACC_KT     == C_KT-- Счет Кт
                                     ,P_SUM_KT     == C_SUM -- Сумма Кт.
                                     ,P_SUM_NT     == trunc((C_SUM*::[DOCUMENT].[LIB_CUR].Get_rate(C_DT.[FINTOOL],C_DATE)),2) -- Сумма Нац.
                                     ,P_DATE_VAL   == C_DATE-- Дата валютирования
                                     ,P_NUM2      == null-- Резервный параметр
                                     ,P_MULTICURR    == null-- Свойство валютности
                                     ,P_NAZN      == C_NAZN-- Назначение платежа
                                     ,P_KOD_NAZN    == null-- Код назначения
                                     ,P_PRODUCT_DT   == null-- Продукт Дт
                                     ,P_PRODUCT_KT   == null-- Продукт Кт
                                     ,P_RECALC_NT   == null-- Пересчитывать нац. покрытие
                                     );


Использую для создания проводок из файла экселя.



А есть пример создания документа, поля которого будут заполнены статическими данными?
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеЧт Янв 12, 2017 17:19    Ответить с цитатой
Полезность: Нет оценки
Programmer пишет:

А есть пример создания документа, поля которого будут заполнены статическими данными?


Чёт я не вкурил суть вопроса Crying or Very sad
В примере минимально нужные данные, статичны они (константы) или динамические (в цикле по строкам экселя) какая разница?
Programmer
Участник - экстремал


Вступление в Клуб: 26.11.2014
СообщениеЧт Янв 12, 2017 17:21    Ответить с цитатой
Полезность: Нет оценки
yaffil пишет:
Programmer пишет:

А есть пример создания документа, поля которого будут заполнены статическими данными?


Чёт я не вкурил суть вопроса Crying or Very sad
В примере минимально нужные данные, статичны они или константы какая разница?



Дело в том что пока не получается создать документ, валится куча ошибок.
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеЧт Янв 12, 2017 17:23    Ответить с цитатой
Полезность: Нет оценки
Таки чего пишет?
Programmer
Участник - экстремал


Вступление в Клуб: 26.11.2014
СообщениеЧт Янв 12, 2017 17:27    Ответить с цитатой
Полезность: Нет оценки
yaffil пишет:
Таки чего пишет?


Давайте начнем с того, что у нас есть функция.

Код:


   ::[MAIN_DOCUM].[NEW#DOC](
   /*P#DOCUMENT_NUM*/      --Номер
   ,/*P#DATE_DOC*/      --Дата документа
   ,/*P#VID_DOC*/      --Вид документа
   ,/*P#SUM*/      --Сумма в валюте платежа
   ,/*P#DATE_PL*/      --Срок оплаты
   ,/*P#PRIORITET*/      --Срочность платежа
   ,/*P#DOC_SEND_REF*/      --Почта/телеграф
   ,/*P#NAZN*/      --Назначение платежа
   ,/*P#SUM_CARD*/      --Сумма в картотеке
   ,/*NEW_STATE*/      --Отправка документа
   ,/*CODE_DOC*/      --Условное обозначение(шифр) пл.документа
   ,/*P#KOD_NAZN_PAY*/      --Код назначения платежа
   ,/*P#ACC_PROV*/      --Корсчет проводки
   ,/*P#SSS*/      --Строка
   ,/*P_VID_OBOROTA*/      --Вид оборота
   ,/*P_BUDGET_PAYMENT*/      --Бюджетный платеж
   ,/*P#ACC_PROV_DT*/      --Корсчет проводки дебет
   ,/*P#SSS_DT*/      --Строка дебет
   ,/*P#DATE_VAL*/      --Дата валютирования
   ,/*P#INNDt*/      --ИНН для фильтра (плательщик)
   ,/*P#INNCt*/      --ИНН для фильтра (получатель)
   ,/*P#BICDt*/      --БИК для фильтра (плательщик)
   ,/*P#BICCt*/      --БИК для фильтра  (получатель)
   ,/*P#CL_DT_1*/      --Внутренние реквизиты ДТ
   ,/*P#CL_DT_2*/      --Внешние реквизиты ДТ
   ,/*P#VIB_DT*/      --Выбор ДТ
   ,/*P#CL_KT_1*/      --Внутренние реквизиты КТ
   ,/*P#CL_KT_2*/      --Внешние реквизиты КТ
   ,/*P#VIB_KT*/      --Выбор КТ
   ,/*P#SUM_PO*/      --Сумма зачисления
   ,/*P#SUM_NT*/      --Сумма нац.покрытия
   ,/*P#MULTICURR*/      --Свойство валютности
   ,/*P_PACHKA*/      --Пачка
   ,/*P_BUD_REQS*/      --Дополнительные реквизиты бюджетного документа
   ,/*P_USER_TYPE*/      --Пользовательский тип
   ,/*P_NUMB_BASE_DOC*/      --Количество ПУД
   ,/*P_LIST_BASE_DOC*/      --Количество листов в ПУД
   ,/*P_PUD_APPLIED_TO*/      --Пуд приложен к
   ,/*P_REP_1ST_SIGN*/      --Представитель для первой подписи
   ,/*P_KL_BNK*/      --Вид перевода
   ,/*P_ACC_COM*/      --Счет для удержания комиссии по документу
   ,/*P_FILIAL*/      --Филиал
   ,/*P_DEPART*/      --Подразделение
   ,/*P_CODE*/      --Код
   )
   


Ее нужно заполнить статическими параметрами, учитывая приведение типов.
Помогите с этим, все остальные проблемы отпадут сами.


Последний раз редактировалось: Programmer (Чт Янв 12, 2017 17:41), всего редактировалось 1 раз
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеЧт Янв 12, 2017 17:33    Ответить с цитатой
Полезность: Нет оценки
если реквизит не плоский (число, дата , строка) , а структура или массив - надо сначала переменную типа структура/массив завести, проинициализировать %init и заполнить нужные в ней поля/добавить %insert значения, перед подачей на вход в операцию
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеЧт Янв 12, 2017 17:41    Ответить с цитатой
Полезность: Нет оценки
Programmer пишет:
yaffil пишет:
Таки чего пишет?


Давайте начнем с того, что у нас есть функция.

Код:
   ::[MAIN_DOCUM].[NEW#AUTO


Ее нужно заполнить статическими параметрами, учитывая приведение типов.
Помогите с этим, все остальные проблемы отпадут сами.


Я вам вообще то другую предложил. Короткий ввод, она сама до создаст массивы или структуру под себя.
Programmer
Участник - экстремал


Вступление в Клуб: 26.11.2014
СообщениеЧт Янв 12, 2017 17:42    Ответить с цитатой
Полезность: Нет оценки
yaffil пишет:
Programmer пишет:
yaffil пишет:
Таки чего пишет?


Давайте начнем с того, что у нас есть функция.

Код:
   ::[MAIN_DOCUM].[NEW#AUTO


Ее нужно заполнить статическими параметрами, учитывая приведение типов.
Помогите с этим, все остальные проблемы отпадут сами.


Я вам вообще то другую предложил. Короткий ввод, она сама до создаст массивы или структуру под себя.


Посмотрите пожалуйста мое предыдущее сообщение, я его исправил.
Programmer
Участник - экстремал


Вступление в Клуб: 26.11.2014
СообщениеЧт Янв 12, 2017 17:44    Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
если реквизит не плоский (число, дата , строка) , а структура или массив - надо сначала переменную типа структура/массив завести, проинициализировать %init и заполнить нужные в ней поля/добавить %insert значения, перед подачей на вход в операцию


Можете привести пример заполнения в данной функции реквизитов плательщика и получателя.
Заранее благодарю.

И приведите пожалуйста пример инициализации структур/массивов.
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеЧт Янв 12, 2017 17:48    Ответить с цитатой
Полезность: Нет оценки
Programmer пишет:

И приведите пожалуйста пример инициализации структур/массивов.


next_valUE('SEQ_ID')

Прошу прощения, а вы хотите чтобы за вас кто то в словаре протыкал эти реквизиты на предмет массивов и структур?
Programmer
Участник - экстремал


Вступление в Клуб: 26.11.2014
СообщениеЧт Янв 12, 2017 17:52    Ответить с цитатой
Полезность: Нет оценки
yaffil пишет:
Programmer пишет:

И приведите пожалуйста пример инициализации структур/массивов.


next_valUE('SEQ_ID')

Прошу прощения, а вы хотите чтобы за вас кто то в словаре протыкал эти реквизиты на предмет массивов и структур?


Нет конечно. Мне нужен только пример. А все остальное я и сам по тыкаю.
yaffil
Профи


Вступление в Клуб: 18.08.2011
СообщениеЧт Янв 12, 2017 18:03    Ответить с цитатой
Полезность: Нет оценки
Programmer пишет:


Нет конечно. Мне нужен только пример. А все остальное я и сам по тыкаю.



P#DOCUMENT_NUM==555 --Номер
P#DATE_DOC==sysdate --Дата документа
..
P_PACHKA==next_valUE('SEQ_ID') --Пачка
P_NAZN=='Я роботэ' --назначение платежа

Ну и погнали так тыкать в словаре по нужным реквизитам узнавая ти
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы Часовой пояс: GMT + 3
На страницу 1, 2  След.
Страница 1 из 2

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