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

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


Вступление в Клуб: 26.11.2014
СообщениеВт Янв 24, 2017 10:26   Re: Счета в платежных документах Ответить с цитатой
Полезность: Нет оценки
lexus пишет:
Programmer пишет:
Добрый день, уважаемые форумчане!

...извините, глаз режет.

ок Very Happy
Gobur
Профи


Вступление в Клуб: 06.11.2012
СообщениеВт Янв 24, 2017 10:44    Ответить с цитатой
Полезность: Нет оценки
Programmer пишет:

Да именно таким путем и поступил, через создание нового документа. Просто возникают некие не состыковки. Клиентские реквизиты были заполнены. Хотя возможно, я заполняю их не правильно. Sad Но на данный момент возник еще один вопрос! Решить который пока не знаю как. Т.к. знаний еще не достаточно. Вопрос касается реквизитов Участник-отправитель и
Участник-получатель, не совсем понятно на данный момент какова логика заполнения этих реквизитов? А так же не могли бы подсказать с правильностью логики заполнения клиентских реквизитов, при разной корреспонденции счетов?
Подскажите пожалуйста, уважаемые участники форума!
Заранее благодарю.

Мы просто не пошли этим путем - поэтому сложно сказать. Проще всего создать документ вручника и смотреть как заполнены эти реквизиты получатель и т.д. Участник подставляется в зависимости от настроек РЦ. Для внутренних он будет один для внешних другой. Сейчас проблема, что определяет клиент-не клиент не правильно. Из-за этого и участники уже нерпавильно ставятся. Если правильно клиент-не клиент определит - с участниками тоже номр будет.
Programmer
Участник - экстремал


Вступление в Клуб: 26.11.2014
СообщениеВт Янв 24, 2017 11:09    Ответить с цитатой
Полезность: Нет оценки
Gobur пишет:
Programmer пишет:

Да именно таким путем и поступил, через создание нового документа. Просто возникают некие не состыковки. Клиентские реквизиты были заполнены. Хотя возможно, я заполняю их не правильно. Sad Но на данный момент возник еще один вопрос! Решить который пока не знаю как. Т.к. знаний еще не достаточно. Вопрос касается реквизитов Участник-отправитель и
Участник-получатель, не совсем понятно на данный момент какова логика заполнения этих реквизитов? А так же не могли бы подсказать с правильностью логики заполнения клиентских реквизитов, при разной корреспонденции счетов?
Подскажите пожалуйста, уважаемые участники форума!
Заранее благодарю.

Мы просто не пошли этим путем - поэтому сложно сказать. Проще всего создать документ вручника и смотреть как заполнены эти реквизиты получатель и т.д. Участник подставляется в зависимости от настроек РЦ. Для внутренних он будет один для внешних другой. Сейчас проблема, что определяет клиент-не клиент не правильно. Из-за этого и участники уже нерпавильно ставятся. Если правильно клиент-не клиент определит - с участниками тоже номр будет.


Подскажите пожалуйста, как в таком случае правильно заполнить получателя и плательщика.
Если у меня есть 4 счета
1. Счет проводки ДТ
2. Счет проводки КТ
3. Лицевой счет получателя
4. Лицевой счет плательщика
Gobur
Профи


Вступление в Клуб: 06.11.2012
СообщениеВт Янв 24, 2017 11:44    Ответить с цитатой
Полезность: Нет оценки
Programmer пишет:


Подскажите пожалуйста, как в таком случае правильно заполнить получателя и плательщика.
Если у меня есть 4 счета
1. Счет проводки ДТ
2. Счет проводки КТ
3. Лицевой счет получателя
4. Лицевой счет плательщика


