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

Clarion, Clarion 7

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

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

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

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

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

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

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

Грубо говоря, это содержание накладных, с единственным ключом по коду накладной. Код товара (CodTovar)- не уникален.
Нужно как-то (!?) однозначно идентифицировать каждую запись в этом списке, что бы привязать к ней другой список … :)
Такой фокус вообще технологически возможен ?
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 235
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 6 раз

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

Сообщение SergioRaguzini »

А записи в этой таблице эта
ископаемая программа
продолжает добавлять и изменять?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7328
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

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

SergioRaguzini писал(а): 10 Декабрь 2019, 22:27продолжает добавлять и изменять?
Да. :(
За теми кто отстал - не возвращаться. (С) Кодекс
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

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

Сообщение gopstop2007 »

1. Не совсем понятно для чего
2. Непонятно для накладной или для товара
3. И что значит код товара не уникален, под одним кодом может быть несколько товаров?
Можно с помощью - uuid
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4560
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

Можно попробовать pointer или position. Стандартно (для меня) должны быть еще поля идентификатора записи с первичным ключем по нему и номера строки документа (оно же вторым в ключе KEY(NUMBER_NAKL).
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

Кроме как ввести поле в таблицу вариантов не вижу. А "код товара" и на уровне накладной не уникален?
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7328
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

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

kreator писал(а): 11 Декабрь 2019, 9:40А "код товара" и на уровне накладной не уникален
Неа … В накладной (чеке) могут быть выписаны одинаковые товары. А с учётом того, что теперь маркированные товары
надо пробивать поштучно - это можно даже и не спрашивать … :) Это старая программа и надо опционально добавить в
неё реализацию новых требований законодательства, желательно не меняя структуру БД … :)
Будем думать, выход есть всегда … но хотелось бы попроще. :)
За теми кто отстал - не возвращаться. (С) Кодекс
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

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

Сообщение kreator »

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

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

Сообщение RaFaeL »

Исходники потеряли что ли?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7328
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

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

Неа. Исходники как раз-то есть. :)
Много установленных и работающих копий этой программы, очень не хочется всё это конвертировать в новый формат.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4560
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

А вы ручками что-ли конвертер пишете?
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

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

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

finsoftrz писал(а): 12 Декабрь 2019, 11:18А вы ручками что-ли конвертер пишете?
карандашами :-)
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7328
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

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

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

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

Это потом будут звонить из деревни в 600 км. от Красноярска, куда вертолёт летает 2 раза в год и
рассказывать, что у них под WinXP заклинило эту конвертацию на 600 мегабайтном файле,
хотя до этого 10 лет всё работало как часы … И спрашивать что делать. ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

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

Сообщение RaFaeL »

Игорь Столяров писал(а): 12 Декабрь 2019, 11:17Много установленных и работающих копий этой программы, очень не хочется всё это конвертировать в новый формат.
А зачем всем конвертировать? Кому надо, тот поставит новую версию и сконвертирует. Остальные пусть на старой работают
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4560
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

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

Сообщение finsoftrz »

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

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