Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Caché Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: Помогите новичку, проблема с базой  [new]
Gants
Member

Откуда:
Сообщений: 14
MyNoName,

пока не перешли материалы ты вносить надо же))
а то в сводку попадешь и всё такое...
вообщем если вы знаете структура то в курсе должны быть...
19 авг 15, 18:14    [18041699]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12627
Gants
в классах

MyNoNAme
обычно хранение

Нипанятна... :-O

Если таки в классах и индексы при работе не поддерживают целостность это может быть проблемой ИС...
Если хранение доморощеное - чем не повод нагнуть разработчика! Пусть даже поддержка закончилась...
20 авг 15, 08:12    [18043651]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
Alexey Maslov
Member

Откуда: СПб
Сообщений: 1332
Такое впечатление, что пишет иностранец, старающийся скрыть этот факт. Только мне этот топик продолжает казаться очень странным?
20 авг 15, 10:06    [18044042]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
DAiMor
Member

Откуда: Brno, Czech Republic
Сообщений: 2258
Alexey Maslov
Такое впечатление, что пишет иностранец, старающийся скрыть этот факт. Только мне этот топик продолжает казаться очень странным?
Судя по IP он из России. По моему этот человек просто не знаком с разработкой на Cache, поэтому и разговор выглядит странным. Продолжать его смысла особого нет, знаний и понимания его все равно не хватит, для того чтобы понять что там происходит. Тут нужно только обращаться к разработчику.
20 авг 15, 10:16    [18044103]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
leyra
Member

Откуда:
Сообщений: 1
Проблема, описанная пользователем Gants, связана с некорректными действия администратора информационной системы, а именно удалением всех глобалов через портал управления системой.
При помощи сотрудников службы поддержки компании была восстановлена часть данных, часть информации, ввиду отсутствия резервных копий, была потеряна и восстановлению не подлежит. Данный факт является причиной нарушения ссылочной целостности базы данных.
По причине отсутствия у данного клиента оплаченной услуги по предоставлению технической поддержки, дальнейшие действия по восстановлению данных были прекращены.
20 авг 15, 11:26    [18044609]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12627
leyra
Проблема, описанная пользователем Gants, связана с некорректными действия администратора информационной системы, а именно удалением всех глобалов через портал управления системой.
При помощи сотрудников службы поддержки компании была восстановлена часть данных, часть информации, ввиду отсутствия резервных копий, была потеряна и восстановлению не подлежит. Данный факт является причиной нарушения ссылочной целостности базы данных.
По причине отсутствия у данного клиента оплаченной услуги по предоставлению технической поддержки, дальнейшие действия по восстановлению данных были прекращены.

На кол его!
20 авг 15, 14:43    [18046096]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
Gants
Member

Откуда:
Сообщений: 14
krvsa,

да вам бы лишь бы на кол кого ни будь...
СПАСИБО ВСЕМ! ЗАПУСТИЛИ БЕЗ ВАС!
21 авг 15, 10:42    [18050052]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12627
Gants
да вам бы лишь бы на кол кого ни будь...

- Я кровожадный?
- Кровожадный...
- Я беспощадный?
- Беспощадный...
- Я злой разбойник Бармалей!
(с)

Gants
СПАСИБО ВСЕМ! ЗАПУСТИЛИ БЕЗ ВАС!

Заходи еще! Поможем, чем сможем...
21 авг 15, 11:57    [18050607]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
ну я
Member

Откуда: Stalingrad
Сообщений: 1079
krvsa
Gants
да вам бы лишь бы на кол кого ни будь...

- Я кровожадный?
- Кровожадный...
- Я беспощадный?
- Беспощадный...
- Я злой разбойник Бармалей!
(с)

Gants
СПАСИБО ВСЕМ! ЗАПУСТИЛИ БЕЗ ВАС!

Заходи еще! Поможем, чем сможем...


Беспощадная помощь ))))
21 авг 15, 13:15    [18051147]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Помогите новичку, проблема с базой  [new]
Ермалай
Member

Откуда:
Сообщений: 7
Приветствую всех! Извиняюсь не нашел темы специальной для этого. Была одна "помощь новичкам" но ее закрыли уже.
Проблема такая: у меня идет цикл который перебирает ветки и затем записывает в глобал
S I=I+1,^RPL2(I)=5_"\"_"Рейсов"_"\"_T1(1) G F91+1
Проблема в том что запись идет вот так
а должна записать по горизонтали и с разделителем косой

