Докомпиляция словаря

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

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

Ответить
Sytin
Постоянный обитатель
Сообщения: 159
Зарегистрирован: 28 сен 2005, 19:48
Откуда: mos
Контактная информация:

Докомпиляция словаря

Сообщение Sytin »

У кого-нить есть хелпа в которой описаны способы докомпиляции словаря?

Заранее благодарю.
aleks1232321
Постоянный гость
Сообщения: 86
Зарегистрирован: 28 апр 2005, 12:15
Откуда: Москва

Сообщение aleks1232321 »

А если посмотреть любой LOT по переходу с версии на версию?
Там достаточно информации как это делается
Sytin
Постоянный обитатель
Сообщения: 159
Зарегистрирован: 28 сен 2005, 19:48
Откуда: mos
Контактная информация:

Сообщение Sytin »

пишет, что мне запрещено изменять параметры словаря галакти. Как с этим бороться?
aleks1232321
Постоянный гость
Сообщения: 86
Зарегистрирован: 28 апр 2005, 12:15
Откуда: Москва

Сообщение aleks1232321 »

A случайно нет такой строчки как
ALTER DICTIONARY?
Если есть, то лучше убрать ее.
aleks1232321
Постоянный гость
Сообщения: 86
Зарегистрирован: 28 апр 2005, 12:15
Откуда: Москва

Сообщение aleks1232321 »

Если хотите добавить поля или интексы в таблицу, прямо так и пишите, например,
/*
**** Добавление полей в таблицу KATMC
*/

Alter Table KatMc
Add
(
CRESHR1 : comp "код рес.хранения 1",
CRESHR2 : comp "код рес.хранения 2",
);

Если нужно добавить новую таблицу, то, например,

#include dictypes.def
Create Table D_User.Cross_Name "Соответствие наименований МЦ"
With Table_Code = 14505
With Replace
(
#include firstrec.gd
cKontr : comp "Ссылка на контрагента",
cMC : comp "Ссылка на нашу МЦ",
NEW_NAME : string "Новое имя МЦ у контрагента",
KOD : string[6] "Код МЦ у контрагента",
KOLINKOR : word "Кол-во штук в коробе"
)
With INDEX
(
AddUser01 = Nrec(Unique, Surrogate, Journal),
AddUser02 = cKontr,
AddUser03 = cMC,
AddUser04 = cKontr + cMC
);
Sytin
Постоянный обитатель
Сообщения: 159
Зарегистрирован: 28 сен 2005, 19:48
Откуда: mos
Контактная информация:

Сообщение Sytin »

А где взять или как написать подключаемые файлы
#include dictypes.def
#include firstrec.gd
???????????
Без них пишет код ошибки 46
aleks1232321
Постоянный гость
Сообщения: 86
Зарегистрирован: 28 апр 2005, 12:15
Откуда: Москва

Сообщение aleks1232321 »

Состав файла FIRSTREC.GD
/*
║ Система : Словарь Галактики ║
║ Назначение : общая часть для всех невременных таблиц
*/

NREC : tNRec , // "номер записи"
LastUser : s20 , // "имя пользователя, последним изменившего запись"
LastTime : Time , // "время этой модификации"
LastDate : Date , // "дата последней модификации"
FilialNo : longint , // "Основная фирма или ее филиалы"



Состав файла DICTYPES.DEF
/*
║ Система : Словарь Галактики ║
║ Назначение : типы для словаря ║
*/



