[Logo] Форум ПАРУС
ВЫгрузка ПП в клиент Банк Сбербанка  XML
Индекс форума » Парус 5.хх
Автор Сообщение
Архивариус
Новичок

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

Подскажите пожалуйста... делаю значит так
#ININAME
//ЭКСПОРТ ПД В СИСТЕМУ КЛИЕНТ-БАНК (SFM)
#ECONFIG
F_TYPE = SDF
F_NAME = c:\Импорт\reak0000.1c
F_STRUCT = Str10 C(80)
F_FILTER = Alltrim(vbank.doc_d) = "П/П"
F_CPAGE = 866
#ETABLE
//тип документа
ei.str10 = "CBank 2.1"+CHR(13)+CHR(10)+"ВерсияФормата=1.10"+CHR(10)+"Кодировка=DOS" +CHR(13)+CHR(10)+"СекцияДокумент=Платежное поручение"

Все бы ничего Пишу да Строка 10 значит С(80) тут если расчитать сколько символов должно быть проблем нет, но вот касаемо контарагентов(Плательщиков, получателей ит.д.) заранее знаешь сколько должно бать знаков... А подскажите пожалуйста как можно убрать пробелы... так как все равно делаешь с запасом и ставишь С(200)... А программа Клиент Банк Сбребанка не понимает и если есть хотя бы один пробел в файле отказывается загружать платёжку в программу... что делать в таком случае подскажите?

Автор:
Rg
rg3000@mail.ru
07.04.2008 14:47

Для сообщений со старой версии форума
Архивариус
Новичок

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

Кстати я маленько оговорился не в файле пробел... А Если идёт пробел в строке, например
Дата создания=01.01.08 - в строке есть пробел... отказывается принимать и всё тут ... как с этим боротся никто не сталкивался?

Автор:
Rg
rg3000@mail.ru
07.04.2008 15:16

Для сообщений со старой версии форума
Архивариус
Новичок

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

Можно использовать функцию STRTRAN.
Синтаксис вызова:

STRTRAN(Параметр_1,Параметр_2,Параметр_3)

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

Например:

STRTRAN(" Текст с пробелами который выгружается в файл ", " ", "")

Автор:
Norikov Anton
n@m.ru
07.04.2008 15:55

Для сообщений со старой версии форума
Архивариус
Новичок

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

Спасибо забавная функция убирает столько пробелов столько поставишь в ковычкая... но она не чистит пробелов в самой строке когда в спецификации да а так нет... Можно кто ещё чем подскажет как можно в самой строке убрать пробелы... когда не знаешь заранее сколько будет в строке знаков и ставишь прозапас кстати ошибся ввыборе программе :)) Это касается Паруса 7.ХХ :))

Автор:
RG
rg3000@mail.ru
07.04.2008 19:47

Для сообщений со старой версии форума
Архивариус
Новичок

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

to RG
А если в ковычки поставить один един единственный пробел, как в примере?

Автор:
Сергей из Гросс
sergei_koplenkov@mail.ru
07.04.2008 23:38

Для сообщений со старой версии форума
Архивариус
Новичок

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

Не ну как бы да убирает я не спорю пробелы внутри текста
к примеру
F_STRUCT = Str10 C(80)
ei.str106 =STRTRAN(CHR(13)+CHR(10)+"Документ=Платежное поручение ", " ", "")
Выгружает:
"Документ=Платежное поручение" - саму спецификацию выгрузил без пробелов... но из за того что стоит С(80) после всё равно в этой строке идут пробелы, но если поставть С(30)- тогда да всё тика в тику... но что делать когда выгружаешь контарагентов ? Не знаешь ведь заранее сколько символов будет потому что они разные.... что делать или я что то неправильно делаю?

Автор:
RG
rg3000@mail.ru
08.04.2008 07:17

Для сообщений со старой версии форума
Архивариус
Новичок

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

Вообщем не знаю как ещё объяснить нужно что бы в выгружаемом файле в конце строк не было пробелов так как там по строкам задаёшь С(30) в строке должно быть 30 символов он так и выгружает 30 символов, но допустим "платёжное поручение" содержит 19 символов вот о и выгружает
"платёжное поручение " - и выход что он всё равно ставит 30 символов... и та функция естественно не помагает

Автор:
RG
rg3000@mail.ru
08.04.2008 08:46

Для сообщений со старой версии форума
Архивариус
Новичок

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

to RG
А функция ALLTRIM() почему Вас не устраивает?

Автор:
ПЫМ
gsv_nsk@ngs.ru
08.04.2008 09:03

Для сообщений со старой версии форума
Архивариус
Новичок

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

НУ не делает она того чего нужно... Там всё написано почему :))

Автор:
Rg
rg3000@mail.ru
08.04.2008 15:05

Для сообщений со старой версии форума
Архивариус
Новичок

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

Используем функцию АТ для поиска первого пробела,
STORE 'Now is the time for all good men' TO gcString
STORE 'is the' TO gcFindString
CLEAR
? AT(gcFindString,gcString) && Displays 5
STORE 'IS' TO gcFindString
? AT(gcFindString,gcString) && Displays 0, case-sensitive
а затем LEFT (строка, at(....)-1)

Автор:
Дежур Дмитрий
1@mail.ru
26.05.2008 17:46

Для сообщений со старой версии форума
Архивариус
Новичок

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

А если выгружаем контрагента типа ООО РОГА и КОПЫТА (с пробелами внутри),
то функцией АТ ищем 2 или 3 пробела
IF (AT(" ",строка) >0
X = left(строка, AT(" ",строка) -1)
else * ищем последний один пробел если таковой существут
IF (RAT(строка," ") = 30 * Значит имя контрагента 29 знаков
left(строка,29)
endif
* если другие условия не сработали, значит имя контрагента = 30 символов
left(строка,30)
endif

Автор:
Дежур Дмитрий
1@mail.ru
26.05.2008 18:09

Для сообщений со старой версии форума
Архивариус
Новичок

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

<div class="cite">(RAT(строка," ") = 30 * Значит имя контрагента 29 знаков
left(строка,29)
endif </div>

Ошибся (RAT(" ", строка) = 30

Автор:
Дежур Дмитрий
1@mail.ru
26.05.2008 18:12

Для сообщений со старой версии форума
Архивариус
Новичок

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

to Rg

А почему Вы в таблицу выгрузку не делаете?
Или в сбербанке разные проги используют? У нас их прога из dbf тащит, еще и настраивать себя позволяет.

Автор:
Jlutko
kerch-reyd@permonline.ru
27.05.2008 06:28

Для сообщений со старой версии форума
Архивариус
Новичок

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

to RG

Еще можно попробовать заключать строки в кавычки:
....,"ООО Рога и копыта",600.00,5956001745,...

Автор:
Jlutko
kerch-reyd@permonline.ru
27.05.2008 06:30

Для сообщений со старой версии форума
Архивариус
Новичок

Зарегистрирован: 06.07.2011 04:57:42
Сообщений: 34
Оффлайн

Впринципе Rtrim() должен усеть с этим справляться

Автор:
Дежур Дмитрий
1@mail.ru
27.05.2008 10:36

Для сообщений со старой версии форума
 
Индекс форума » Парус 5.хх
Перейти: