Добрый день. Помогите пожалуйста, нужна обработка чтоб импортировать выписки с клиент-банка iFobs. Формат импорта txt, xls, xml. Конфигурация 1с 7,7 Комплексная
Поделитесь плз хотя бы импортом выписки из txt файла, там уже будем допиливать.
Функция ИмпортXML(Параметры)
ФайлXML = Новый ЧтениеXML;
ИмяФайла = Параметры.ИмяФайла;
Попытка
ФайлXML.ОткрытьФайл(ИмяФайла);
Исключение
Предупреждение("Ошибка открытия файла " + ИмяФайла);
Возврат Неопределено;
КонецПопытки;
тзВыписка = Новый ТаблицаЗначений;
тзВыписка.Колонки.Добавить("НомерПП");
тзВыписка.Колонки.Добавить("Приход");
тзВыписка.Колонки.Добавить("Расход");
тзВыписка.Колонки.Добавить("ОКПО");
тзВыписка.Колонки.Добавить("Контрагент");
тзВыписка.Колонки.Добавить("МФО");
тзВыписка.Колонки.Добавить("РСчет");
тзВыписка.Колонки.Добавить("Содержание");
КолвоЗаписей = 0;
Пока ФайлXML.Прочитать() Цикл
ИмяТега = ФайлXML.Имя;
Если ИмяТега = "ROW" И ФайлXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
ДатаВыписки = ФайлXML.ПолучитьАтрибут("DOCUMENTDATE"); // 20081110
// Проверка на дату выписки
Если ДатаВыписки <> Формат(Параметры.ДатаДок,"ДФ=yyyyMMdd") И ДатаВыписки <> Формат(Параметры.ДатаДок,"ДФ=dd.MM.yyyy") Тогда
Продолжить;
КонецЕсли;
РСчетА = СокрЛП(ФайлXML.ПолучитьАтрибут("ACCOUNTNO"));
РСчетБ = СокрЛП(ФайлXML.ПолучитьАтрибут("CORRACCOUNTNO"));
Если РСчетБ = Параметры.РСчет Тогда // дебет
НовСтрока = тзВыписка.Добавить();
НовСтрока.Приход = Число(ФайлXML.ПолучитьАтрибут("AMOUNT"))/100;
НовСтрока.Расход = 0;
НовСтрока.РСчет = СокрЛП(Формат(РСчетА,"ЧГ=0"));
//НовСтрока.ОКПО = СокрЛП(Формат(ФайлXML.ПолучитьАтрибут("CORRIDENTIFYCODE"),"ЧГ=0"));
//НовСтрока.МФО = СокрЛП(Формат(ФайлXML.ПолучитьАтрибут("BANKID"),"ЧГ=0"));
//НовСтрока.Контрагент = СокрЛП(ФайлXML.ПолучитьАтрибут("CORRCONTRAGENTSNAME"));
ИначеЕсли РСчетА = Параметры.РСчет Тогда // кредит
НовСтрока = тзВыписка.Добавить();
НовСтрока.Приход = 0;
НовСтрока.Расход = Число(ФайлXML.ПолучитьАтрибут("AMOUNT"))/100;
НовСтрока.РСчет = СокрЛП(Формат(РСчетБ,"ЧГ=0"));
//НовСтрока.ОКПО = СокрЛП(Формат(ФайлXML.ПолучитьАтрибут("CORRIDENTIFYCODE"),"ЧГ=0"));
//НовСтрока.МФО = СокрЛП(Формат(ФайлXML.ПолучитьАтрибут("CORRBANKID"),"ЧГ=0"));
//НовСтрока.Контрагент = СокрЛП(ФайлXML.ПолучитьАтрибут("CORRSNAME"));
Иначе
Продолжить;
КонецЕсли;
НовСтрока.ОКПО = СокрЛП(Формат(ФайлXML.ПолучитьАтрибут("CORRIDENTIFYCODE"),"ЧГ=0"));
НовСтрока.МФО = СокрЛП(Формат(ФайлXML.ПолучитьАтрибут("CORRBANKID"),"ЧГ=0"));
НовСтрока.Контрагент = СокрЛП(ФайлXML.ПолучитьАтрибут("CORRSNAME"));
НовСтрока.Содержание = СокрЛП(ФайлXML.ПолучитьАтрибут("DETAILSOFPAYMENT"));
НовСтрока.НомерПП = СокрЛП(ФайлXML.ПолучитьАтрибут("DOCUMENTNO"));
КолвоЗаписей = КолвоЗаписей + 1;
Иначе
Продолжить;
КонецЕсли;
КонецЦикла;
Если НЕ тзВыписка.Количество() И КолвоЗаписей > 0 Тогда
Предупреждение("В текущем файле нет платежей с данной датой выписки и расчетным счетом!");
КонецЕсли;
ФайлXML.Закрыть();
Возврат тзВыписка;