Сейчас с этим вообще сложно. Даже через универсальный импорт.
На версии 16.3 через универсальный импорт можно было передать ДТ и КТ внутренние, а лицевые (например в другом банке даже или в другой АБС) другие, чтобы платежка печаталась с реальными реквизитами. ИБСО понимала если Дт и КТ внутренние она всегда ставила клиент банка. После перехода на 16.6 если суешь ей таким образом, то при наличии в переданных данных (например для полей не клиент) лицевых счетов отсуствующих в АБС она всегда ставит - не клиент Банка, но при этом в поле клиент заполняет ссылку на переданные счета ДТ и КТ. Но это не помогает т.к. при создании документа она подставляет в АСС_ДТ и в АСС_КТ корр.счета. Через нью док даже не знаю как с этим справиться. Через универсальный импорт нужно после импорта поправить на Клиент банка везде (если ссылка на счет в разделе клиент есть) и поменять АСС_ДТ и АЦЦ_КТ. Участников можно не менять - при проводке нормально отработает.

В принципе и после нью_док можно также поступать - просто редактировать созданный документ, подставлять свои значения.
Держитесь там в общем))
OlegFB
Участник - экстремал


Вступление в Клуб: 11.07.2007
СообщениеВт Янв 24, 2017 13:37    Ответить с цитатой
Полезность: Нет оценки
Gobur пишет:
Programmer пишет:


Подскажите пожалуйста, как в таком случае правильно заполнить получателя и плательщика.
Если у меня есть 4 счета
1. Счет проводки ДТ
2. Счет проводки КТ
3. Лицевой счет получателя
4. Лицевой счет плательщика


Сейчас с этим вообще сложно. Даже через универсальный импорт.
На версии 16.3 через универсальный импорт можно было передать ДТ и КТ внутренние, а лицевые (например в другом банке даже или в другой АБС) другие, чтобы платежка печаталась с реальными реквизитами. ИБСО понимала если Дт и КТ внутренние она всегда ставила клиент банка. После перехода на 16.6 если суешь ей таким образом, то при наличии в переданных данных (например для полей не клиент) лицевых счетов отсуствующих в АБС она всегда ставит - не клиент Банка, но при этом в поле клиент заполняет ссылку на переданные счета ДТ и КТ. Но это не помогает т.к. при создании документа она подставляет в АСС_ДТ и в АСС_КТ корр.счета. Через нью док даже не знаю как с этим справиться. Через универсальный импорт нужно после импорта поправить на Клиент банка везде (если ссылка на счет в разделе клиент есть) и поменять АСС_ДТ и АЦЦ_КТ. Участников можно не менять - при проводке нормально отработает.

В принципе и после нью_док можно также поступать - просто редактировать созданный документ, подставлять свои значения.
Держитесь там в общем))


смотрим операцию Документы.Имопрт в универсальном импорте:
Код:
'KL_DT_INTERNAL';-- логика - Внутренний клиент, иначе - Внешний клиент
'KL_KT_INTERNAL';-- логика - Внутренний клиент, иначе - Внешний клиент
OlegFB
Участник - экстремал


Вступление в Клуб: 11.07.2007
СообщениеВт Янв 24, 2017 13:41    Ответить с цитатой
Полезность: Нет оценки
OlegFB пишет:
Gobur пишет:
Programmer пишет:


Подскажите пожалуйста, как в таком случае правильно заполнить получателя и плательщика.
Если у меня есть 4 счета
1. Счет проводки ДТ
2. Счет проводки КТ
3. Лицевой счет получателя
4. Лицевой счет плательщика


Сейчас с этим вообще сложно. Даже через универсальный импорт.
На версии 16.3 через универсальный импорт можно было передать ДТ и КТ внутренние, а лицевые (например в другом банке даже или в другой АБС) другие, чтобы платежка печаталась с реальными реквизитами. ИБСО понимала если Дт и КТ внутренние она всегда ставила клиент банка. После перехода на 16.6 если суешь ей таким образом, то при наличии в переданных данных (например для полей не клиент) лицевых счетов отсуствующих в АБС она всегда ставит - не клиент Банка, но при этом в поле клиент заполняет ссылку на переданные счета ДТ и КТ. Но это не помогает т.к. при создании документа она подставляет в АСС_ДТ и в АСС_КТ корр.счета. Через нью док даже не знаю как с этим справиться. Через универсальный импорт нужно после импорта поправить на Клиент банка везде (если ссылка на счет в разделе клиент есть) и поменять АСС_ДТ и АЦЦ_КТ. Участников можно не менять - при проводке нормально отработает.

