Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / запись файла с сервера на клиента из CSP / 25 сообщений из 30, страница 1 из 2
10.06.2011, 11:59
    #37303921
AlViPos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
Добрый день!
Вопрос у меня простой, но уже который день с ним мучаюсь. Суть такова:
Я создаю платёжные документы в Cache, которые затем в зависимости от банка
записываю на свой клиентский компьютер, связанный с банкоми, в разные папки в зависимости от банка.
Раньше я делал это через SockTerm ( терминал) создавая на сервере командный файл и запуская его -
файлы переписывались из сервера на мой компьютер - без проблем.
Сейчас всё тоже самое делаю через CSP-страницы, но копирования не происходит.
Если с сервера на сервер - копирует, с сервера на мой компьютер - не хочет, паразитка.
Запускаю этот же командный файл с севера - записывает.

Пробовал через %Library.File - всё тоже самое - такое ощущение,
что где-то в настройках нет разрешения CSP-страницам работать через сеть.

Вот моя запись в CSP :
S pathserv="\\w2k3srv\TEST\" ; - сервер
s pathcli="\\192.168.100.12\Xbank\" ; - адрес моего компьютера
s Fil="plat.txt",fil="Xbank.txt"
;
s FilFrom=pathserv_Fil
s FilAs=pathcli_fil
S F=##class(%File).CopyFile(FilFrom,FilAs)

Под SockTerm было так

S pathserv="\\w2k3srv\TEST\",pathcli="C:\Xbank\",Fil="plat.txt",fil="Xbank.txt"

