ПРОДАЖИ
+7 (991) 312-04-37
trade@bestnet.ru
Авторизация

Логин:
Пароль:
Забыли свой пароль?
Регистрация
ВАШ ВОПРОС

Доступ к Личному кабинету закрыт!
Как получить доступ?


Главная  / Поддержка  / Форум  / Публичные форумы  / БЭСТ-5  / Как экспортировать справочник банков из СЭДа

Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Как экспортировать справочник банков из СЭДа
 
Добрый день!
Вот такой Вопрос:Как экспортировать справочник банков из СЭДа?(в СЭДе банки забиты по другому:крупным шрифтом ит.п.)В СЭДе справочник находится в файле client.mdb,который объединяет несколько таблиц,справочник банков нах-ся в таблице bankru.Оттуда можно сделать экспорт , нужно указать тип файла.Какой тип файла нужно указать(dbase5;dbase III;dbase IV)
и где это импортировать в нашей программе (БЭСТ)?
 
Подозреваю, что форматы не совпадут. А чем не устраивает стандартный справочник?
И СЭД и БЭСТ берут сведения из одного источника.
Если не устраивает шрифт, можно взять bnkseek.dbf, сделать UPPER() и принять справочник в БЭСТе из файла.
Либо из mdb делать структуру bnkseek.dbf:
Цитата
Nr. Field Name Type Len Dec
==== ========== ========= ===== =====
1 VKEY Character 8 0
2 REAL Character 4 0
3 PZN Character 2 0
4 UER Character 1 0
5 RGN Character 2 0
6 IND Character 6 0
7 TNP Character 1 0
8 NNP Character 25 0
9 ADR Character 30 0
10 RKC Character 9 0
11 NAMEP Character 45 0
12 NAMEN Character 30 0
13 NEWNUM Character 9 0
14 NEWKS Character 9 0
15 PERMFO Character 6 0
16 SROK Character 2 0
17 AT1 Character 7 0
18 AT2 Character 7 0
19 TELEF Character 25 0
20 REGN Character 9 0
21 OKPO Character 8 0
22 DT_IZM Date 8 0
23 CKS Character 6 0
24 KSNP Character 20 0
25 DATE_IN Date 8 0
26 DATE_CH Date 8 0
27 VKEYDEL Character 8 0

Если не устраивает стандартный импорт справочника банков, можно взять плагин и доработать его под свои нужды, в нем попутно делая UPPER() на нужных полях. Плагины есть на форуме.
С уважением,
Ильин Евгений
 
Что значит стандарный справочник?
Не устраивает то,что у нас БАНКИ в БЭСТе прописными буквами,а в СЭДе -заглавными и названия многих банков не совпадает.
Вот мы и хотим ,чтобы справочники были одинаковыми,т.к.экспортируемый файл из БЭСТа не редактируется в СЭДе.
bnkseek.dbf-это файл БЭСТ?у нас БЭСТ5.3.4.доп19,1-4.Где в базе этот файл находится?
далее приводиться программа перекодировки?
Объясните более подробно.
 
У Вас в БЭСТе банки откуда берутся? Вы их заносите руками?
Из пояснительной записки к 19 пакету:
Цитата
1. В справочнике банка, кроме импорта данных напрямую через Интернет, предоставлена возможность импорта справочника из файла, соответствующего структуре справочника банка сайта www.pvision.ru. В этом случае импорт осуществляется с помощью пунктов меню "Синхронизация из файла"/"Синхронизация из файла с добавлением" кнопки "Загрузка". При выборе этих пунктов меню предлагается указать путь к файлу *.zip. Правила синхронизации те же, что и через Интернет.


Используете ли вы эту возможность?
Попробуйте, и у вас появится справочник банков такой же как в СЭД и никакой UPPER() не нужен, т.к. там все записи заглавными.
С уважением,
Ильин Евгений
 
Пробовали закачать с этого сайта справочник-но он не обновился.Почему-не знаем.Может надо полность очистить справочник в БЭСТе ,а потом загрузить с сайта(bestzip.dll)? И потом надо будет перебивать в партнерах банки-на основании нового (закачанного)справочника????
 