В принципе и после нью_док можно также поступать - просто редактировать созданный документ, подставлять свои значения.
Держитесь там в общем))


смотрим операцию Документы.Имопрт в универсальном импорте:
Код:
'KL_DT_INTERNAL';-- логика - Внутренний клиент, иначе - Внешний клиент
'KL_KT_INTERNAL';-- логика - Внутренний клиент, иначе - Внешний клиент


На уровне ЦФТ это реквизиты
Код:
KL_DT.[0] =1 -- внутренний
KL_DT.[0] =2 -- внешний

то же самое для KL_KT.[0]
Programmer
Участник - экстремал


Вступление в Клуб: 26.11.2014
СообщениеВт Янв 24, 2017 14:08    Ответить с цитатой
Полезность: Нет оценки
Ребята сейчас покажу код.

Так заполняю счета
Код:

v_acc_dt := ::[BANK_CLIENT].[LIB_FIN].get_acc(
          DtAccCl-- лицевик дт
         ,DtBankId --!!! БИК
      );

v_acc_kt := ::[BANK_CLIENT].[LIB_FIN].get_acc(
          KtAccCl-- лицевик кт
         ,KtBankId--БИК банка
      );


Тут заполняю реквизиты
Код:


v_req_dt := get_req_client(
                      v_acc_dt--счет см. выше
                     ,v_bank_dt--банк
                     ,::[TRC].[INI].OPERU_PART --подраз
                     ,DtAmt -- сумма
                     ,DtAcctId -- счет проводки
                     ,DtNameFrom --
                     ,DtTaxIdFrom --
                     ,null --
               );

v_req_kt := get_req_client(
                      v_acc_kt
                     ,v_bank_kt
                     ,::[TRC].[INI].OPERU_PART
                     ,KtAmt--
                     ,KtAcctId
                     ,KtNameTo
                     ,KtTaxIdTo
                     ,KtTaxRegCodeTo
               );




код функции get_req_client

Код:

function get_req_client(
    p_acc_ref         REF [AC_FIN]
   ,p_bank_ref         REF [CL_BANK]
   ,p_part_ref         REF [CL_PART]
   ,p_sum            [SUMMA]
   ,p_acc_num         [REQ_CLIENT].[2].[1]%type
   ,p_client_name      [REQ_CLIENT].[2].[2]%type
   ,p_client_inn      [REQ_CLIENT].[2].[INN]%type
   ,p_client_kpp      [REQ_CLIENT].[2].[KPP]%type
) return [REQ_CLIENT] is
   v_req_client      [REQ_CLIENT];
