Загрузка данных в BAS из DBF

Эта статья была обновлена 31 Мая 2022, Вт
Оглавление
  1. Создание Внешней обработки загрузка из DBF в BAS
  2. Настройка формы внешней обработки
  3. Окно выбора файла
  4. Обработка access файла
  5. Загрузка в базу с табличной части обработки
  6. функции для создания договора и поиска и создания нового банка.

Создание Внешней обработки загрузка из DBF в BAS

Сегодня мы рассмотрим достаточно распространенную задачу загрузка из DBF, которая часто взаимосвязана с работой клиент-банков в BAS.

На текущий момент большинство банков, для обмена данными с BAS, используют промежуточные файлы с различной структурой полей и типов. Файлики с форматами CSV, DBF и прочими разделителями. В данном примере рассмотрим работу с DBF форматом.

Пример создан для конфигурации BAS Бухгалтерія

Начнем с создания Внешней Обработки. 

Для этого открываем BAS в режиме Конфигуратора и в нем открываем контекстное меню файл-новый-внешняя обработка.

Так выглядит наша еще пустая обработка:

Загрузка из DBF

Добавим новые реквизиты:

  • ИмяФайла – Строка, неограниченная длина;
  • ДатаЗагрузки – Дата, состав дата;
  • НашСчет – СправочникСсылка. БанковскиеСчета;
  • Организация - СправочникСсылка.Организации;

Загрузка из DBF

Далее, в этом примере, мы добавим Табличную часть, для удобства визуализации данных и последующей работы с ними. В определенных случаях пользователю нужен контроль того что загружать и что нет в базу непосредственно.

Добавляем Табличную часть «ТабличнаяЧастьДанные» с реквизитами:

  • Табличная часть с реквизитами:
    • Отметка – Булево;
    • ВидДокумента – строка, длина 50;
    • СчетКонтрагента– строка, длина 20;
    • Контрагент – строка, длина 100;
    • ДоговорКонтрагента – строка, длина 100;
    • Приход – число, длина 15, точность 2;
    • Расход – число, длина 15, точность 2;
    • НазначениеПлатежа – строка, неограниченная длина;
    • МФОБанкаКонтрагента – строка, длина 9;
    • ОКПОКонтрагента – строка, длина 12;
    • НомерПлатежа – Строка, длина 10;

 

Загрузка из DBF

Теперь создадим форму обработки для размещения на ней всего, что мы ранее создали.

Тип формы – Обычная.

Загрузка из DBF

Отметим галочками элементы для размещения и нажимаем Готово.

Загрузка из Excel и DBF

Вот такая форма у нас получилась.

Загрузка из Excel и DBF

Настройка формы внешней обработки

Добавим кнопку выбора полю «ИмяФайла». Это можно сделать в палитре свойств этого поля.

Загрузка из DBF

Ну что же, форму мы создали, теперь добавим немного кода.

Начнем с обработчика НачалоВыбора и нашей процедуры ИмяФайлаНачалоВыбора.

Смысл этой процедуры в том, чтобы получить диалоговое окно выбора файла windows.

Окно выбора файла

Загрузка из DBF

Рассмотрим этот код 

СтандартнаяОбработка = Ложь; Отказываемся от действий обработчика BAS и устанавливаем свои.

ДиалогВыбораФайла(); Общий объект встроенного языка BAS. Предназначен для работы с диалогом специального вида для открытия файла или нескольких файлов, сохранения файла или выбора каталога. Здесь мы можем задать различные свойства открытия и фильтры. Что мы и сделали, установили заголовок окна и установили фильтр на файлы с расширением "dbf".

Диалог.Выбрать() – срабатывает после нажатия кнопки «Открыть» открывшегося диалога. Отметим, что если вам нужно организовать множественный выбор файлов, то нужно всего лишь запустить цикл, вместо условия «Если» и Реквизит ИмяФайла в таком случае примет тип ТаблицаЗначений (или любую другую удобную для вас форму списка).

Добавим код в процедуру кнопку «Загрузить из DBF»:

Обработка access файла

Загрузка из DBFЗагрузка из DBFЗагрузка из DBF

Загрузка из DBF

Для примера взяли выгрузку банка Приватбанк. Обработали файл в соответствии с заголовками столбцов.

Далее загрузим полученный результат из табличной части в нашу базу.

Добавим код в процедуру кнопки «Загрузить в базу»:

Загрузка в базу с табличной части обработки

Загрузка из DBFЗагрузка из DBFЗагрузка из DBFЗагрузка из DBFЗагрузка из DBFЗагрузка из DBFЗагрузка из DBFЗагрузка из DBF

В этой процедуре мы не определили только договор контрагента. Для этого есть множество способов, начиная от получения его из назначения платежа и заканчивая тем, который пользователь выберет вручную. Существует мнение, что правильней бы было определить все данные еще в момент чтения файла, но в нашем примере мы намеренно разделили это для более простого восприятия.

Для примера, будем устанавливать основной договор контрагента по умолчанию, если не найден, то создадим новый.

Создадим так же две дополнительные

функции для создания договора и поиска и создания нового банка.

Загрузка из DBFЗагрузка из DBFЗагрузка из DBF

Таким образом, у нас получилась обработка для загрузки платежей из файла. В примере использована структура полей из ПАТ «Приват банк». Для уточнения набора полей вы всегда можете обратиться в техподдержку интересующего вас банка.

Готовый пример обработки из этой темы доступены для загрузки по ссылке ниже:

С другими полезными темами вы можете ознакомиться в нашей базе знаний

Если Вы еще не приобрели эту программу, у Вас есть отличная возможность это сделать в нашем магазине

Кроме этого, мы предоставляем услуги Сопровождения BAS

Также Вы можете ознакомиться с нашими разработками для программы BAS

Также, наша компания проводит обучение по курсам:

 Обучение проводится в вечернее время, что позволит вам не отрываться от работы или обучения, практикующим программистом нашей компании.

Если у вас остались вопросы, Вы всегда можете обратиться к нашим аналитикам по телефонам:
(057) 780-70-70
(095) 090-70-20
(068) 090-70-20

( 13 )
Комментарии
Пока нет комментариев
Написать комментарий

Свяжитесь с нами

Если вы хотите получить больше информации, заполните эту форму. Мы свяжемся с вами в ближайшее время.

(073) 090-70-20 (095) 090-70-20 (068) 090-70-20 info@finsoft.ua