Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Июль 18, 2018, 06:53:47 pm

Автор Тема: Импорт выписки клиент-банка (формат для 1C) Qlikview, Sense  (Прочитано 838 раз)

Оффлайн Multicvet

  • Новичок
  • *
  • Сообщений: 27
  • Рейтинг: +2/-0
    • Просмотр профиля
    • Автоматизация в бизнесе и в жизни
Привет всем!
Кто-нибудь практиковал импортировать в QV выписку из клиент-банка, формат 1С (что б ему не ладно было)?
Напомню, что файл-обмена - текст в таком виде:

1CClientBankExchange
ВерсияФормата=1.01
Кодировка=Windows
Получатель=
ДатаНачала=30.12.2014
ДатаКонца=30.12.2014
РасчСчет=55555555555555555555
СекцияРасчСчет
ДатаНачала=30.12.2014
ДатаКонца=30.12.2014
РасчСчет=55555555555555555555
НачальныйОстаток=11968773.05
ВсегоПоступило=19268846.06
ВсегоСписано=26786719.00
КонечныйОстаток=4450900.11
КонецРасчСчет
СекцияДокумент=Платежное требование
Номер=2127
Дата=30.12.2014
Сумма=32.00
ПлательщикСчет=55555555555555555555
ДатаСписано=30.12.2014
ПлательщикИНН=4444444444
ПлательщикКПП=
Плательщик1= Общество с ограниченной ответственностью "Ромашка"
ПлательщикРасчСчет=55555555555555555555
ПлательщикБанк1=Б ОАО БАНК ВТБ
ПлательщикБанк2=Г МОСКВА
ПлательщикБИК=044525187
ПлательщикКорсчет=30101810700000000187
ПолучательСчет=77777777777777777777
ПолучательИНН=7702070139
ПолучательКПП=
Получатель1= Банк ВТБ (открытое акционерное общество)
ПолучательРасчСчет=77777777777777777777
ПолучательБанк1=Б ОАО БАНК ВТБ
ПолучательБанк2=Г МОСКВА
ПолучательБИК=044525187
ПолучательКорсчет=30101810700000000187
ВидПлатежа=электронно
ВидОплаты=02
СтатусСоставителя=
ПоказательКБК=
ОКАТО=
ПоказательОснования=
ПоказательПериода=
ПоказательНомера=
ПоказательДаты=
ПоказательТипа=
СрокПлатежа=30.12.2014
Очередность=
НазначениеПлатежа=Вознаграждение по документу №2127 о
КонецДокумента
| |

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1149
  • Страна: ru
  • Рейтинг: +125/-0
    • Просмотр профиля
Re: Импорт выписки клиент-банка (формат для 1C)
« Ответ #1 : Март 27, 2017, 10:28:18 am »
Привет.

Грузил из таблиц Excel данные с различной структурой.
Несколько ступеней преобразования и можно получить выписку в виде таблицы с полями по структуре выписки.
А не проще будет загнать выписку в 1с и взять оттуда?

Оффлайн Multicvet

  • Новичок
  • *
  • Сообщений: 27
  • Рейтинг: +2/-0
    • Просмотр профиля
    • Автоматизация в бизнесе и в жизни
Re: Импорт выписки клиент-банка (формат для 1C)
« Ответ #2 : Март 27, 2017, 11:51:52 am »
Да, наверное проще через 1С прогнать. Думал, может у кого готовое решение есть.
| |

Неофициальный форум пользователей QlikView & Qlik Sense

Re: Импорт выписки клиент-банка (формат для 1C)
« Ответ #2 : Март 27, 2017, 11:51:52 am »

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1149
  • Страна: ru
  • Рейтинг: +125/-0
    • Просмотр профиля
Re: Импорт выписки клиент-банка (формат для 1C)
« Ответ #3 : Март 27, 2017, 03:26:21 pm »
Думаю, да - если выписка обрабатывается в 1С, то так будет проще.
Если нет, то можно и в скрипте сделать загрузку.
Примерный ход действий - загрузить как текст с номерами строк, разбить строку на поле, значение и развернуть в таблицу.

Оффлайн Multicvet

  • Новичок
  • *
  • Сообщений: 27
  • Рейтинг: +2/-0
    • Просмотр профиля
    • Автоматизация в бизнесе и в жизни
Re: Импорт выписки клиент-банка (формат для 1C)
« Ответ #4 : Июнь 27, 2017, 12:59:40 pm »
Из текстового файла вида:

Цитировать
1CClientBankExchange
ВерсияФормата=1.01
Кодировка=Windows
Получатель=
ДатаНачала=06.04.2017
ДатаКонца=06.04.2017
РасчСчет=4070***
СекцияРасчСчет
ДатаНачала=06.04.2017
ДатаКонца=06.04.2017
РасчСчет=40702810300060001424
НачальныйОстаток=2782246.43
ВсегоПоступило=22246062.21
ВсегоСписано=19988623.64
КонечныйОстаток=5039685.00
КонецРасчСчет
СекцияДокумент=Банковский ордер


Я загрузил так:
Directory;
Выписки:
LOAD

Date(DayStart(Date(ДатаНачала,'DD.MM.YYYY'))) as "Начальная дата",
     Date(DayStart(Date(ДатаКонца,'DD.MM.YYYY'))) as "Конечная дата",
     text(РасчСчет) as "Расчетный счет",
     Date(DayStart(Date(filetime()))) As "Дата файла",
     Num(НачальныйОстаток) as "Нач. остаток",
     Num(ВсегоСписано) as "Списано",
     Num(ВсегоПоступило) as "Поступило",
     Num(КонечныйОстаток) as "Кон. остаток"
FROM
\\Файлы обмена\*.txt
(txt, codepage is 1251, embedded labels, delimiter is '=', msq, header is 1 lines, filters(
Transpose()
));
| |

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1149
  • Страна: ru
  • Рейтинг: +125/-0
    • Просмотр профиля
Re: Импорт выписки клиент-банка (формат для 1C)
« Ответ #5 : Июнь 27, 2017, 07:18:42 pm »
Привет.
Ну и я примерно так же,
с расшифровками можно так сделать:
    t2:
    LOAD Row,
         RowID,
         Field,
         Value,
         tmp1,
        F6 as Номер,
        F7 as Дата,
        F8 as Сумма,
        F9 as ПлательщикСчет,
        F10 as ДатаСписано,
        F11 as Плательщик,
        F12 as ПлательщикИНН,
        F13 as ПлательщикКПП,
        F14 as ПлательщикРасчСчет,
        F15 as ПлательщикБанк,
        F16 as ПлательщикБИК,
        F17 as ПлательщикКорсчет,
        F18 as ПолучательСчет,
        F19 as ДатаПоступило,
        F20 as Получатель,
        F21 as ПолучательИНН,
        F22 as ПолучательКПП,
        F23 as ПолучательРасчСчет,
        F24 as ПолучательБанк,
        F25 as ПолучательБИК,
        F26 as ПолучательКорсчет,
        F27 as ВидПлатежа,
        F28 as ВидОплаты,
        F29 as СрокАкцепта,
        F30 as УсловиеОплаты,
        F31 as СтатусСоставителя,
        F32 as ПоказательКБК,
        F33 as ОКАТО,
        F34 as ПоказательОснования,
        F35 as ПоказательПериода,
        F36 as ПоказательНомера,
        F37 as ПоказательДаты,
        F38 as ПоказательТипа,
        F39 as Очередность,
        F40 as НазначениеПлатежа,
        F41 as ВидАккредитива,
        F42 as СрокПлатежа,
        F43 as НомерСчетаПоставщика,
        F44 as ПлатежПоПредст,
        F45 as ДополнУсловия,
        F46 as ДатаОтсылкиДок,
        F47 as Код,
        F48 as СекцияДокумент
    FROM [t1.csv] (txt, utf8, embedded labels, delimiter is ',', msq, filters(
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'Номер')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'Дата')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'Сумма')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПлательщикСчет')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ДатаСписано')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'Плательщик')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПлательщикИНН')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПлательщикКПП')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПлательщикРасчСчет')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПлательщикБанк')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПлательщикБИК')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПлательщикКорсчет')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПолучательСчет')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ДатаПоступило')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'Получатель')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПолучательИНН')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПолучательКПП')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПолучательРасчСчет')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПолучательБанк')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПолучательБИК')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПолучательКорсчет')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ВидПлатежа')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ВидОплаты')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'СрокАкцепта')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'УсловиеОплаты')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'СтатусСоставителя')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПоказательКБК')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ОКАТО')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПоказательОснования')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПоказательПериода')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПоказательНомера')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПоказательДаты')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПоказательТипа')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'Очередность')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'НазначениеПлатежа')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ВидАккредитива')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'СрокПлатежа')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'НомерСчетаПоставщика')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ПлатежПоПредст')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ДополнУсловия')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'ДатаОтсылкиДок')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'Код')), 0),
        ColXtr(4, RowCnd(CellValue, 3, StrCnd(equal, 'СекцияДокумент')), 0)
    ));

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

Неофициальный форум пользователей QlikView & Qlik Sense

Re: Импорт выписки клиент-банка (формат для 1C)
« Ответ #5 : Июнь 27, 2017, 07:18:42 pm »