Set type
(
tNREC = Comp,
s1 = string [1],
s2 = string [2],
s3 = string [3],
tDesGr = string [4],
s5 = string [5],
s6 = string [6],
s8 = string [8],
s10 = string [10],
s12 = string [12],
s15 = string [15],
s19 = string [19],
s20 = string [20],
tDescr = string [20],
s23 = string [23],
s25 = string [25],
s29 = string [29],
tBarKod = string [30],
s30 = string [30],
tNomLSch = string [35],
s40 = string [40],
s41 = string [41],
s45 = string [45],
s50 = string [50],
s59 = string [59],
s60 = string [60],
s63 = string [63],
s76 = string [76],
s78 = string [78],
s80 = string [80],
s100 = string [100],
s120 = string [120],
s150 = string [150],
s200 = string [200],
tName = string [80],
tSumma = double,
tNpp = word,

// начало типов из ББ
tNamePl = string [76], // Наименование платежа для PLPOR !!!
tSodPr = string [80], // Содержание проводки для OBOROT !!!
tNameOper = string [200], // Наименование операции
tKodOrg = string [10], // Код организации
tNameOrg = string [150], // Наименование организации
tSch20 = string [20], // Счет плательщика
tKodBank = string [20], // Код банка
tBankName = string [120], // Наименование банка
tNoDok = string [20], // Номер документа
tSchet3 = string [20], // Счет
tSchet19 = string [19], // Счет
tSubSch = string [20], // Субсчет
tKodKAU = comp, // код КАУ
tKAUStr = string [20], // КАУ (пользовательские КАУ)
tNamKau = string [50], // Наименование КАУ
tOutNamKau = string [45], // Наименование КАУ для сортировке по аналитике
tKey = string [40], // Ключ формулы
tExpr = string , // ФормулА
tKodPlat = string [20], // код платежа
tKodOper = string [15], // код платежа
tOutSumBuh= array [1..6] of double, // итоговые суммы по ведомости
tTabKau = array [1..3] of word, // привязанные таблицы для КАУ
tGetKau = array [1..3] of tKodKau, // привязанные к записи коды КАУ
tGetStr = array [1..3] of tKauStr, // привязанные к записи коды КАУ
tKodName = array [1..3] of tNamKau, // имена привязанных кодов КАУ
tOutKau = array [1..3] of tOutNamKau, // имена КАУ для аналит.отчетов
tKeyKAU = string [35], // длина ключа для сортировки КАУ
tFullKeyKau = array [1..3] of tKeyKau, // ключ для сортировки в отчетах
tFullNameKau = array [1..3] of tName, // имена КАУ для аналит.отчетов
// конец типов из ББ

// типы зарплаты
tZarSchet = string [19],
tZarSbSch = string [20],
tEndInt = double,
tProc = double,
tTabN = longint,
tVidOpl = LONGINT, // Код вида оплаты
tCex = COMP, // Код подразделения
tDoubleArray = array [1..255] of double,
tDoubleAr1 = array [1..250] of double,
tVedArray = array [1..65] of double,
DayT = array [1..31] of word, //"Часы, минуты по дням" ;
DayTb = array [1..31] of byte, //"Часы, минуты по дням" ;
DayTd = array [1..31] of double, //"Часы,минуты по дням" ;
DayTs = array [1..31] of string[2], //"Часы,минуты по дням"
VHOPLT = array[1..41] of Char, //Входим1 в подох.нал."
//"Резерв2 в доп.налог "
//"Входим3 в исч.выслу."
//"Входим4 в исч.север."
//"Входим5 в исч.профс."
//"Входим6 в исч.алимен"
//"Входим7 в пост.удер."
//"Входим8 в исч.индек."
//"Входим9 в ср.по нетр"
//"Входи10 в вр.по нетр"
//"Входи11 в расчет1/12"
//"-ходи12 в вр.по 1/12"
//"Входи13 в общий ср.з"
//"Входи14 в вр.поОб.ср"
//"Входи15 в ср.из ФЗП "
//"Входи16 в ср.из ФМП "
//"Резер17 в коэф.белор"
//"-ходи18 в ср.за год "
//"Входи19 в исч.рай.к."
//"Резер20 "
//"Резер21 "
//"Резер22 "
//"Резер23 "
//"Резер24 "
//"Резер25 "
//"Резер26 "
//"Резер27 "
//"Входи28 в пенс.фонд "
//"Входи29 в алгоритм34"
//"Входи30 в алгоритм35"
//"Входи31 в алгоритм36"
//"Входи32 в алгоритм37"
//"Входи33 в алгоритм38"
//"Входи34 в алгоритм39"
//"Входи35 в алгоритм40"
//"Входи36 в алгоритм41"
//"Входи37 в алгоритм42"
//"Входи38 в алгоритм43"
//"Входи39 в алгоритм44"
//"Входи40 в алгоритм45"
//"Входи41 в алгоритм46";

ArMET = array [1..12] of Char, // "Январь "
//"Февраль "
//"Март "
//"Апрель "
//"Май "
//"Июнь "
//"Июль "
//"Август "
//"Сентябрь"
//"Октябрь "
//"Ноябрь "
//"Декабрь ";

FZPT = array[1..12] of double, // "Январь ФЗП-Сумма"
//"Февраль ФЗП-Сумма"
//"Март ФЗП-Сумма"
//"Апрель ФЗП-Сумма"
//"Май ФЗП-Сумма"
//"Июнь ФЗП-Сумма"
//"Июль ФЗП-Сумма"
//"Август ФЗП-Сумма"
//"СентябрьФЗП-Сумма"
//"Октябрь ФЗП-Сумма"
//"Ноябрь ФЗП-Сумма"
//"Декабрь ФЗП-Сумма";

FMPT = array[1..12] of double, // "Январь ФМП-Сумма"
//"Февраль ФМП-Сумма"
//"Март ФМП-Сумма"
//"Апрель ФМП-Сумма"
//"Май ФМП-Сумма"
//"Июнь ФМП-Сумма"
//"Июль ФМП-Сумма"
//"Август ФМП-Сумма"
//"СентябрьФМП-Сумма"
//"Октябрь ФМП-Сумма"
//"Ноябрь ФМП-Сумма"
//"Декабрь ФМП-Сумма";
TTabDop = array[1..10] of longint, //"Дополнительные таб.номера";
TCexDop = array[1..10] of comp, //"Дополнительные подразделения";
TAppDop = array[1..10] of comp, //"Дополнительные должности"

// ФАП типы :

inType = array [0..1] of double, // "вероятная сумма : от - до"
intDATA = array [0..1] of date, // "вероятная дата : от - до"
hierCode = array [0..12] of word, // "первые 10 - позиция на
// соответствующем уровне,
// последние 3 - видимость и
// включение в высший /
// наличие низшего уровеня"
mADDR = array [0..15] of longint, // "матричный адрес элемента
// (допустимая размерность -
// до 16)"
t3expr = array [0..2] of string[160], // "3 копии выражения"
t3num = array [0..2] of byte, // "3 количества для выражений"
t3lNum = array [0..2] of longint, // "3 количества для визуализации"
t3bool = array [0..2] of boolean, // "3 флага да / нет"

// Типа графики
tWorks = array [1..7] of comp,
// Клиент типы
tMDSotr = string [6] // дескриптор сотрудника,
// работающего с системой Клиенты
);
Sytin
Постоянный обитатель
Сообщения: 159
Зарегистрирован: 28 сен 2005, 19:48
Откуда: mos
Контактная информация:

Сообщение Sytin »

Большое спасибо за помощь :grin:
Goblin
Местный житель
Сообщения: 474
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Сибирь-матушка
Контактная информация:

Сообщение Goblin »

Не забудьте потом контрольную сумму словаря обнулить, а то ругаться будет ...
Питаю патологические отвращение и ненависть в особо тяжелой и крайне запущенной формах к семейству программ Microsoft Business Solution !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
Sytin
Постоянный обитатель
Сообщения: 159
Зарегистрирован: 28 сен 2005, 19:48
Откуда: mos
Контактная информация:

Сообщение Sytin »

Еще вопрос. Я создал 2 таблицы.
Create Table D_RASP.KATRASP "Љ в «®Ј а бЇ®а殮­Ё©"
Using "KATRASP.dat"
With Table_Code = 31980
With Replace
(
NREC : comp "NREC" ,
NRASP : string[10] "Ќ®¬Ґа а бЇ®а殮­Ёп",
DRASP : date "„ в  а бЇ®а殮­Ёп",
DFROM : date "‘а®Є ¤Ґ©бвўЁп б...",
DTO : date "‘а®Є ¤Ґ©бвўЁп Ї®...",
VIDDOC : word "‚Ё¤ ¤®Єг¬Ґ­в "
)
With Index
(
KATRASP0 = NREC(Unique,Surrogate,Journal)
);

Create Table D_RASP.SPRASPMC "‘ЇҐжЁдЁЄ жЁп а бЇ®а殮­Ё© Њ–"
Using "SPRASPMC.dat"
With Table_Code = 31981
With Replace
(
NREC : comp "NREC" ,
cRasp : comp "‘бл«Є  ­  Є в «®Ј а бЇ®а殮­Ё©",
cMC : comp "‘бл«Є  ­  ¬ в業­®бвм",
MCName : string "Љ®ЇЁп ­ Ё¬Ґ­®ў ­Ёп Њ– Ё§ KatMC"
)
With Index
(
SPRASPMC0 = NREC(Unique,Surrogate,Journal),
SPRASPMC1 = cRasp
);

Заполнил их данными:
Таблица KatRasp
nrec │ номер распоряжения │ дата распоряжения │ срок действия с... │ срок действия по... │ вид документа
400190F97CB84541h │ 123456 │ 01/01/2006 │ 01/01/2006 │ 01/02/2006 │ 0

Таблица SPRASPMC
nrec │ ссылка на каталог распоряжений │ ссылка на матценность │ копия наименования мц из katmc
40012CFFBF93DB8Fh │ 400190F97CB84541h │ 0000000000000004h │ Фенол │
│ 40018FADD1568C11h │ 400190F97CB84541h │ 0000000000000006h │ Каустическая сода │
│ 4001f14526f65fddh │400190f97cb84541h │ 0000000000000005h │ формалин

делаю выборку в sql
select SPRASPMC.MCName
from KatRasp,SPRASPMC
where ((comp(400190F97CB84541h)==KatRasp.nrec and
KatRasp.nrec==SPRASPMC.cRasp));
он мне выдает одну строку
Копия наименования МЦ из KatMC │
Фенол

Что не так??? Может при создании таблиц к индексу нужно приписать какой-то параметр?
aleks1232321
Постоянный гость
Сообщения: 86
Зарегистрирован: 28 апр 2005, 12:15
Откуда: Москва

Сообщение aleks1232321 »

На первый взгляд вроде все правильно.
А если выполнить такой запрос

select SPRASPMC.MCName
from SPRASPMC
where ((comp(400190F97CB84541h)==SPRASPMC.cRasp));

Какой результат будет?
Sytin
Постоянный обитатель
Сообщения: 159
Зарегистрирован: 28 сен 2005, 19:48
Откуда: mos
Контактная информация:

Сообщение Sytin »

Все заработало)) Ниче не менял)
Ответить