Экспорт файлов на локал
На страницу Пред. 1, 2
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
timochev Эксперт
Вступление в Клуб: 02.07.2007
|
Ср Авг 08, 2012 13:07   |
|
Полезность: 1
|
Architect пишет: | попробывал по-разному. ни ругается и ни копирует - никак не отвечает
есть к этой операции еще какие-то дополнительные требования? |
посмотрите пример FNS_FILE.MAKE_CANCEL
Здесь один файл копируется 2 раза в разные папки - преобразуйте в копирование разных файлов, при необходимости можно оформить цикл
Код: | &debug('Копирование файла ['||v_file_name||'] из ['||v_path||'] в ['||substr (V_OUT_PATH, 1, length (V_OUT_PATH)-1)||'] '||nvl(::[SYSTEM]%id,1) ,0)
::[DOCUMENT].[COPYFILES].idx := 0;
::[DOCUMENT].[COPYFILES].tbl_F$L(1).[SRC_NAME] := v_file_name;
::[DOCUMENT].[COPYFILES].tbl_F$L(1).[SRC_PATH] := v_path;
::[DOCUMENT].[COPYFILES].tbl_F$L(1).[SRC_TYPE] := true; -- С сервера
::[DOCUMENT].[COPYFILES].tbl_F$L(1).[SRC_DELETE] := false; -- Потом удалить
::[DOCUMENT].[COPYFILES].tbl_F$L(1).[DST_NAME] := v_file_name;
::[DOCUMENT].[COPYFILES].tbl_F$L(1).[DST_PATH] := V_OUT_PATH;
::[DOCUMENT].[COPYFILES].tbl_F$L(1).[DST_TYPE] := not V_GNI_FILE_PLACE; -- На клиента
::[DOCUMENT].[COPYFILES].tbl_F$L(1).[DST_DELETE] := false;
::[DOCUMENT].[COPYFILES].tbl_F$L(2).[SRC_NAME] := v_file_name;
::[DOCUMENT].[COPYFILES].tbl_F$L(2).[SRC_PATH] := v_path;
::[DOCUMENT].[COPYFILES].tbl_F$L(2).[SRC_TYPE] := true; -- С сервера
::[DOCUMENT].[COPYFILES].tbl_F$L(2).[SRC_DELETE] := true; -- Потом удалить
::[DOCUMENT].[COPYFILES].tbl_F$L(2).[DST_NAME] := v_file_name;
::[DOCUMENT].[COPYFILES].tbl_F$L(2).[DST_PATH] := V_ARC_BOS;
::[DOCUMENT].[COPYFILES].tbl_F$L(2).[DST_TYPE] := not V_GNI_FILE_PLACE; -- На клиента
::[DOCUMENT].[COPYFILES].tbl_F$L(2).[DST_DELETE] := false;
v_ret := '<% CALL DOCUMENT COPYFILES ' || nvl(::[SYSTEM]%id,1) || ' %>';
stdio.put_line_buf(v_ret);
v_ret := '<% CALL DOCUMENT COPYFILES ' || nvl(::[SYSTEM]%id,1) || ' %>';
stdio.put_line_buf(v_ret);
|
У операции обязательно должен быть признак "Выводит команды в буфер сессии" |
|
 |
dumpino Участник со стажем
Вступление в Клуб: 13.12.2011
|
Вт Окт 02, 2012 08:01   |
|
Полезность: Нет оценки
|
тоже столкнулся с этим вопросом, спасибо timochev, более наглядно будет выглядеть так:
Код: |
if p_info = 'OK' then
::[DOCUMENT].[COPYFILES].idx := 0;
for i in this.first..this.last loop
::[DOCUMENT].[COPYFILES].tbl_F$L(i).[SRC_NAME] := this(i).[NAME_FILE];
::[DOCUMENT].[COPYFILES].tbl_F$L(i).[SRC_PATH] := V_FILE.[SRC_PATH];
::[DOCUMENT].[COPYFILES].tbl_F$L(i).[SRC_TYPE] := true; -- С сервера
::[DOCUMENT].[COPYFILES].tbl_F$L(i).[DST_NAME] := this(i).[NAME_FILE];
::[DOCUMENT].[COPYFILES].tbl_F$L(i).[DST_PATH] := V_FILE.[DST_PATH];
::[DOCUMENT].[COPYFILES].tbl_F$L(i).[DST_TYPE] := false; -- На клиента
v_ret := '<% CALL DOCUMENT COPYFILES ' || nvl(::[SYSTEM]%id,1) || ' %>';
stdio.put_line_buf(v_ret);
end loop;
end if; |
|
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|