Страница 1 из 1
Создание двух словарей для CW приложения.
Добавлено: 07 Август 2008, 18:46
Aнтон87
Кто подскажет? У меня возникла вот такая ситуация ранее еще на CW51 был создан под бухгалтерию программный комплекс, который до сих пор работает со старым словарем slovar_old.dct он мне известен и у меня есть, но есть другая проблема для бухгалтерских exe-ов и dll-к не для всех сохранился программный код , а вот описания extender-ов в доке есть ), можно ли создать новое приложение (или dll) конечно естественно на основе *.app, чтобы эта app –шка или приложение работало и со старым словарем slovar_old.dct и одновременно с новым моим заново созданным словарем slovar_new.dct. В принципе мне нужно пока продублировать часть справочников из бухгалтерии для отдела реализации, сначала их надо синхронизировать со старыми справочниками, находящимися в slovar_old.dct и добавить в них новые поля. А если я эти поля добавлю в старый справочник, то у меня не запустится Exe модуль ,exe модуль и dll –ки бухгалтерии. Причем все справочники расположены на компьютерной сети и в формате *.tps файлов.
Re: Создание двух словарей для CW приложения.
Добавлено: 08 Август 2008, 8:41
Игорь Столяров
Если убрать некоторую витьеватость изложения проблемы, то вопрос наверно звучит как "Могут ли несколько приложений, с различным описанием структуры БД работать с общими таблицами в формате TPS ?".
Ответ - нет, не могут. Здесь можно пойти по пути наращивания структуры данных через связанные таблицы. Немного муторно - но в общем-то часто используется, когда нужно добавить поля в таблицы, если нельзя изменять их структуру из-за того, что с ней работает немодифицируемое (чужое) приложение. Если кратко, то идея в следующем.
Предположим есть список товаров, и его структуру мы изменять не можем:TOVAR c полями (ID,Name,Price,Kolvo ...) при этом ID - уникальный код товара и по нему есть ключ.
Нужно добавить к этому списку 2 поля c примечанием и картинкой. Создаем список TovarAdd с полями (TovID,Remark,TovImage). По полю TovNumber строим ключ и связываем через него этот список со списком товаров. . Теперь, для каждого товара, в новом приложении, мы можем добавлять примечание и картинку, а "старая" программа этого не заметит и будет прекрасно работать. В "новой" программе придется ручками отслеживать изменения и добавления примечания и картинки. Есть маленький глюк - при удалении товара из "старой" программы остнется оторванная запись TovarAdd - это нужно будет как-то отслеживать (например при добавлении товара в "новой" программе). В общем-то все ...

Re: Создание двух словарей для CW приложения.
Добавлено: 08 Август 2008, 12:23
Aнтон87
Я наверно о другом думал, что Clarion(a) может создавать виртуальные списки, как Вы написали “создаем список TovarAdd…”, который бы вначале запуска синхронизировался из старой таблицы, а потом в процессе работы два временных поля из нового словаря dct ,о которых я выше писал, каким либо образом корректировались пользователями.
Re: Создание двух словарей для CW приложения.
Добавлено: 08 Август 2008, 16:05
Aнтон87
Вот ситуация, и попробуй растолкуй потом шефу, который никак не может понять, что базы и их структуры нам известны, а написать новое приложение, да чтоб при этом работало старое "чужое" приложение да еще и новое, которое нужно будет сделать так, как все равно, что почесать "левое ухо правой рукой".
Re: Создание двух словарей для CW приложения.
Добавлено: 08 Август 2008, 16:28
Игорь Столяров
А Вы объясните ему, что это примерно тоже самое, что жить с новой молодой женой, не разведясь со старой ... Это требует оптимизма, сноровки и денег. Думаю, что он Вас поймет ...

Re: Создание двух словарей для CW приложения.
Добавлено: 08 Август 2008, 17:39
Aнтон87
Cпасибо за совет!

Я так и зделаю, но думаю он не поймет, по его словам он бывший программист и говорит, что: "правка справочников и их модификация тривиальное занятие".
Re: Создание двух словарей для CW приложения.
Добавлено: 09 Август 2008, 7:58
Игорь Столяров
Ну, нельзя сказать что описанный ниже метод является военным - там не так все и сложно, делается за час максимум ... С другой стороны, если бы БД была в формате SQL, а не TPS - то действительно было бы намного проще.
Можно еще посмотреть шаблоны к драйверу In-Memory, там есть синхронизация и обработка связанных списков. Только все равно придется вручную создавать дополнительный связанный список, и не знаю есть ли там обратная синхронизация внесенных изменений (назначение этих шаблонов несколько другое).
Re: Создание двух словарей для CW приложения.
Добавлено: 11 Август 2008, 13:15
Aнтон87
Спасибо за совет. А где можно посмотреть "шаблоны к драйверу In-Memory"?
Re: Создание двух словарей для CW приложения.
Добавлено: 11 Август 2008, 13:54
Игорь Столяров
См. в FTP разделе форума.
Re: Создание двух словарей для CW приложения.
Добавлено: 11 Август 2008, 18:49
Aнтон87
И на этом спасибо.