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

Заполнение текстового файла в определенном формате

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


Вступление в Клуб: 24.09.2021
СообщениеСр Окт 05, 2022 19:33   Заполнение текстового файла в определенном формате Ответить с цитатой
Полезность: Нет оценки
Всем привет. Помогите пожалуйста с реализацией функции.
Нужно заполнить файл определенного формата. Ниже набросок функции для заполнения части файла:
Код:

function print_buh_rec_body (var_buh_rec_body ::[TRC].[BUH_LIB].c_buh_rec_body) return varchar2(32000)
is
v_header varchar2(1000):='Номер документа     Дебет      Кредит     Oснование';
v_buh_rec_body varchar2(32000):='~';
begin
   if var_buh_rec_body.count != 0 then
      for i in var_buh_rec_body.first..var_buh_rec_body.last
      loop
         v_buh_rec_body:=v_buh_rec_body||
                     chr(10)||
                     var_buh_rec_body(i).num_doc||
                     ' '||
                     var_buh_rec_body(i).dt||
                     ' '||
                     var_buh_rec_body(i).kt||
                     ' '||
                     var_buh_rec_body(i).info_doc
                     ;
                     
      end loop;
   else   
      return null;
   end if;
return replace(v_buh_rec_body,'~');
exception when others then
v_buh_rec_body := null;   
end;

Нужно, чтобы значения отделялись не одним символом пробела как в наброске, а согласно формату, пример:
[img]https://imageup.ru/img21/thumb/primer4037825.jpg[/img]
т.е с такими переносами и количеством пробелов.
Эмиралька
Эксперт


Вступление в Клуб: 09.11.2015
СообщениеЧт Окт 06, 2022 09:51   Re: Заполнение текстового файла в определенном формате Ответить с цитатой
Полезность: Нет оценки
CSmaster пишет:
Всем привет. Помогите пожалуйста с реализацией функции.
...
Нужно, чтобы значения отделялись не одним символом пробела как в наброске, а согласно формату, пример:
[img]https://imageup.ru/img21/thumb/primer4037825.jpg[/img]
т.е с такими переносами и количеством пробелов.


А в чём затруднение?
CSmaster
Участник со стажем


Вступление в Клуб: 24.09.2021
СообщениеЧт Окт 06, 2022 12:23   Re: Заполнение текстового файла в определенном формате Ответить с цитатой
Полезность: Нет оценки
Эмиралька пишет:

А в чём затруднение?

Не пойму, какими функциями делать, чтобы перенос и позиционирование текста были согласно формата. Например к полю "Основание" (var_buh_rec_body(i).info_doc), чтобы через каждые 34 символа происходил перенос текста на новую строку и выводился дальше начиная с позиции +1 от того, где заканчиваются данные относящиеся к полю "кредит".
Volod
Эксперт


Вступление в Клуб: 19.09.2007
СообщениеЧт Окт 06, 2022 13:39    Ответить с цитатой
Полезность: 1
Проверяйте длину Основания, если больше 34 символов, добавляйте новую строку, заполняйте lpad нужной длины, дальше остаток Основания.
Но по хорошему такие отчеты нужно выводить в Excel или в Word
CSmaster
Участник со стажем


Вступление в Клуб: 24.09.2021
СообщениеЧт Окт 06, 2022 13:41    Ответить с цитатой
Полезность: Нет оценки
Volod пишет:
Проверяйте длину Основания, если больше 34 символов, добавляйте новую строку, заполняйте lpad нужной длины, дальше остаток Основания.
Но по хорошему такие отчеты нужно выводить в Excel или в Word

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

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