begin
   &debug('get_req_client',0)
   if p_acc_ref is null then
      v_req_client.[0]       := 2;
      v_req_client.[2].[1]   := p_acc_num;
      v_req_client.[2].[2]   := p_client_name;
      v_req_client.[2].[INN]   := p_client_inn;
      v_req_client.[2].[KPP]   := p_client_kpp;
      v_req_client.[2].[3]   := p_bank_ref;
      ::[BC_INTERFACE].[PRX_TRC].get_participant(p_bank_ref, p_acc_num, v_req_client.[2].[PART], p_sum, true);
   elsif p_acc_ref.[FILIAL] != ::[SYSTEM].[VARIABLES].OurBranch then
      v_req_client.[0]      := 2;
      v_req_client.[2].[1]   := p_acc_ref.[MAIN_V_ID];
      v_req_client.[2].[2]   := p_acc_ref.[CLIENT_V].[NAME];
      v_req_client.[2].[3]   := p_acc_ref.[FILIAL].[BANK];
      v_req_client.[2].[INN]   := p_acc_ref.[CLIENT_V].[INN];
      v_req_client.[2].[KPP]   := p_acc_ref.[CLIENT_V].[KPP];
      v_req_client.[2].[PART]   := p_acc_ref.[DEPART].[PART];
   else
      --STDIO.PUT_LINE_PIPE('[DOCUM_RC]::[BRS_LIB_VAL]'||('.get_acc_dt  v_doc = '||V_DOC),'TRC');
      &debug( 'p_acc_ref.[MAIN_V_ID]='|| p_acc_ref.[MAIN_V_ID],0)
      &debug('p_acc_num='||p_acc_num,0)
      --debug_pipe('p_acc_num='||p_acc_num,0);
      if p_acc_ref.[MAIN_V_ID]<>p_acc_num or p_acc_num is null then
         v_req_client.[0]       := 1;
         v_req_client.[2].[3]   := p_bank_ref;
         &debug('if p_acc_ref.[MAIN_V_ID]<>p_acc_num or p_acc_num is null  - TRUE',0)
      else
         v_req_client.[0]       := 1;
      end if;   
      v_req_client.[1].[1]   := p_acc_ref.[CLIENT_V];
      v_req_client.[1].[2]   := p_acc_ref;
      v_req_client.[2].[1]   := p_acc_num;
      v_req_client.[2].[2]   := p_client_name;
      v_req_client.[2].[INN]   := p_client_inn;
      v_req_client.[2].[KPP]   := p_client_kpp;
      v_req_client.[2].[PART]   := p_part_ref;
   end if;
   return v_req_client;
end;


Как и сказал у меня 4 счета

1. Счет проводки ДТ
2. Счет проводки КТ
3. Лицевой счет ДТ
4. Лицевой счет КТ

Есть исходный документ где
Реквизиты счета для списания
Клиент Банка ( + ) все заполнено
Не клиент Банка ( - ) заполнено только поле Участник
Реквизиты счета для зачисления
Клиент Банка ( - ) все пусто
Не клиент Банка ( + ) все заполнено в поле Счет стоит лицевик

( для проводки ) все заполнено
Счет по Дт ( + )
Счет по Кт ( + )

Так вот, как мне имея данные параметры, заполнить мой код см. выше.
Что бы он работал корректно или я его написал в принципе ни верно?!
Surprised
Тогда помогите с кодом. Embarassed
Ребята жду вашей помощь. Так как с этими реквизитами запутался окончательно.
Gobur
Профи


Вступление в Клуб: 06.11.2012
СообщениеВт Янв 24, 2017 14:21    Ответить с цитатой
Полезность: Нет оценки
OlegFB пишет:


смотрим операцию Документы.Имопрт в универсальном импорте:
Код:
'KL_DT_INTERNAL';-- логика - Внутренний клиент, иначе - Внешний клиент
'KL_KT_INTERNAL';-- логика - Внутренний клиент, иначе - Внешний клиент

при импорте через файл у них погибче сделано.

Мы пользуемся [UNIVERS_IMP]::[IMP_PLAT_DOC].Imp_Doc и все что с ней связано - там этого не предусмотрено.

Можно , конечно , перелопатить Документы. Импорт. Но уже неохота)
В общем вариантов много.

В итоге после [UNIVERS_IMP]::[IMP_PLAT_DOC] приходится править документ - хотя раньше без этого работало. Поменялась логика в нью_док, который там тоже вызывается.
Programmer
Участник - экстремал


Вступление в Клуб: 26.11.2014
СообщениеВт Янв 24, 2017 14:24    Ответить с цитатой
Полезность: Нет оценки
Gobur пишет:
OlegFB пишет:


смотрим операцию Документы.Имопрт в универсальном импорте:
Код:
'KL_DT_INTERNAL';-- логика - Внутренний клиент, иначе - Внешний клиент
'KL_KT_INTERNAL';-- логика - Внутренний клиент, иначе - Внешний клиент

при импорте через файл у них погибче сделано.

Мы пользуемся [UNIVERS_IMP]::[IMP_PLAT_DOC].Imp_Doc и все что с ней связано - там этого не предусмотрено.

Можно , конечно , перелопатить Документы. Импорт. Но уже неохота)
В общем вариантов много.

В итоге после [UNIVERS_IMP]::[IMP_PLAT_DOC] приходится править документ - хотя раньше без этого работало. Поменялась логика в нью_док, который там тоже вызывается.


Согласен вариантов может быть много. Но как то же это должно работать! Sad Скорее всего, где то у меня ошибка, которую я так и не могу локализовать. Sad
Gobur
Профи


Вступление в Клуб: 06.11.2012
СообщениеВт Янв 24, 2017 14:25    Ответить с цитатой
Полезность: Нет оценки
А смысл искать лицевик в АБС если его там нет?

З.ы. помочь с кодом слишком много букв будет. Если после Нью_Док хоть что то создается меняйте на клиент и по ДТ и по КТ а также меняйте АСС_ДТ и АСС_КТ , найдя ссылку на счет в фин.счетах. Этол если коротко

З.Ы. Мой вариант когда у вас АСС_ДТ и АСС_КТ точно есть внутри АБС


Последний раз редактировалось: Gobur (Вт Янв 24, 2017 14:30), всего редактировалось 2 раз(а)
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеВт Янв 24, 2017 14:25    Ответить с цитатой
Полезность: Нет оценки
Programmer пишет:


Есть исходный документ где
Реквизиты счета для списания
Клиент Банка ( + ) все заполнено
Не клиент Банка ( - ) заполнено только поле Участник
Реквизиты счета для зачисления
Клиент Банка ( - ) все пусто
Не клиент Банка ( + ) все заполнено в поле Счет стоит лицевик



Исходный документ - исходящий платеж через РЦ?
Вы можете написать макет документа, чтобы понять что куда зачисляете?
Programmer
Участник - экстремал


Вступление в Клуб: 26.11.2014
СообщениеВт Янв 24, 2017 14:37    Ответить с цитатой
Полезность: Нет оценки
Volod пишет:
Programmer пишет:


Есть исходный документ где
Реквизиты счета для списания
Клиент Банка ( + ) все заполнено
Не клиент Банка ( - ) заполнено только поле Участник
Реквизиты счета для зачисления
Клиент Банка ( - ) все пусто
Не клиент Банка ( + ) все заполнено в поле Счет стоит лицевик



Исходный документ - исходящий платеж через РЦ?
Вы можете написать макет документа, чтобы понять что куда зачисляете?

Документ может быть как внутрибанковский так и внешний. Но! Есть сводные счета которые ведутся в ИБСО счет проводки ( списания ) и есть лицевики которые ведутся в других система. Такие документы тоже выгружаются. И все это дело, нужно обработать и создать документ с корректными данными. Если он внутренний и один из счетов ведется в аналитической системе то этот счет нужно поставить в не клиент банка и выставить признак и проводку корреспондировать со сводником.
С внешним документом все как всегда, но нужно учитывать то, что счет по ДТ в документе может быть из клиентской системы. Вот как то так. Very Happy
Gobur
Профи


Вступление в Клуб: 06.11.2012
СообщениеПт Янв 27, 2017 11:22    Ответить с цитатой
Полезность: 1
еще забыл добавить - если делаешь внутрибанковский документ и заполняешь реквизиты и клиентские и не клиентские (лицевики), то признаки по ДТ и КТ надо ставить клиент, чтобы при проводке не подменило на 30102.

Отсюда получаем :
- в печати все классно - подтянет счета из неклиента
- выписка в ФНС - не подтянет реквизиты из неклиента.

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

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