К сообщению приложен файл. Размер - 14Kb
9 фев 17, 06:54    [20195247]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
Ермалай
Member

Откуда:
Сообщений: 7


К сообщению приложен файл. Размер - 21Kb
9 фев 17, 06:55    [20195249]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
Блок А.Н.
Member

Откуда: Новосибирск
Сообщений: 3380
Ермалай,

вы бы кусок кода побольше привели, потому что из вашего мало что понятно, кроме того, что это Каше 4.* и вы используете GOTO
В вашем случае разные узлы получаются, потому что тут
S I=I+1,^RPL2(I)
у вас меняется индекс глобала, в который вы записываете.
9 фев 17, 08:58    [20195449]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
Ермалай
Member

Откуда:
Сообщений: 7
Сорри вот код

F9() K ^RPL5 S I=0 F J=1:1:12 {S T(J)=0}
S VN="",GD=0
S GD=$O(^REPORT(8,GD)) G F91:GD="" S MES=0 ;G F91:GD="" S MES=0 ;Q:GD="" S MES=0
S MES=$O(^REPORT(8,GD,MES)) G F9+2:MES="" S CR=0
S CR=$O(^REPORT(8,GD,MES,CR)) G F9+3:CR="" S REG=0 S CRR=$S(CR=1:1,CR=2:1,CR=3:3,CR="K":"K")
S REG=$O(^REPORT(8,GD,MES,CR,REG)) G F9+4:REG="" S VN=0
S VN=$O(^REPORT(8,GD,MES,CR,REG,VN)) G F9+5:VN="" S NR=0
S NR=$O(^REPORT(8,GD,MES,CR,REG,VN,NR)) G F9+6:NR="" S AP=0
S AP=$O(^REPORT(8,GD,MES,CR,REG,VN,NR,AP)) G F9+7:AP="" S TIP=0
S TIP=$O(^REPORT(8,GD,MES,CR,REG,VN,NR,AP,TIP)) G F9+8:TIP="" S NN=0 F J=1:1:12 {S T1(J)=0}
S NN=$O(^REPORT(8,GD,MES,CR,REG,VN,NR,AP,TIP,NN)) G F9I:NN="" S T=$G(^REPORT(8,GD,MES,CR,REG,VN,NR,AP,TIP,NN)) F J=1:1:12 {S T(J)=$P(T,"/",J),T1(J)=T1(J)+T(J)} G F9+10
F9I S I=I+1,Z(GD,CRR,VN,I)=T1(3)_"\"_T1(4)_"\"_T1(7)_"\"_VN G F9+9

