|
MS Excel связь с Cache
|
|||
---|---|---|---|
#18+
Использовала Excel через Delphi (шаблонами). Интерфейс на Delphi писался, а все данные из Cache тащили. Ну и примерчик. Может и примитивно, но работало и бухи не жаловались, им нравилось. Delphi: procedure pr_excel; var W:variant; f1:textfile; fs,c,cc,CC2:string; d,nl,den,mes,god,mm,n,nd,pr,ch,sum,ostn,ostk:string; i,j,k,t,k1:integer; kol_prix,kol_ras:string; ITOGCHAS,sumpr,sumrs:DOUBLE; A:array [2..9] of string; begin try //1try try //2try W:=GetActiveOleObject('Excel.Application'); except //2try try //3try W:= CreateOleObject('Excel.Application'); except //3try ShowMessage('Íå ìîãó çàïóñòèòü Excel'); end; //3try end; //2try //AssignFile(f1,'c:\Êàññîâàÿ êíèãà.txt'); //Reset(f1); //ReadLn(f1,fs); //CloseFile(f1); fs:='\\192.168.0.201\asup\XLT\Êàññîâàÿ êíèãà.xlt'; w.WorkBooks.Add(fs); // w.Visible:=True; org:=KasForm2.Label2.Caption; den:=copy(KasForm2.maskedit1.Text,1,2); w.ActiveWorkBook.ActiveSheet.Cells[2,15].Select; w.Selection.Value:=den; mes:=copy(KasForm2.maskedit1.Text,4,2); w.ActiveWorkBook.ActiveSheet.Cells[2,20].Select; w.Selection.Value:=mm; <.....> w.ActiveWorkBook.ActiveSheet.Cells[15,112].Select; w.Selection.Value:=zpt(floattostr(sumpr)); w.ActiveWorkBook.ActiveSheet.Cells[15,124].Select; w.Selection.Value:=zpt(floattostr(sumrs)); if KasForm2.CheckBox1.Checked=false then begin w.ActiveWorkBook.ActiveSheet.PrintOut; W.DisplayAlerts:=False; W.ActiveWorkbook.SaveAs('C:\2.XLS'); W.DisplayAlerts:=True; w.QUIT; end else w.visible:=true; finally //1try w:=UnAssigned; end; //1try } end; Код из COS: Class Orbita.BUHUCH Extends %Persistent [ ClassType = persistent, ProcedureBlock ] { //НОМЕР ЛИСТА КАССОВОЙ КНИГИ Method NOMLIST(D) As %String { S S="" I $D(^["OTL_ZPI"]CC1(D)) S NL=^["OTL_ZPI"]CC1(D) I '$D(^["OTL_ZPI"]CC1(D)) S NL=$O(^["OTL_ZPI"]CC1(D),-1)+1 S S=NL Q NL } Method NOMPP(D, PR, N) As %String { S S="" S S=$O(^["OTL_ZPI"]KASKN(D,PR,N)) Q S } Method NOMND(D, PR, N, ND) As %String { S S="" S S=$O(^["OTL_ZPI"]KASKN(D,PR,N,ND)) Q S } Method NOMCH(D, PR, N, ND, CH) As %String { S S="" S S=$O(^["OTL_ZPI"]KASKN(D,PR,N,ND,CH)) Q S } Method NOMST(D, PR, N, ND, CH) As %String { S S="" S S=$P(^["OTL_ZPI"]KASKN(D,PR,N,ND,CH),"\",2)_"\"_$P(^["OTL_ZPI"]KASKN(D,PR,N,ND,CH),"\",4) Q S } Method OST(ST, D) As %String { S S="" I ST="1" S DT=$O(^["OTL_ZPI"]SAL2(D),-1) S S=^["OTL_ZPI"]SAL2(DT) I ST="2" S S=^["OTL_ZPI"]SAL2(D) Q S } Method FORMMAS(D) As %String { K ^["OTL_ZPI"]KASKN(D) S DN=$O(^["OTL_ZPI"]SAL2(D),-1) S OSTN=^["OTL_ZPI"]SAL2(DN) ;ОСТАТОК НА НАЧАЛО ДНЯ S OSTK=^["OTL_ZPI"]SAL2(D) ;ОСТАТОК НА КОНЕЦ ДНЯ S NL="" I $D(^["OTL_ZPI"]CC1(D)) S NL=^["OTL_ZPI"]CC1(D) //I '$D(^CC1(D)) S NL=$O(^CC1(""),-1)+1 S ^["OTL_ZPI"]KASKN(D,"OSTN")=OSTN S ^["OTL_ZPI"]KASKN(D,"OSTK")=OSTK M ^["OTL_ZPI"]KASKN(D,"PR")=^["OTL_ZPI"]KDOK22(D,1) M ^["OTL_ZPI"]KASKN(D,"RS")=^["OTL_ZPI"]KDOK22(D,2) Q NL } } Ну и соответственно шаблон на сервере был ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2012, 11:21 |
|
MS Excel связь с Cache
|
|||
---|---|---|---|
#18+
Valeriu В принципе можно и другое .. VisM например или что-то еще Нее другое (особенно VisM) не интересно пока. Странно, а говорили что не интересен ... ;) Я думаю все средство хороши ! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2012, 11:22 |
|
MS Excel связь с Cache
|
|||
---|---|---|---|
#18+
servit , еще раз спасибо! Теперь подключение контролирую. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2012, 14:33 |
|
MS Excel связь с Cache
|
|||
---|---|---|---|
#18+
ValeriuСтранно, а говорили что не интересен ... ;) Я думал что это тот компонент, что ранее давали для связи Делфи с Каше... Когда можно было несколько переменных передать "туда" и несколько получить "обратно". ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2012, 14:35 |
|
MS Excel связь с Cache
|
|||
---|---|---|---|
#18+
servit krvsa , Из VBA и не только Вы можете работать с СУБД Caché через VisM, ActiveX, ADO, ... Примеры всех трёх вариантов для VBScript (что не суть важно) можно посмотреть здесь (в самом начале). Дошел и до объектного доступа... Вставляю из твоего примера Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
И сразу имею синтаксические ошибки на строках Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2012, 14:16 |
|
MS Excel связь с Cache
|
|||
---|---|---|---|
#18+
Прошло вот так Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2012, 14:18 |
|
MS Excel связь с Cache
|
|||
---|---|---|---|
#18+
В итоге взял за основу такой вариант... Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2012, 14:27 |
|
|
start [/forum/topic.php?fid=39&msg=38079072&tid=1557281]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 252ms |
total: | 501ms |
0 / 0 |