Не хватает длины поля KATMC.NAME

Администрирование баз данных (Pervasive.SQL, MS SQL, Oracle, утилита Support)

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Johny
Местный житель
Сообщения: 291
Зарегистрирован: 29 мар 2005, 17:49
Откуда: С-Петербург
Контактная информация:

Не хватает длины поля KATMC.NAME

Сообщение Johny »

Заказчик хочет чтобы все наименования комплектации велись по ГОСТу или ТУ. Если открыть эти документы, то увидим, что наименование может достигать 200 символов в длину. Чего делать? Сокращения не устраивают, так как Галка стыкуется с конструкторской системой, и наименования идут в техжокументацию.
перерыл возможные варианты, нашел что нет ни одного символьного поля удовлетворительной длины
KATMC.NAME=81
KATMC.OBOZN=51 (интересно чем думали разработчики зарезервировав поле под конструкторское обозначение < чем наименование)
ATTRVAL.VSTRING=121 - тоже маловато.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Memo
Johny
Местный житель
Сообщения: 291
Зарегистрирован: 29 мар 2005, 17:49
Откуда: С-Петербург
Контактная информация:

Сообщение Johny »

Зашибись, а в накладной я что делать буду и в интерфейсе отображать?
DarkAngel27
Местный житель
Сообщения: 228
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Сообщение DarkAngel27 »

А заносить часть информации в katmc.name, а другую в ATTRVAL.VSTRING. Итого 80+120=200.
Так не устроит?
DarkAngel27
Местный житель
Сообщения: 228
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Сообщение DarkAngel27 »

Вообще мы решили эту проблему несколько иначе:
1. Добавили в словарь ещё Базу, в которой вся необходимая информация по МЦ и храниться (Ссылка на katmc)...
2. Переделали все отчёты.
Проблемы возникают только когда МЦ будут удаляться, т.к. ссылка остаётся, но это можно тоже исправить, если конечно нужно...
Это как альтернативный вариант...
Johny
Местный житель
Сообщения: 291
Зарегистрирован: 29 мар 2005, 17:49
Откуда: С-Петербург
Контактная информация:

Сообщение Johny »

Вообще мы решили эту проблему несколько иначе:
1. Добавили в словарь ещё Базу, в которой вся необходимая информация по МЦ и храниться (Ссылка на katmc)...
Имеется в виду таблицу?
А как все это дело в фейсах отображается?
Можно поподробнее описать схему. Я думал на эту тему. Но не рискнул словарь переделывать. Нам то нужно, чтобы можно было с этой МЦ дальше в Галке работать и понимать с чем работаешь.
DarkAngel27
Местный житель
Сообщения: 228
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Сообщение DarkAngel27 »

1. Создали таблицу с необходимыми нам полями и полями Галки. Добавли туда поле со ссылкой на katmc.nrec. Получилось приблизитеьлно следующее:

Код: Выделить всё

Create Table D_GAL.Sert "Приложение к МЦ"
  With Table_Code = 28002
  With Replace
(
    NREC      : Comp        "NREC",		// "номер записи"
    LASTUSER  : String[20]  "LASTUSER",		// "имя пользователя, последним изменившего запись"
    LASTTIME  : Time        "LASTTIME",		// "время этой модификации"
    LASTDATE  : Date        "LASTDATE",		// "дата последней модификации"
    FILIALNO  : Longint     "FILIALNO",		// "Основная фирма или ее филиалы"
    CKATMC    : Comp        "Ссылка на Katmc",
    NSERTIF    : String[200]  "Доп. Информация 1",
    NSERTIF2  : String[80]  "Доп. Информация 2"
)
with Index
(
 Sert01 = Nrec (Unique, Surrogate, Journal),
 Sert02 = CKATMC,
 Sert03 = NSERTIF
);
2. Написали интерфейс по заполнению данных в этой таблице, соединившись с KATMC

Код: Выделить всё

          and katmc.nrec == sert.ckatmc
Сделали обычную выгрузку всех МЦ в интерфейс и по нажатию Enter Открывается редактирование данной таблицы.
3. Во все отчёты добавили выгрузку из этой таблицы таким же образом как и выше.
Johny
Местный житель
Сообщения: 291
Зарегистрирован: 29 мар 2005, 17:49
Откуда: С-Петербург
Контактная информация:

Сообщение Johny »

ага понял, в принципе это вариант. И почти не отличается от того, что я думал по работе с внешними атрибутами. И по запаркам примерно также получится. Спасибо.
Ответить