F91 S I=0,GD=0
S GD=$O(Z(GD)) G END:GD="" S CRR=0 F J=1:1:5 {S T1(J)=0}
S CRR=$O(Z(GD,CRR)) G F91+5:CRR="" S VN=0 S MJD=$S(CRR=1:"в т.ч. Международные",CRR=3:"Внутренние")
S VN=$O(Z(GD,CRR,VN)) G F91+2:VN="" S NN=0 F J=1:1:5 {S T(J)=0} S:VN="O" VVN="ОТПРАВЛЕНО" s:VN="P" VVN="ПРИБЫЛО"
S NN=$O(Z(GD,CRR,VN,NN)) G F91+3:NN="" S T=$G(Z(GD,CRR,VN,NN)) F J=1:1:5 {S T(J)=$P(T,"\",J),T1(J)=T1(J)+T(J)} G F91+4
F I=I+1 S ^RPL2(I)=5_"\"_GD_"\"_T1(1) G F91+1

Необходимо записать в глобал по первому примеру. А получается по второму. Версия каше 5.0.21 Спасибо!
9 фев 17, 11:37    [20196091]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
П.С.М.
Member

Откуда: Из СССР
Сообщений: 354
Ермалай,

Вам самому то понятен сей набор символов? Неужели Вам удобно работать с таким кодом?
9 фев 17, 12:51    [20196381]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
AlexKB
Member

Откуда: Запорожье
Сообщений: 667
П.С.М.,
Старенький и добренький стиль классического МАМПСа...
аж всплакнулось...
9 фев 17, 13:08    [20196462]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
Блок А.Н.
Member

Откуда: Новосибирск
Сообщений: 3380
Ермалай,

Это, конечно, чудо: G F91+4
И две метки с разными названиями, одна F9I, а другая F91.
Прям не уверен, что это человек, а не киборг писал какой-нибудь.
9 фев 17, 13:24    [20196574]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
П.С.М.
Member

Откуда: Из СССР
Сообщений: 354
AlexKB
П.С.М.,
Старенький и добренький стиль классического МАМПСа...
аж всплакнулось...

Даже и его можно писать как-то человекочитабельней, дать имена метка, а не использовать хардкодное метка+смещение, не писать кучу команд в одну строку:

+
F9() 
	K ^RPL5 
	S I=0 
	F J=1:1:12 {S T(J)=0}
	S VN=""
	S GD=0
F92	
	S GD=$O(^REPORT(8,GD)) 
	G:GD="" F91 
	S MES=0
F93	
	S MES=$O(^REPORT(8,GD,MES)) 
	G:MES="" F92
	S CR=0
F94	
	S CR=$O(^REPORT(8,GD,MES,CR))
	G:CR="" F93 
	S REG=0 
	S CRR=$S(CR=1:1,CR=2:1,CR=3:3,CR="K":"K")
F95	
	S REG=$O(^REPORT(8,GD,MES,CR,REG)) 
	G:REG="" F94 
	S VN=0
F96	
	S VN=$O(^REPORT(8,GD,MES,CR,REG,VN)) 
	G:VN="" F95
	S NR=0
F97	
	S NR=$O(^REPORT(8,GD,MES,CR,REG,VN,NR)) 
	G:NR="" F96 
	S AP=0
F98	
	S AP=$O(^REPORT(8,GD,MES,CR,REG,VN,NR,AP)) 
	G:AP="" F97 
	S TIP=0
F99	
	S TIP=$O(^REPORT(8,GD,MES,CR,REG,VN,NR,AP,TIP)) 
	G:TIP="" F98 
	S NN=0 
	F J=1:1:12 {S T1(J)=0}
F910	
	S NN=$O(^REPORT(8,GD,MES,CR,REG,VN,NR,AP,TIP,NN)) 
	G:NN="" F9I 
	S T=$G(^REPORT(8,GD,MES,CR,REG,VN,NR,AP,TIP,NN)) 
	F J=1:1:12 {S T(J)=$P(T,"/",J),T1(J)=T1(J)+T(J)} 
	G F910
F9I 
	S I=I+1,Z(GD,CRR,VN,I)=T1(3)_"\"_T1(4)_"\"_T1(7)_"\"_VN 
	G F99

F91 
	S I=0,GD=0
F911	
	S GD=$O(Z(GD)) 
	G:GD="" END 
	S CRR=0 
	F J=1:1:5 {S T1(J)=0}
F912	
	S CRR=$O(Z(GD,CRR)) 
	G:CRR="" F915 
	S VN=0 
	S MJD=$S(CRR=1:"в т.ч. Международные",CRR=3:"Внутренние")
F913	
	S VN=$O(Z(GD,CRR,VN)) 
	G:VN="" F912 
	S NN=0 
	F J=1:1:5 {S T(J)=0} 
	I VN="O" S VVN="ОТПРАВЛЕНО" 
	I VN="P" S VVN="ПРИБЫЛО"
F914	
	S NN=$O(Z(GD,CRR,VN,NN)) 
	G:NN="" F913 
	S T=$G(Z(GD,CRR,VN,NN)) 
	F J=1:1:5 {S T(J)=$P(T,"\",J),T1(J)=T1(J)+T(J)} 
	G F914
F915	
	F I=I+1 S ^RPL2(I)=5_"\"_GD_"\"_T1(1) G F911  ; Тут вообще ГоуТу в из тела цикла. Смысл цикла?
END
 	Q


Да и можно отказаться от GoTo вообще, а переписать иначе с циклами и процедурами.

Хотя, вполне м.б., как заметил Блок А.Н., действительно может код сгенерирован, а в него что то в ручную еще добавляют.
9 фев 17, 13:31    [20196615]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
AlexKB
Member

Откуда: Запорожье
Сообщений: 667
Блок А.Н.,
На заре "моего" МАМПСа многие так писали, особенно импортные продукты, взять хотябы VA FileManager (кажись так назывался продукт), да и другие библиотеки так же оформлялись...
Но это в истории и в сладких воспоминаниях...
А что вы хотите, если код писался с ограничениями не более 2КБ на рутину, а запускалось на машинах, где пользователям отводилось оперативки по 4КБ, ну или чуть больше...
9 фев 17, 13:33    [20196625]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
П.С.М.
Member

Откуда: Из СССР
Сообщений: 354
Ермалай
...а должна записать по горизонтали и с разделителем косой

Функция $PIECE Вам в помощь. Обратите внимание но использование функции в левой части выражения.
9 фев 17, 13:49    [20196707]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 12627
Ермалай, будет более продуктивно написать что у тебя есть т.с. в начале... И что хочется получить в итоге...
Потому как писать чего-то в глобал "через разделитель" - не факт, что хорошо. ;)
9 фев 17, 14:31    [20196883]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
gluconat_ca
Member

Откуда:
Сообщений: 84
Ермалай,

Для записи в глобал S ^RPL2(I)=5_"\"_GD_"\"_T1(1)
массив T1 формируется так T1(J)=T1(J)+T(J).
Поэтому в T1(1) всегда числа и никаких "\" там быть не может как ни крути циклы.
9 фев 17, 14:44    [20196958]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
Alexey Maslov
Member

Откуда: СПб
Сообщений: 1332
AlexKB
На заре "моего" МАМПСа многие так писали...
Познакомился с MUMPS в 1987 - надо же, в этом году 30 лет! По воспоминаниям, тогдашние интерпретаторы языка (о компиляторах речь ещё не шла) более эффективно обрабатывали конструкции
IF cond DO
. line1
. ...
. lineN
ELSE  DO
. line1
. ...
. lineN
, чем их аналоги, реализованные на GOTO, т.к. GOTO был плохо оптимизирован: прекомпилированной таблицы меток не было, и их поиск шёл просмотром текста программы.

Возможно, Алексей, ты начинал раньше, и повидал больше...
9 фев 17, 14:53    [20196998]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
МСМ
Member

Откуда: Минск
Сообщений: 6

F91 S I=0,GD=0
S GD=$O(Z(GD)) G END:GD="" S CRR=0 F J=1:1:5 {S T1(J)=0}
S CRR=$O(Z(GD,CRR)) G F91+5:CRR="" S VN=0 S MJD=$S(CRR=1:"в т.ч. Международные",CRR=3:"Внутренние")
S VN=$O(Z(GD,CRR,VN)) G F91+2:VN="" S NN=0 F J=1:1:5 {S T(J)=0} S:VN="O" VVN="ОТПРАВЛЕНО" s:VN="P" VVN="ПРИБЫЛО"
S NN=$O(Z(GD,CRR,VN,NN)) G F91+3:NN="" S T=$G(Z(GD,CRR,VN,NN)) F J=1:1:5 {S T(J)=$P(T,"\",J),T1(J)=T1(J)+T(J)} G F91+4
F I=I+1 S ^RPL2(I)=5_"\"_GD_"\"_T1(1) G F91+1


Ермалай,
У кода (см. выше) не должен быть такой результат:

^RPL2(1)=5\Рейсов\11948
^RPL2(2)=5\Рейсов\12389

^RPL2(10)=5\Рейсов\1538

F I=I+1 S ^RPL2(I)=5_"\"_GD_"\"_T1(1) G F91+1


В строке (см. выше) переменная I меняется при новом значении переменной GD.
9 фев 17, 15:11    [20197090]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
experience
Member

Откуда: ngs.ru
Сообщений: 47
Извиняюсь за офтоп.
Кстати с днём (М)-рождения всё сложно, как то 66-67????, а вот с днём стандартизации всё ОК, на мой взгляд, и в этом году 40.
Такое стоит как то по громче отметить!!!
9 фев 17, 15:13    [20197104]     Ответить | Цитировать Сообщить модератору
 Re: Помогите новичку, проблема с базой  [new]
DAiMor
Member

Откуда: Brno, Czech Republic
Сообщений: 2258
experience
Извиняюсь за офтоп.
Кстати с днём (М)-рождения всё сложно, как то 66-67????, а вот с днём стандартизации всё ОК, на мой взгляд, и в этом году 40.
Такое стоит как то по громче отметить!!!
Почему бы и нет, если школу InterSystems в москве все таки организует, и приедут туда те кто так долго работает с M. У меня то в этом году всего то 10 лет работы с Caché, хотя и тоже уже срок.
9 фев 17, 15:18    [20197128]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Caché Ответить