s ok=0 ;AM+
i $p["TNT" d g:ok FGOOD g FBAD
. s begin=0
. s cmd=pathserv_"tmp"_$j_".bat" ;"cmd"
. o cmd:("NW"):0 e w !,"Невозможно создать командный файл на сервере" R R q
. u cmd ; w "cd "_pathcli,!
. w "copy "_pathserv_Fil_" "_pathcli_fil_"/Y",!
. w "exit",!
. c cmd
. ; s x=$zf(-1,cmd) ; выполнение на сервере
. s ok=$$Run^%ZU(cmd) ;AM-
. h 1

Смотрел на форуме - ничего подобного не нашёл. Конечно, можно сделать так -
формировать всё в CSP, а передавать - переходить на SockTerm, но не удобно и глупо.
Сache - старушка, 5.0.20
Заранее благодарю не зависимо от ответа!.
Александр.
...
Рейтинг: 0 / 0
10.06.2011, 12:15
    #37303965
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
AlViPos , в примерах есть страничка по скачиванию файлов с клиента ( http://cache:57772/csp/samples/upload.csp)
<!-- Copyright (c) 2001 InterSystems Inc. ALL RIGHTS RESERVED. -->
<csp:class description="Demo of how to upload a file from the browser.">
<html>

<head>
</head>

<body bgcolor="#CCCCFF">

<!-- display standard sample template using a custom tag -->
<isc:SAMPLE title="Upload a file Sample">
This sample uses an '<input type=file>' element in a form to upload a file
from the web browser to CSP. Pick a file and hit the submit button to try it.
</isc:SAMPLE>

<!-- HTML Form to submit the file. You must specify the enctype="multipart/form-data" -->
<!-- for this to work -->
<form action="upload.csp" enctype="multipart/form-data" method="post">
    Enter a file to upload here: <input name=FileStream size=30 type=file>
    <p>
    <ul><input type="submit" value="Upload file"></ul>
    <p>
</form>

<!-- As form is submitted to this page look to see if we have the stream in the %request object -->
<csp:if condition='($data(%request.MimeData("FileStream",1)))'>
    <hr><br>
    Submitted filename: <b>#(%request.MimeData("FileStream",1).FileName)#</b><br>
    Size of file: <b>#(%request.MimeData("FileStream",1).Size)#</b><br>
    Mime Section: <b>#(%request.MimeData("FileStream",1).MimeSection)#</b><br>
    Type of stream: <b>#(%request.MimeData("FileStream",1).%ClassName(1))#</b><br>
    Content Type: <b>#(%request.MimeData("FileStream",1).ContentType)#</b><br>
    <br>
    First 200 characters of stream:<br>
    <ul>
    <script language="Cache" runat="server">
        New bytes
        Set bytes=%request.MimeData("FileStream",1).Read(200)
        Set bytes=##class(%CSP.Utils).DecodeData(bytes)
        Write bytes,!
    </script>
    </ul>
</csp:if>

</body>
</html>
...
Рейтинг: 0 / 0
10.06.2011, 12:30
    #37304012
AlViPos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
Мне не с клиента файл записать, а с сервера на клиента!
А Ваш пример сейчас попробую.
...
Рейтинг: 0 / 0
10.06.2011, 13:12
    #37304123
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
...
Рейтинг: 0 / 0
10.06.2011, 13:14
    #37304131
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
AlViPos ,

Была похожая проблема ( Microsoft Mapped Network Drives ).

Ещё проверьте учётную запись, под которой запущена служба Caché, и есть ли у этой учётной записи права на запись на зашаренный ресурс.
...
Рейтинг: 0 / 0
10.06.2011, 13:19
    #37304145
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
AlViPosМне не с клиента файл записать, а с сервера на клиента!
Извини не правильно понял...

Как вариант - просто дать ссылку на скачивание файла. А куда его записывать - пусть выбирает сам клиент.
...
Рейтинг: 0 / 0
10.06.2011, 13:37
    #37304179
FkViPos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
Это бухгалтеров учить, куда бросать файл!? Это бесполезно.
...
Рейтинг: 0 / 0
10.06.2011, 13:47
    #37304193
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
Интересно а что у вас за проект на Cache, если вы пользуетесь соктермом ?
...
Рейтинг: 0 / 0
10.06.2011, 14:00
    #37304221
AlViPos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
У нас не проект. Был ДИАМС, потом MSM, потом Cache - всё же под терминалкой. Полтора программиста писали программы. Сейчас часть форм переводим на CSP.
...
Рейтинг: 0 / 0
10.06.2011, 15:58
    #37304489
опять AlViPos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
Уважаемый krvsa! Ваш пример загружает содержимое файла с компьютера клиента, надо сделать каких-то полшага, чтобы записывала на компьютер клиента. Вы же умничка, тут чуть-чуть подумать и поэкспериментировать!
...
Рейтинг: 0 / 0
10.06.2011, 16:05
    #37304504
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
AlViPos, вы с Саранского "Станкостроителя"?
...
Рейтинг: 0 / 0
10.06.2011, 21:39
    #37304951
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
опять AlViPos , мы такое выполняем просто по сети... Пользователь, от которого грузится Кашей, должен иметь доступ к папке с доступом на клиенте.

Если жеработатьчерез интернет - давать ссылку на файл, пусть качают и сохраняют. Научатся когда-нибудь.
...
Рейтинг: 0 / 0
10.06.2011, 22:08
    #37304967
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
Ну а сохрянять на сервере, а ну пользователю подключить сетевой диск?
...
Рейтинг: 0 / 0
14.06.2011, 08:24
    #37307155
AlViPos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
Да, Алексей Маслов, из Саранска.
...
Рейтинг: 0 / 0
14.06.2011, 08:38
    #37307165
AlViPos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
А на счёт сетевого принтера - надо попробовать. Спасибо.
...
Рейтинг: 0 / 0
14.06.2011, 08:44
    #37307168
AlViPos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
Извиняюсь, сетевого диска, конечно. Но вот если бы кто подсказал ещё, как при печати документа из-под CSP управлять форматом вывода - книжный/альбомный. То, что нашёл в Интернете - не срабатывает. Молодец Mozila - сам определяет. Всем поменять IE на Mozila?
...
Рейтинг: 0 / 0
14.06.2011, 08:59
    #37307175
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
AlViPosНо вот если бы кто подсказал ещё, как при печати документа из-под CSP управлять форматом вывода - книжный/альбомный.
Теоретически может помочь вот это

Код: plaintext
1.
2.
3.
@page { 
   size: portrait; 
   /*size: landscape;*/
}

Но не факт что все браузеры такое поймут... Пока.
...
Рейтинг: 0 / 0
14.06.2011, 09:12
    #37307184
AlViPos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
Пробовал, не проходит.
...
Рейтинг: 0 / 0
14.06.2011, 09:36
    #37307209
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
AlViPos , значит время еще не пришло...
...
Рейтинг: 0 / 0
14.06.2011, 11:25
    #37307356
AlViPos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
Попробую и я так пошутить с начальством, только во что это выльется,...
...
Рейтинг: 0 / 0
14.06.2011, 11:45
    #37307393
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
AlViPos , просто настройка чего-то в вэбе у клиента вообще дело не благодарное...
...
Рейтинг: 0 / 0
14.06.2011, 11:50
    #37307409
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
AlViPos , например в Опера это работает...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<style type="text/css">
@page { 
	size: landscape;
}
</style>
<script type="text/javascript">
</script>
</head>
<body>
<p>Test</p>
</body>
</html>
...
Рейтинг: 0 / 0
14.06.2011, 11:51
    #37307411
doublefint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
AlViPos, напечатайте в Word из браузера

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
Class csp.Landscape Extends %CSP.Page {
Parameter CHARSET="utf-8";
///Меняем тип вывода
ClassMethod OnPreHTTP() As %Boolean [ ServerOnly =  1  ] {
 s %response.ContentType="application/msword" ;Как бы намекаем, что содержимое для ворда 
 s %response.Expires =  1  ;бывают проблемы с кэшированием
 q  1 
}

ClassMethod OnPage() As %Status [ ServerOnly =  1  ] {
 &html<<html><head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <meta http-equiv="Content-Language" content="ru">
 <title>М-программисты</title>
 <style type="text/css">

  @page a4Landscape  {  /*Объявили набор аттрибутов, в том числе ориентация страницы*/
    size: 29 .7cm 21cm; mso-page-orientation:landscape;
    margin: 2 .0cm  42 .5pt  2 .0cm  3 .0cm; 
    font-family: "Tahoma"; font-size: 12px;
    mso-footer-margin:.5cm;
   }

  div#Main { page: a4Landscape; } /*Применили объявленный набор аттрибутов*/ 
  p {margin:2px 0px;}
 </style>
 </head>
<body><div id="Main"><!--див, к которому применили набор аттрибутов-->
<center><h3><a href="http://karataev.nm.ru" title="Евгений Каратаев">М-программисты настолько суровы...</a></h3></center>
<div align="justify">
<blockquote>Однажды я решил повторить "Челябинские мужики настолько суровы..." из сериала "Наша раша", но в переложении к М-программистам. Знакомые посоветовали начать выкладывать на форуме. Народ поддержал, и вот что получилось.</blockquote>
<p>М-программисты настолько суровы, что вводят программы сразу в глобали.
</p><p>М-программисты настолько суровы, что могут выполнять выражения языка без компиляции.
</p><p>М-программисты настолько суровы, что делают goto куда угодно.
</p><p>М-программисты настолько суровы, что им хватает одного текущего девайса ввода-вывода.
</p><p>М-программисты настолько суровы, что не используют лишние переменные, а повторно используют ставшие ненужными.
</p><p>М-программисты настолько суровы, что им не нужно повторять по два раза, им достаточно и первой буквы.
</p><p>М-программисты настолько суровы, что могут одной командой присвоить несколько переменных сразу.
</p><p>М-программисты настолько суровы, что написанный ими код никто никогда не исправляет. Боятся.
</p><p>М-программисты настолько суровы, что написанные ими программы потомки через десятилетия используют прямо так. Повторить не могут.
</p><p>М-программисты настолько суровы, что их очень мало. Не каждый может так посуроветь.
</p><p>М-программисты настолько суровы, что не желают связываться с командами и по жизни исполняют содержимое базы данных.
</p><p>М-программисты настолько суровы, что в любой момент, если сильно обидятся, могут убить все переменные в программе вообще. Одной буквой с единственного устройства 
ввода-вывода.
</p>
<p>М-программисты настолько суровы, что для упрощения кода могут пользоваться минимальным набором символов, составляя из них осмысленные конструкции.<br/> Например: <pre>$d(^d(d,d,d)).</pre></p>
<p>М-программисты настолько суровы, что они могут изменять RunTime работу давно скомпилированного другими М-программистами кода.
</p><p>М-программисты настолько суровы, что любой, нужный для работы, инструментарий пишут исключительно сами.
</p><p>М-программисты настолько суровы, что запросто могут перейти к прямому обращению к данным.
</p><p>М-программисты настолько суровы, что могут наладить многопользовательскую работу просто через COM порты.
</p><p>М-программисты настолько суровы, что свои программы защищают простым кодом
<br><tt>i +$h> 60996  w !,"Пора платить бабки!" h</tt><br>все равно никто не сможет его взломать.
</p><p>М-программисты настолько суровы, что знают все (!) базовые команды и функции.
</p><p>М-программисты настолько суровы, что у каждого есть своя OLAP технология.
</p><p>М-программисты настолько суровы, что вообще не пишут программ, их генерят уже написаные программы!
</p><p>М-программисты настолько суровы, что не пользуются транзакциями.
</p><p>М-программисты настолько суровы, что в их программах спецсимволов больше чем букв.
</p><p>М-программисты настолько суровы, что почти не пользуются большими кнопками - пробелом и переводом строк.
</p><p>М-программисты настолько суровы, что программы хранят в данных, а данные в программах.
</p><p>М-программисты настолько суровы, что для них отменили типизацию переменных.
</p><p>М-программисты настолько суровы, что иногда и буквами не пользуются, а используют naked indicator.
</p><p>М-программисты настолько суровы, что могут так обратиться к данным (голые ссылки)! Что потом целый отдел будет разбираться что же там читают?
</p><p>М-программисты настолько суровы, что даже двойной гы-гы <nobr>(;;)</nobr> это вообще не гы-гы, а содержательные данные в программе.
</p><p>М-программисты настолько суровы, что пока ни один хостер не решается поддерживать CSP приложения.
</p><p>М-программисты настолько суровы, что могут не запускать готовую программу.
</p><p>М-программисты настолько суровы, что работая в Cache, упорно продолжают писать программы, как в MSM...
</p><p>М-программисты настолько суровы, что и сами никогда не исправляют собственный код. Боятся.
</p><p>М-программисты настолько суровы, что готовы разрабатывать все что угодно!
</p><p>М-программисты настолько суровы, что могут запрограммировать даже ветер в голове... <nobr>(с)ЛВН</nobr>
</p><p>М-программисты настолько суровы, что адресуют точки входа программ напрямую, по номеру строки.
</p><p>M-программисты настолько суровы, что им достаточно одной команды QUIT
<br>См. Winfried O. Gerum. "Tips 'n' Tricks QUIT - The Ultimate Command"
<br>Было опубликовано в MUG/MTA - North America. February  1993 : M Computing, Volume  1 , Issue  1 
</p><p>М-программисты настолько суровы, что всякие там отладчики им не нужны.
</p><p>Оригинальные сообщения и их авторство - форум Cache на сайте <a href="http://www.sql.ru/forum/actualtopics.aspx?bid=56"><nobr>www.sql.ru</nobr></a>
</p>
</div></div>

 </body>
 </html>>
 
 Quit $$$OK
}
}

Ну и потом открыть в ворде, Печать-Предварительный просмотр
...
Рейтинг: 0 / 0
15.06.2011, 09:59
    #37308679
AlViPos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
Спасибо всем, что не бросаете в трудные минуты и помогаете советами!
...
Рейтинг: 0 / 0
15.06.2011, 12:13
    #37308984
AlViPos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
запись файла с сервера на клиента из CSP
Уважаемый doublefint !
Извините меня за примитивизм, данный кусок программы вставляется не в CSP, или в CSP, но под каким-то скриптом? Не возводи глаза к небесам, ну не знаю я, новичок-старичок...
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / запись файла с сервера на клиента из CSP / 25 сообщений из 30, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]