Как вы делали? Обновление через интернет? Или сначала скачали файл и потом обновление через файл?

Можно сделать несколько иначе, но уже с плагинами.
Сейчас у вас есть справочник банков, в котором могут быть и двойные записи, и неиспользуемые и ошибочные. Это так?
Если так, то почитайте эту тему.
С уважением,
Ильин Евгений
 
Добрый день,Евгений!
Скачала файл и делала обновление через файл,но у нас есть двойные записи(можно сказать тройные)с одним БИКом-отсуда и полно неиспользуемых.По ссылке Вопрос- программу "Функция optbank" где и как нужно применять,объясните подробнее.Что за файл userbdll.txt? Для чего нужен и где находится ?
 
Файл с написанной программой есть?
 
Можно сделать и через спецфункцию, чтобы не создавать проект и не разбираться с ним.
Есть опыт создания и применения спецфункции?
С уважением,
Ильин Евгений
 
Увы,нет.
Если подробно объясните,может быть и пойму.
 
ПЕРВЫЙ РАЗ ДЕЛАТЬ НА КОПИИ РАБОЧЕЙ БАЗЫ ДАННЫХ!!!
- Открыть БЭСТ-5
- Запустить редактор XBA
- выбрать в левом окне папку BANK
- создать файл, к примеру u_bik.prg
- разместить там текст функции
Код
optbank()
Function optbank()
Local t_bnk_id, t_bnk_code // переменные для сравнивая значений соседних строк по индексу TAG_CODE
dbpush()
Use (Loadpath()+"prt_acnt.dbf") Index('prt_acnt.cdx') New Alias prt_acnt shared
prt_acnt->(ordSetFocus(0))
Use (Loadpath()+"bank.dbf") Index('bank.cdx') New Alias bank shared
bank->(ordSetFocus('tag_code')) // выбираем сортировку по БИКу
DbGoTop() // перемещаем указатель на начало сортированного списка
Do While !EoF() // цикл на перебор записей справочника банков
  If Len(AllTrim(bnk_code))<>9 // проверка на корректность значения БИК (9 символов)
    //действия при некорректном коде
    bank->(DbSkip())
  Else //иначе, код равен 9 символам
    //действия при корректном коде (по количеству символов)
    t_bnk_id:=bank->bnk_id ; t_bnk_code:=bank->bnk_code //Запоминаем значения текущей записи для сравнения с последующими
    bank->(DbSkip()) //идем дальше
    Do While  bank->bnk_code=t_bnk_code // проверка, если по этому БИКу запись повторяется
      Select prt_acnt
      //замена значения банка в справочнике счетов партнеров
      FLock()
      Replace prt_acnt->bnk_id With t_bnk_id ;
              For prt_acnt->bnk_id=bank->bnk_id
      DbUnLock()
      Select bank
      //Отмечаем запись для удаления в справочнике банков
      RLock()
      //      bank->bnk_name:="D->"+bank->bnk_name
      Delete
      DbUnLock()
      bank->(DbSkip())
    EndDo   //  bank->bnk_code=t_bnk_code // проверка, если по этому БИКу запись повторяется
  EndIf   // Len(AllTrim(bnk_code))<>9 // проверка на корректность значения БИК (9 символов)
EndDo   // !EoF() // цикл на перебор записей справочника банков
//messagebox(str(recno()))
//messagebox(bank->bnk_code)
//sayandwait("Ура! Работает!")
messagebox("Оптимизация справочника банков завершена.")
bank->(DbCloseArea()) //закрываем таблицу
prt_acnt->(DbCloseArea()) //закрываем таблицу
dbpop()
Return .t.



- скомпилировать по клавише F7
- выйти в окно БЭСТа
- открыть модуль Счета в банках
- Открыть книга учета операций
- открыть реестр спецфункций (кнопка функции Настройка спецфункций)
- Добавить запись
- в поле имя файла выбрать u_bik.HRB
- сохранить и выйти из книги операций
- зайти вновь и через кнопку функции запустить на исполнение эту программу
- проверить справочник банков и привязку по организациям (можно выборочно)

Мультик на эту тему
С уважением,
Ильин Евгений
Страницы: 1
Читают тему (гостей: 1)