Идентификация записи в списке

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4773
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

Идентификация записи в списке

Сообщение Игорь Столяров »

Привет всем ! :)

Есть ископаемая программа (переделать нельзя) вот с таким списком (формат TPS или Btrieve):

KEY(NUMBER_NAKL)
Record
NUMBER_NAKL Long
CodTovar Long
Price Real
… и т.д.
end

Грубо говоря, это содержание накладных, с единственным ключом по коду накладной. Код товара (CodTovar)- не уникален.
Нужно как-то (!?) однозначно идентифицировать каждую запись в этом списке, что бы привязать к ней другой список … :)
Такой фокус вообще технологически возможен ?
«V» значит Вендетта !

Аватара пользователя
SergioRaguzini
Бывалый
Сообщения: 91
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край

Идентификация записи в списке

Сообщение SergioRaguzini »

А записи в этой таблице эта
ископаемая программа
продолжает добавлять и изменять?

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4773
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

Идентификация записи в списке

Сообщение Игорь Столяров »

SergioRaguzini писал(а):
10 Декабрь 2019, 22:27
продолжает добавлять и изменять?
Да. :(
«V» значит Вендетта !

gopstop2007
✯ Ветеран ✯
Сообщения: 1443
Зарегистрирован: 25 Март 2009, 21:55

Идентификация записи в списке

Сообщение gopstop2007 »

1. Не совсем понятно для чего
2. Непонятно для накладной или для товара
3. И что значит код товара не уникален, под одним кодом может быть несколько товаров?
Можно с помощью - uuid
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 2016
Зарегистрирован: 06 Ноябрь 2014, 12:48

Идентификация записи в списке

Сообщение finsoftrz »

Можно попробовать pointer или position. Стандартно (для меня) должны быть еще поля идентификатора записи с первичным ключем по нему и номера строки документа (оно же вторым в ключе KEY(NUMBER_NAKL).
C6/C11, ШВС, tps/btrieve.

kreator
✯ Ветеран ✯
Сообщения: 3904
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Идентификация записи в списке

Сообщение kreator »

Кроме как ввести поле в таблицу вариантов не вижу. А "код товара" и на уровне накладной не уникален?
We are hard at work… for you. :)

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4773
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

Идентификация записи в списке

Сообщение Игорь Столяров »

kreator писал(а):
11 Декабрь 2019, 9:40
А "код товара" и на уровне накладной не уникален
Неа … В накладной (чеке) могут быть выписаны одинаковые товары. А с учётом того, что теперь маркированные товары
надо пробивать поштучно - это можно даже и не спрашивать … :) Это старая программа и надо опционально добавить в
неё реализацию новых требований законодательства, желательно не меняя структуру БД … :)
Будем думать, выход есть всегда … но хотелось бы попроще. :)
«V» значит Вендетта !

kreator
✯ Ветеран ✯
Сообщения: 3904
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

Идентификация записи в списке

Сообщение kreator »

Игорь Столяров писал(а):
11 Декабрь 2019, 10:02
Будем думать, выход есть всегда … но хотелось бы попроще. :)
Мне даже интересно. Поделитесь потом.
Немного оффтоп. Коллеги перенесли на SQL свою базу. Я ещё с ними не работал. А базу вели ещё в ДОСе. Кто когда читает правильные книжки? В общем, много таблиц без первичных и уникальных ключей. И всё, приехали. Завалы разгребали несколько лет. Кларион-то кушает всё. А поведение программы стало непредсказуемым.
We are hard at work… for you. :)

Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1072
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

Идентификация записи в списке

Сообщение RaFaeL »

Исходники потеряли что ли?

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4773
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

Идентификация записи в списке

Сообщение Игорь Столяров »

Неа. Исходники как раз-то есть. :)
Много установленных и работающих копий этой программы, очень не хочется всё это конвертировать в новый формат.
«V» значит Вендетта !

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 2016
Зарегистрирован: 06 Ноябрь 2014, 12:48

Идентификация записи в списке

Сообщение finsoftrz »

А вы ручками что-ли конвертер пишете?
C6/C11, ШВС, tps/btrieve.

Аватара пользователя
Дед Пахом
Старичок
Сообщения: 2475
Зарегистрирован: 07 Июль 2005, 15:51
Откуда: Москва, Россия

Идентификация записи в списке

Сообщение Дед Пахом »

finsoftrz писал(а):
12 Декабрь 2019, 11:18
А вы ручками что-ли конвертер пишете?
карандашами :-)
С уважением, ДП

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 4773
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-ДоМу

Идентификация записи в списке

Сообщение Игорь Столяров »

Я бы тоже посмеялся, но дело в том, что уже такие конвертации ископаемых программ проходил.

Это потом будут звонить из деревни в 600 км. от Красноярска, куда вертолёт летает 2 раза в год и
рассказывать, что у них под WinXP заклинило эту конвертацию на 600 мегабайтном файле,
хотя до этого 10 лет всё работало как часы … И спрашивать что делать. ;)
«V» значит Вендетта !

Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1072
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

Идентификация записи в списке

Сообщение RaFaeL »

Игорь Столяров писал(а):
12 Декабрь 2019, 11:17
Много установленных и работающих копий этой программы, очень не хочется всё это конвертировать в новый формат.
А зачем всем конвертировать? Кому надо, тот поставит новую версию и сконвертирует. Остальные пусть на старой работают

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 2016
Зарегистрирован: 06 Ноябрь 2014, 12:48

Идентификация записи в списке

Сообщение finsoftrz »

Игорь Столяров писал(а):
12 Декабрь 2019, 11:32
Я бы тоже посмеялся, но дело в том, что уже такие конвертации ископаемых программ проходил.

Это потом будут звонить из деревни в 600 км. от Красноярска, куда вертолёт летает 2 раза в год и
рассказывать, что у них под WinXP заклинило эту конвертацию на 600 мегабайтном файле,
хотя до этого 10 лет всё работало как часы … И спрашивать что делать. ;)
Есть у меня такие, с компьютерами начала века. Копируем весь каталог с программой на более свежий компьютер, конвертим там, возвращаем обратно.
Старость базы у нас не важна. Конвертер генерится автоматически в виде exe на оснований файла версий структур. Который создается с помощью шаблона. Периодически обнуляем файл версий, сохраняя старый на всякий случай. Раз в 2-3 года. Получаем несколько exe. Смотрим дату установленной версии и запускаем последовательно нужные exe.
C6/C11, ШВС, tps/btrieve.

Ответить