G
Gir
Всем привет от новичка в Лотусе, но не новичка в программировании !
С Лотусом знаком уже полгода и только сейчас дошли руки до его программирования (до этого только админил). Причем задачи у меня на него наполеоновские, т.к. на мой взляд нет ничего более подходящего чем Лотус для написания CRM-систем.
Но как программист реляционных баз данных я столкнулся с рядом принципиальных вопросов на которые хотелось бы получить ответ у бывалых Лотусистов. Вот один из них - как в Лотусе красиво реализовать ввод нового документа (счет или накладную) ? Проблем несколько:
1. Уникальность номера документа в условиях оффлайновой работы менеджеров (дома, во время командировок) и последующая синхронизация с серверной БД Лотуса. Например, в офисе менеджер выписал счет №1, 2 и 3, а в командировке №4 и 5. Вопрос - как этим номерам не пересечься с номерами документов, которые выписывались все это время в офисе ? Префиксами и суффиксами или еще как-то ?
2. Оптимальный способ хранения данных формы:
а) Каждый документ имеет шапку в которой хранится информация о клиенте и собственных реквизитах фирмы, которые в свою очередь хранятся в других документах. Так вот, как лучше хранить наименование и реквизиты фирмы и контрагентов, с помощью ссылок на документы или готовыми значениями ? В реляционых СУБД все решалось через ключи и вся информация для печатных форм затем собиралась одним запросом, а тут для первого случая приходится кучу документов в базе лопатить, а для второго случая избыточнось данных иметь жуткую.
б) Вторая часть любого документа это табличная часть, которая содержит, как правило, список проданых или купленных товаров, услуг. Если я правильно понимаю, то эта табличная часть должна быть лотусовской вьюхой которая содержит этот список, а каждая строка списка это отдельный документ, причем дочерний по отношению к нашему счету или накладной. Если все в моих рассуждениях верно, то как создать эти дочернии документы при формировании нового документа, в то время как родитель еще не сохранен и его еще в базе нет ?
С Лотусом знаком уже полгода и только сейчас дошли руки до его программирования (до этого только админил). Причем задачи у меня на него наполеоновские, т.к. на мой взляд нет ничего более подходящего чем Лотус для написания CRM-систем.
Но как программист реляционных баз данных я столкнулся с рядом принципиальных вопросов на которые хотелось бы получить ответ у бывалых Лотусистов. Вот один из них - как в Лотусе красиво реализовать ввод нового документа (счет или накладную) ? Проблем несколько:
1. Уникальность номера документа в условиях оффлайновой работы менеджеров (дома, во время командировок) и последующая синхронизация с серверной БД Лотуса. Например, в офисе менеджер выписал счет №1, 2 и 3, а в командировке №4 и 5. Вопрос - как этим номерам не пересечься с номерами документов, которые выписывались все это время в офисе ? Префиксами и суффиксами или еще как-то ?
2. Оптимальный способ хранения данных формы:
а) Каждый документ имеет шапку в которой хранится информация о клиенте и собственных реквизитах фирмы, которые в свою очередь хранятся в других документах. Так вот, как лучше хранить наименование и реквизиты фирмы и контрагентов, с помощью ссылок на документы или готовыми значениями ? В реляционых СУБД все решалось через ключи и вся информация для печатных форм затем собиралась одним запросом, а тут для первого случая приходится кучу документов в базе лопатить, а для второго случая избыточнось данных иметь жуткую.
б) Вторая часть любого документа это табличная часть, которая содержит, как правило, список проданых или купленных товаров, услуг. Если я правильно понимаю, то эта табличная часть должна быть лотусовской вьюхой которая содержит этот список, а каждая строка списка это отдельный документ, причем дочерний по отношению к нашему счету или накладной. Если все в моих рассуждениях верно, то как создать эти дочернии документы при формировании нового документа, в то время как родитель еще не сохранен и его еще в базе нет ?