Версия для печати темы (https://pro1c.org.ua/index.php?s=be52bb2d9dd1ddced3cb0b6cb2b8f5d8&showtopic=24411)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 7.7 _ Импорт данных из jbkl_rec.dbf в 1с

Автор: alexvav 04.08.15, 8:52

Подскажите пожалуйста, у кого счета в приватбанке. Нужно из файла jbkl_rec.dbf вносить выписки в 1с 7.7 предприятие. Может у кого-то есть внешняя обработка? Спасибо.
http://pro1c.org.ua/redirect.php?http://rghost.ru/7hLD75wgX

Автор: TipsyKID 04.08.15, 9:59

Есть обработка "Обмен данными между ПП"1С:Предприятие 7.7" и системами клиент-банк" от внедренческого центра "Конто".
Купите, найдите. (насколько я понял правилами форума запрещено такое вылаживать).
Но кусочек кода в помощь, думаю можно :

//******************************************************************************
Функция Импорт_Файла_ДБФ(Параметр)                  
    ФайлБД = СоздатьОбъект("XBase");
    Попытка
        ФайлБД.ОткрытьФайл(Путь,,0);
    Исключение
        Предупреждение("Ошибка отрытия файла " + Путь);
        Возврат 0;
    КонецПопытки;
    Если ФайлБД.Открыта() = 0 Тогда
        Предупреждение("Ошибка отрытия файла " + Путь);
        Возврат 0;
    КонецЕсли;
    ФайлБД.КодоваяСтраница(спКодировка.ПолучитьЗначение(спКодировка.ТекущаяСтрока()));
    КвоПлатежей = 0;
    ФайлБД.Последняя();
    Пока (ФайлБД.вНачале() = 0)  Цикл
        //Если проведено не вчера - возврат
        Состояние("Обраатывается строка №" + ФайлБД.НомерЗаписи());
        Если (ФайлБД.DATE <> Параметр.Получить("ДатаДок")) Тогда
            ФайлБД.Предыдущая();
            Продолжить;
        КонецЕсли;
        Если (СокрЛП(Цел(ФайлБД.COUNT_A)) = Параметр.Получить("РСчет")) Тогда
            Сп = СоздатьОбъект("СписокЗначений");
            Сп.Установить("РСчет",СокрЛП(Цел(ФайлБД.COUNT_B)));
            Сп.Установить("МФО",СокрЛП(Цел(ФайлБД.MFO_B)));
            Сп.Установить("ОКПО",СокрЛП(Цел(ФайлБД.OKPO_B)));
            Сп.Установить("Контрагент",СокрЛП(ФайлБД.NAME_B));
            Сп.Установить("Банк",СокрЛП(ФайлБД.BANK_B));
            Сп.Установить("Расход",ФайлБД.SUMMA);
            Сп.Установить("Приход",0);                
            Сообщить("Платеж в " + СокрЛП(ФайлБД.NAME_B));
        ИначеЕсли (СокрЛП(Цел(ФайлБД.COUNT_B)) = Параметр.Получить("РСчет")) Тогда
            Сп = СоздатьОбъект("СписокЗначений");
            Сп.Установить("РСчет",СокрЛП(Цел(ФайлБД.COUNT_A)));
            Сп.Установить("МФО",СокрЛП(Цел(ФайлБД.MFO_A)));
            Сп.Установить("ОКПО",СокрЛП(Цел(ФайлБД.OKPO_A)));
            Сп.Установить("Контрагент",СокрЛП(ФайлБД.NAME_A));
            Сп.Установить("Банк",СокрЛП(ФайлБД.BANK_A));
            Сп.Установить("Приход",ФайлБД.SUMMA);
            Сп.Установить("Расход",0);  
            Сообщить("Платеж от " + СокрЛП(ФайлБД.NAME_A));
        Иначе
            ФайлБД.Предыдущая();
            Продолжить;
        КонецЕсли;
        КвоПлатежей = КвоПлатежей + 1;          
        Сп.Установить("Содержание",СтрЗаменить(ФайлБД.N_P ,РазделительСтрок," "));
        Сп.Установить("НомерПП", ФайлБД.N_D);
        Параметр.ДобавитьЗначение(Сп);
        ФайлБД.Предыдущая();
    КонецЦикла;
    ФайлБД.ЗакрытьФайл();
    
    Возврат 1;
КонецФункции //Импорт_Файла
//******************************************************************************
Функция Экспорт_Файла_ДБФ(Знач Параметр)
    ФайлБД = СоздатьОбъект("XBase");
    ИмяФайла = Путь;

    Попытка                  
        Если ФС.СуществуетФайл(Путь) = 1 Тогда
            ФС.УдалитьФайл(Путь);                
        КонецЕсли;
    Исключение
        Сообщить("Невозможно перезаписать файл с предыдущей выгрузкой.","!!!");
        Возврат 0;
    КонецПопытки;
    
    ФайлБД.ДобавитьПоле("TIP_DOC","C",1,);
    ФайлБД.ДобавитьПоле("N_DOC","C",10,);
    ФайлБД.ДобавитьПоле("DATE_DOC","D",8,0);
    ФайлБД.ДобавитьПоле("SUM_DOC","N",17,2);
    ФайлБД.ДобавитьПоле("ACCOUNT_A","C",16,0);
    ФайлБД.ДобавитьПоле("NAME_A","C",40,0);
    ФайлБД.ДобавитьПоле("OKPO1_A","C",10,0);
    ФайлБД.ДобавитьПоле("MFO_A","N",9,0);
    ФайлБД.ДобавитьПоле("BANK_A","C",45,0);
    ФайлБД.ДобавитьПоле("ACCOUNT_B","C",16,0);
    ФайлБД.ДобавитьПоле("NAME_B","C",40,0);
    ФайлБД.ДобавитьПоле("OKPO2_B","C",10,0);
    ФайлБД.ДобавитьПоле("MFO_B","N",9,0);
    ФайлБД.ДобавитьПоле("BANK_B","C",45,0);
    ФайлБД.ДобавитьПоле("N_P","C",160,0);
    ФайлБД.ДобавитьПоле("PACKET","C",1,0);

    Попытка
        ФайлБД.СоздатьФайл(Путь);
    Исключение
        Предупреждение("Ошибка создания файла " + Путь);
        Возврат 0;
    КонецПопытки;
    Если ФайлБД.Открыта() = 0 Тогда
        Предупреждение("Ошибка открытия файла " + Путь);
        Возврат 0;
    КонецЕсли;
    Для Ном = 1 По Параметр.РазмерСписка() Цикл
        Сп = Параметр.ПолучитьЗначение(Ном);
        Если ТипЗначенияСтр(Сп) <> "СписокЗначений" Тогда
            Продолжить;                
        КонецЕсли;
        ФайлБД.Добавить();
    
        ФайлБД.TIP_DOC = "p";
        ФайлБД.ACCOUNT_A = Сп.Получить("НашСчет");
        ФайлБД.MFO_B = Сп.Получить("МФО");
        ФайлБД.MFO_A = Сп.Получить("НашМФО");
        ФайлБД.ACCOUNT_B = Сп.Получить("Счет");
        ФайлБД.OKPO2_B = Сп.Получить("ОКПО");
        ФайлБД.OKPO1_A = Сп.Получить("НашОКПО");
        ФайлБД.NAME_B = Сп.Получить("Контрагент");
        ФайлБД.NAME_A = Сп.Получить("НашаФирма");
        ФайлБД.SUM_DOC = Сп.Получить("Сумма");
        ФайлБД.N_DOC = Сп.Получить("НомерПП");
        ФайлБД.N_P = Сп.Получить("Содержание");
        ФайлБД.DATE_DOC = Сп.Получить("ДатаПП");
        ФайлБД.BANK_B = Сп.Получить("Банк");
        ФайлБД.BANK_A = Сп.Получить("НашБанк");
        
        Попытка
            ФайлБД.Записать();
            Сообщить("Добавлена запись №" + ФайлБД.НомерЗаписи());
        Исключение
            Предупреждение("Ошибка записи!");
            Возврат 0;
        КонецПопытки;
    КонецЦикла;
    ФайлБД.ЗакрытьФайл();
    Возврат 1;
КонецФункции //Экспорт_Файла

Автор: Sharzem 04.08.15, 11:44

К сказанному выше TipsyKID.
На сайте Приватбанка тоже есть подобная обработка для 7.7.

Автор: alexvav 04.08.15, 12:45

да, с сайта привата подошла.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua