Специфический Импорт Из Ёкселя

Тема в разделе "Lotus - Программирование", создана пользователем beloff, 30 окт 2012.

  1. beloff

    beloff Well-Known Member

    Регистрация:
    24 июл 2012
    Сообщения:
    103
    Симпатии:
    0
    Всем добрый. Есть такая задача: импортировать регулярно кучу инфы из ёкселя в лотус (дисконтные карты покупателей, список которых постоянно пополняется). Выгружается из другой системы в ексель файл. Реализовать это в лотус знаю как. Как с наименьшими проблемами реализовать постоянное обновление этой базы при выгрузке в Лотус (тоже знаю как но наименьшими проблемами это назвать не могу), т.е. актуализировать БД в ЛОтусе чтобы пополнялась БД только новыми записями, которых в Лотусе нету
     
  2. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    А выгружать в Excel только новые нельзя?
    Номер карты уникален, как ключ поиска по документам подойдет. Искать можно через DigestSearch.
    Описание DigestSearch
    Думаю для данной задачи подойдет очень хорошо.
     
  3. beloff

    beloff Well-Known Member

    Регистрация:
    24 июл 2012
    Сообщения:
    103
    Симпатии:
    0
    savl очень вам большое спсибо, сейчас буду изучать
    + в репу
     
  4. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    Спасибо, но опять же... Можно использовать, а можно и вьюхой обойтись.
    Но есть идея некого гибрида:
    Если база только-только будет заполняться, и никаких записей еще нет.
    При создании документов, при первой выгрузке, генерить им UniversalID, как используется в "DS".
    Таким образом можно избавиться от базы индекса, по сути сделать хранилище доков и индекс одной базой.
    Возможно импорт будет увеличен по времени, но уникальность данных сохраниться.
    И вопрос, не понадобиться ли обновлять уже загруженные записи в дальнейшем?
     
  5. beloff

    beloff Well-Known Member

    Регистрация:
    24 июл 2012
    Сообщения:
    103
    Симпатии:
    0
    в первый раз конечно просто конвертну, это потом уже при подгружении новых поставлю на проверку. Обновлять скорей всего не потребуется, т.к. более 300 000 записей будет, универсал ИД зачем? у них будет уникальный номер карты, по-мойму просто дублирование (хотя может чего то не догоняю). Про вьюху только потом сообразил getdocumentbykey (тоже кста, отличный способ шустрого поиска). Индекс все равно надо будет создавать т.к. у нас очень любят поиском пользоваться пользователи (кста, отличная скороговорка: пользователи поиском пользовались-пользовались да не выпользовались)
     
  6. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    делал базу для "универсального" импорта/экспорта...
    одна из версий здесь есть
    http://codeby.net/forum/threads/41201.html?vi...st&p=210192
    есть желание - разбирайтесь



    Добавлено: коротко - зачем создавалась http://codeby.net/forum/threads/41202.html?vi...st&p=210194
    есть уже версия свежее...:
    1.0.7b:
    -введены доп. константы для конфигурации (маппинга полей):
    Const NOTUNIQ_SIGN={NU} 'не обрабатывать массивы на уникальность использовать вместе с опцией APPEND_SIGN
    Const DEL_SIGN={D} 'удаляет значение из поля если встретит соответствие в поле (актуально для мультивэлью)
    -реализована обработка удаления (в мультивэлью полях)
    -обработка коллекции документов (если поиск по ключу выдает > 1 значения)
    -обрабатывает все листы XLS файла (раньше был только первый, в будущих конфигурациях необходимо предусмотреть выбор листов)
    -добавлено логирование в файл (при соответ. опции, либа ErrorHandling)
     
  7. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    beloff

    откуда данные попадают в ексель? может стоит обеденить две системы и откинуть промежуточный етап с екселем?
     
  8. beloff

    beloff Well-Known Member

    Регистрация:
    24 июл 2012
    Сообщения:
    103
    Симпатии:
    0
    из кристалла. Не стоит я думаю
     
  9. Anatoly

    Anatoly Well-Known Member

    Регистрация:
    30 мар 2007
    Сообщения:
    204
    Симпатии:
    0
    Я бы все таки подумал об прямом взаимодействии Лотуса с платформой данных. Что там: MS SQL, ORACLE...
    Уйдет "брехучий телефончик" в виде EXCEL, перестаем зависить от пользователей, выборками можешь рулить сам, импорт можно сделать фоновым.
    Если работаешь с нарастающим ключом, всегда можно получить значение ключа последней импортированой записи и по SELECT получать уже не все,
    а вновь добавленные. Аналогично по ключу можно организовать и синхронизацию уже имеющихся записей.
     
  10. beloff

    beloff Well-Known Member

    Регистрация:
    24 июл 2012
    Сообщения:
    103
    Симпатии:
    0
    я б тоже подумал да знаний пока не хватает
     
  11. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    beloff

    ну так вот вам задача которая поможет расширить ваши знания в области odbc. Кристал репортс ето имхо mssql . если попробуете поискать по форуму то найдете кучу информации
    Вот пример:
     
  12. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    Насколько я помню, кристал это система построения отчетов, она сама данные вроде не хранит.
    Собирает их из реляционки, значит источник MS SQL скоре всего. Написать свой коннектор к ней не сильно долго, да и лучше, как заметил Anatoly. Лучше потратить чуть больше времени, за то будет прямое соединение.
    Да и если покопаться можно найти примеры.
    Посмотри Designer Help "Lotus Connector for ODBC", можно воспользоваться LEI Administrator, в Help так же расписано.
     
  13. beloff

    beloff Well-Known Member

    Регистрация:
    24 июл 2012
    Сообщения:
    103
    Симпатии:
    0
    не, кристалл это отдельное ПО заточенное под оборудование (весы, кассы), данные хранит
     
  14. GveinBlade

    GveinBlade Гость

    Данные в какой реляционке хранятся или в файлах?
     
  15. Anatoly

    Anatoly Well-Known Member

    Регистрация:
    30 мар 2007
    Сообщения:
    204
    Симпатии:
    0
    Ну, если речь о продукте от «Кристалл Сервис» - то вот с их сайта:
    "Одним из преимуществ SET Retail является многоплатформенность. Система обеспечит Вам свободу выбора всех компонентов IT-инфраструктуры. SET Retail поддерживает платформы Windows, Unix и Linux, а также популярные СУБД: MS SQL, MySQL, Oracle, Derby и т. д. "
    Так что гадать можно долго :(
     
  16. beloff

    beloff Well-Known Member

    Регистрация:
    24 июл 2012
    Сообщения:
    103
    Симпатии:
    0
    чего то ругается на fastsearchbykey пишу

    strng = xlCells(i,2).Value
    Set dsrch = FastSearchByKey(db, strng)

    пишет illegal parenthesized reference
     
  17. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    strng - какой тип ?

    попробуйте strng = fulltrim(xlCells(i,2).Value)
     
  18. beloff

    beloff Well-Known Member

    Регистрация:
    24 июл 2012
    Сообщения:
    103
    Симпатии:
    0
    Dim strng As String

    строка и есть строка. фуллтрим же из массивов убрает пустые элементы (из строк пробелы но там пробелов нету). может эту функцию надо как то подключить? я то вписал use digestsearchlib но он ругается на стадии компиляции

    ЗЫ %INCLUDE не делал ничего
     
Загрузка...
Похожие Темы - Специфический Импорт Из
  1. ToxaRat
    Ответов:
    11
    Просмотров:
    620
  2. magistr
    Ответов:
    25
    Просмотров:
    1.745
  3. Lia
    Ответов:
    15
    Просмотров:
    1.078
  4. ty3uk
    Ответов:
    16
    Просмотров:
    1.945
  5. Ali002
    Ответов:
    0
    Просмотров:
    1.109

Поделиться этой страницей